FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Det20 am 28 April 2017, 12:44:05

Titel: Generelle Frage NOTIFY / state
Beitrag von: Det20 am 28 April 2017, 12:44:05
Hallo,

ich habe gerade einige Zeit damit verbracht, bei meinem Mäh-Roboter das Event "fehler" abzufangen:


define Gardena Robonect xxx.xxx.xxx.xxx
attr Gardena basicAuth .....
attr Gardena event-on-change-reading .*
attr Gardena event-on-update-reading .*
attr Gardena icon scene_robo_lawnmower
attr Gardena pollInterval 60


Die Abfrage von "Gardena:state" funktioniert nicht, obwohl ich im FHEM selbst beim Reading "state" den korrekten Wert sehe. Das Event wird aber niemals ausgelöst:


define Gardena.BrauchtHilfe notify Gardena:state:.* { if((ReadingsVal("Gardena","state","-") eq "fehler")) { fhem("macheirgendwastolles'") } }


Das Reading "allgemein-status" enthält eine Kopie. Wenn ich das Reading abfange, funktioniert es:


define Gardena.BrauchtHilfe notify Gardena:allgemein-status:.* { if((ReadingsVal("Gardena","allgemein-status","-") eq "fehler")) { fhem("macheirgendwastolles") } }


Blöde Frage: Wieso? Wenn ich das Reading in FHEM sehe dache ich, ich kann es auch abfragen. Aber wieso geht das nicht? Es funktioniert mit der anderen Lösung, möchte nur gerne verstehen, wieso es mit state nicht funktioniert.
Titel: Antw:Generelle Frage NOTIFY / state
Beitrag von: Wzut am 28 April 2017, 13:16:15
Zitat von: Det20 am 28 April 2017, 12:44:05
notify Gardena:state:.*
Tipp : schau mal in den Event Monitor, da wird auch niemals  "Gardena state:irgendetwas" stehen, sondern wie bei state üblich "Device Wert" :)
Titel: Antw:Generelle Frage NOTIFY / state
Beitrag von: Det20 am 28 April 2017, 13:20:53
Hallo,

danke, aber wieso wird "state" als Reading aufgelistet, wenn ich es in einem Notify nicht abfragen kann? Laut Doku kann ich die Readings abfragen, geht aber nicht mit state.
Kann ich also immer nur Readings <> state abfragen? Sorry, aber will mir nicht einleuchten.
Titel: Antw:Generelle Frage NOTIFY / state
Beitrag von: DeeSPe am 28 April 2017, 13:21:05
Gib mal ein "list Gardena".

attr Gardena event-on-change-reading .*
attr Gardena event-on-update-reading .*


Das könnte auch problematisch sein.

"event-on-update-reading .*" ist eigentlich das Standardverhalten.

1x sagst Du es soll nur ein Event geben wenn das Readings sich verändert und im nächsten Schritt wird das wieder auf Default zurückgesetzt indem alle Readings auf "event-on-update" gesetzt werden.
Was möchtest Du denn eigentlich?
Erzeugt denn state überhaupt ein Event?
Evtl. hilft im notify "attr <name> addStateEvent 1".

Gruß
Dan

Gruß
Dan
Titel: Antw:Generelle Frage NOTIFY / state
Beitrag von: Det20 am 28 April 2017, 13:26:24
Zitat von: DeeSPe am 28 April 2017, 13:21:05
Gib mal ein "list Gardena".

Da taucht state auf:


Internals:
   DEF        xxx.xxx.xxx.xxx
   DEVNAME    Gardena
   IP         xxx.xxx.xxx.xxx
   LAST_CMD   cmd=status
   LAST_COMM_STATUS success: erfolgreich
   NAME       Gardena
   NR         65
   STATE      maehen
   TYPE       Robonect
   Readings:
     2017-04-28 13:23:14   allgemein-batteriezustand 45
     2017-04-28 13:23:14   allgemein-betriebsstunden 405
     2017-04-28 13:23:14   allgemein-dauer 0
     2017-04-28 13:23:14   allgemein-modus manuell
     2017-04-28 13:23:14   allgemein-status maehen
     2017-04-28 13:23:14   state           maehen
     2017-04-28 13:23:14   timer-startdatum undef
     2017-04-28 13:23:14   timer-startzeit undef
     2017-04-28 13:23:14   timer-status    deaktiviert
     2017-03-31 08:47:58   winterschlaf    off
     2017-04-28 13:23:14   wlan-signal     -72
     2017-04-28 13:23:14   wlan-signal-prozent 38


Zitat von: DeeSPe am 28 April 2017, 13:21:05
1x sagst Du es soll nur ein Event geben wenn das Readings sich verändert und im nächsten Schritt wird das wieder auf Default zurückgesetzt indem alle Readings auf "event-on-update" gesetzt werden.
Was möchtest Du denn eigentlich?

Ups, Copy&Paste Fehler. Danke für den Hinweis.

Zitat von: DeeSPe am 28 April 2017, 13:21:05
Evtl. hilft im notify "attr <name> addStateEvent 1".

> Gardena: unknown attribute addStateEvent. Type 'attr Gardena ?' for a detailed list.

Kann man das global für alle deklarieren? Das macht meiner Meinung nach sowas von Sinn.
Titel: Antw:Generelle Frage NOTIFY / state
Beitrag von: DeeSPe am 28 April 2017, 13:33:14
Zitat von: Det20 am 28 April 2017, 13:26:24
> Gardena: unknown attribute addStateEvent. Type 'attr Gardena ?' for a detailed list.

Kann man das global für alle deklarieren? Das macht meiner Meinung nach sowas von Sinn.

Das Attribut dem notify zuordnen, nicht dem Mäher!

Die Frage ist ob es das bringt bei dem Modul (welches ich nicht kenne).
Global kann man das m.E. nirgends setzen da das dann weitere Auswirkungen hätte.
Das Attribut ist eigentlich auch nur sinnvoll wenn im Event-Monitor das Event zwar ankommt, aber ohne das state davor.

Gruß
Dan
Titel: Antw:Generelle Frage NOTIFY / state
Beitrag von: CoolTux am 28 April 2017, 13:41:11

define Gardena.BrauchtHilfe notify Gardena:fehler set DEVICENAME macheirgendwastolles


Sollte bei state so eigentlich gehen.

ansonsten Eventmonitor aufmachen und das Event abfangen und schauen wie es genau aus schaut. Die benötigte Zeile makieren und sagen mach ein notify draus. Gibt wohl ganz neu jetzt einen button dafür.

Titel: Antw:Generelle Frage NOTIFY / state
Beitrag von: Wzut am 28 April 2017, 13:45:15
Zitat von: Det20 am 28 April 2017, 13:20:53
Kann ich also immer nur Readings <> state abfragen? Sorry, aber will mir nicht einleuchten.
Wie immer bei solchen Sachen, Tante command.ref fragen :
ZitataddStateEvent
Das mit dem state Reading verknüpfte Event ist speziell, da das dazugehörige Prefix "state: " entfernt wird, d.h. $EVENT ist nicht "state: on", sondern nur "on". In manchen Fällen ist es aber erwünscht ein zusätzliches Event zu bekommen, wo "state: " nicht entfernt ist. Für diese Fälle sollte addStateEvent auf 1 gesetzt werden, die Voreinstellung ist 0 (deaktiviert).
Achtung:

    dieses Attribut muss beim Empfänger (notify, FileLog, etc) gesetzt werden.
    dieses Attribut zeigt nur für solche Geräte-Events eine Wirkung, die readingFnAttributes unterstützen.
Titel: Antw:Generelle Frage NOTIFY / state
Beitrag von: Det20 am 28 April 2017, 14:01:08
Ahhh danke, jetzt ergibt es einen Sinn. Es ist quasi zur vereinfachung.
Vielen Dank, wieder ein wenig schlauer