State ändert sich nicht

Begonnen von oeiber, 11 April 2018, 11:51:53

Vorheriges Thema - Nächstes Thema

oeiber

Hallo zusammen,

ich habe mir die ersten Z-Wave Devices zugelegt (Schwaiger ZHS04 Steckdosen) und komme nicht ganz zurecht mit der Einrichtung der Geräte:
Ich habe die Steckdosen erfolgreich inkludiert und Group 1 erfolgreich assoziert.
Funktioniert auch soweit.
Wenn ich allerdings mit dem Knopf an der Steckdose schalte, wird STATE in Fhem nicht aktualisiert. Es ändert sich nur das Reading "basicReport" (0 für off und 255 für on).
Was mache ich falsch?
Sollte das nicht aus der Tüte funktionieren?

Danke schon mal!


VG

Olli

krikan

Setze einmal ein passendes Attribut https://fhem.de/commandref.html#stateFormat, dann funktioniert die Anzeige korrekt.
Aufgrund der vielfaeltigen Möglichkeiten/Freiheiten von ZWave wird state, das den STATE bestimmt nicht immer automatisch gesetzt.

Gruß, Christian

oeiber

hi christian,

irgendwie krieg ich das nicht gebacken:
mit stateFormat {if (ReadingsVal( $name,"basicReport","") eq 255) {return "on"} else {return "off"}}
ändert sich zwar die Anzeige in Fhem, aber nicht in Ftui, weil sich ja der state des geräts nicht ändert...

hast du eine idee?

danke schon mal!

gruss

olli

marvin78

Ich würde ein userReading (status?) setzen und das in FTUI verwenden.

oeiber

kannst du das näher erläutern?

marvin78

Was gibt's da zu erläutern? Nutze den Code oben, um damit ein userReading zu erstellen. userReadings sind in der Commandref gut dokumentiert und es gibt unendlich viele Beispiele hier im Forum und auch im Wiki. Das neue Reading nutzt du dann in TabletUI zur Anzeige.

rudolfkoenig

Zitatändert sich zwar die Anzeige in Fhem, aber nicht in Ftui, weil sich ja der state des geräts nicht ändert...
Das ist eigentlich ein Ftui Problem, weil fuer die Anzeige das Internal STATE gedacht ist.
Das reading state ist das, was das Modul vorschlaegt, und ist (falls stateFormat & co nicht aktiv ist) identisch mit dem internal STATE.

Das userReading ist in diesem Fall "identisch" mit stateFormat:
attr ZHS04 userReadings state { ReadingsVal($name,"basicReport","") eq "255" ? "on" :"off"}

oeiber

Danke, Rudi! Genau das habe ich gesucht ;-)

oeiber

#8
Jetzt muss ich das Thema nochmals aufgreifen: Ich habe das so nun seit mehreren Wochen am laufen. Allerdings ist mir die Tage aufgefallen, dass dadurch wohl die Steckdosen länger brauchen um zu schalten. Mir kommt es so vor, als würde dieses userReadings einen Loop verursachen.

Wenn ich das Attribut entferne, schalten die Steckdosen asap.

Habt ihr hierzu noch eine Idee?

rudolfkoenig

Bitte Event-Monitor aufrufen, mit gesetzten Attribut schalten, und das Resultat hier anhaengen.

oeiber

Zitat von: rudolfkoenig am 19 Juni 2018, 17:41:39
Bitte Event-Monitor aufrufen, mit gesetzten Attribut schalten, und das Resultat hier anhaengen.

2018-06-20 00:03:55 ZWave STD06 on
2018-06-20 00:03:55 ZWave STD06 off
2018-06-20 00:03:55 ZWave STD06 basicReport: 255
2018-06-20 00:03:55 ZWave STD06 on

rudolfkoenig

Versuchs mal mit:
attr ZHS04 userReadings state:basicReport.* { ReadingsVal($name,"basicReport","") eq "255" ? "on" :"off"}

Btw. ich sehe in meiner Umgebung auch ohne userReadings, dass manche Rueckmeldungen nach einem in FHEM ausgeloesten set etwas verzoegert kommen, das Geraet schaltet aber sofort.

oeiber

Zitat von: rudolfkoenig am 21 Juni 2018, 16:29:14
Versuchs mal mit:
attr ZHS04 userReadings state:basicReport.* { ReadingsVal($name,"basicReport","") eq "255" ? "on" :"off"}

Btw. ich sehe in meiner Umgebung auch ohne userReadings, dass manche Rueckmeldungen nach einem in FHEM ausgeloesten set etwas verzoegert kommen, das Geraet schaltet aber sofort.


Hallo Rudi,

sieht gut aus!

DANKE