FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: wthiess am 12 Februar 2019, 23:49:16

Titel: [Gelöst] Rolle nur einmal ausführen
Beitrag von: wthiess am 12 Februar 2019, 23:49:16
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
Titel: Rolle nur einmal ausführen
Beitrag von: balli1187 am 12 Februar 2019, 23:52:14
Setze mal
attr Heizung Event-on-change-Reading temperature


Gesendet von iPhone mit Tapatalk[/code]
Titel: Antw:Rolle nur einmal ausführen
Beitrag von: wthiess am 13 Februar 2019, 01:07:31
Entschuldige ich habe eibe Rolle ber ESPEASY gemeint.
Lg Wolfgang
Titel: Antw:Rolle nur einmal ausführen
Beitrag von: Wernieman am 13 Februar 2019, 08:11:00
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)
Titel: Antw:Rolle nur einmal ausführen
Beitrag von: wthiess am 13 Februar 2019, 16:42:54
Danke aber meine Programmierleistung reicht nicht um das umzusetzen.

lg
Wolfgang
Titel: Antw:Rolle nur einmal ausführen
Beitrag von: balli1187 am 13 Februar 2019, 16:46:21
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
Titel: Antw:Rolle nur einmal ausführen
Beitrag von: wthiess am 13 Februar 2019, 16:52:22
Nein das Email wird direkt vom ESP versendet. Der ESP arbeitet alleine. FHEM liest nur die Temperatur zum Logging.
lg
Wolfgang
Titel: Antw:Rolle nur einmal ausführen
Beitrag von: Wernieman am 13 Februar 2019, 18:34:43
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) )
Titel: Antw:Rolle nur einmal ausführen
Beitrag von: wthiess am 13 Februar 2019, 20:36:37
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

Titel: Antw:[Gelöst] Rolle nur einmal ausführen
Beitrag von: Wernieman am 14 Februar 2019, 08:49:51
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.
Titel: Antw:[Gelöst] Rolle nur einmal ausführen
Beitrag von: wthiess am 14 Februar 2019, 16:11:14
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
Titel: Antw:[Gelöst] Rolle nur einmal ausführen
Beitrag von: Wernieman am 14 Februar 2019, 20:18:14
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 ....
Titel: Antw:[Gelöst] Rolle nur einmal ausführen
Beitrag von: wthiess am 14 Februar 2019, 21:59:19
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