FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Gear am 21 März 2018, 00:19:02

Titel: [Gelöst] In Notify erzeugte Werte für ein Device werden nicht in der DB geloggt
Beitrag von: Gear am 21 März 2018, 00:19:02
Guten Abend Zusammen,

ich habe einen Stromzähler, der via S0 an meinen ESP8266 ein Impuls schickt, die Daten werden alle 60s an FHEM gesendet.
Nach dem erhalt der Werte verarbeitet ein Notify die Werte und berechnet den aktuellen Verbrauch, den heutigen, gestrigen, monatigen und jährlichen Verbrauch.

Also vom ESP > Device (via MQTT) > Notify > zurück ins Device.
Das Loggen über die DB funktioniert, daran sollte es nicht liegen.

Wenn ich die Daten wähle, welche vom ESP > FHEM gehen, die werden geloggt.

Anbei das Device bei dem ich die Probleme habe, auch bei anderen Devices des selbigen das gleiche Problem.
Ich weiß nicht, woran es liegen kann oder wie ich das beheben kann.

defmod WZ.Stromverbrauch.PC MQTT_DEVICE
attr WZ.Stromverbrauch.PC DbLogExclude .*
attr WZ.Stromverbrauch.PC DbLogInclude SvAktuell,SvHeute,SvGestern,SvMonat,SvVormonat,SvVorJahr,SvVorJahr
attr WZ.Stromverbrauch.PC IODev mqtt
attr WZ.Stromverbrauch.PC subscribeReading_count /SH/W/WZ/PC/Count
attr WZ.Stromverbrauch.PC subscribeReading_time /SH/W/WZ/PC/Time
attr WZ.Stromverbrauch.PC subscribeReading_total /SH/W/WZ/PC/Total

setstate WZ.Stromverbrauch.PC 2018-03-21 00:14:04 SvAktuell 0.06
setstate WZ.Stromverbrauch.PC 2018-03-21 00:00:04 SvDatum 2018-03-21
setstate WZ.Stromverbrauch.PC 2018-03-21 00:14:04 SvGesamt 0.089
setstate WZ.Stromverbrauch.PC 2018-03-21 00:00:04 SvGestern 0.068
setstate WZ.Stromverbrauch.PC 2018-03-21 00:14:04 SvHeute 0.021
setstate WZ.Stromverbrauch.PC 2018-03-21 00:14:04 SvJahr 0.089
setstate WZ.Stromverbrauch.PC 2018-03-21 00:14:04 SvMonat 0.089
setstate WZ.Stromverbrauch.PC 2018-03-21 00:00:04 SvVorJahr 0
setstate WZ.Stromverbrauch.PC 2018-03-21 00:00:04 SvVormonat 0
setstate WZ.Stromverbrauch.PC 2018-03-21 00:14:04 count 1
setstate WZ.Stromverbrauch.PC 2018-03-21 00:14:04 time 60030
setstate WZ.Stromverbrauch.PC 2018-03-21 00:14:04 total 535
setstate WZ.Stromverbrauch.PC 2018-03-21 00:14:04 transmission-state incoming publish received



Danke und einen schönen Abend
Gear
Titel: Antw:In Notify erzeugte Werte für ein Device werden nicht in der DB geloggt
Beitrag von: DS_Starter am 21 März 2018, 00:32:04
Hallo Gear,

das liegt an den Eigenheiten von setstate was du verwendest.
Siehe Commandref https://fhem.de/commandref_DE.html#setstate

Zitat
....
Der Befehl setzt den STATE Eintrag des Gerätes direkt, ohne Ereignisse zu generieren oder ein Signal an das Gerät zu senden.
....

Es werden mit setstate keine Events generiert die aber Voraussetzung für das Logging sind.
Du kannst auch im Eventmonitor gegenchecken dass die mit setstate erzeugte Einträge keine Events generieren.

VG
Titel: Antw:In Notify erzeugte Werte für ein Device werden nicht in der DB geloggt
Beitrag von: Gear am 21 März 2018, 02:25:30
Hallo DS_Starter,
Danke für deine Antwort, klingt logisch.
Sry wenn ich die Lösung jetzt übersehen haben sollte, aber gibt es auch eine Lösung wie ich das loggen lassen kann?
Grüße
Titel: Antw:In Notify erzeugte Werte für ein Device werden nicht in der DB geloggt
Beitrag von: rabehd am 21 März 2018, 07:56:46
set <LogDB> addLog Device:Reading
Titel: Antw:In Notify erzeugte Werte für ein Device werden nicht in der DB geloggt
Beitrag von: DS_Starter am 21 März 2018, 08:02:21
Oder du verwendest das Attribut userReadings ( https://fhem.de/commandref_DE.html#userReadings ) in deinem Device.

Aber der Hinweis von rabehd ist einfacher und direkt umzusetzen.
Titel: Antw:In Notify erzeugte Werte für ein Device werden nicht in der DB geloggt
Beitrag von: Gear am 21 März 2018, 12:04:13
Okey, super, vielen Dank!
Ich hab das nun so gemacht:
set <LogDB> addLog Device:Reading

Die Idee mit den Userreadings ist auch eine gute, nur in meinem Fall unpraktisch, da ich die Userreading nicht in allen Devices extra reinschreiben will, bzw. extra ein Notify machen, welches das reinschreibt.

Aber beide lösungswege sind realisierbar! =)

Wünsche euch einen schönen Tag!
Gear