FHEM Forum

FHEM => Automatisierung => Thema gestartet von: TWART016 am 13 Juni 2017, 00:12:12

Titel: [gelöst] notify Änderungen mit zweistelligen Zahlen
Beitrag von: TWART016 am 13 Juni 2017, 00:12:12
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
Titel: Antw:notify Änderungen mit zweistelligen Zahlen
Beitrag von: viegener am 13 Juni 2017, 00:24:13
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 )
Titel: Antw:notify Änderungen mit zweistelligen Zahlen
Beitrag von: amenomade am 13 Juni 2017, 00:25:15
"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 ;)
Titel: [gelöst] Antw:notify Änderungen mit zweistelligen Zahlen
Beitrag von: TWART016 am 13 Juni 2017, 18:29:38
Klingt logisch, danke.