Hallo Freunde der Sonne,
meine kleine Anlage läuft aktuell soweit und ich habe nur zwei kleine Fragen zum Werte speichern in der Datenbank.
Zum einen ist es so, dass bei jedem neuen JSON der vom POW kommt, ein neues Event erzeugt wird. Das führt dazu, dass jedesmal ein Eintrag in die Datenbank wandert - auch wenn er sich nicht geändert hat. Ein "event-on-change-reading" auf Power führt dazu, das keine Daten mehr in die Datenbank wandern. Dann scheint er nichts mehr zu lesen.
Die zweite Frage ist: Wie bekomme ich es hin, dass FHEM am Tagesende den Tagesertrag "Today" und den Gesamtertrag "Total" einmalig in der Datenbank ablegt?
Hier meine listing:
Internals:
IODev Mosquitto
NAME Solar
NR 104
STATE aktuell: 376W Spannung: 236V Strom: 1.580A heute: 1.798Kw/h gestern: 1.001Kw/h Total: 11.218Kw/h
TYPE MQTT_DEVICE
Helper:
DBLOG:
ENERGY_Power:
myDbLog:
TIME 1522671965.96672
VALUE 376
state:
myDbLog:
TIME 1522644626.18357
VALUE ON
READINGS:
2018-04-02 14:26:05 ENERGY_Current 1.58
2018-04-02 14:26:05 ENERGY_Factor 1
2018-04-02 14:26:05 ENERGY_Period 1
2018-04-02 14:26:05 ENERGY_Power 376
2018-04-02 14:26:05 ENERGY_Today 1.798
2018-04-02 14:26:05 ENERGY_Total 11.218
2018-04-02 14:26:05 ENERGY_Voltage 236
2018-04-02 14:26:05 ENERGY_Yesterday 1.001
2018-04-02 14:26:05 POWER on
2018-04-02 14:26:05 Sensor {"Time":"2018.04.02 13:26:06","ENERGY":{"Total":11.218,"Yesterday":1.001,"Today":1.798,"Period":1,"Power":376,"Factor":1.00,"Voltage":236,"Current":1.580}}
2018-04-02 14:26:05 Status {"Time":"2018.04.02 13:26:06","Uptime":"2 04:20:13","Vcc":3.229,"POWER":"ON","Wifi":{"AP":1,"SSId":"XXX","RSSI":XX,"APMac":"XXX"}}
2018-04-02 14:26:05 Time 2018.04.02 13:26:06
2018-04-02 14:26:05 Uptime 2 04:20:13
2018-04-02 14:26:05 Vcc 3.229
2018-04-02 14:26:05 Wifi_AP 1
2018-04-02 14:26:05 Wifi_APMac XXX
2018-04-02 14:26:05 Wifi_RSSI XX
2018-04-02 14:26:05 Wifi_SSId XXX
2018-04-02 06:50:26 state ON
2018-04-02 14:26:05 transmission-state incoming publish received
message_ids:
publishSets:
:
topic /Smarthome/Garage/solar/cmnd/power
values:
on
off
sets:
off
on
subscribe:
/Smarthome/Garage/solar/SENSOR
/Smarthome/Garage/solar/STATE
/Smarthome/Garage/solar/POWER
subscribeExpr:
^\/Smarthome\/Garage\/solar\/SENSOR$
^\/Smarthome\/Garage\/solar\/STATE$
^\/Smarthome\/Garage\/solar\/POWER$
subscribeReadings:
/Smarthome/Garage/solar/POWER:
cmd
name state
/Smarthome/Garage/solar/SENSOR:
cmd
name Sensor
/Smarthome/Garage/solar/STATE:
cmd
name Status
Attributes:
DbLogInclude ENERGY_Power,state
IODev Mosquitto
alias Solar
devStateIcon on:rc_GREEN:off off:rc_RED:on
eventMap ON:on OFF:off
icon weather_sun
publishSet on off /Smarthome/Garage/solar/cmnd/power
room Solar-PV
stateFormat {sprintf("aktuell: %.0fW Spannung: %.0fV Strom: %.3fA heute: %.3fKw/h gestern: %.3fKw/h Total: %.3fKw/h", ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"ENERGY_Voltage",0), ReadingsVal($name,"ENERGY_Current",0), ReadingsVal($name,"ENERGY_Today",0), ReadingsVal($name,"ENERGY_Yesterday",0), ReadingsVal($name,"ENERGY_Total",0))}
subscribeReading_Sensor /Smarthome/Garage/solar/SENSOR
subscribeReading_Status /Smarthome/Garage/solar/STATE
subscribeReading_state /Smarthome/Garage/solar/POWER
webCmd on:off
"state" ist nicht "STATE"!
"STATE" wird aus den jeweiligen Readings nur zusammengesetzt.
Also musst Du auch die jeweiligen Readings in "event-on-....-reading" berücksichtigen.
Also z.B.:
attr <name> event-on-change-reading ENERGY_Voltage,ENERGY_Voltage,ENERGY_Current,ENERGY_Today,ENERGY_Yesterday,ENERGY_Total
Gruß
Dan
P.S. Schau Dir aber auch mal "DbLogInclude" und "DbLogExclude" an.