FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Timmy.m am 25 Oktober 2015, 14:45:53

Titel: Watchdog: Wie kann man den STATE aus den Internals für DOIF Bedingung benutzen
Beitrag von: Timmy.m am 25 Oktober 2015, 14:45:53
Hallo!

Ich habe ein Wachtsdog, dessen aktuellen STATE ich auslesen will und für eine DOIF Bedingung prüfen möchte.
Ich scheitere bereits daran, das STATE aus den Internals auszulesen.

Die Perl Lösung scheint in DOIF nicht zu funktionieren.
{Value("NOTIFYNAME")}

Hat jemand eine Idee, ich bin im Forum nicht fündig geworden.

Grüße Tim
Titel: Antw:Watchdog: Wie kann man den STATE aus den Internals für DOIF Bedingung benutzen
Beitrag von: Sunny am 25 Oktober 2015, 17:09:04
Moin Tim,

http://fhem.de/commandref_DE.html#perl (http://fhem.de/commandref_DE.html#perl)
InternalVal(<devicename>,<reading>,<defaultvalue>)
Gibt den Inhalt der "internal" zurück (den Inhalt der in dem "Internals"-Abschnitt von "list device" angezeigt wird)


Vielleicht hilf es ja weiter..

Gruss
Sunny
Titel: Antw:Watchdog: Wie kann man den STATE aus den Internals für DOIF Bedingung benutzen
Beitrag von: Timmy.m am 25 Oktober 2015, 21:08:46
Vielen Dank. Ich bekomme es leider nicht hin. DoIf scheint kein InternalVal(<devicename>,<reading>,<defaultvalue>) in der Bedinung zu unterstützen oder ich mache etwas falsch.

Grüße Tim
Titel: Antw:Watchdog: Wie kann man den STATE aus den Internals für DOIF Bedingung benutzen
Beitrag von: Sunny am 25 Oktober 2015, 21:21:07
Moin Tim,

Zitat von: Timmy.m am 25 Oktober 2015, 21:08:46
DoIf scheint kein InternalVal(<devicename>,<reading>,<defaultvalue>) in der Bedinung zu unterstützen oder ich mache etwas falsch.
Das kann ich Dir nicht sagen bzw. schreiben...  ;)

Ich habe mir entweder mit "userReadings" oder per Dummys mit "readingList" + "setList" geholfen.

Viele Grüße
Sunny
Titel: Antw:Watchdog: Wie kann man den STATE aus den Internals für DOIF Bedingung benutzen
Beitrag von: Ellert am 07 November 2015, 12:46:55
Zitat von: Timmy.m am 25 Oktober 2015, 14:45:53
Hallo!

Ich habe ein Wachtsdog, dessen aktuellen STATE ich auslesen will und für eine DOIF Bedingung prüfen möchte.
Ich scheitere bereits daran, das STATE aus den Internals auszulesen.

Die Perl Lösung scheint in DOIF nicht zu funktionieren.
{Value("NOTIFYNAME")}

Hat jemand eine Idee, ich bin im Forum nicht fündig geworden.

Grüße Tim

lt. deutscher Commandref: http://fhem.de/commandref_DE.html#DOIF unter Ereignissteuerung

[<devicename>:&<internal>]
Titel: Antw:Watchdog: Wie kann man den STATE aus den Internals für DOIF Bedingung benutzen
Beitrag von: Timmy.m am 09 November 2015, 21:38:36
Hallo Ellert!

Danke für den Hinweis. Leider scheint es trotzdem nicht zu funktionieren.
Ich kann immer noch nicht über DOIF (Internals) STATE ("defined" oder "triggered") auslesen, um es für eine Bedingung zu nutzen.

Grüße Tim
Titel: Antw:Watchdog: Wie kann man den STATE aus den Internals für DOIF Bedingung benutzen
Beitrag von: Damian am 09 November 2015, 21:46:15
Zitat von: Timmy.m am 09 November 2015, 21:38:36
Hallo Ellert!

Danke für den Hinweis. Leider scheint es trotzdem nicht zu funktionieren.
Ich kann immer noch nicht über DOIF (Internals) STATE ("defined" oder "triggered") auslesen, um es für eine Bedingung zu nutzen.

Grüße Tim

Wenn das entsprechende Device kein Event erzeugt (also im Event-Monitor nichts sichtbar) dann kann auch kein Modul darauf triggern - auch DOIF nicht.

Gruß

Daman
Titel: Antw:Watchdog: Wie kann man den STATE aus den Internals für DOIF Bedingung benutzen
Beitrag von: Timmy.m am 10 November 2015, 19:28:59
Hallo Damian.

Vielen Dank für die Erklärung, dann kann ich aufhören zu tüfteln.  :P

Grüße Tim
Titel: Antw:Watchdog: Wie kann man den STATE aus den Internals für DOIF Bedingung benutzen
Beitrag von: Ellert am 10 November 2015, 20:28:28
Du könntest das Internal periodisch abfragen.


Ungetestet:
define mydoif DOIF ([global:INITIALIZED]) (set mydummy [device:&internal])
attr mydoif repeatcmd 1

Modulerweiterung siehe hier: http://forum.fhem.de/index.php/topic,43638.msg355719.html#msg355719 (http://forum.fhem.de/index.php/topic,43638.msg355719.html#msg355719)