Hallo!
Ich bin am verzweifeln. Ich möchte bei Temperature < 5 Grad das ein Mail versendet wird.
Leider versendet meine rolle dann alle 5 Sekunden ein Mail. Alle 5 Sekunden wird der Temperaturwert ausgelesen. Ich möchte aber nur ein Mail. Und zwar nur beim ersten Unterschreiten der Temperatur. Bitte um Hilfe.
lg
Wolfgang
on Heizung#Temperature<15 do
notify 1
endon
Setze mal
attr Heizung Event-on-change-Reading temperature
Gesendet von iPhone mit Tapatalk[/code]
Entschuldige ich habe eibe Rolle ber ESPEASY gemeint.
Lg Wolfgang
Du solltest dem ESP dan auch sagen, das er nur ein mal senden soll, also eine zusätzliche Logig einpogrammieren.
Als Stichwort: Dummy
Würde es selber (in Pseudocode) so erledigen:
Wenn Temperatur > Soll
Ist Gesendet = 0
Gesendrt = 1
Sende Mail
Wenn Temperatur < (Soll - Hysterese)
Ist gesendet = 1
Gesendet = 0
Aber umsetzen in eine regel musst Du selber ;o)
Danke aber meine Programmierleistung reicht nicht um das umzusetzen.
lg
Wolfgang
Ich kenne mich bei espeasy nicht aus aber gehe jetzt mal davon aus, dass über die oben beschriebene Regel ein Reading in FHEM aktualisiert wird und via FHEM die e-Mail verschickt wird, richtig!?
Dann bleibt mein vorschlage der selbe, nur müsstest du bei Event-on-change-Reading eben das passende Reading, dass durch die Rule gesetzt wird, einfügen.
Gesendet von iPhone mit Tapatalk
Nein das Email wird direkt vom ESP versendet. Der ESP arbeitet alleine. FHEM liest nur die Temperatur zum Logging.
lg
Wolfgang
Sorry Wolfgang,
aber da kann ich Dir auch nicht weiterhelfen .... Coden mußt Du schon selber ...
Ansonsten frage doch mal im espeasy Forum nach ... (Wenn ja, verlinke bitte, will auch mitlesen/lernen ;o) )
Hallo!
Gelöst: geht eventuell besser, aber ich hab es geschafft.
On System#Boot do // beim starten gpio auf 0 setzen
gpio,12,0 // V1#Switch
endon
on Heizung#Temperature do // Warnung wenn Heizung ausfällt
if [V1#Switch]=0 and [Heizung#Temperature]<15
notify,1,"Achtung Haus Temperatur ist [Heizung#Temperature]°C!"
gpio,12,1
endif
endon
on Heizung#Temperature do // Entwarnung wenn Heizung wieder läuft
if [V1#Switch]=1 and [Heizung#Temperature]>15
notify,2,"Passt Haus Temperatur ist [Heizung#Temperature]°C!"
gpio,12,0
endif
endon
a) Warum nimmst Du ein GPIO als "Dummy" wenn es "Dummy" in ESPEasy gibt?
Es sei denn, Du willst was ausgeben .. ;o)
b)
Damit Du nicht immer eine Warnung bekommst, wenn die Temperatur eventuell mal um 15° pendelt, würde ich die Hysterese größer machen.
a) Das habe ich in der Wiki gelesen aber nicht kapiert.
b) Die Temperaturen sollten eigentlich auf 5 Grad gesetzt werden. Sozusagen eine Notfallsschaltung. Das Ganze dient eher als Übung.
lg
Wolfgang
Zu b)
Hysterese bedeutet der Zwischenraum zwischen an und abschaltung.
bei unter 15 Grad wird bei Dir Alarmiert, bei über 15 Grad wieder scharfgechaltet. Ich würde den Abstand vergrößern ... also z.B. 14 zu 16 ...
Zu a)
Eine Teil meiner Regel aus einem meiner OBI-Wlan-Steckdosen:
ZitatOn Taster#Taster=1 do
if [Dummy#Relais]=1
Pulse,5,0,10
TaskValueSet 2,1,0
TaskRun 2
else
Pulse,12,0,10
TaskValueSet 2,1,1
TaskRun 2
endif
endon
Dummy ist als "Device Nummer 2" (Deshalb TaskValueSet 2,1,1) wie folgt definiert:
ZitatGeneric - Dummy Device
Name: Dummy
Simulate Data Type: SENSOR_TYPE_SWITCH
Punkt: Relais
Ich muß gestehen, das ich Dummy einfacher fand, als einen GPIO zu mißbrauchen.
Hinweis:
TaskRun 2 schickt die Daten des Dummys, der bei mir auf Platz 2 steht, zu FHEM ....
Damit solltest Du es umsetzen können ....
Wernieman Danke!
Mein Problem war das ich das Dummydevice nicht gefunden habe. "Gereric-Dummy"
lg
Wolfgang
On System#Boot do
TaskValueSet 2,1,0 //Beim Boot auf 0 setzen
endon
on Heizung#Temperature do // Warnung wenn Heizung ausfällt
if [D1#V1]=0 and [Heizung#Temperature]<19
notify,1,"Achtung Haus Temperatur ist [Heizung#Temperature]°C!"
TaskValueSet 2,1,1
endif
endon
on Heizung#Temperature do // Entwarnung wenn Heizung wieder läuft
if [D1#V1]=1 and [Heizung#Temperature]>21
notify,1,"Passt Haus Temperatur ist [Heizung#Temperature]°C!"
TaskValueSet 2,1,0
endif
endon