Hallo zusammen.
Ich frage per httpmod die Spritpreise ab. Klappt auch.
Habe mir über den Eventmonitor das doif erzeugen lassen, um mir die Spritpreise per Push aus Handy zu schicken.
DEF ([":^SuperE10"] <= 1.70)
(
{my $SE10A=ReadingsVal("AVIA","SuperE10","0");
my $SE10RE=ReadingsVal("Raiffeisen","SuperE10","0");
my $SE10PM=ReadingsVal("PM_Raesfeld","SuperE10","0");
my $SE10WE=ReadingsVal("Westfalen","SuperE10","0");
fhem ("set pushmsg msg <b>Spritpreise</b> <br> <br>AVIA E10: $SE10A € <br>PM $SE10PM €<br> Raiff.: E10: $SE10RE €<br>West_Lemb E10 $SE10WE € '' '' ");;}
)
DOELSE (set pushmsg msg Pech gehabt)
FUUID 69512c38-f33f-852e-3143-7d2cd979361dc381
FVERSION 98_DOIF.pm:0.306590/2025-12-25
MODEL FHEM
NAME Sprit_push
NOTIFYDEV global,.*().*
NR 720
NTFY_ORDER 50-Sprit_push
STATE cmd_1
TYPE DOIF
VERSION 30659 2025-12-25 12:37:16
eventCount 67
READINGS:
2026-02-01 10:14:59 Device Raiffeisen
2026-02-01 09:59:03 cmd 1
2026-02-01 09:59:03 cmd_event Sprit_push
2026-02-01 09:59:03 cmd_nr 1
2026-02-01 09:58:57 mode enabled
2026-02-01 09:59:03 state cmd_1
Regex:
accu:
bar:
barAvg:
collect:
cond:
:
0:
":^SuperE10" :^SuperE10
attr:
cmdState:
wait:
waitdel:
condition:
0 ::EventDoIf('',$hash,'^SuperE10',0) <= 1.70
do:
0:
0 {my $SE10A=ReadingsVal("AVIA","SuperE10","0"); my $SE10RE=ReadingsVal("Raiffeisen","SuperE10","0"); my $SE10PM=ReadingsVal("PM_Raesfeld","SuperE10","0"); my $SE10WE=ReadingsVal("Westfalen","SuperE10","0"); fhem ("set pushmsg msg <b>Spritpreise</b> <br> <br>AVIA E10: $SE10A € <br>PM $SE10PM €<br> Raiff.: E10: $SE10RE €<br>West_Lemb E10 $SE10WE € '' '' ");;}
1:
0 set pushmsg msg Pech gehabt
helper:
NOTIFYDEV global,.*().*
event SuperE10: 1.749
globalinit 1
last_timer 0
sleeptimer -1
timerdev Raiffeisen
timerevent SuperE10: 1.749
triggerDev Raiffeisen
timerevents:
Diesel: 1.709
SuperE10: 1.749
SuperE5: 1.779
timereventsState:
Diesel: 1.709
SuperE10: 1.749
SuperE5: 1.779
triggerEvents:
Diesel: 1.709
SuperE10: 1.749
SuperE5: 1.779
triggerEventsState:
Diesel: 1.709
SuperE10: 1.749
SuperE5: 1.779
internals:
readings:
trigger:
uiState:
uiTable:
Attributes:
checkReadingEvent 1
checkall all
room Spritpreise
Wenn ich das doif auch Check all setze bekomme ich die Nachrichten. Auch bei cmd1 manuell ausführen klappt es.
Nur im Automatik Modus nicht.
Warum löst das doif nicht aus. Wenn eines der Super E10 readings unter 1,70 € fällt?
Gruß und danke
Sascha
Du fragst ein Event ab, das gibt true oder false zurück. Du kannst aber eine Vorgabe als weiteren Parameter angeben, dann bekommst du den Wert zurück.