Hallo,
ich habe einen notify, der mir bei einer Änderung eines dummy etwas sendet.
define SendeNotifySpeicher notify AnzahlSpeicher.* \
{if ($wday==2 && (Value("AnzahlSpeicher") eq "1")) {fhem("set Telegram msg Es ist [AnzahlSpeicher:state] Datei im Speicher")}};;\
{if ($wday==2 && (Value("AnzahlSpeicher") ge "2")) {fhem("set Telegram msg Es sind [AnzahlSpeicher:state] Dateien im Speicher")}}\
Das funktioniert auch soweit mit einstelligen Zahlen. Sobald "AnzahlSpeicher" jedoch gleich oder größer 10 ist, wird nichts mehr gesendet? Woran kann das liegen?
Gruß
TWART016
Du vergleichst Strings (ge eq, ...) und damit gilt leider "10" ist nicht grösser also "2", anders als bei numerischen Vergleichen (< > etc)
Also wenn im state immer einen Zahl steht sollten Deine Vergleiche numiersch sein also z.B. so
(Value("AnzahlSpeicher") >= 2)
Analog
(Value("AnzahlSpeicher") == 1 )
"eq" und "ge" sind String Vergleich Operatoren. Dann ist die Reihenfolge:
1
10
11
...
18
19
2
20
21
...
28
29
3
4
5
...
8
9
EDIT: Viegener schneller ;)
Klingt logisch, danke.