FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: dieda am 13 März 2014, 17:40:05

Titel: Wert eines Watchdogs auslesen
Beitrag von: dieda am 13 März 2014, 17:40:05
Hallo in der Runde,

ich überlege, ob es möglich ist den Wert einen Watchdogs auszulesen und ihn für ein Notify zu gebrauchen.

Ich möchte gerne eine Benachrichtigung wahlweise auf Handy oder Tablet bekommen je nach dem wie der Present-State ist.

Wollte so was hier testweise zusammenbauen:
Zitatdefine w_absent_Waschmaschine notify jemand_da if {(jemand_da:state) eq "absent" && Value("w_Waschmaschine") eg "triggered") {fhem("set Waschmaschine msg 'Waschmaschine' 'Die Waschmaschine ist fertig' '' 0 'Magic' 30 3600") } }

jemand_da = structure der beteiligten Handys

Wahrscheinlich habe ich ein paar Klammern falsch oder das Structure passt nicht... seufz.
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: der-Lolo am 13 März 2014, 17:50:51
Funktioniert den die Abwesenheitserkennung mit der Structure? Ich glaube nicht das Du den Fehler dort suchen musst...
schau dir das mal genauer an -
(jemand_da:state) eq "absent" && Value("w_Waschmaschine") eg "triggered")
Die klammer geht dreimal zu aber ja nur zweimal auf, das andere Klammerpärchen ist ja in Perl separat gekapselt.

Ich kann aber nicht viel mehr dazu sagen - ich benutze gerne Damians IF Modul das ist mir um längen einfacher und verständlicher...
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: dieda am 14 März 2014, 19:58:15
Danke für den Hinweis, werde es nochmals testen.
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: dieda am 15 März 2014, 15:43:18
Der oben genannte 1 Zeiler müllt mir mein Log zu:

w_absent_Waschmaschine return value: Unknown command if, try help.
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: Puschel74 am 15 März 2014, 15:56:30
Hallo,

logisch - weil das if so da nichts zu suchen hat.

Oder meinst du IF?

Grüße
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: dieda am 15 März 2014, 17:11:22
Nein, ich meine das normale if. Da ich den Werte einen Watchdogs und ein Present als Bedingung habe.
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: Puschel74 am 15 März 2014, 17:18:16
Hallo,

dann versuchs mal so

define w_absent_Waschmaschine notify jemand_da { if (((jemand_da:state) eq "absent") && (Value("w_Waschmaschine") eg "triggered")){fhem("set Waschmaschine msg 'Waschmaschine' 'Die Waschmaschine ist fertig' '' 0 'Magic' 30 3600") } }

Ohne Gewähr und sicher wieder viel zu viele ( und ) drinnen.
Ob jemand_da:state so funktioniert kann ich dir aber nicht sagen.
Ich frage die Werte grundsätzlich per Value oder ReadingsVal ab.

Grüße
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: dieda am 15 März 2014, 18:22:41
Werd's testen.

Bei den Readings steht: state und es gibt die Werte absent und present. Da war ich mir aber auch nicht so sicher, ob das geht.
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: Puschel74 am 15 März 2014, 18:26:10
Hallo,

dann eher so:
if ((Value("jemand_da") eq "absent") && (Value("w_Waschmaschine") eg "triggered"))

Grüße
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: dieda am 15 März 2014, 18:30:32
Hm, das mit dem Value war ja schon eine gute Idee.

Aber nu kommt diese Fehlermeldung
w_absent_Waschmaschine return value: Unknown command if, try help.

edit: da war ein "g" statt ein "q". Neuer Versuch.
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: Puschel74 am 15 März 2014, 18:31:39
Code?
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: dieda am 15 März 2014, 18:36:40
Jeep:

Sieht jetzt so aus:
define w_absent_Waschmaschine notify jemand_da if ((Value("jemand_da") eq "absent") && (Value("w_Waschmaschine") eq "triggered")) {fhem("set Waschmaschine msg 'Waschmaschine' 'Die Waschmaschine ist fertig' '' 0 'Magic' 30 3600") } }


Vorher:

...eg "triggered"))... :-[

Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: dieda am 15 März 2014, 18:39:09
Funktioniert leider trotzdem nicht.

Bekomme diese Meldung im Log
w_absent_Waschmaschine return value: Unknown command if, try help.
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: Puschel74 am 15 März 2014, 18:39:36
Hallo,

jemand_da if ((Value("je
schau dir mal meinen Vorschlag an und Vergleich mal die Stelle um das if

Bei deinem Code ist die Fehlermeldung in Ordnung und auch logisch das dir ein Fehler gemeldet wird.

Grüße
Titel: Antw:Wert eines Watchdogs auslesen
Beitrag von: dieda am 15 März 2014, 18:50:54
Danke. Die Stelle um das If und das Einsteigerhandbuch derzeit ab Seite 36 waren der Hinweis.

define Schalter1Notify notify Schalter1 { if ( Value("Schalter1") eq "off" && Value("Schalter2") eq "off") {fhem("set wz_Media off")} }

define w_absent_Waschmaschine notify jemand_da { if ((Value("jemand_da") eq "absent") && (Value("w_Waschmaschine") eq "triggered")) {fhem("set Waschmaschine msg 'Waschmaschine' 'Die Waschmaschine ist fertig' '' 0 'Magic' 30 3600") } }


Da kann man noch Klammern entrümpeln...

define w_absent_Waschmaschine notify jemand_da { if (Value("jemand_da") eq "absent") && (Value("w_Waschmaschine") eq "triggered") {fhem("set Waschmaschine msg 'Waschmaschine' 'Die Waschmaschine ist fertig' '' 0 'Magic' 30 3600") } }