userreadings: Letzte Änderung in State umsetzen

Begonnen von Sörn, 30 Juni 2020, 22:48:55

Vorheriges Thema - Nächstes Thema

Sörn

Moin zusammen,

ich bin auf der Suche nach einem $eleganten Weg um meine bestehende (Eigenbau™) Lösung mit FHEM zu verknüpfen.

Ich habe ca. 100 Taster im Haus, welche ihren Status an meinen Automatisierungsdaemon senden. Dieser übersetzt dann widerrum die Zustände in events (z.B. release, press, doublepress, longpress, ...) und liefert diese an FHEM via MQTT. Genau genommen sind die Taster stehende Doppelwippen, welche rauf und runter geschaltet werden. Jede Wippe liefert mir also jeweils die O.g. states für jeweils den oberen oder unteren Taster.

Das funktioniert soweit. Ich kann alles lesen, habe die MQTT_GENERIC_BRIDGE am Laufen und würde jetzt gerne überall ein attr mqttSubscribe entsprechend setzen.

Nun zu meinem Problem:
Ich möchte auf große Umwege über notifies verzichten und jetzt am liebsten mqttSubscribe direkt im device nutzen um verschiedene readings direkt im jeweiligen  device für Lichter und Rolläden zu definieren.
Wenn ich die Wippe für den Lichtschalter im Büro auslese, höre ich dabei auf 2 topics, welche mit 2 readings (offstate, onstate) verknüpft werden:
attr LichtBuero mqttSubscribe offstate:topic={"rs485/23/sw/0/3"} onstate:topic={"rs485/23/sw/0/1"}

onstate oder offstate hätten dann jeweils vorübergehend den state des events (z.B. "doublepress") und fallen dann wieder zurück auf den "release" state.

Ich möchte, dass die jeweils zuletzt gesehene Änderung auf "doublepress" in einem von zwei verschiedenen readings den state des jeweiligen devices ändert.

Ist das irgendwie ohne große Umwege möglich?
64 Relais + 8xULN2803 + 4x MCP23017 im Schaltschrank für ALLES
Custom Prokoll über RS485 für Taster, Temperatur und Feuchtesensoren