Problem nach Änderung aus 51102 (Problem beim Update von Readings:...)

Begonnen von ht, 13 April 2016, 02:21:45

Vorheriges Thema - Nächstes Thema

ht

Hallo Rudi und justme1968,

ich habe vor einigen Tagen unter Anfängerfragen ein Problem geschildert: https://forum.fhem.de/index.php/topic,51803 . Inzwischen habe ich mich weiter damit beschäftigt, und da weder der Ort noch der Titel des ursprünglichen Posts mehr stimmen, lege ich hier einen neuen Thread an. Ich weiss leider nicht, wie ich ihn hierher verschieben könnte.

Nach einigen weiteren Untersuchungen glaube ich, dass die Änderung aus https://forum.fhem.de/index.php/topic,51102.0 damit zu tun haben. Das Problem betrifft vermutlich Devices für die eine eventMap definiert wurde. In dem Fall kommt über CHANGED bei mir der gemappte Wert (z.B. down), während STATE.VAL den ungemappten Wert (z.B. off) enthält. Entsprechend wird in diesem Fall nicht "state: " davor gesetzt. Anscheinend hat das Auswirkungen auf das longpoll, so dass bei mir das automatische Update im Browser nicht mehr funktioniert.

Könnt Ihr Euch das bitte mal ansehen?

Viele Grüße,
Volker
FHEM 5.7, RasPI 2, HomeMatic über HMUSB, JeeLink Clone, Viessmann Heizung

rudolfkoenig

Sorry, die Anfaengerfragen lese ich nur zufaellig.
Bitte zusaetzlich ein Log der Events hier (oder im verlinkten Thread) anhaengen, am besten zusammen mit einem "attr global verbose 5" FHEM-Log Mitschnitt.

krikan

@Rudi: Nur Hinweis auf einen aus Anfängerfragen nach Sonstiges verschobenen Thread zu eventMap: https://forum.fhem.de/index.php/topic,52048.0.html. Verstehe das Problem dort nicht. Vielleicht ähnlich gelagert?

ht

Hi Rudi,

danke für die rasche Antwort. Anstatt ein Log zu schicken habe ich das mit einem einfachen Dummy nachgebaut. Dann kannst Du das selber ausprobieren:

define d dummy
attr d setList on off
attr d eventMap on:up


Dann die Details-Ansicht von d in einem Fenster öffnen. In einem zweiten Fenster den Befehl "set d off" geben. Das Reading state wird im ersten Fenster wie erwartet aktualisiert, zumindest die Uhrzeit, falls state schon auf off steht. Bei "set d up" bzw. "set d on" passiert im ersten Fenster aber nichts. Ändere ich die Routine deviceEvents wieder auf den alten Stand von vor dem 21.3., dann funktioniert das Update im ersten Fenster auch bei on. Es funktioniert auch, wenn ich die eventMap lösche.

Ich hoffe, das reicht Dir, um es nachzuvollziehen. Ansonsten frag bitte einfach nach, auch falls Du doch noch das Log haben möchtest.

Nur zur Sicherheit: mein eigentliches Problem ist mein Floorplan, der kein longpoll-Update kriegt. Es lässt sich aber mit der Detailsansicht einfacher zeigen, deshalb nehme ich die als Beispiel.

Grüße,
Volker
FHEM 5.7, RasPI 2, HomeMatic über HMUSB, JeeLink Clone, Viessmann Heizung

rudolfkoenig


rudolfkoenig

Ich meine es ohne Nebeneffekte gefixt zu haben, jedenfalls tritt das Problem mit deinem Beispiel nicht mehr auf.
Das eigentliche Problem ist, dass das Reading state nicht die durch eventMap geaenderten Werte speichert, was eigentlich nicht konsistent ist. Habe jetzt aber daran nichts geaendert.

justme1968

@rudi: ich glaube das sollte man auch nicht ändern. in state muss immer das stehen was das modul rein schreibt. und eventMap sollte sich nur auf die übersetzung von state in STATE auswirken.

wenn state selber auch geändert würde gäbe es z.b. probleme wenn ein modul selber einen wert aus state holt und dort nicht mehr das steht was vorher reingeschrieben wurde.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ht

Ja, ist denn heute schon Samstag? :)

Ich habe mir die Änderung aus dem SVN geholt und bei mir probiert. Funktioniert wieder einwandfrei, auch im Floorplan.

Vielen Dank für den schnellen Fix,
Volker
FHEM 5.7, RasPI 2, HomeMatic über HMUSB, JeeLink Clone, Viessmann Heizung