Hallo,
Ausgangspunkt ist ein ESP32 mit Tasmota 14.4 über MQTT angebunden an den FHEM Server. Der ESP32 hat 2 DS18-20 Temperaturmesser, die ich gerne in einem Graphen darstellen möchte. Das MQTT Device wurde automatisch generiert, das Logfile ebenfalls automatisch erstellt. Um den Datenwust bei der Ausgabe des Graphen zu bändigen hatte ich die Idee, ein Dummydevice anzulegen, diesem ein Logfile mitzugeben und so über das Attribut Event-on-change-reading state die 2 Werte der DS18-20 separat in einem Logfile zu haben und die Generierung des Graphen somit zu optimieren hinsichtlich Beschleunigung und Auslastung des Servers.
Nur, wie bekomme ich mehrere Parameter in ein Dummydevice ? Im Moment habe ich für jeden Temperaturmesser einen separaten Dummy und damit mehrere Graphen untereinander. Ist nicht schlimm, aber auch nicht schön. So sieht es im Moment aus:
Gruß Axel
define BWWTI dummy
attr BWWTI event-on-change-reading state
attr BWWTI room Keller
define BWWTO dummy
attr BWWTO event-on-change-reading state
attr BWWTO room Keller
define TempInDummy at +*00:00:05 { my $d= ReadingsVal("DVES_C79D64","DS18B20-2_Temperature",0);; fhem("set BWWTI $d")}
define TempOutDummy at +*00:00:05 { my $d= ReadingsVal("DVES_C79D64","DS18B20-1_Temperature",0);; fhem("set BWWTO $d")}
define FileLog_BWWTI FileLog ./log/BWWTI-%Y-%m-%d.log BWWTI
attr FileLog_BWWTI logtype text
attr FileLog_BWWTI room Keller
define FileLog_BWWTO FileLog ./log/BWWTO-%Y-%m-%d.log BWWTI
attr FileLog_BWWTO logtype text
attr FileLog_BWWTO room Keller
Verstehe nicht ganz, wozu du das dummy device brauchst? Du kannst doch einfach im jeweiligen FileLog-Device entscheiden, auf welche Events das triggert (d.h. welche Events geloggt werden). So wie du es aktuell versuchst, dürftest du ja letztlich sogar viel mehr Events/CPU-Last generieren.
Also (ungetestet):
defmod FileLog_BWWTI FileLog ./log/BWWTI-%Y-%m-%d. DVES_C79D64:DS18B20-2_Temperature.*
defmod FileLog_BWWTO FileLog ./log/BWWTO-%Y-%m-%d. DVES_C79D64:DS18B20-1_Temperature.*
Ansonsten spricht aus meiner Sicht erstmal auch nichts dagegen, das in eine Datei zu schreiben, vor allem, weil du doch ohnehin beide Werte in einem Graphen haben möchtest – insofern wäre es doch sogar kontraproduktiv zwei Dateien zu haben. Also (ebenfalls ungetestet – EDIT funktioniert wohl nicht so, siehe Antwort von Beta-User):
defmod FileLog_BWWT FileLog ./log/BWWT-%Y-%m-%d. DVES_C79D64:DS18B20-(1|2)_Temperature.*
Dass dir da bei autocreate ein (unnötiges) FileLog für das gesamte Device miterstellt wurde, ist ein separates Problem bzw. das solltest du eigentlich einfach löschen können. Bin mir grade nicht mehr sicher, ob man das automatische erstellen eines FileLogs bei MQTT ausstellen kann, habe das vergessen bzw. nutze kein autocreate. Das kann aber bestimmt jemand anderes hier beantworten.
Mahlzeit...
Bei solchen Beiträgen frage ich mich:
- Warum ist nicht bekannt, wie man Beiträge lesbar formatiert? (=> code tags)
- Wo kommt der Gedanke her, dass das "Rumschubsen" von Informationen irgendeinen Mehrwert hätte?
- Warum wird die commandref nicht zu Hilfe genommen? Oder ist die dort enthaltene Info nicht verständlich? (Hier: "setreading" scheint nicht bekannt zu sein?)
- Warum will man unbedingt (separate) Logfiles haben? (Und nicht alles in ein, zwei Datenbanken schreiben...)
Generell: Du könntest separate Logfiles für beide Original-Readings anlegen und ggf. den "Event-Wust" (so er denn gegeben ist? Warum?!?) dadurch begrenzen, dass du das "event-on-change-reading"-Attribut (bzw. event-min-interval) am Ausgangsdevice passend setzt (das erste kennt auch eine Hysterese!)
Bei Nutzung einer Datenbank (=> DbLog) könnte man dann noch weitere Optionen nutzen, falls man doch "viele Events" aus dem Ausgangsdevice benötigen würde...
Nur meine Gedanken...
Zu dem Vorschlag von @passibe noch - da dürfte NOTIFYDEV verloren gehen, das geht ggf. auch so:
defmod FileLog_BWWT FileLog ./log/BWWT-%Y-%m-%d. DVES_C79D64:DS18B20-[12]_Temperature.*
Hallo,
erstmal dankeschön :) Sorry, ich habe den Code Tag schlichtweg vergessen. Ja ich war bereits dazu im Wiki unterwegs, auch im Forum und auf Google. Und deswegen extra im Bereich Anfänger gepostet: Ja, ich habe die Informationen nicht verstanden. Das Original Device sieht so aus (siehe unten). Ich hatte keinen blassen Schimmer, wo ich da konstruktiv ansetzen sollte um die Logfiles so aufzubereiten, dass ich nicht evtl. zu Analysezwecken etwas verliere. Ja, das Device hat noch weitere Funktionen. Deswegen dachte ich der Umweg über das Dummydevice würde Sinn machen. Und nein, ich will ja gerade nicht mehrere Logfiles haben, sondern die beiden Werte der DS18-20 in einem.
Ich probiere das weiter aus und melde mich dazu.
Gruß Axel
define DVES_C79D64 MQTT2_DEVICE DVES_C79D64
attr DVES_C79D64 readingList DVES_C79D64:tele/DVES_C79D64/LWT:.* LWT\
DVES_C79D64:cmnd/DVES_C79D64/POWER:.* POWER\
DVES_C79D64:tele/DVES_C79D64/INFO1:.* { json2nameValue($EVENT) }\
DVES_C79D64:tele/DVES_C79D64/INFO2:.* { json2nameValue($EVENT) }\
DVES_C79D64:tele/DVES_C79D64/INFO3:.* { json2nameValue($EVENT) }\
DVES_C79D64:stat/DVES_C79D64/RESULT:.* { json2nameValue($EVENT) }\
DVES_C79D64:stat/DVES_C79D64/POWER1:.* POWER1\
DVES_C79D64:stat/DVES_C79D64/POWER2:.* POWER2\
DVES_C79D64:stat/DVES_C79D64/POWER3:.* POWER3\
DVES_C79D64:tele/DVES_C79D64/STATE:.* { json2nameValue($EVENT) }\
DVES_C79D64:tasmota/discovery/24DCC3C79D64/config:.* { json2nameValue($EVENT) }\
DVES_C79D64:tasmota/discovery/24DCC3C79D64/sensors:.* { json2nameValue($EVENT) }\
DVES_C79D64:tele/DVES_C79D64/SENSOR:.* { json2nameValue($EVENT) }
attr DVES_C79D64 room MQTT2_DEVICE
# CID DVES_C79D64
# DEF DVES_C79D64
# FUUID 6772cd36-f33f-3e5d-c99e-71624a38002d187e
# IODev MQTT2SRV
# LASTInputDev MQTT2SRV
# MQTT2SRV_CONN MQTT2SRV_192.168.178.53_50309
# MQTT2SRV_MSGCNT 34
# MQTT2SRV_TIME 2025-01-30 18:05:38
# MSGCNT 34
# NAME DVES_C79D64
# NR 55
# STATE ???
# TYPE MQTT2_DEVICE
# eventCount 34
# READINGS:
# 2025-01-30 18:02:03 Berry_HeapUsed 3
# 2025-01-30 18:02:03 Berry_Objects 45
# 2025-01-30 18:02:03 DS18B20-1_Id 0000067F6E8B
# 2025-01-30 18:02:03 DS18B20-1_Temperature 11.8
# 2025-01-30 18:02:03 DS18B20-2_Id 6DAB211864FF
# 2025-01-30 18:02:03 DS18B20-2_Temperature 13.6
# 2025-01-30 18:02:03 Heap 120
# 2025-01-30 17:34:46 IODev MQTT2SRV
# 2025-01-25 14:57:17 Info1_FallbackTopic cmnd/DVES_C79D64_fb/
# 2025-01-25 14:57:17 Info1_GroupTopic cmnd/tasmotas/
# 2025-01-25 14:57:17 Info1_Module WT32-ETH01
# 2025-01-25 14:57:17 Info1_Version 14.4.1(release-tasmota32)
# 2025-01-25 14:57:17 Info2_Hostname DVES-C79D64-7524
# 2025-01-25 14:57:17 Info2_IP6Global
# 2025-01-25 14:57:17 Info2_IP6Local fe80::26dc:c3ff:fec7:9d64%st46
# 2025-01-25 14:57:17 Info2_IPAddress 192.168.178.53
# 2025-01-25 14:57:17 Info2_WebServerMode Admin
# 2025-01-25 14:57:17 Info3_BootCount 29
# 2025-01-11 16:39:11 Info3_RestartReason Vbat power on reset
# 2025-01-25 14:57:17 Info3_RestartReason_CallChain_1 401a462f
# 2025-01-25 14:57:17 Info3_RestartReason_CallChain_2 40177b5e
# 2025-01-25 14:57:17 Info3_RestartReason_CallChain_3 40170fa5
# 2025-01-25 14:57:17 Info3_RestartReason_CallChain_4 40143ab6
# 2025-01-25 14:57:17 Info3_RestartReason_CallChain_5 400e25e4
# 2025-01-25 14:57:17 Info3_RestartReason_CallChain_6 40138813
# 2025-01-10 17:29:28 Info3_RestartReason_CallChain_7 40138813
# 2025-01-25 14:57:17 Info3_RestartReason_EPC 401a4632
# 2025-01-25 14:57:17 Info3_RestartReason_EXCVADDR 8013f013
# 2025-01-25 14:57:17 Info3_RestartReason_Exception 28
# 2025-01-25 14:57:17 Info3_RestartReason_Reason LoadProhibited
# 2025-01-30 18:05:37 LWT Online
# 2025-01-30 18:02:03 LoadAvg 19
# 2025-01-09 14:32:27 LogHost
# 2025-01-09 14:32:27 LogPort 514
# 2025-01-30 18:02:03 MqttCount 58
# 2025-01-09 14:32:27 MqttLog 0
# 2025-01-30 18:05:37 POWER
# 2025-01-30 18:02:03 POWER1 OFF
# 2025-01-30 18:02:03 POWER2 OFF
# 2025-01-30 18:02:03 POWER3 OFF
# 2025-01-09 14:32:27 SerialLog_2_Active 2
# 2025-01-30 18:02:03 Sleep 50
# 2025-01-30 18:02:03 SleepMode Dynamic
# 2025-01-09 14:32:27 SysLog_0_Active 0
# 2025-01-30 12:09:24 TelePeriod 300
# 2025-01-30 18:02:03 TempUnit C
# 2025-01-30 18:02:03 Time 2025-01-30T18:01:56
# 2025-01-30 18:02:03 Uptime 5T03:14:21
# 2025-01-30 18:02:03 UptimeSec 443661
# 2025-01-09 14:32:27 WebLog 2
# 2025-01-30 18:02:03 Wifi_AP 1
# 2025-01-30 18:02:03 Wifi_BSSId 74:42:7F:6E:4E:98
# 2025-01-30 18:02:03 Wifi_Channel 7
# 2025-01-30 18:02:03 Wifi_Downtime 0T00:46:54
# 2025-01-30 18:02:03 Wifi_LinkCount 16
# 2025-01-30 18:02:03 Wifi_Mode HT40
# 2025-01-30 18:02:03 Wifi_RSSI 74
# 2025-01-30 18:02:03 Wifi_SSId FRITZ75
# 2025-01-30 18:02:03 Wifi_Signal -63
# 2025-01-30 18:05:38 bat 0
# 2025-01-30 18:05:38 btn_1 0
# 2025-01-30 18:05:38 btn_10 0
# 2025-01-30 18:05:38 btn_11 0
# 2025-01-30 18:05:38 btn_12 0
# 2025-01-30 18:05:38 btn_13 0
# 2025-01-30 18:05:38 btn_14 0
# 2025-01-30 18:05:38 btn_15 0
# 2025-01-30 18:05:38 btn_16 0
# 2025-01-30 18:05:38 btn_17 0
# 2025-01-30 18:05:38 btn_18 0
# 2025-01-30 18:05:38 btn_19 0
# 2025-01-30 18:05:38 btn_2 0
# 2025-01-30 18:05:38 btn_20 0
# 2025-01-30 18:05:38 btn_21 0
# 2025-01-30 18:05:38 btn_22 0
# 2025-01-30 18:05:38 btn_23 0
# 2025-01-30 18:05:38 btn_24 0
# 2025-01-30 18:05:38 btn_25 0
# 2025-01-30 18:05:38 btn_26 0
# 2025-01-30 18:05:38 btn_27 0
# 2025-01-30 18:05:38 btn_28 0
# 2025-01-30 18:05:38 btn_29 0
# 2025-01-30 18:05:38 btn_3 0
# 2025-01-30 18:05:38 btn_30 0
# 2025-01-30 18:05:38 btn_31 0
# 2025-01-30 18:05:38 btn_32 0
# 2025-01-30 18:05:38 btn_4 0
# 2025-01-30 18:05:38 btn_5 0
# 2025-01-30 18:05:38 btn_6 0
# 2025-01-30 18:05:38 btn_7 0
# 2025-01-30 18:05:38 btn_8 0
# 2025-01-30 18:05:38 btn_9 0
# 2025-01-30 18:05:38 dn TasmoBWWP1
# 2025-01-30 18:05:38 dslp 0
# 2025-01-30 18:05:38 fn_1 TasmotaBWWP1
# 2025-01-30 18:05:38 fn_2
# 2025-01-30 18:05:38 fn_3
# 2025-01-30 18:05:38 ft %prefix%/%topic%/
# 2025-01-30 18:05:38 hn DVES-C79D64-7524
# 2025-01-30 18:05:38 if 0
# 2025-01-30 18:05:38 ip 192.168.178.53
# 2025-01-30 18:05:38 lk 0
# 2025-01-30 18:05:38 lt_st 0
# 2025-01-30 18:05:38 mac 24DCC3C79D64
# 2025-01-30 18:05:38 md WT32-ETH01
# 2025-01-30 18:05:38 ofln Offline
# 2025-01-30 18:05:38 onln Online
# 2025-01-30 18:05:38 rl_1 1
# 2025-01-30 18:05:38 rl_10 0
# 2025-01-30 18:05:38 rl_11 0
# 2025-01-30 18:05:38 rl_12 0
# 2025-01-30 18:05:38 rl_13 0
# 2025-01-30 18:05:38 rl_14 0
# 2025-01-30 18:05:38 rl_15 0
# 2025-01-30 18:05:38 rl_16 0
# 2025-01-30 18:05:38 rl_17 0
# 2025-01-30 18:05:38 rl_18 0
# 2025-01-30 18:05:38 rl_19 0
# 2025-01-30 18:05:38 rl_2 1
# 2025-01-30 18:05:38 rl_20 0
# 2025-01-30 18:05:38 rl_21 0
# 2025-01-30 18:05:38 rl_22 0
# 2025-01-30 18:05:38 rl_23 0
# 2025-01-30 18:05:38 rl_24 0
# 2025-01-30 18:05:38 rl_25 0
# 2025-01-30 18:05:38 rl_26 0
# 2025-01-30 18:05:38 rl_27 0
# 2025-01-30 18:05:38 rl_28 0
# 2025-01-30 18:05:38 rl_29 0
# 2025-01-30 18:05:38 rl_3 1
# 2025-01-30 18:05:38 rl_30 0
# 2025-01-30 18:05:38 rl_31 0
# 2025-01-30 18:05:38 rl_32 0
# 2025-01-30 18:05:38 rl_4 0
# 2025-01-30 18:05:38 rl_5 0
# 2025-01-30 18:05:38 rl_6 0
# 2025-01-30 18:05:38 rl_7 0
# 2025-01-30 18:05:38 rl_8 0
# 2025-01-30 18:05:38 rl_9 0
# 2025-01-30 18:05:38 sn_DS18B20-1_Id 0000067F6E8B
# 2025-01-30 18:05:38 sn_DS18B20-1_Temperature 11.8
# 2025-01-30 18:05:38 sn_DS18B20-2_Id 6DAB211864FF
# 2025-01-30 18:05:38 sn_DS18B20-2_Temperature 13.7
# 2025-01-30 18:05:38 sn_TempUnit C
# 2025-01-30 18:05:38 sn_Time 2025-01-30T18:05:37
# 2025-01-30 18:05:38 so_11 0
# 2025-01-30 18:05:38 so_114 0
# 2025-01-30 18:05:38 so_117 0
# 2025-01-30 18:05:38 so_13 0
# 2025-01-30 18:05:38 so_17 0
# 2025-01-30 18:05:38 so_20 0
# 2025-01-30 18:05:38 so_30 0
# 2025-01-30 18:05:38 so_4 0
# 2025-01-30 18:05:38 so_68 0
# 2025-01-30 18:05:38 so_73 0
# 2025-01-30 18:05:38 so_82 0
# 2025-01-30 18:05:38 state_1 OFF
# 2025-01-30 18:05:38 state_2 ON
# 2025-01-30 18:05:38 state_3 TOGGLE
# 2025-01-30 18:05:38 state_4 HOLD
# 2025-01-12 14:08:12 subscriptions cmnd/DVES_C79D64/# cmnd/DVES_C79D64_fb/# cmnd/tasmotas/#
# 2025-01-30 18:05:38 sw 14.4.1
# 2025-01-30 18:05:38 swc_1 -1
# 2025-01-30 18:05:38 swc_10 -1
# 2025-01-30 18:05:38 swc_11 -1
# 2025-01-30 18:05:38 swc_12 -1
# 2025-01-30 18:05:38 swc_13 -1
# 2025-01-30 18:05:38 swc_14 -1
# 2025-01-30 18:05:38 swc_15 -1
# 2025-01-30 18:05:38 swc_16 -1
# 2025-01-30 18:05:38 swc_17 -1
# 2025-01-30 18:05:38 swc_18 -1
# 2025-01-30 18:05:38 swc_19 -1
# 2025-01-30 18:05:38 swc_2 -1
# 2025-01-30 18:05:38 swc_20 -1
# 2025-01-30 18:05:38 swc_21 -1
# 2025-01-30 18:05:38 swc_22 -1
# 2025-01-30 18:05:38 swc_23 -1
# 2025-01-30 18:05:38 swc_24 -1
# 2025-01-30 18:05:38 swc_25 -1
# 2025-01-30 18:05:38 swc_26 -1
# 2025-01-30 18:05:38 swc_27 -1
# 2025-01-30 18:05:38 swc_28 -1
# 2025-01-30 18:05:38 swc_29 -1
# 2025-01-30 18:05:38 swc_3 -1
# 2025-01-30 18:05:38 swc_30 -1
# 2025-01-30 18:05:38 swc_31 -1
# 2025-01-30 18:05:38 swc_32 -1
# 2025-01-30 18:05:38 swc_4 -1
# 2025-01-30 18:05:38 swc_5 -1
# 2025-01-30 18:05:38 swc_6 -1
# 2025-01-30 18:05:38 swc_7 -1
# 2025-01-30 18:05:38 swc_8 -1
# 2025-01-30 18:05:38 swc_9 -1
# 2025-01-30 18:05:38 t DVES_C79D64
# 2025-01-30 18:05:38 tp_1 cmnd
# 2025-01-30 18:05:38 tp_2 stat
# 2025-01-30 18:05:38 tp_3 tele
# 2025-01-30 18:05:38 ty 0
# 2025-01-30 18:05:38 ver 1
#
setstate DVES_C79D64 2025-01-30 18:02:03 Berry_HeapUsed 3
setstate DVES_C79D64 2025-01-30 18:02:03 Berry_Objects 45
setstate DVES_C79D64 2025-01-30 18:02:03 DS18B20-1_Id 0000067F6E8B
setstate DVES_C79D64 2025-01-30 18:02:03 DS18B20-1_Temperature 11.8
setstate DVES_C79D64 2025-01-30 18:02:03 DS18B20-2_Id 6DAB211864FF
setstate DVES_C79D64 2025-01-30 18:02:03 DS18B20-2_Temperature 13.6
setstate DVES_C79D64 2025-01-30 18:02:03 Heap 120
setstate DVES_C79D64 2025-01-30 17:34:46 IODev MQTT2SRV
setstate DVES_C79D64 2025-01-25 14:57:17 Info1_FallbackTopic cmnd/DVES_C79D64_fb/
setstate DVES_C79D64 2025-01-25 14:57:17 Info1_GroupTopic cmnd/tasmotas/
setstate DVES_C79D64 2025-01-25 14:57:17 Info1_Module WT32-ETH01
setstate DVES_C79D64 2025-01-25 14:57:17 Info1_Version 14.4.1(release-tasmota32)
setstate DVES_C79D64 2025-01-25 14:57:17 Info2_Hostname DVES-C79D64-7524
setstate DVES_C79D64 2025-01-25 14:57:17 Info2_IP6Global
setstate DVES_C79D64 2025-01-25 14:57:17 Info2_IP6Local fe80::26dc:c3ff:fec7:9d64%st46
setstate DVES_C79D64 2025-01-25 14:57:17 Info2_IPAddress 192.168.178.53
setstate DVES_C79D64 2025-01-25 14:57:17 Info2_WebServerMode Admin
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_BootCount 29
setstate DVES_C79D64 2025-01-11 16:39:11 Info3_RestartReason Vbat power on reset
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_CallChain_1 401a462f
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_CallChain_2 40177b5e
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_CallChain_3 40170fa5
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_CallChain_4 40143ab6
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_CallChain_5 400e25e4
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_CallChain_6 40138813
setstate DVES_C79D64 2025-01-10 17:29:28 Info3_RestartReason_CallChain_7 40138813
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_EPC 401a4632
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_EXCVADDR 8013f013
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_Exception 28
setstate DVES_C79D64 2025-01-25 14:57:17 Info3_RestartReason_Reason LoadProhibited
setstate DVES_C79D64 2025-01-30 18:05:37 LWT Online
setstate DVES_C79D64 2025-01-30 18:02:03 LoadAvg 19
setstate DVES_C79D64 2025-01-09 14:32:27 LogHost
setstate DVES_C79D64 2025-01-09 14:32:27 LogPort 514
setstate DVES_C79D64 2025-01-30 18:02:03 MqttCount 58
setstate DVES_C79D64 2025-01-09 14:32:27 MqttLog 0
setstate DVES_C79D64 2025-01-30 18:05:37 POWER
setstate DVES_C79D64 2025-01-30 18:02:03 POWER1 OFF
setstate DVES_C79D64 2025-01-30 18:02:03 POWER2 OFF
setstate DVES_C79D64 2025-01-30 18:02:03 POWER3 OFF
setstate DVES_C79D64 2025-01-09 14:32:27 SerialLog_2_Active 2
setstate DVES_C79D64 2025-01-30 18:02:03 Sleep 50
setstate DVES_C79D64 2025-01-30 18:02:03 SleepMode Dynamic
setstate DVES_C79D64 2025-01-09 14:32:27 SysLog_0_Active 0
setstate DVES_C79D64 2025-01-30 12:09:24 TelePeriod 300
setstate DVES_C79D64 2025-01-30 18:02:03 TempUnit C
setstate DVES_C79D64 2025-01-30 18:02:03 Time 2025-01-30T18:01:56
setstate DVES_C79D64 2025-01-30 18:02:03 Uptime 5T03:14:21
setstate DVES_C79D64 2025-01-30 18:02:03 UptimeSec 443661
setstate DVES_C79D64 2025-01-09 14:32:27 WebLog 2
setstate DVES_C79D64 2025-01-30 18:02:03 Wifi_AP 1
setstate DVES_C79D64 2025-01-30 18:02:03 Wifi_BSSId 74:42:7F:6E:4E:98
setstate DVES_C79D64 2025-01-30 18:02:03 Wifi_Channel 7
setstate DVES_C79D64 2025-01-30 18:02:03 Wifi_Downtime 0T00:46:54
setstate DVES_C79D64 2025-01-30 18:02:03 Wifi_LinkCount 16
setstate DVES_C79D64 2025-01-30 18:02:03 Wifi_Mode HT40
setstate DVES_C79D64 2025-01-30 18:02:03 Wifi_RSSI 74
setstate DVES_C79D64 2025-01-30 18:02:03 Wifi_SSId FRITZ75
setstate DVES_C79D64 2025-01-30 18:02:03 Wifi_Signal -63
setstate DVES_C79D64 2025-01-30 18:05:38 bat 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_1 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_10 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_11 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_12 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_13 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_14 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_15 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_16 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_17 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_18 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_19 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_2 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_20 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_21 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_22 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_23 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_24 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_25 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_26 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_27 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_28 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_29 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_3 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_30 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_31 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_32 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_4 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_5 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_6 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_7 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_8 0
setstate DVES_C79D64 2025-01-30 18:05:38 btn_9 0
setstate DVES_C79D64 2025-01-30 18:05:38 dn TasmoBWWP1
setstate DVES_C79D64 2025-01-30 18:05:38 dslp 0
setstate DVES_C79D64 2025-01-30 18:05:38 fn_1 TasmotaBWWP1
setstate DVES_C79D64 2025-01-30 18:05:38 fn_2
setstate DVES_C79D64 2025-01-30 18:05:38 fn_3
setstate DVES_C79D64 2025-01-30 18:05:38 ft %prefix%/%topic%/
setstate DVES_C79D64 2025-01-30 18:05:38 hn DVES-C79D64-7524
setstate DVES_C79D64 2025-01-30 18:05:38 if 0
setstate DVES_C79D64 2025-01-30 18:05:38 ip 192.168.178.53
setstate DVES_C79D64 2025-01-30 18:05:38 lk 0
setstate DVES_C79D64 2025-01-30 18:05:38 lt_st 0
setstate DVES_C79D64 2025-01-30 18:05:38 mac 24DCC3C79D64
setstate DVES_C79D64 2025-01-30 18:05:38 md WT32-ETH01
setstate DVES_C79D64 2025-01-30 18:05:38 ofln Offline
setstate DVES_C79D64 2025-01-30 18:05:38 onln Online
setstate DVES_C79D64 2025-01-30 18:05:38 rl_1 1
setstate DVES_C79D64 2025-01-30 18:05:38 rl_10 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_11 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_12 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_13 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_14 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_15 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_16 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_17 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_18 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_19 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_2 1
setstate DVES_C79D64 2025-01-30 18:05:38 rl_20 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_21 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_22 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_23 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_24 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_25 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_26 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_27 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_28 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_29 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_3 1
setstate DVES_C79D64 2025-01-30 18:05:38 rl_30 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_31 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_32 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_4 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_5 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_6 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_7 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_8 0
setstate DVES_C79D64 2025-01-30 18:05:38 rl_9 0
setstate DVES_C79D64 2025-01-30 18:05:38 sn_DS18B20-1_Id 0000067F6E8B
setstate DVES_C79D64 2025-01-30 18:05:38 sn_DS18B20-1_Temperature 11.8
setstate DVES_C79D64 2025-01-30 18:05:38 sn_DS18B20-2_Id 6DAB211864FF
setstate DVES_C79D64 2025-01-30 18:05:38 sn_DS18B20-2_Temperature 13.7
setstate DVES_C79D64 2025-01-30 18:05:38 sn_TempUnit C
setstate DVES_C79D64 2025-01-30 18:05:38 sn_Time 2025-01-30T18:05:37
setstate DVES_C79D64 2025-01-30 18:05:38 so_11 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_114 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_117 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_13 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_17 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_20 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_30 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_4 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_68 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_73 0
setstate DVES_C79D64 2025-01-30 18:05:38 so_82 0
setstate DVES_C79D64 2025-01-30 18:05:38 state_1 OFF
setstate DVES_C79D64 2025-01-30 18:05:38 state_2 ON
setstate DVES_C79D64 2025-01-30 18:05:38 state_3 TOGGLE
setstate DVES_C79D64 2025-01-30 18:05:38 state_4 HOLD
setstate DVES_C79D64 2025-01-12 14:08:12 subscriptions cmnd/DVES_C79D64/# cmnd/DVES_C79D64_fb/# cmnd/tasmotas/#
setstate DVES_C79D64 2025-01-30 18:05:38 sw 14.4.1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_1 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_10 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_11 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_12 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_13 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_14 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_15 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_16 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_17 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_18 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_19 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_2 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_20 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_21 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_22 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_23 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_24 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_25 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_26 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_27 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_28 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_29 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_3 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_30 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_31 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_32 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_4 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_5 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_6 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_7 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_8 -1
setstate DVES_C79D64 2025-01-30 18:05:38 swc_9 -1
setstate DVES_C79D64 2025-01-30 18:05:38 t DVES_C79D64
setstate DVES_C79D64 2025-01-30 18:05:38 tp_1 cmnd
setstate DVES_C79D64 2025-01-30 18:05:38 tp_2 stat
setstate DVES_C79D64 2025-01-30 18:05:38 tp_3 tele
setstate DVES_C79D64 2025-01-30 18:05:38 ty 0
setstate DVES_C79D64 2025-01-30 18:05:38 ver 1
define FileLog_DVES_C79D64 FileLog ./log/DVES_C79D64-%Y.log DVES_C79D64
attr FileLog_DVES_C79D64 logtype text
attr FileLog_DVES_C79D64 room MQTT2_DEVICE
# DEF ./log/DVES_C79D64-%Y.log DVES_C79D64
# FD 7
# FUUID 6772cd36-f33f-3e5d-46d2-0874dc971a79f890
# NAME FileLog_DVES_C79D64
# NOTIFYDEV DVES_C79D64
# NR 56
# NTFY_ORDER 50-FileLog_DVES_C79D64
# REGEXP DVES_C79D64
# STATE active
# TYPE FileLog
# currentlogfile ./log/DVES_C79D64-2025.log
# logfile ./log/DVES_C79D64-%Y.log
# READINGS:
# 2025-01-30 18:06:57 linesInTheFile 910169
#
setstate FileLog_DVES_C79D64 active
setstate FileLog_DVES_C79D64 2025-01-30 18:06:57 linesInTheFile 910169
...wenn du schon loggen willst - dieser Mist hat keinen Mehrwert:
DVES_C79D64:tasmota/discovery/24DCC3C79D64/config:.* { json2nameValue($EVENT) }\
(Und ob du den Zustand der Relays bei jeder teleperiode haben willst?)
Und da anscheinend ESP32 mit Berry: du könntest ggf. die Sensoren benennen, dann kommt auch dann nichts durcheinander, wenn mal einer ausfällt oder getauscht werden muss, oder was dazu kommt:
https://tasmota.github.io/docs/DS18x20/#sensor-aliases
Also erstens würd ich ja dem Tasmota ein entsprechenderes Topic verpassen, dann ists auch im MQTT-Exlorer sprechender.
Zweitens würd ich in solchen Fällen ja ganz einfach hergehen und das readingsList radikal kürzen:
attr DVES_C79D64 readingList DVES_C79D64:tele/DVES_C79D64/LWT:.* LWT\
DVES_C79D64:stat/DVES_C79D64/RESULT:.* { json2nameValue($EVENT) }\
DVES_C79D64:tele/DVES_C79D64/STATE:.* { json2nameValue($EVENT) }\
DVES_C79D64:tele/DVES_C79D64/SENSOR:.* { json2nameValue($EVENT) }
und dann als erstes mal ein
deletereadings DVES_C79D64 .*
damit hast du letztendlich im nächsten Durchlauf grad mal noch 10-15 Readings im Device.
Dan könntest du entweder wie Beta-User geschrieben hat im Tasmota mit alias arbeiten oder aber mit Jsonmap wie zB:
attr Heizkessel jsonMap DS18S20-1_Temperature:0\
DS18S20-1_Id:0\
DS18S20-2_Temperature:vorlauf\
DS18S20-2_Id:0\
DS18S20-2_Temperature:ruecklauf\
Drittens:
Wenn du wirklich 2 getrennte Devices haben wolltest, ginge das ja mit MQTT und Jsonmap 100mal einfacher als der Umweg über die Dummy's. (Wobei du ja gar keine Dummys hast sondern ATs)
defmod Heizkessel MQTT2_DEVICE
attr Heizkessel IODev mq2_Client_gl
attr Heizkessel temperature
attr Heizkessel jsonMap DS18S20-1_Temperature:0\
DS18S20-1_Id:0\
DS18S20-2_Temperature:temperature\
DS18S20-2_Id:ID\
DS18S20-3_Temperature:0\
DS18S20-3_Id:0\
attr Heizkessel readingList tele/Heizraum/SENSOR:.* { json2nameValue($EVENT,'', $JSONMAP) }\
tele/Heizraum/STATE:.* { json2nameValue($EVENT) }
defmod Vorlauf MQTT2_DEVICE
attr Vorlauf IODev mq2_Client_gl
attr Vorlauf temperature
attr Vorlauf jsonMap DS18S20-1_Temperature:temperature\
DS18S20-1_Id:0\
DS18S20-2_Temperature:0\
DS18S20-2_Id:ID\
DS18S20-3_Temperature:0\
DS18S20-3_Id:0\
attr Vorlauf readingList tele/Heizraum/SENSOR:.* { json2nameValue($EVENT,'', $JSONMAP) }\
tele/Heizraum/STATE:.* { json2nameValue($EVENT) }
defmod Ruecklauf MQTT2_DEVICE
attr Ruecklauf IODev mq2_Client_gl
attr Ruecklauf temperature
attr Ruecklauf jsonMap DS18S20-1_Temperature:0\
DS18S20-1_Id:0\
DS18S20-2_Temperature:0\
DS18S20-2_Id:ID\
DS18S20-3_Temperature:temperature\
DS18S20-3_Id:0\
attr Ruecklauf readingList tele/Heizraum/SENSOR:.* { json2nameValue($EVENT,'', $JSONMAP) }\
tele/Heizraum/STATE:.* { json2nameValue($EVENT) }
Das legt dir zB drei Devices an, die alle 3 jeweils ein "temperature"-Reading haben.
lg, Stefan
hi,
ups, da habe ich wohl einen Fehler in meiner Installation:
defmod Heizung dummy
attr Heizung DbLogExclude .*
attr Heizung devStateStyle style="text-align:right;;;;font-weight:bold;;;;color:#00FFFF;;;;"
attr Heizung group Fernwärme
attr Heizung readingList state FV FR HV HR WV WR
attr Heizung room Keller,heizung
attr Heizung setList state
attr Heizung stateFormat FV °C
attr Heizung userReadings pumpe { ReadingsNum("Heizung","HV",0)>ReadingsNum("Heizung","WV",0) ? "Heizung" : "Wasser" }
defmod Wasser dummy
attr Wasser DbLogExclude .*
attr Wasser devStateStyle style="text-align:right;;;;font-weight:bold;;;;color:#00FFFF;;;;"
attr Wasser group Fernwärme
attr Wasser readingList state Warmwasser Speicher Zirkulation
attr Wasser room Keller,heizung
attr Wasser setList state
attr Wasser stateFormat Warmwasser °C
2 von den notify:
defmod no.ESP51.FV notify ESP51:FV:.* { fhem("set Heizung FV " . sprintf("%.1f",ReadingsNum("ESP51","FV",0)))}
attr no.ESP51.FV DbLogExclude .*
attr no.ESP51.FV room Keller
defmod no.ESP51.FR notify ESP51:FR:.* { fhem("set Heizung FR " . sprintf("%.1f",ReadingsNum("ESP51","FR",0)))}
attr no.ESP51.FR DbLogExclude .*
attr no.ESP51.FR room Keller
da ich esp easy benutze, werden die beiden dummys per notify geladen.
es lief auch mit MQTT als ein Devive, da ich alle datenredings in einem MQTT-device manuell zusammengefast hatte.
und man hat alle daten, die man braucht.
gruss
Wenn man numerische Werte vergleichen will, ist ReadingsNum() meistens die bessere Wahl (anstatt ReadingsVal())
danke für die info.... (hab es bei mir geändert)
Hallo, erst einmal vielen Dank. Ich setze das entsprechend um, muss allerdings erst einen defekten ESP32 ersetzen, ist bestellt.
Und nein, ich möchte nicht zwei unterschiedliche Devices haben. Ich möchte alles in einem, ich wusste mir nur erst einmal nicht anders zu helfen, als 2 anzulegen. Aber das war ja auch genau der Grund, warum ich hier nachgefragt habe.
Kurz nochmal zur Info, was ich damit überhaupt machen will. Wir haben seit Ende letzten Jahres eine Brauchwasserwärmepumpe. Es geht darum, diese mit PV-Überschuss entsprechend zu steuern. Die Vaillant besitzt dafür 2 potentialfreie Eingänge, die sich über Relais schalten lassen.
Wenn PV Überschuss, dann heize das Wasser auf 65 Grad, ansonsten belasse es bei 50 Grad. So soll verhindert werden, dass die BWWP zu einem Zeitpunkt läuft, wo keine Sonne da ist.
Der ESP32 mit Tasmota soll somit insgesamt 3 Temperatursensoren DS1820, zwei Relais und einen DHT22 über MQTT dem FHEM Server zur Steuerung geben.
Gruß Axel