Mail mit Anhang mit Homeputer versenden

Betrieb der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Beitrag von buempi » 05.09.2007, 21:18

Hallo schon wieder

Ganz dumme Frage: Läuft HomeputerStudio und ist die Programm-Ausführung aktiv?

Beim mir funktioniert's nämlich

Viele Grüsse
Bümpi

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Beitrag von leknilk0815 » 05.09.2007, 21:39

Hi,
ja, Studio ist gestartet, Ausführung ebenso. Die Studio kommt ohne Fehler hoch, wenn ich dann die Batch starte, kommt der beschriebene Fehler error executing sIPTest.Mailtest=217...

Edit: Ich sehe grade, es kommt eine Mail rein, allerdings steht im Betreff nicht die IP, sondern "MailText"
ich hab also irgendwas mit der Variablenübergabe vergurkt (Sch.. Syntax)

Vermutlich liegt der Fehler im Makro in der Zeile:

sendemail("meinname@t-online.de,MailText")
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Beitrag von buempi » 05.09.2007, 22:00

Jetzt funktionierts bei mir plötzlich auch nicht mehr!!!

Werde morgen weiter versuchen, den Wurm zu finden....

Viele Grüsse

Bümpi

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Beitrag von leknilk0815 » 05.09.2007, 22:05

Danke Dir, gute Nacht!

(Hoffentlich hab ich keinen "Wurm" ins Script gebaut...)
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

Zeuge
Beiträge: 170
Registriert: 14.09.2006, 21:46
Wohnort: München Harlaching

Beitrag von Zeuge » 06.09.2007, 05:56

Hallo leknilk0815

So:
leknilk0815 hat geschrieben:sendemail("meinname@t-online.de,MailText")
gehts bei mir auch nicht.

In der Hilfe steht:
  • SENDEMAIL (“Adresse,Betreff<<Zeile1<<Zeile2“)
    Die erste Zeile wird als Betrefftext der e-mail eingesetzt, im folgenden Text können auch Zustände von Objekten und Werte von Sensoren übermittelt werden. Diese werden eingesetzt, indem der Name des Objekts in folgende Sonderzeichen gesetzt wird:

    %< Objektname >

    also ein Prozentzeichen, gefolgt vom kleiner-Zeichen, dann der Objektname (bzw. Variablenname) gefolgt vom grösser-Zeichen.
    Bitte beachten Sie, dass im Betrefftext keine Werte ausgegeben werden können.
Entsprechend muss es dann so aussehen: :!:

Code: Alles auswählen

sendemail("meinname@t-online.de,Betreff<<%<MailText>")

Gleich mal eine Frage. :?:
Unteres Beispiel geht insofern, dass die Mail versendet und von Homeputer abgeholt aber nicht ausgeführt wird.

Code: Alles auswählen

MailSenden.MailText:="Starte:MailWohnzimmerDimmen <<Gell da staunst über das Lichterspiel, was ?"
sendemail("FS20@HomePuter.de,Nachricht an HomePuter<<%<MailSenden.MailText>")
Warum kann ich nicht erkennen.
Ergebnis von Outlook abgeholt:
  • Betreff: Nachricht an HomePuter
    An: undisclosed-recipients:
    • Starte:MailWohnzimmerDimmen <<Gell da staunst über das Lichterspiel, was ?
Ich frage in HomePuter die MailAddi nicht ab, nur den Betreff.
Aber warum steht da bei An: undisclosed-recipients:


Wenn ich über Outlook folgendes versende wird es auch ausgeführt:
  • Betreff: Nachricht an HomePuter
    An: FS20@HomePuter.de
    • Starte:MailWohnzimmerDimmen
      Gell da staunst über das Lichterspiel, was ?
Wird eventuell von Homeputer HOLEMAIL der Zeilenumbruch << nicht durchgeführt?
Oder ne das sollte doch SendeMail schon machen oder?

Fragen über Fragen...

Nachtrag - so gehts:

Code: Alles auswählen

MailSenden.TextZeile1:="Starte:MailWohnzimmerDimmen"
MailSenden.TextZeile2:="Gell da staunst über das Lichterspiel, was ?"
sendemail("FS20@HomePuter.de,Nachricht an HomePuter<<%<MailSenden.TextZeile1><<%<MailSenden.TextZeile2>")
SendeMail löst den in Variablen enthaltenen Umbruch << nicht auf.
Deshalb muß es dann halt so aussehen.
greetings Zeuge :wink:

Konfig: Windows 7 Pro 64Bit, FHZ1350PC, ca. 40 Funkkomponenten, Wetterstation und Heizungssteuerung

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Beitrag von buempi » 06.09.2007, 08:15

Guten Morgen Toni

Sturm im Wasserglas!!!

Wir liessen uns beide von der Meldung "Error executing sIPTest.MailText=217.227.20.121" verwirren. Die IP wird nämlich trotzdem richtig in die Variable geschrieben. Und darauf kommt's ja an. Die Fehlermeldung erscheint übrigens unabhängig davon, ob man die IP aus der Umgebungsvariablen übergibt oder direkt mit "ExecStudioCo sIPTest.MailText=217.227.20.121".

Beim ersten Mal ist die Fehlermeldung bei mir nur deshalb nicht gekommen, weil ich bequemlichkeitshalber den Wert direkt ins Objekt IPTest (bei mir Typ Zeichen) geschrieben habe, und zu faul war, noch eine Variable MailText zu definieren.

Nach endloser Pröbelei hat das dann aber auch dazu geführt, dass ich den Bug in ExecStudioCo lokalisieren konnte: Schreibt man in eine Zeichen-VARIABLE, kommt die Fehlermeldung, schreibt man in ein Zeichen-OBJEKT, kommt sie nicht. In beiden Fällen ist das Ergebnis aber richtig.

Uff, uff, uff - Viel Wirbel um nichts.....

Jetzt noch das kleinere Problem: In der Sendemail-Zeile hast du einen kleinen Fehler. Sie muss richtig lauten:

sendemail("meinname@t-online.de,NeueIP<<%<MailText>")

Dann sollte nicht "MailText" sondern der Inhalt der Variablen gesendet werden. Ausprobieren konnte ich es allerdings nicht, weil ich bei mir in HS das E-Mail nicht konfiguriert habe.

Bin gespannt auf dein Feedback!

Schönen Tag
Bümpi

PS: Hab gerade gesehen, dass in der Zwischenzeit Zeuge bereits das Problem sendemail() ausführlich erörtert hat!

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Beitrag von leknilk0815 » 06.09.2007, 17:37

Hallo zusammen,

ich habe das Gemeinschaftsprojekt gerade in Betrieb genommen, ich denke, daß es jetzt funktioniert dank eurer Hilfe, zumindest die Tests waren erfolgreich.
Mal sehen, was passiert...

Hier noch mal der endgültige, funktionierende Code:


Makro (IPTest):

Starte Windows-Programm ("c:\Program Files\contronics\homeputer Studio\iptest.bat")
wenn MailText<>AlteIP dann
sendemail("meineadresse@t-online.de,NeueIP<<%<IPTest.MailText>")
endewenn
AlteIP:=MailText


Variablen (im Makro):

MailText - Typ Zeichen
AlteIP - Typ Zeichen



Batch (IPTest.bat):

@echo off
For /F %%i in ('printip2') Do @Set IPAdr=%%i
ExecStudioCo sIPTest.MailText=%IPAdr%
exit


Noch ein paar Erläuterungen zu aufgetretenen Fehlern:

sendemail("meineadresse@t-online.de,NeueIP<<%<IPTest.MailText>")
- hier muss unbedingt der Makroname mit angegeben werden (IPTest.MailText), sonst steht in der Mail: MailText.MailText

ExecStudioCo rIPTest
- darf, zumindest wenn man's so wie ich macht, auf keinen Fall enthalten sein, sonst läuft das Makro in eine Endlosschleife und öffnet DOS- Boxen ohne Ende... (versteh ich zwar nicht, ist aber so!).

Eine Frage noch zum Schluß: Wie (Wo) kann ich einstellen, daß das Makro in von MIR bestimmten Intervallen ausgeführt wird (z.B. alle 15 Minuten)?
In der Studio sehe ich nur die Standard- Vorgaben: 5s, jede Minute, jede Stunde, usw.
Ich hab's jetzt mal auf jede Stunde, aber 30min wären mir lieber.

Danke nochmal an Bümpi und Zeuge, klasse Hilfe!
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Beitrag von buempi » 06.09.2007, 18:10

Hallo Toni,

Toll, dass es endlich läuft! Die allseitige Mühe hat sich gelohnt. Ohne den kleinen Bug in ExecStudioCo, durch den wir uns ablenken liessen, wäre keine Nachtschicht draus geworden....

Funktioniert der Befehl "Starte Windows-Programm" tatsächlich? - Müsste es nicht startwin heissen?

Vor "wenn MailText<>AlteIP dann" würde ich noch ein warte("00:00:05") einfügen, damit dem Batch-Programm genügend Zeit bleibt, die Variable zu ändern.

Dass in sendemail der Variablen MailText der Objektname vorangestellt werden muss, stellt m.E. eine Inkonsequenz der Syntax in Homeputer dar; wenn man's aber mal weiss, spielt's auch keine Rolle.

Wenn du die Batch-Datei aus dem Makro heraus aufrufst, und in der Batch-Datei dann mit ExecStudioCo rIPTest wieder das Makro startest, ist doch klar, dass da eine Endlos-Schlaufe entsteht! Einer startet den andern! Also in diesem Fall natürlich kein erneutes Starten aus der Batch-Datei.

Die Abstufung der Intervalle für die Makroausführung ist wirklich etwas sparsam ausgefallen. Zwischen "Jede Minute" und "Jede Stunde" gibt's rein gar nichts. Du kannst dir aber wie folgt behelfen:

Ausführung jede Minute

wenn Uhrzeit =# "**:00:**" oder Uhrzeit =# "**:15:**" oder Uhrzeit =# "**:30:**" oder Uhrzeit =# "**:45:**" dann

** hier dein Makro

endewenn

Dann wird das Makro alle 15 Minuten ausgeführt.

Viele Grüsse und bis zum nächsten Mal
Bümpi

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Beitrag von leknilk0815 » 06.09.2007, 18:50

werd ich auch noch testen, jetzt erst mal abwarten, ob's im Dauerbetrieb tut.

Danke nochmal!
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

jan_xx
Beiträge: 441
Registriert: 01.02.2013, 11:19

Re: Mail mit Anhang mit Homeputer versenden

Beitrag von jan_xx » 25.03.2014, 17:20

Hallo zusammen,

ich habe im HP auch versucht eine Mail zu versenden, leider bisher ohne Erfolg...
Anbei was ich im Makro geschrieben habe:

sendemail("jan.xxxx@provider.com","xxxx","Test","xx")

Es kommt aber keine Fehlermeldung!?!?!?
Was mache ich verkehrt?

Gruß Jan

Antworten

Zurück zu „homeputer Studio / Standard: allgemeine Fragen“