Hallo
Steuer mit dem I2C MCP23017 Modul Sternfömiger Installation Licht und Steckdosen. Habe die UP-Schalter durch UP-Doppeltaster erstetz. die Ansteuerung der Lampen und Steckdosen erfolgt über Solid State Relais.
Habe mich an die Anregungen aus dem Link angelehnt
https://sp0t.net/doku.php/pi/fhem/mcp23017 (https://sp0t.net/doku.php/pi/fhem/mcp23017)
Vielen Dank an den Autor für die praktische Anleitung.
Aufgefallen ist mir das beim verwenden eines "define .... readingsProxy ... Port "
und anschliessender Darstellung mit "devStateIcon" tritt ein Problem auf.
Die Webdarstellung folgt nicht der Umschaltung mittels Taster. Das Licht wird geschaltet und die Darstellung bleibt "eingeforen" folgt also nicht.
Beim Schalten mitteles WEB muss nach meinem zweimal geschaltet werdre um wieder eien syncrone Darstellung zu haben.
Schalte ich mit der Taste einen Lampen Dummy funktioniert alles.
Das Problem lässt sich so auch umschiffen in dem man den readingsProxy vom Dummy schaltet.
In meiner Testversion müsste readingsProxy und dummy synchron sein, dies ist nicht der Fall.
Als Zwischenlösung entferne ich die Ansicht auf den readingsProxy aus der WEB-Darstellung.
Gekürzte Testkonfiguration und Snapshut der Web Darstellung sind im Anhang.
Hat jemand eine Idee oder kann mir verraten wo ich suchen musss?
Kann es sich um einen Feler in der Reihenfolge der Abarbeitung handeln ?
# I2C Port auf MCP23017
define SZ_Schrank_LED_Port readingsProxy i2c20:PortB0
attr SZ_Schrank_LED_Port alias SZ Schrank LED Port
attr SZ_Schrank_LED_Port devStateIcon on:on:off off:off:on
attr SZ_Schrank_LED_Port room SZ
attr SZ_Schrank_LED_Port setFn {($CMD eq "off")?"PortB0 off":"PortB0 on"}
attr SZ_Schrank_LED_Port setList on off
# Dummy zur Umleitung der Darstellung
define SZ_Schrank_LED dummy
attr SZ_Schrank_LED alias SZ Schrank LED
attr SZ_Schrank_LED devStateIcon on:on:off off:off:on
attr SZ_Schrank_LED room SZ
attr SZ_Schrank_LED setList on off
# Schalt-Logik
define SZ_Schrank_LED_toggle notify SZ_Taster_A10:on { \
if (Value("SZ_Schrank_LED") eq "off") {fhem "set SZ_Schrank_LED on"} \
else {fhem "set SZ_Schrank_LED off"} \
}
# Umleitung mit notfy
define SZ_Schrank_LED_on notify SZ_Schrank_LED:on { fhem "set SZ_Schrank_LED_Port on"}
define SZ_Schrank_LED_off notify SZ_Schrank_LED:off { fhem "set SZ_Schrank_LED_Port off"}
Das Verhalten des Dummy ist korrekt. Der des readingsProxy bleibt Fehlerhft.
vielen Dank an alle
PS wenn jeman Interess haben sollte ertelle ich nach Erfolg gern Anleitung und Schaltplan, sowie Hinweise auf Quellen.
setz mal event-on-change-reading und oder event-on-update-reading im readingsProxy. dann werden auch events für die longpoll updates erzeugt.
Hallo
vielen Dank für die Antwort, die Richtung stimmt.
Hatte folgende Ergebnisse mit event-on-update-reading werden die Änderungen von allein nicht mehr angezeigt. Erst nach Reload im Browser werden die Werte richtig angezeigt. (ehr unparktisch)
attr SZ_Schrank_LED_Port event-on-change-reading SZ_Schrank_LED-Port
Ähnlich bei on-update-reading jedoch auch nach dem dem Reload des Browser werden die falschen Werte angezeigt.
attr SZ_Schrank_LED_Port event-on-update-reading SZ_Schrank_LED_Port
Was mich wundert, das der Hilsfdummy SZ_Schrank_LED richig angezeigt wird nur SZ_Schrank_LED_Port falsch ist.
(Ohne event-on-update-*)
mfG Axel