FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: pasp am 01 März 2020, 16:45:44

Titel: Smappee
Beitrag von: pasp am 01 März 2020, 16:45:44
Es gibt zwar ein Modul für Smappee (cf. https://forum.fhem.de/index.php/topic,36144.0.html (https://forum.fhem.de/index.php/topic,36144.0.html)), aber leider verlangt der Hersteller für die Nutzung der Schnittstelle mittlerweile 180€ für 2 Jahre, was ich aufgrund der immer wiederkehrenden Kosten ablehne. :o

Bleibt also nur die Einbindung mittels MQTT, welches der Smappee Energiemonitor unterstützt.

Leider meldet sich der Smappee nach jedem Reboot mit einer anderen Kennung (CID/DEF).
Diese setzte sich scheinbar aus einer fixen, sehr langen hexadezimalen Kennung (HHHHHHHH_HHHH_HHHH_HHHH_HHHHHHHHHHHH) und dem Epoch-Wert in Millisekunden mit 3 Nachkommastellen zusammen, was dazu führt, daß sich das Teil nach jedem Reboot neu in FHEM registriert und meine Logs mit Tausenden Readings pro Minute vollmüllt, bis ich den Amoklauf wieder unterbinden kann. :-X

Vielleicht hat ja hier jemand 'ne Idee, wie ich das Problem FHEMseitig umgehe?
Titel: Antw:Smappee
Beitrag von: Beta-User am 01 März 2020, 19:17:56
Idee ja, aber kein list... (Amfängerforum-Neiträge lesen).
Lösung für MQTT2_Device steht im wiki - Praxis Beispiele
Titel: Antw:Smappee
Beitrag von: rudolfkoenig am 01 März 2020, 19:28:14
readingList der Smappee Instanz umbauen, damit es keine CID verwendet.
Wenn das nicht reicht, dann ein bridgeRegexp verwenden.
Titel: Antw:Smappee
Beitrag von: pasp am 13 Juni 2020, 23:33:17
Wahrscheinlich geht es auch einfacher, aber ich habe das Ganze wie folgt gelöst (falls noch jemand auf dieses Problem stößt):

defmod mqtt2_issue_Smappee_new_id notify global:DEFINED.MQTT2_77777235_d93c_4444_bc74_777777777ff8_.* {
        fhem( "delete Smappee" );;
        fhem( "rename " . $EVTPART1 . " Smappee" );;\
        fhem( "attr Smappee icon measure_current" );;\
        fhem( "attr Smappee event-min-interval total.*:21600,.*:900" );;\
        fhem( "attr Smappee DbLogExclude .*" );;\
        fhem( "attr Smappee DbLogInclude voltages_1_voltage,totalImportEnergy,channelPowers_._(current|importEnergy|power),config.*,channelConfig.*" );;\
        [...]
}


Attributwerte für group, room, stateFormat, ... lassen sich natürlich auch bequem so setzen.

Das Hauptproblem ist jetzt nur noch, daß Veränderungen in meiner Smappee Konfiguration bei einem Smappee-Neustart "überschrieben" werden, wenn ich die Einstellungen nicht in diesen notify mit einbaue.
Sollte ich mir irgendwann die Mühe machen die Altwerte vor der Löschung des Altgeräts auszulesen, um sie danach auf das Neugerät anzuwenden, gibt es hier nochmal ein Update.
Titel: Antw:Smappee
Beitrag von: Beta-User am 14 Juni 2020, 17:59:48
Habe das Problem noch nicht verstanden. Warum nicht einfach die CID-Anteile aus der readingList löschen?

Wenn du Hilfe dazu haben willst, wäre immer noch ein RAW-list (zumindest von dem Teil mit der readingList hilfreich...