Smappee

Begonnen von pasp, 01 März 2020, 16:45:44

Vorheriges Thema - Nächstes Thema

pasp

Es gibt zwar ein Modul für Smappee (cf. 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?
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

Beta-User

Idee ja, aber kein list... (Amfängerforum-Neiträge lesen).
Lösung für MQTT2_Device steht im wiki - Praxis Beispiele
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

readingList der Smappee Instanz umbauen, damit es keine CID verwendet.
Wenn das nicht reicht, dann ein bridgeRegexp verwenden.

pasp

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.
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

Beta-User

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...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files