[gelöst] DOIF Verständnisfrage

Begonnen von bommel-bs, 17 März 2018, 11:48:46

Vorheriges Thema - Nächstes Thema

Otto123

Moin Stefan,

schön das es eine Lösung gibt, aber kannst Du mir den erklären? Was bewirkt jetzt :$ ? Hab ich noch nie gesehen.
[StefanUrlaub::$STATE]

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Frank_Huber

Zitat von: Otto123 am 06 April 2018, 09:01:46
schön das es eine Lösung gibt, aber kannst Du mir den erklären? Was bewirkt jetzt :$ ? Hab ich noch nie gesehen.
[StefanUrlaub::$STATE]

schließe mich Otto's Frage an.

Nach meinem Kenntnisstand müsste [StefanUrlaub] das selbe bewirken.

Otto123

Zitat von: Frank_Huber am 06 April 2018, 09:06:53
Nach meinem Kenntnisstand müsste [StefanUrlaub] das selbe bewirken.
Meiner Meinung nach: sogar das Richtige  :D
Ich bezweifle irgendwie, dass das jetzige Konstrukt ohne Fehler läuft.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

bommel-bs

#34
Was ::$ genau bewirkt weiß ich auch nicht.In der commandref habe ich mal nach STATE gesucht und folgendes gefunden

Liste der Devices in der Gruppe "windows", die mit "rooms" enden, deren Status (nicht state-Reading) "on" ist:

[@"rooms$"::$STATE eq "on" and $group eq "windows"]

Darauf habe ich StefanUrlaub::$STATE ausprobiert und es lief.

Gruß
Stefan

Damian

Zitat von: bommel-bs am 06 April 2018, 20:52:14
Was ::$ genau bewirkt weiß ich auch nicht.In der commandref habe ich mal nach STATE gesucht und folgendes gefunden

Liste der Devices in der Gruppe "windows", die mit "rooms" enden, deren Status (nicht state-Reading) "on" ist:

[@"rooms$"::$STATE eq "on" and $group eq "windows"]

Darauf habe ich StefanUrlaub::$STATE ausprobiert und es lief.

Gruß
Stefan

Das ist der Teil der Commandref zu DOIF-Aggregationsfunktionen, die Intern aus mehreren Schleifendurchläufen bestehen um Werte zu aggregiert - das willst du aber nicht.

Wenn du einfach nur den Status abfragen willst, dann brauchst du nur angeben:

[StefanUrlaub] eq "1"

Das ist das Gleiche wie

[StefanUrlaub:&STATE] eq "1"

und das ist meistens das Gleiche, wie das Reading state:

[StefanUrlaub:state] eq "1"

Such dir eins aus, aber nicht

[StefanUrlaub::$STATE] eq "1"

denn, wenn es irgendwie funktioniert, dann nur zufällig ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF