Hallo,
ich lese meinen Haus-Stromzähler mit einem Leskopf mit Tasmota aus und habe diesen per MQTT in FHEM eingebunden:
Internals:
CID DVES_0AD7CD
DEF DVES_0AD7CD
FUUID 64076344-f33f-a358-e7aa-16c7824f6b3cb9d3
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_192.168.178.157_58949
MQTT2_FHEM_Server_MSGCNT 485023
MQTT2_FHEM_Server_TIME 2023-10-26 10:42:48
MSGCNT 485023
NAME Stromzaehler
NR 363
STATE
Netz-Bezug: 5224.57 kWh <br>
Einspeisung: 276.01 kWh <br>
<b><font color=#FF0000>Wirkenergie Summe: 245.00 W</font></b><br>
Wirkleistung L1: -6.00 W<br>
Wirkleistung L2: 179.00 W<br>
Wirkleistung L3: 72.00 W<br>
Strombezug heute: 7.620 kWh<br>
Einspeisung heute: 0.000 kWh<br>
TYPE MQTT2_DEVICE
eventCount 485502
Helper:
DBLOG:
Zaehler_aktuelle_wirkleistung:
logdb:
TIME 1698309743.4323
VALUE 236
Zaehler_wirkleistung_l1:
logdb:
TIME 1698309743.4323
VALUE -6
Zaehler_wirkleistung_l2:
logdb:
TIME 1698309743.4323
VALUE 178
Zaehler_wirkleistung_l3:
logdb:
TIME 1698309743.4323
VALUE 64
statZaehler_wirkenergie_totalDay:
logdb:
TIME 1698270900.02605
VALUE 0.00
statZaehler_zaehlerstand_totalDay:
logdb:
TIME 1698270900.00971
VALUE 7.85
READINGS:
2023-10-26 10:42:43 Heap 19
2023-10-06 11:41:18 IODev MQTT2_FHEM_Server
2023-09-29 09:32:18 Info1_FallbackTopic cmnd/DVES_0AD7CD_fb/
2023-09-29 09:32:18 Info1_GroupTopic cmnd/tasmotas/
2023-09-29 09:32:18 Info1_Module Generic
2023-09-29 09:32:18 Info1_Version 13.0.0(tasmota)
2023-09-29 09:32:18 Info2_Hostname Lesekopf-6093
2023-09-29 09:32:18 Info2_IPAddress 192.168.178.157
2023-09-29 09:32:18 Info2_WebServerMode Admin
2023-09-29 09:32:18 Info3_BootCount 36
2023-09-29 09:32:18 Info3_RestartReason External System
2023-10-19 21:59:12 LWT Online
2023-10-26 10:42:43 LoadAvg 19
2023-10-26 10:42:43 MqttCount 4
2023-10-19 21:59:12 POWER
2023-08-26 10:20:46 SML_CMD restart
2023-10-26 10:42:43 Sleep 50
2023-10-26 10:42:43 SleepMode Dynamic
2023-10-26 10:42:48 StatusSNS_Time 2023-10-26T09:42:47
2023-10-26 10:42:48 StatusSNS_Zaehler_aktuelle_wirkleistung 237
2023-10-26 10:42:48 StatusSNS_Zaehler_netz_frequenz 50.0
2023-10-26 10:42:48 StatusSNS_Zaehler_spannung_l1 235.6
2023-10-26 10:42:48 StatusSNS_Zaehler_spannung_l2 235.5
2023-10-26 10:42:48 StatusSNS_Zaehler_spannung_l3 235.9
2023-10-26 10:42:48 StatusSNS_Zaehler_strom_l1 0.70
2023-10-26 10:42:48 StatusSNS_Zaehler_strom_l2 1.14
2023-10-26 10:42:48 StatusSNS_Zaehler_strom_l3 0.66
2023-10-26 10:42:48 StatusSNS_Zaehler_wirkenergie_total 276.01
2023-10-26 10:42:48 StatusSNS_Zaehler_wirkleistung_l1 -6
2023-10-26 10:42:48 StatusSNS_Zaehler_wirkleistung_l2 178
2023-10-26 10:42:48 StatusSNS_Zaehler_wirkleistung_l3 65
2023-10-26 10:42:48 StatusSNS_Zaehler_zaehlerstand_total 5224.57
2023-10-26 10:42:43 Time 2023-10-26T09:42:43
2023-10-26 10:42:43 Uptime 27T00:47:31
2023-10-26 10:42:43 UptimeSec 2335651
2023-10-26 10:42:43 Wifi_AP 1
2023-10-26 10:42:43 Wifi_BSSId C8:0E:14:BE:68:84
2023-10-26 10:42:43 Wifi_Channel 1
2023-10-26 10:42:43 Wifi_Downtime 0T00:01:42
2023-10-26 10:42:43 Wifi_LinkCount 3
2023-10-26 10:42:43 Wifi_Mode 11n
2023-10-26 10:42:43 Wifi_RSSI 64
2023-10-26 10:42:43 Wifi_SSId FRITZ!Box 6490 Cable
2023-10-26 10:42:43 Wifi_Signal -68
2023-10-26 10:42:43 Zaehler_aktuelle_wirkleistung 245
2023-10-26 10:42:43 Zaehler_netz_frequenz 49.9
2023-10-26 10:42:43 Zaehler_spannung_l1 235.6
2023-10-26 10:42:43 Zaehler_spannung_l2 235.9
2023-10-26 10:42:43 Zaehler_spannung_l3 236.4
2023-10-26 10:42:43 Zaehler_strom_l1 0.65
2023-10-26 10:42:43 Zaehler_strom_l2 1.13
2023-10-26 10:42:43 Zaehler_strom_l3 0.70
2023-10-26 10:42:43 Zaehler_wirkenergie_total 276.01
2023-10-26 10:42:43 Zaehler_wirkleistung_l1 -6
2023-10-26 10:42:43 Zaehler_wirkleistung_l2 179
2023-10-26 10:42:43 Zaehler_wirkleistung_l3 72
2023-08-26 10:18:42 Zaehler_z__hlerstand_total 4731.39
2023-08-11 13:47:40 Zaehler_z__hlerstand_totalPrice 0.3263
2023-10-26 10:42:43 Zaehler_zaehlerstand_total 5224.57
2023-10-19 21:59:13 btn_1 0
2023-10-19 21:59:13 btn_10 0
2023-10-19 21:59:13 btn_11 0
2023-10-19 21:59:13 btn_12 0
2023-10-19 21:59:13 btn_13 0
2023-10-19 21:59:13 btn_14 0
2023-10-19 21:59:13 btn_15 0
2023-10-19 21:59:13 btn_16 0
2023-10-19 21:59:13 btn_17 0
2023-10-19 21:59:13 btn_18 0
2023-10-19 21:59:13 btn_19 0
2023-10-19 21:59:13 btn_2 0
2023-10-19 21:59:13 btn_20 0
2023-10-19 21:59:13 btn_21 0
2023-10-19 21:59:13 btn_22 0
2023-10-19 21:59:13 btn_23 0
2023-10-19 21:59:13 btn_24 0
2023-10-19 21:59:13 btn_25 0
2023-10-19 21:59:13 btn_26 0
2023-10-19 21:59:13 btn_27 0
2023-10-19 21:59:13 btn_28 0
2023-10-19 21:59:13 btn_29 0
2023-10-19 21:59:13 btn_3 0
2023-10-19 21:59:13 btn_30 0
2023-10-19 21:59:13 btn_31 0
2023-10-19 21:59:13 btn_32 0
2023-10-19 21:59:13 btn_4 0
2023-10-19 21:59:13 btn_5 0
2023-10-19 21:59:13 btn_6 0
2023-10-19 21:59:13 btn_7 0
2023-10-19 21:59:13 btn_8 0
2023-10-19 21:59:13 btn_9 0
2023-10-19 21:59:13 dn Tasmota
2023-10-19 21:59:13 fn_1 Tasmota
2023-10-19 21:59:13 ft %prefix%/%topic%/
2023-10-19 21:59:13 hn Lesekopf-6093
2023-10-19 21:59:13 if 0
2023-10-19 21:59:13 ip 192.168.178.157
2023-10-19 21:59:13 lk 0
2023-10-19 21:59:13 lt_st 0
2023-10-19 21:59:13 mac 4C75250AD7CD
2023-10-19 21:59:13 md Generic
2023-10-19 21:59:13 ofln Offline
2023-10-19 21:59:13 onln Online
2023-10-19 21:59:13 rl_1 0
2023-10-19 21:59:13 rl_10 0
2023-10-19 21:59:13 rl_11 0
2023-10-19 21:59:13 rl_12 0
2023-10-19 21:59:13 rl_13 0
2023-10-19 21:59:13 rl_14 0
2023-10-19 21:59:13 rl_15 0
2023-10-19 21:59:13 rl_16 0
2023-10-19 21:59:13 rl_17 0
2023-10-19 21:59:13 rl_18 0
2023-10-19 21:59:13 rl_19 0
2023-10-19 21:59:13 rl_2 0
2023-10-19 21:59:13 rl_20 0
2023-10-19 21:59:13 rl_21 0
2023-10-19 21:59:13 rl_22 0
2023-10-19 21:59:13 rl_23 0
2023-10-19 21:59:13 rl_24 0
2023-10-19 21:59:13 rl_25 0
2023-10-19 21:59:13 rl_26 0
2023-10-19 21:59:13 rl_27 0
2023-10-19 21:59:13 rl_28 0
2023-10-19 21:59:13 rl_29 0
2023-10-19 21:59:13 rl_3 0
2023-10-19 21:59:13 rl_30 0
2023-10-19 21:59:13 rl_31 0
2023-10-19 21:59:13 rl_32 0
2023-10-19 21:59:13 rl_4 0
2023-10-19 21:59:13 rl_5 0
2023-10-19 21:59:13 rl_6 0
2023-10-19 21:59:13 rl_7 0
2023-10-19 21:59:13 rl_8 0
2023-10-19 21:59:13 rl_9 0
2023-10-19 21:59:13 sn_Time 2023-10-19T20:59:12
2023-10-19 21:59:13 sn_Zaehler_aktuelle_wirkleistung 354
2023-10-19 21:59:13 sn_Zaehler_netz_frequenz 50.0
2023-10-19 21:59:13 sn_Zaehler_spannung_l1 237.5
2023-10-19 21:59:13 sn_Zaehler_spannung_l2 237.9
2023-10-19 21:59:13 sn_Zaehler_spannung_l3 237.6
2023-10-19 21:59:13 sn_Zaehler_strom_l1 0.64
2023-10-19 21:59:13 sn_Zaehler_strom_l2 1.27
2023-10-19 21:59:13 sn_Zaehler_strom_l3 0.71
2023-10-19 21:59:13 sn_Zaehler_wirkenergie_total 273.43
2023-10-19 21:59:13 sn_Zaehler_wirkleistung_l1 30
2023-10-19 21:59:13 sn_Zaehler_wirkleistung_l2 230
2023-10-19 21:59:13 sn_Zaehler_wirkleistung_l3 93
2023-08-21 18:10:30 sn_Zaehler_z__hlerstand_total 4686.06
2023-10-19 21:59:13 sn_Zaehler_zaehlerstand_total 5133.73
2023-10-19 21:59:13 so_11 0
2023-10-19 21:59:13 so_114 0
2023-10-19 21:59:13 so_117 0
2023-10-19 21:59:13 so_13 0
2023-10-19 21:59:13 so_17 0
2023-10-19 21:59:13 so_20 0
2023-10-19 21:59:13 so_30 0
2023-10-19 21:59:13 so_4 0
2023-10-19 21:59:13 so_68 0
2023-10-19 21:59:13 so_73 0
2023-10-19 21:59:13 so_82 0
2023-10-26 10:42:48 statZaehler_wirkenergie_total Hour: 0.00 Day: 0.00 Month: 23.52 Year: 95.21 (since: 2023-08-12 )
2023-10-26 10:42:48 statZaehler_wirkenergie_totalDay 0.00
2023-10-25 23:59:55 statZaehler_wirkenergie_totalDayLast 0.00
2023-10-26 09:59:55 statZaehler_wirkenergie_totalLast Hour: 0.00 Day: 0.00 Month: 51.96 Year: -
2023-10-26 10:42:48 statZaehler_wirkenergie_totalMonth 23.52
2023-09-30 23:59:55 statZaehler_wirkenergie_totalMonthLast 51.96
2023-10-26 10:42:48 statZaehler_wirkenergie_totalYear 95.21
2023-10-26 10:42:48 statZaehler_zaehlerstand_total Hour: 1.49 Day: 7.62 Month: 217.08 Year: 484.72 (since: 2023-08-27 )
2023-10-26 10:42:48 statZaehler_zaehlerstand_totalDay 7.62
2023-10-25 23:59:55 statZaehler_zaehlerstand_totalDayLast 7.88
2023-10-26 09:59:55 statZaehler_zaehlerstand_totalLast Hour: 4.00 Day: 7.88 Month: 227.32 Year: -
2023-10-26 10:42:48 statZaehler_zaehlerstand_totalMonth 217.08
2023-09-30 23:59:55 statZaehler_zaehlerstand_totalMonthLast 227.32
2023-10-26 10:42:48 statZaehler_zaehlerstand_totalYear 484.72
2023-10-19 21:59:13 state_1 OFF
2023-10-19 21:59:13 state_2 ON
2023-10-19 21:59:13 state_3 TOGGLE
2023-10-19 21:59:13 state_4 HOLD
2023-10-06 11:42:17 subscriptions cmnd/DVES_0AD7CD_fb/# cmnd/Lesekopf/# cmnd/tasmotas/#
2023-10-19 21:59:13 sw 13.0.0
2023-10-19 21:59:13 swc_1 -1
2023-10-19 21:59:13 swc_10 -1
2023-10-19 21:59:13 swc_11 -1
2023-10-19 21:59:13 swc_12 -1
2023-10-19 21:59:13 swc_13 -1
2023-10-19 21:59:13 swc_14 -1
2023-10-19 21:59:13 swc_15 -1
2023-10-19 21:59:13 swc_16 -1
2023-10-19 21:59:13 swc_17 -1
2023-10-19 21:59:13 swc_18 -1
2023-10-19 21:59:13 swc_19 -1
2023-10-19 21:59:13 swc_2 -1
2023-10-19 21:59:13 swc_20 -1
2023-10-19 21:59:13 swc_21 -1
2023-10-19 21:59:13 swc_22 -1
2023-10-19 21:59:13 swc_23 -1
2023-10-19 21:59:13 swc_24 -1
2023-10-19 21:59:13 swc_25 -1
2023-10-19 21:59:13 swc_26 -1
2023-10-19 21:59:13 swc_27 -1
2023-10-19 21:59:13 swc_28 -1
2023-10-19 21:59:13 swc_3 -1
2023-10-19 21:59:13 swc_4 -1
2023-10-19 21:59:13 swc_5 -1
2023-10-19 21:59:13 swc_6 -1
2023-10-19 21:59:13 swc_7 -1
2023-10-19 21:59:13 swc_8 -1
2023-10-19 21:59:13 swc_9 -1
2023-10-19 21:59:13 t Lesekopf
2023-10-19 21:59:13 tp_1 cmnd
2023-10-19 21:59:13 tp_2 stat
2023-10-19 21:59:13 tp_3 tele
2023-10-19 21:59:13 ty 0
2023-10-19 21:59:13 ver 1
helper:
_98_statistics Stat_Stromzaehler
Attributes:
DbLogExclude .*
DbLogInclude Zaehler_aktuelle_wirkleistung:30:force,Zaehler_wirkleistung_l1:30:force,Zaehler_wirkleistung_l2:30:force,Zaehler_wirkleistung_l3:30:force
IODev MQTT2_FHEM_Server
alexaName Strom
group 1_Energieverbrauch
readingList DVES_0AD7CD:tele/Lesekopf/LWT:.* LWT
DVES_0AD7CD:cmnd/Lesekopf/POWER:.* POWER
DVES_0AD7CD:tele/Lesekopf/INFO1:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tele/Lesekopf/INFO2:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tele/Lesekopf/INFO3:.* { json2nameValue($EVENT) }
DVES_0AD7CD:stat/Lesekopf/RESULT:.* { json2nameValue($EVENT) }
DVES_0AD7CD:stat/Lesekopf/POWER:.* POWER
DVES_0AD7CD:tele/Lesekopf/STATE:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tele/Lesekopf/SENSOR:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tasmota/discovery/4C75250AD7CD/config:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tasmota/discovery/4C75250AD7CD/sensors:.* { json2nameValue($EVENT) }
DVES_0AD7CD:stat/Lesekopf/UPGRADE:.* { json2nameValue($EVENT) }
DVES_0AD7CD:stat/Lesekopf/STATUS10:.* { json2nameValue($EVENT) }
room Zähler
stateFormat {sprintf("
Netz-Bezug: %.2f kWh <br>
Einspeisung: %.2f kWh <br>
<b><font color=#FF0000>Wirkenergie Summe: %.2f W</font></b><br>
Wirkleistung L1: %.2f W<br>
Wirkleistung L2: %.2f W<br>
Wirkleistung L3: %.2f W<br>
Strombezug heute: %.3f kWh<br>
Einspeisung heute: %.3f kWh<br>
",ReadingsVal("Stromzaehler","Zaehler_zaehlerstand_total",0),
ReadingsVal("Stromzaehler","Zaehler_wirkenergie_total",0),
ReadingsVal("Stromzaehler","Zaehler_aktuelle_wirkleistung",0),
ReadingsVal("Stromzaehler","Zaehler_wirkleistung_l1",0),
ReadingsVal("Stromzaehler","Zaehler_wirkleistung_l2",0),
ReadingsVal("Stromzaehler","Zaehler_wirkleistung_l3",0),
ReadingsVal("Stromzaehler","statZaehler_zaehlerstand_totalDay",0),
ReadingsVal("Stromzaehler","statZaehler_wirkenergie_totalDay",0),
)}
Im Lesekopf habe ich folgendes Tasmota-Skript hinterlegt:
>D
>B
=>sensor53 r
>M 1
+1,3,s,0,9600,Zaehler
1,77070100010800FF@1000,Zaehlerstand Total,kWh,zaehlerstand_total,2
1,77070100020800FF@1000,Wirkenergie Total,kWh,wirkenergie_total,2
1,=h===============
1,77070100100700FF@1,Wirkleistung ges.,W,aktuelle_wirkleistung,0
1,=h---------------
1,770701001F0700FF@1,Strom L1,A,strom_l1,2
1,77070100200700FF@1,Spannung L1,V,spannung_l1,1
1,77070100240700FF@1,Wirkleistung L1,W,wirkleistung_l1,0
1,=h---------------
1,77070100330700FF@1,Strom L2,A,strom_l2,2
1,77070100340700FF@1,Spannung L2,V,spannung_l2,1
1,77070100380700FF@1,Wirkleistung L2,W,wirkleistung_l2,0
1,=h---------------
1,77070100470700FF@1,Strom L3,A,strom_l3,2
1,77070100480700FF@1,Spannung L3,V,spannung_l3,1
1,770701004C0700FF@1,Wirkleistung L3,W,wirkleistung_l3,0
1,=h---------------
1,770701000E0700FF@1,Netz Frequenz,Hz,netz_frequenz,1
#
Soweit so gut, das funktioniert fehlerfrei und auch die Werte sind plausibel.
Nun habe ich den Lesekopf auch noch zusätzlich als Zähler in meine Cfos Powerbrain Wallbox mit folgendem Skript eingehängt:
{
"rtype": 1, // 0 = modbus, 1 = http/json
"name": "Tasmota Smartmeter HTTP", // as displayed in the config dialog
"manufacturer": "Tasmota",
"dev_type": "tasmota_http_json", // will be prefixed by "meter_"
"delay_accumulated": false, // false: always read accumulated value, like import_wh / export_wh when reading instantaneous values
// values used to build the model string
"type_designation": {
"address": "",
"type": "string",
"fixed": "Smartmeter"
},
"version": {
"address": "",
"type": "string",
"fixed": "1.0"
},
"firmware_version": {
"address": "",
"type": "string",
"fixed": "1.0"
},
"serial": {
"address": "",
"type": "string",
"fixed": "0"
},
"voltage_l1": {
"address": "/cm?cmnd=status%2010",
"query": "StatusSNS.Zaehler.spannung_l1",
"type": "float",
"resolution": 1.0
},
"voltage_l2": {
"address": "/cm?cmnd=status%2010",
"query": "StatusSNS.Zaehler.spannung_l2",
"type": "float",
"resolution": 1.0
},
"voltage_l3": {
"address": "/cm?cmnd=status%2010",
"query": "StatusSNS.Zaehler.spannung_l3",
"type": "float",
"resolution": 1.0
},
"current_l1": {
"address": "/cm?cmnd=status%2010",
"query": "StatusSNS.Zaehler.strom_l1",
"type": "float",
"resolution": 1000.0
},
"current_l2": {
"address": "/cm?cmnd=status%2010",
"query": "StatusSNS.Zaehler.strom_l2",
"type": "float",
"resolution": 1000.0
},
"current_l3": {
"address": "/cm?cmnd=status%2010",
"query": "StatusSNS.Zaehler.strom_l3",
"type": "float",
"resolution": 1000.0
},
"power_w": {
"address": "/cm?cmnd=status%2010",
"query": "StatusSNS.Zaehler.aktuelle_wirkleistung",
"type": "float",
"resolution": 1.0
},
"import_wh": {
"address": "/cm?cmnd=status%2010",
"query": "StatusSNS.Zaehler.zaehlerstand_total",
"type": "float",
"resolution": 1000.0
},
"export_wh": {
"address": "/cm?cmnd=status%2010",
"query": "StatusSNS.Zaehler.wirkenergie_total",
"type": "float",
"resolution": 1000.0
}
}
Die Wallbox hat auch einen eigenen Zähler.
Die Kombination des internen Zählers und dem eingehängten Zähler Skript erlaubt sehr gute Einstellungen des Lastmanagements der Wallbox.
Sobald der Lesekopf mit dem o.g. Skript an die Wallbox angehängt ist erhalte ich neue Readings im Stromzaehler-Device in FHEM:
2023-10-26 10:51:00 StatusSNS_Zaehler_aktuelle_wirkleistung 267
2023-10-26 10:51:00 StatusSNS_Zaehler_netz_frequenz 50.0
2023-10-26 10:51:00 StatusSNS_Zaehler_spannung_l1 234.1
2023-10-26 10:51:00 StatusSNS_Zaehler_spannung_l2 234.8
2023-10-26 10:51:00 StatusSNS_Zaehler_spannung_l3 235.1
2023-10-26 10:51:00 StatusSNS_Zaehler_strom_l1 0.77
2023-10-26 10:51:00 StatusSNS_Zaehler_strom_l2 1.24
2023-10-26 10:51:00 StatusSNS_Zaehler_strom_l3 0.66
2023-10-26 10:51:00 StatusSNS_Zaehler_wirkenergie_total 276.01
2023-10-26 10:51:00 StatusSNS_Zaehler_wirkleistung_l1 9
2023-10-26 10:51:00 StatusSNS_Zaehler_wirkleistung_l2 207
2023-10-26 10:51:00 StatusSNS_Zaehler_wirkleistung_l3 51
2023-10-26 10:51:00 StatusSNS_Zaehler_zaehlerstand_total 5224.61
Im Stromzaehler-Device habe ich folgende Attr:
DbLogExclude .*
DbLogInclude Zaehler_aktuelle_wirkleistung:30:force,Zaehler_wirkleistung_l1:30:force,Zaehler_wirkleistung_l2:30:force,Zaehler_wirkleistung_l3:30:force
Nun taucht aber ein Problem auf.
Denn, wenn der Lesekopf mit FHEM und der Wallbox "verbunden" ist habe ich mind. einmal täglich einen unplausiblen Wert.
Screenshot 2023-10-26 at 10-55-12 FHEM.png
Screenshot 2023-10-26 at 10-55-39 FHEM.png
DBlog:
Screenshot 2023-10-26 105901.png
Die 61441 Watt sind natürlich unplausibel und dieser Wert nur Beispielhaft für die falschen Werte die immer wieder in ähnlicher Höhe geloggt werden und damit natürlich auch meine Plots verfälschen.
Wenn ich das Skript in der Wallbox deaktiviere, bleiben diese falschen Werte aus und alles passt.
Kann mir jemand helfen, wie ich das in den Griff bekomme bzw. ob ich irgendwo einen Fehler habe?
Vielen Dank für eure Unterstützung.
Grüße
Hallo Knallfrosch,
in Filelog gibt es das Attribut acceptedRange
acceptedRange col1:min:max[:regexp] ...
This attribute takes a space separated list of ranges. An event wont be logged, if the column of the event (counted from 0) is a number, and it is outside of the specified range. The optional regexp will check the event only, without the usual ^ and $ added to it. Example:
attr fl acceptedRange 1:5:35:[Tt]emperature 1:-90:-40:RSSI
Damit wird verhindert, dass offenkundig unsinnige Werte nicht in die Logdatei geschrieben werden, und folglich auch nicht die Diagramme zerstört werden.
Damit ist die Ursache nicht behoben, aber immerhin die Auswirkung auf Grafiken.
Ob es auf Device-Ebene auch etwas vergleichbares gibt, was Events bei unsinnigen Werten verhindert, da bin ich im Moment überfragt.
Viele Grüße Gisbert
Hallo,
vielen Dank für deine schnelle Antwort.
Da ich kein Filelog sondern DBlog nutze konnte ich dieses Attr. nicht finden/nutzen.
Aber dein Beitrag hat mich zumindest in die richtige Richtung geführt und ich habe ein Beispiel in einem anderen Beitrag gefunden und versuche es nun mal so:
attr valueFn
{\
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE > 20000){$IGNORE=1;;}\
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE < 1500){$IGNORE=1;;}\
}
ich hoffe das passt so.
Wenn aber noch jemand eine Erklärung und Lösung für die eigentliche Ursache mit den falschen Werten hat, würde ich mich sehr freuen.
Vielen Dank.
Grüße
Hallo,
gibt es für mein Problem keine andere Lösung?
Ich habe es jetzt seit dem 26.Oktober mit dem Attr ValueFN versucht.
valueFn {\
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE > 20000){$IGNORE=1;;}\
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE < 1500){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l1" && $VALUE > 60000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l1" && $VALUE < 1000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l2" && $VALUE > 6000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l2" && $VALUE < 1000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l3" && $VALUE > 6000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l3" && $VALUE < 1000){$IGNORE=1;;}\
}
Leider funktioniert es nicht und es werden immer noch die Ghostwerte in die DB geschrieben.
Habe ich in der Sytnax einen Fehler, so dass FHEM das komplett ignoriert?
Kann mir bitte jemand helfen, wie ich das ändern muss, damit die entsprechenden Werte die < oder > sind nicht mehr in die DB geschrieben werden.
Vielen Dank.
Grüße
Hallo Knallfrosch,
der Name des Attributs lautet DbLogValueFn - oder?
Hallo,
nein das Attribut nennt sich nur "valueFN"
so sieht das List aus:
Internals:
COLUMNS field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
CONFIGURATION ./db.conf
DEF ./db.conf .*:.*
FD 5
FUUID 64c76571-f33f-a358-bd28-60d53fff9890affa
FVERSION 93_DbLog.pm:v5.9.0-s27617/2023-05-25
MODE asynchronous
MODEL MYSQL
NAME logdb
NR 2
NTFY_ORDER 50-logdb
PID 5271
REGEXP .*:.*
SBP_PID 5273
SBP_STATE running
STATE connected
TYPE DbLog
UTF8 1
dbconn mysql:database=fhem;host=192.168.178.34;port=3306
dbuser fhemuser1
eventCount 110107
HELPER:
COLSET 1
DEVICECOL 64
EVENTCOL 512
OLDSTATE connected
PACKAGE main
READINGCOL 64
TC current
TH history
TYPECOL 64
UNITCOL 32
VALUECOL 128
VERSION 5.9.0
OLDREADINGS:
READINGS:
2023-11-14 09:43:18 CacheOverflowLastNum 0
2023-08-01 14:36:22 CacheOverflowLastState normal
2023-11-14 09:43:18 CacheUsage 2
2023-11-14 09:43:18 NextSync 2023-11-14 09:43:48 or when CacheUsage 500 is reached
2023-11-14 09:43:19 state connected
Attributes:
DbLogSelectionMode Include
DbLogType Current/History
asyncMode 1
group Logging
room System
useCharfilter 1
valueFn {\
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE > 20000){$IGNORE=1;;}\
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE < 1500){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l1" && $VALUE > 60000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l1" && $VALUE < 1000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l2" && $VALUE > 6000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l2" && $VALUE < 1000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l3" && $VALUE > 6000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l3" && $VALUE < 1000){$IGNORE=1;;}\
}
Zitat von: fz55 am 14 November 2023, 09:39:48Hallo Knallfrosch,
der Name des Attributs lautet DbLogValueFn - oder?
Ich habe wohl nun zumindest einen gravierenden Fehler gefunden.
Ich habe das Attribut im Log-Device gesetzt und nicht im Device, dass mir die falschen Werte abgibt.
An dem DBlogValueFN musste ich nun eine ganze Weile knabbern.
Mal schauen ob es nun klappt, wenn das Attr. an der richtigen Stelle gesetzt ist. :-)
Grüße
Ich erhalte nun aber folgende Fehlermeldung im Log und komme damit überhaupt nicht weiter.
2023.11.16 09:00:24 2: DbLog logdb - error device "Stromzaehler" specific DbLogValueFn: syntax error at (eval 25615508) line 2, near "\
if"
syntax error at (eval 25615508) line 3, near "\
if"
syntax error at (eval 25615508) line 3, near ";}"
syntax error at (eval 25615508) line 4, near ";}"
syntax error at (eval 25615508) line 5, near ";}"
syntax error at (eval 25615508) line 6, near ";}"
syntax error at (eval 25615508) line 7, near ";}"
syntax error at (eval 25615508) line 8, near ";}"
syntax error at (eval 25615508) line 9, near ";}"
2023.11.16 09:00:24 2: DbLog logdb - error device "Stromzaehler" specific DbLogValueFn: syntax error at (eval 25615509) line 2, near "\
if"
syntax error at (eval 25615509) line 3, near "\
if"
syntax error at (eval 25615509) line 3, near ";}"
syntax error at (eval 25615509) line 4, near ";}"
syntax error at (eval 25615509) line 5, near ";}"
syntax error at (eval 25615509) line 6, near ";}"
syntax error at (eval 25615509) line 7, near ";}"
syntax error at (eval 25615509) line 8, near ";}"
syntax error at (eval 25615509) line 9, near ";}"
Kann mir bitte jemand dabei helfen?
Vielen Dank.
Grüße
Ich kenn mich da nicht so gut aus, aber in der CommandRef steht
attr <device> valueFn {if ($DEVICE eq "living_Clima" && $VALUE eq "off" ){$VALUE=0;} elsif ($DEVICE eq "e-power"){$VALUE= sprintf "%.1f", $VALUE;}}
if () {} elseif
und nicht eine Abfolge von if-Statements. Also wie m. M. nach bei Perl üblich.
Gruß Ralf
Das muss ich revidieren, hatte nur das Beispiel im Blick. Eine Abfolge von if-Statements zur Prüfung geht und ist eine andere Logik als "if() {} elseif() {}"
Poste doch ein aktuelles list :)
Wie hast du das Attribut eingegeben?
Ich denke dass die Formatierung nicht passt, so wie ich die Fehlermeldung verstehe.
Es werden so es aussieht "\" ("Zeilenendemarkierung" bei mehrzeiligen Eingaben) und ";" (je nachdem wo/wie man eingibt reicht ein Strichpunkt, manchmal braucht es 2 usw.) als falsch gesehen.
Gruß, Joachim
Hallo,
hier das aktuelle List des Device, dass mir die Fakewerte liefert:
Internals:
CID DVES_0AD7CD
DEF DVES_0AD7CD
FUUID 64076344-f33f-a358-e7aa-16c7824f6b3cb9d3
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_192.168.178.157_52799
MQTT2_FHEM_Server_MSGCNT 1448713
MQTT2_FHEM_Server_TIME 2023-11-16 09:50:37
MSGCNT 1448713
NAME Stromzaehler
NR 363
STATE
Netz-Bezug: 5353.81 kWh <br>
Einspeisung: 284.42 kWh <br>
<b><font color=#FF0000>Wirkenergie Summe: 2255.00 W</font></b><br>
Wirkleistung L1: 45.00 W<br>
Wirkleistung L2: 2118.00 W<br>
Wirkleistung L3: 90.00 W<br>
Strombezug heute: 2.790 kWh<br>
Einspeisung heute: 0.000 kWh<br>
TYPE MQTT2_DEVICE
eventCount 1449696
Helper:
DBLOG:
Zaehler_aktuelle_wirkleistung:
logdb:
TIME 1700124604.36271
VALUE 2271
Zaehler_wirkleistung_l1:
logdb:
TIME 1700123004.32869
VALUE 8
Zaehler_wirkleistung_l2:
logdb:
TIME 1700124604.36271
VALUE 2136
Zaehler_wirkleistung_l3:
logdb:
TIME 1700123004.32869
VALUE 83
statZaehler_wirkenergie_totalDay:
logdb:
TIME 1700088900.0152
VALUE 0.09
statZaehler_wirkenergie_totalMonth:
logdb:
TIME 1698793080.02517
VALUE 24.69
statZaehler_zaehlerstand_totalDay:
logdb:
TIME 1700088900.00519
VALUE 7.07
statZaehler_zaehlerstand_totalMonth:
logdb:
TIME 1698793080.00985
VALUE 267.88
READINGS:
2023-11-16 09:50:34 Heap 18
2023-10-06 11:41:18 IODev MQTT2_FHEM_Server
2023-09-29 09:32:18 Info1_FallbackTopic cmnd/DVES_0AD7CD_fb/
2023-09-29 09:32:18 Info1_GroupTopic cmnd/tasmotas/
2023-09-29 09:32:18 Info1_Module Generic
2023-09-29 09:32:18 Info1_Version 13.0.0(tasmota)
2023-09-29 09:32:18 Info2_Hostname Lesekopf-6093
2023-09-29 09:32:18 Info2_IPAddress 192.168.178.157
2023-09-29 09:32:18 Info2_WebServerMode Admin
2023-09-29 09:32:18 Info3_BootCount 36
2023-09-29 09:32:18 Info3_RestartReason External System
2023-10-28 17:11:04 LWT Online
2023-11-16 09:50:34 LoadAvg 19
2023-11-16 09:50:34 MqttCount 5
2023-10-28 17:11:05 POWER
2023-08-26 10:20:46 SML_CMD restart
2023-11-16 09:50:34 Sleep 50
2023-11-16 09:50:34 SleepMode Dynamic
2023-11-16 09:50:37 StatusSNS_Time 2023-11-16T09:50:36
2023-11-16 09:50:37 StatusSNS_Zaehler_aktuelle_wirkleistung 2322
2023-11-16 09:50:37 StatusSNS_Zaehler_netz_frequenz 50.0
2023-11-16 09:50:37 StatusSNS_Zaehler_spannung_l1 236.7
2023-11-16 09:50:37 StatusSNS_Zaehler_spannung_l2 235.6
2023-11-16 09:50:37 StatusSNS_Zaehler_spannung_l3 236.5
2023-11-16 09:50:37 StatusSNS_Zaehler_strom_l1 0.72
2023-11-16 09:50:37 StatusSNS_Zaehler_strom_l2 9.35
2023-11-16 09:50:37 StatusSNS_Zaehler_strom_l3 0.77
2023-11-16 09:50:37 StatusSNS_Zaehler_wirkenergie_total 284.42
2023-11-16 09:50:37 StatusSNS_Zaehler_wirkleistung_l1 46
2023-11-16 09:50:37 StatusSNS_Zaehler_wirkleistung_l2 2187
2023-11-16 09:50:37 StatusSNS_Zaehler_wirkleistung_l3 89
2023-11-16 09:50:37 StatusSNS_Zaehler_zaehlerstand_total 5353.81
2023-11-16 09:50:34 Time 2023-11-16T09:50:33
2023-11-16 09:50:34 Uptime 48T00:55:21
2023-11-16 09:50:34 UptimeSec 4150521
2023-11-16 09:50:34 Wifi_AP 2
2023-11-16 09:50:34 Wifi_BSSId 74:DA:88:C7:6F:E7
2023-11-16 09:50:34 Wifi_Channel 9
2023-11-16 09:50:34 Wifi_Downtime 0T00:01:42
2023-11-16 09:50:34 Wifi_LinkCount 3
2023-11-16 09:50:34 Wifi_Mode 11n
2023-11-16 09:50:34 Wifi_RSSI 60
2023-11-16 09:50:34 Wifi_SSId Access-Point 4
2023-11-16 09:50:34 Wifi_Signal -70
2023-11-16 09:50:34 Zaehler_aktuelle_wirkleistung 2255
2023-11-16 09:50:34 Zaehler_netz_frequenz 50.0
2023-11-16 09:50:34 Zaehler_spannung_l1 236.7
2023-11-16 09:50:34 Zaehler_spannung_l2 235.6
2023-11-16 09:50:34 Zaehler_spannung_l3 236.8
2023-11-16 09:50:34 Zaehler_strom_l1 0.71
2023-11-16 09:50:34 Zaehler_strom_l2 9.01
2023-11-16 09:50:34 Zaehler_strom_l3 0.79
2023-11-16 09:50:34 Zaehler_wirkenergie_total 284.42
2023-11-16 09:50:34 Zaehler_wirkleistung_l1 45
2023-11-16 09:50:34 Zaehler_wirkleistung_l2 2118
2023-11-16 09:50:34 Zaehler_wirkleistung_l3 90
2023-08-26 10:18:42 Zaehler_z__hlerstand_total 4731.39
2023-08-11 13:47:40 Zaehler_z__hlerstand_totalPrice 0.3263
2023-11-16 09:50:34 Zaehler_zaehlerstand_total 5353.81
2023-10-28 17:11:05 btn_1 0
2023-10-28 17:11:05 btn_10 0
2023-10-28 17:11:05 btn_11 0
2023-10-28 17:11:05 btn_12 0
2023-10-28 17:11:05 btn_13 0
2023-10-28 17:11:05 btn_14 0
2023-10-28 17:11:05 btn_15 0
2023-10-28 17:11:05 btn_16 0
2023-10-28 17:11:05 btn_17 0
2023-10-28 17:11:05 btn_18 0
2023-10-28 17:11:05 btn_19 0
2023-10-28 17:11:05 btn_2 0
2023-10-28 17:11:05 btn_20 0
2023-10-28 17:11:05 btn_21 0
2023-10-28 17:11:05 btn_22 0
2023-10-28 17:11:05 btn_23 0
2023-10-28 17:11:05 btn_24 0
2023-10-28 17:11:05 btn_25 0
2023-10-28 17:11:05 btn_26 0
2023-10-28 17:11:05 btn_27 0
2023-10-28 17:11:05 btn_28 0
2023-10-28 17:11:05 btn_29 0
2023-10-28 17:11:05 btn_3 0
2023-10-28 17:11:05 btn_30 0
2023-10-28 17:11:05 btn_31 0
2023-10-28 17:11:05 btn_32 0
2023-10-28 17:11:05 btn_4 0
2023-10-28 17:11:05 btn_5 0
2023-10-28 17:11:05 btn_6 0
2023-10-28 17:11:05 btn_7 0
2023-10-28 17:11:05 btn_8 0
2023-10-28 17:11:05 btn_9 0
2023-10-28 17:11:05 dn Tasmota
2023-10-28 17:11:05 fn_1 Tasmota
2023-10-28 17:11:05 ft %prefix%/%topic%/
2023-10-28 17:11:05 hn Lesekopf-6093
2023-10-28 17:11:05 if 0
2023-10-28 17:11:05 ip 192.168.178.157
2023-10-28 17:11:05 lk 0
2023-10-28 17:11:05 lt_st 0
2023-10-28 17:11:05 mac 4C75250AD7CD
2023-10-28 17:11:05 md Generic
2023-10-28 17:11:05 ofln Offline
2023-10-28 17:11:05 onln Online
2023-10-28 17:11:05 rl_1 0
2023-10-28 17:11:05 rl_10 0
2023-10-28 17:11:05 rl_11 0
2023-10-28 17:11:05 rl_12 0
2023-10-28 17:11:05 rl_13 0
2023-10-28 17:11:05 rl_14 0
2023-10-28 17:11:05 rl_15 0
2023-10-28 17:11:05 rl_16 0
2023-10-28 17:11:05 rl_17 0
2023-10-28 17:11:05 rl_18 0
2023-10-28 17:11:05 rl_19 0
2023-10-28 17:11:05 rl_2 0
2023-10-28 17:11:05 rl_20 0
2023-10-28 17:11:05 rl_21 0
2023-10-28 17:11:05 rl_22 0
2023-10-28 17:11:05 rl_23 0
2023-10-28 17:11:05 rl_24 0
2023-10-28 17:11:05 rl_25 0
2023-10-28 17:11:05 rl_26 0
2023-10-28 17:11:05 rl_27 0
2023-10-28 17:11:05 rl_28 0
2023-10-28 17:11:05 rl_29 0
2023-10-28 17:11:05 rl_3 0
2023-10-28 17:11:05 rl_30 0
2023-10-28 17:11:05 rl_31 0
2023-10-28 17:11:05 rl_32 0
2023-10-28 17:11:05 rl_4 0
2023-10-28 17:11:05 rl_5 0
2023-10-28 17:11:05 rl_6 0
2023-10-28 17:11:05 rl_7 0
2023-10-28 17:11:05 rl_8 0
2023-10-28 17:11:05 rl_9 0
2023-10-28 17:11:05 sn_Time 2023-10-28T16:11:05
2023-10-28 17:11:05 sn_Zaehler_aktuelle_wirkleistung 263
2023-10-28 17:11:05 sn_Zaehler_netz_frequenz 50.0
2023-10-28 17:11:05 sn_Zaehler_spannung_l1 235.9
2023-10-28 17:11:05 sn_Zaehler_spannung_l2 235.9
2023-10-28 17:11:05 sn_Zaehler_spannung_l3 235.6
2023-10-28 17:11:05 sn_Zaehler_strom_l1 0.71
2023-10-28 17:11:05 sn_Zaehler_strom_l2 1.21
2023-10-28 17:11:05 sn_Zaehler_strom_l3 0.71
2023-10-28 17:11:05 sn_Zaehler_wirkenergie_total 276.87
2023-10-28 17:11:05 sn_Zaehler_wirkleistung_l1 25
2023-10-28 17:11:05 sn_Zaehler_wirkleistung_l2 172
2023-10-28 17:11:05 sn_Zaehler_wirkleistung_l3 65
2023-08-21 18:10:30 sn_Zaehler_z__hlerstand_total 4686.06
2023-10-28 17:11:05 sn_Zaehler_zaehlerstand_total 5244.71
2023-10-28 17:11:05 so_11 0
2023-10-28 17:11:05 so_114 0
2023-10-28 17:11:05 so_117 0
2023-10-28 17:11:05 so_13 0
2023-10-28 17:11:05 so_17 0
2023-10-28 17:11:05 so_20 0
2023-10-28 17:11:05 so_30 0
2023-10-28 17:11:05 so_4 0
2023-10-28 17:11:05 so_68 0
2023-10-28 17:11:05 so_73 0
2023-10-28 17:11:05 so_82 0
2023-11-16 09:50:37 statZaehler_wirkenergie_total Hour: 0.00 Day: 0.00 Month: 7.24 Year: 103.62 (since: 2023-08-12 )
2023-11-16 09:50:37 statZaehler_wirkenergie_totalDay 0.00
2023-11-15 23:59:55 statZaehler_wirkenergie_totalDayLast 0.09
2023-11-16 08:59:55 statZaehler_wirkenergie_totalLast Hour: 0.00 Day: 0.09 Month: 24.69 Year: -
2023-11-16 09:50:37 statZaehler_wirkenergie_totalMonth 7.24
2023-10-31 23:59:55 statZaehler_wirkenergie_totalMonthLast 24.69
2023-11-16 09:50:37 statZaehler_wirkenergie_totalYear 103.62
2023-11-16 09:50:37 statZaehler_zaehlerstand_total Hour: 0.85 Day: 2.79 Month: 78.42 Year: 613.92 (since: 2023-08-27 )
2023-11-16 09:50:37 statZaehler_zaehlerstand_totalDay 2.79
2023-11-15 23:59:55 statZaehler_zaehlerstand_totalDayLast 7.09
2023-11-16 08:59:55 statZaehler_zaehlerstand_totalLast Hour: 0.24 Day: 7.09 Month: 267.88 Year: -
2023-11-16 09:50:37 statZaehler_zaehlerstand_totalMonth 78.42
2023-10-31 23:59:55 statZaehler_zaehlerstand_totalMonthLast 267.88
2023-11-16 09:50:37 statZaehler_zaehlerstand_totalYear 613.92
2023-10-28 17:11:05 state_1 OFF
2023-10-28 17:11:05 state_2 ON
2023-10-28 17:11:05 state_3 TOGGLE
2023-10-28 17:11:05 state_4 HOLD
2023-10-06 11:42:17 subscriptions cmnd/DVES_0AD7CD_fb/# cmnd/Lesekopf/# cmnd/tasmotas/#
2023-10-28 17:11:05 sw 13.0.0
2023-10-28 17:11:05 swc_1 -1
2023-10-28 17:11:05 swc_10 -1
2023-10-28 17:11:05 swc_11 -1
2023-10-28 17:11:05 swc_12 -1
2023-10-28 17:11:05 swc_13 -1
2023-10-28 17:11:05 swc_14 -1
2023-10-28 17:11:05 swc_15 -1
2023-10-28 17:11:05 swc_16 -1
2023-10-28 17:11:05 swc_17 -1
2023-10-28 17:11:05 swc_18 -1
2023-10-28 17:11:05 swc_19 -1
2023-10-28 17:11:05 swc_2 -1
2023-10-28 17:11:05 swc_20 -1
2023-10-28 17:11:05 swc_21 -1
2023-10-28 17:11:05 swc_22 -1
2023-10-28 17:11:05 swc_23 -1
2023-10-28 17:11:05 swc_24 -1
2023-10-28 17:11:05 swc_25 -1
2023-10-28 17:11:05 swc_26 -1
2023-10-28 17:11:05 swc_27 -1
2023-10-28 17:11:05 swc_28 -1
2023-10-28 17:11:05 swc_3 -1
2023-10-28 17:11:05 swc_4 -1
2023-10-28 17:11:05 swc_5 -1
2023-10-28 17:11:05 swc_6 -1
2023-10-28 17:11:05 swc_7 -1
2023-10-28 17:11:05 swc_8 -1
2023-10-28 17:11:05 swc_9 -1
2023-10-28 17:11:05 t Lesekopf
2023-10-28 17:11:05 tp_1 cmnd
2023-10-28 17:11:05 tp_2 stat
2023-10-28 17:11:05 tp_3 tele
2023-10-28 17:11:05 ty 0
2023-10-28 17:11:05 ver 1
helper:
_98_statistics Stat_Stromzaehler
Attributes:
DbLogExclude .*
DbLogInclude Zaehler_aktuelle_wirkleistung:30:force,Zaehler_wirkleistung_l1:30:force,Zaehler_wirkleistung_l2:30:force,Zaehler_wirkleistung_l3:30:force
DbLogValueFn {\
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE > 20000){$IGNORE=1;;}\
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE < 1500){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l1" && $VALUE > 60000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l1" && $VALUE < 1000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l2" && $VALUE > 6000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l2" && $VALUE < 1000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l3" && $VALUE > 6000){$IGNORE=1;;}\
if ($READING eq "Zaehler_wirkleistung_l3" && $VALUE < 1000){$IGNORE=1;;}\
}
IODev MQTT2_FHEM_Server
alexaName Strom
group 1_Energieverbrauch
readingList DVES_0AD7CD:tele/Lesekopf/LWT:.* LWT
DVES_0AD7CD:cmnd/Lesekopf/POWER:.* POWER
DVES_0AD7CD:tele/Lesekopf/INFO1:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tele/Lesekopf/INFO2:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tele/Lesekopf/INFO3:.* { json2nameValue($EVENT) }
DVES_0AD7CD:stat/Lesekopf/RESULT:.* { json2nameValue($EVENT) }
DVES_0AD7CD:stat/Lesekopf/POWER:.* POWER
DVES_0AD7CD:tele/Lesekopf/STATE:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tele/Lesekopf/SENSOR:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tasmota/discovery/4C75250AD7CD/config:.* { json2nameValue($EVENT) }
DVES_0AD7CD:tasmota/discovery/4C75250AD7CD/sensors:.* { json2nameValue($EVENT) }
DVES_0AD7CD:stat/Lesekopf/UPGRADE:.* { json2nameValue($EVENT) }
DVES_0AD7CD:stat/Lesekopf/STATUS10:.* { json2nameValue($EVENT) }
room Zähler
stateFormat {sprintf("
Netz-Bezug: %.2f kWh <br>
Einspeisung: %.2f kWh <br>
<b><font color=#FF0000>Wirkenergie Summe: %.2f W</font></b><br>
Wirkleistung L1: %.2f W<br>
Wirkleistung L2: %.2f W<br>
Wirkleistung L3: %.2f W<br>
Strombezug heute: %.3f kWh<br>
Einspeisung heute: %.3f kWh<br>
",ReadingsVal("Stromzaehler","Zaehler_zaehlerstand_total",0),
ReadingsVal("Stromzaehler","Zaehler_wirkenergie_total",0),
ReadingsVal("Stromzaehler","Zaehler_aktuelle_wirkleistung",0),
ReadingsVal("Stromzaehler","Zaehler_wirkleistung_l1",0),
ReadingsVal("Stromzaehler","Zaehler_wirkleistung_l2",0),
ReadingsVal("Stromzaehler","Zaehler_wirkleistung_l3",0),
ReadingsVal("Stromzaehler","statZaehler_zaehlerstand_totalDay",0),
ReadingsVal("Stromzaehler","statZaehler_wirkenergie_totalDay",0),
)}
Die Variante mit:
{\
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE > 20000){$IGNORE=1;;}\
elseif ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE < 1500){$IGNORE=1;;}\
elseif ($READING eq "Zaehler_wirkleistung_l1" && $VALUE > 60000){$IGNORE=1;;}\
elseif ($READING eq "Zaehler_wirkleistung_l1" && $VALUE < 1000){$IGNORE=1;;}\
elseif ($READING eq "Zaehler_wirkleistung_l2" && $VALUE > 6000){$IGNORE=1;;}\
elseif ($READING eq "Zaehler_wirkleistung_l2" && $VALUE < 1000){$IGNORE=1;;}\
elseif ($READING eq "Zaehler_wirkleistung_l3" && $VALUE > 6000){$IGNORE=1;;}\
elseif ($READING eq "Zaehler_wirkleistung_l3" && $VALUE < 1000){$IGNORE=1;;}\
}
Hat leider auch nur wieder einen Fehler im Log hinterlegt.
2023.11.16 09:23:18 1: PERL WARNING: elseif should be elsif at (eval 25625652) line 1.
2023.11.16 09:23:18 3: eval: my $CN= $evalSpecials->{'%CN'};my $DEVICE= $evalSpecials->{'%DEVICE'};my $DEVICETYPE= $evalSpecials->{'%DEVICETYPE'};my $EVENT= $evalSpecials->{'%EVENT'};my $EVTPART0= $evalSpecials->{'%EVTPART0'};my $IGNORE= $evalSpecials->{'%IGNORE'};my $LASTTIMESTAMP= $evalSpecials->{'%LASTTIMESTAMP'};my $LASTVALUE= $evalSpecials->{'%LASTVALUE'};my $READING= $evalSpecials->{'%READING'};my $TIMESTAMP= $evalSpecials->{'%TIMESTAMP'};my $UNIT= $evalSpecials->{'%UNIT'};my $VALUE= $evalSpecials->{'%VALUE'};{return undef; { if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE > 20000){$IGNORE=1;;} elseif ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE < 1500){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l1" && $VALUE > 60000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l1" && $VALUE < 1000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l2" && $VALUE > 6000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l2" && $VALUE < 1000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l3" && $VALUE > 6000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l3" && $VALUE < 1000){$IGNORE=1;;} }}
2023.11.16 09:23:18 1: ERROR evaluating my $CN= $evalSpecials->{'%CN'};my $DEVICE= $evalSpecials->{'%DEVICE'};my $DEVICETYPE= $evalSpecials->{'%DEVICETYPE'};my $EVENT= $evalSpecials->{'%EVENT'};my $EVTPART0= $evalSpecials->{'%EVTPART0'};my $IGNORE= $evalSpecials->{'%IGNORE'};my $LASTTIMESTAMP= $evalSpecials->{'%LASTTIMESTAMP'};my $LASTVALUE= $evalSpecials->{'%LASTVALUE'};my $READING= $evalSpecials->{'%READING'};my $TIMESTAMP= $evalSpecials->{'%TIMESTAMP'};my $UNIT= $evalSpecials->{'%UNIT'};my $VALUE= $evalSpecials->{'%VALUE'};{return undef; { if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE > 20000){$IGNORE=1;;} elseif ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE < 1500){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l1" && $VALUE > 60000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l1" && $VALUE < 1000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l2" && $VALUE > 6000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l2" && $VALUE < 1000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l3" && $VALUE > 6000){$IGNORE=1;;} elseif ($READING eq "Zaehler_wirkleistung_l3" && $VALUE < 1000){$IGNORE=1;;} }}: syntax error at (eval 25625652) line 1, near "){"
syntax error at (eval 25625652) line 1, near "){"
syntax error at (eval 25625652) line 1, near "){"
syntax error at (eval 25625652) line 1, near ";}"
syntax error at (eval 25625652) line 1, near ";}"
syntax error at (eval 25625652) line 1, near ";}"
syntax error at (eval 25625652) line 1, near ";}"
syntax error at (eval 25625652) line 1, near ";}"
Grüße
WIE EINGEGEBEN?
Also wo?
Direkt FHEMWEB-cmd?
Attr-Editor?
RawDef?
EDIT: weil wenn ich das mal eingebe (verwende allerdings keine DB, habe ein anderes Attribut genommen, was Perl Code erlaubt) und dann ein list aufrufe, dann werden mir die "\" nicht angezeigt, habe sie aber auch nicht explizit eingegeben. Eingabe erfolgte über den "Attr-Editor" (weiß nicht, ob du die Code-Anzeige-Erweiterung aktiviert hast und ob bei Eingabe in DbLogValueFn per "Attr-Editor" auch die Code-Erweiterung kommt.). Die "\" brauchst du nur bei Eingabe über RawDef (denke ich)...
EDIT: wobei ich denke die Strickpunkte können ganz weg. Ist ja nur eine Zuweisung in separaten geschweiften Klammern nach einem if...
Gruß, Joachim
Hallo,
über den Attr-Editor auf der Device-Seite direkt eingegeben.
Grüße
Hallo nochmal,
ich habe das nun so:
{
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE > 20000){$IGNORE=1;;}
if ($READING eq "Zaehler_aktuelle_wirkleistung" && $VALUE < -1000){$IGNORE=1;;}
if ($READING eq "Zaehler_wirkleistung_l1" && $VALUE > 60000){$IGNORE=1;;}
if ($READING eq "Zaehler_wirkleistung_l1" && $VALUE < -1000){$IGNORE=1;;}
if ($READING eq "Zaehler_wirkleistung_l2" && $VALUE > 6000){$IGNORE=1;;}
if ($READING eq "Zaehler_wirkleistung_l2" && $VALUE < -1000){$IGNORE=1;;}
if ($READING eq "Zaehler_wirkleistung_l3" && $VALUE > 6000){$IGNORE=1;;}
if ($READING eq "Zaehler_wirkleistung_l3" && $VALUE < -1000){$IGNORE=1;;}
}
mit dem Attr-Editor eingetragen ohne die "\" und nun scheint es zu funktionieren.
Ich werde aus den ; \ usw. einfach nicht schlau.
Werde das die kommenden Tage beobachten und mich dann nochmal melden ob es tatsächlich funktioniert.
Zumindest kommt kein Fehler mehr im Log und durch anpassen der Zahlenwerte kann ich die Log-Werte gezielt ausschließen.
Grüße
Zitat von: Knallfrosch am 16 November 2023, 11:29:19Ich werde aus den ; \ usw. einfach nicht schlau.
Tja... ;)
Wie geschrieben denke ich, dass die Strichpunkte (alle) weg können...
Viel Erfolg, Joachim