ebus Weishaupt MQTT im Zusammenspiel

Begonnen von rob, 13 Juli 2021, 17:33:38

Vorheriges Thema - Nächstes Thema

rob

Hallo zusammen.

Hier möchte ich im Weishaupt-spezifischen Dschungel etwas lichten und ein paar Lianen abschlagen ;)

Startpunkte:

Datenkette:





Weishaupt Gastherme WTC-15AebuseBUS Adapter 3.0 ETHERNET (W5500)USR-ES1: Lanebus Dockercontainer john30/ebusd:v21.2MQTTFHEM: myMQTT_Server (MQTT2_SERVER)FHEM: MyEbus_MQTT (MQTT2_DEVICE - splitter)
FHEM: MQTT2_ebusd_21.2_1 (MQTT2_DEVICE 1)
FHEM: MQTT2_ebusd_sc (MQTT2_DEVICE 2)

Zum Nachvollziehen, was habe ich an Schritten durchgeführt:
(Hardware-Krams außen vor, ist unter 1. bestens behandelt)

  • autocreate im MQTT2_Server deaktiviert
attr myMQTT_Server autocreate no


  • MQTT2_Device neu angelegt
define MyEbus_MQTT MQTT2_DEVICE ebusd


  • ebus splitter Template angewandt
set MyEbus_MQTT attrTemplate eBus_daemon_splitter


  • autocreate im MQTT2_Server aktiviert
attr myMQTT_Server autocreate complex


  • J0EK3Rs Repo geladen
git clone https://github.com/J0EK3R/ebusd-configuration-weishaupt.git /home/dietpi/ebus/weishaupt/


  • aus john30s Repo die broadcast.csv und memory.csv geladen und im selben Pfad abgelegt (keine Ahnung, ob es das braucht - wurde aber von ebusd geladen)
  • docker gestartet (für Raspi, latest klappt nur für amd64, da latest aktuell kein multiarch)

docker run -d \
       --name=ebus \
       --restart=always \
       -v /etc/localtime:/etc/localtime:ro \
       -v /home/dietpi/ebus/weishaupt/:/etc/ebusd \
       -p 8888 \
john30/ebusd:v21.2 -f --scanconfig -d enh:192.168.0.188:9999 --latency=80 --accesslevel=* --address=ff --mqttport=1883 --mqttjson --mqtthost=192.168.0.11 --mqtttopic=ebusd/%circuit/%name --mqttchanges --configpath=/etc/ebusd


Die RAW-Definitionen in FHEM:
Splitter - MyEbus_MQTT

defmod MyEbus_MQTT MQTT2_DEVICE ebusd
attr MyEbus_MQTT IODev myMQTT_Server
attr MyEbus_MQTT autocreate 1
attr MyEbus_MQTT bridgeRegexp (ebus..*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus..*?)/(global|broadcast|general|scan([^/]*))/.*:.* "$1"
attr MyEbus_MQTT comment NOTE: additional templates and code have been downloaded from svn (contrib).
attr MyEbus_MQTT devStateIcon 1.true:it_net 1.false:it_net@red  2.true:lan_rs485 2.false:lan_rs485@red
attr MyEbus_MQTT event-min-interval 120
attr MyEbus_MQTT event-on-change-reading .*
attr MyEbus_MQTT group Gastherme
attr MyEbus_MQTT icon sani_boiler_temp
attr MyEbus_MQTT model eBus_daemon_splitter
attr MyEbus_MQTT readingList ebusd/global/version:.* version\
ebusd/global/running:.* running\
ebusd/global/scan:.* scan\
ebusd/global/uptime:.* uptime\
ebusd/global/signal:.* signal\
ebusd/scan\x2e35/:.* { json2nameValue($EVENT, 'scan.35_', $JSONMAP) }\
ebusd/scan\x2ef6/:.* { json2nameValue($EVENT, 'scan.f6_', $JSONMAP) }\
ebusd/global/updatecheck:.* updatecheck\
ebusd/scan\x2e08/:.* { json2nameValue($EVENT, 'scan.08_', $JSONMAP) }
attr MyEbus_MQTT room 12_Heizraum,MQTT2_DEVICE
attr MyEbus_MQTT setList getKnown:noArg ebusd/list onlyknown\
  getAll:noArg ebusd/list
attr MyEbus_MQTT stateFormat Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: formatedUptime
attr MyEbus_MQTT userReadings formatedUptime:uptime.* {my $m = ReadingsVal($name,"uptime",0)/60;;;; return sprintf "0 000 00:%02d", $m if $m < 60;;;; my $h = $m / 60;;;; $m %= 60;;;; return sprintf "0 000 %02d:%02d", $h, $m if $h < 24;;;; my $d = $h / 24;;;; $h %= 24;;;; return sprintf "0 %03d %02d:%02d", $d, $h, $m if $d <365;;;; my $y = $d / 365;;;; $d %= 365;;;; return sprintf "%d %03d %02d:%02d", $y, $d, $h, $m}
attr MyEbus_MQTT verbose 0

setstate MyEbus_MQTT Status: \
1:true\
Signal: \
2:true\
<br>Uptime: 0 001 02:16
setstate MyEbus_MQTT 2021-07-12 14:37:43 associatedWith MyEbus_MQTT
setstate MyEbus_MQTT 2021-07-12 14:32:29 attrTemplateVersion 20200824
setstate MyEbus_MQTT 2021-07-13 16:50:36 formatedUptime 0 001 02:16
setstate MyEbus_MQTT 2021-07-12 14:34:16 running true
setstate MyEbus_MQTT 2021-07-12 14:37:45 scan "finished"
setstate MyEbus_MQTT 2021-07-12 14:34:32 signal true
setstate MyEbus_MQTT 2021-07-12 14:32:29 state getKnown
setstate MyEbus_MQTT 2021-07-12 14:36:53 updatecheck "OK"
setstate MyEbus_MQTT 2021-07-13 16:50:36 uptime 94580
setstate MyEbus_MQTT 2021-07-12 14:34:16 version "ebusd 21.2.v21.2"


Device 1 - MQTT2_ebusd_21.2_1

defmod MQTT2_ebusd_21.2_1 MQTT2_DEVICE ebusd_21.2_1
attr MQTT2_ebusd_21.2_1 event-min-interval 120
attr MQTT2_ebusd_21.2_1 event-on-change-reading .*
attr MQTT2_ebusd_21.2_1 group Gastherme
attr MQTT2_ebusd_21.2_1 readingList ebusd_21.2_1:ebusd/hc1/Set:.* { json2nameValue($EVENT, 'Set_', $JSONMAP) }
attr MQTT2_ebusd_21.2_1 room 12_Heizraum,MQTT2_DEVICE

setstate MQTT2_ebusd_21.2_1 2021-07-12 14:34:50 IODev myMQTT_Server
setstate MQTT2_ebusd_21.2_1 2021-07-13 12:57:49 Set_Action_value stopconsumer
setstate MQTT2_ebusd_21.2_1 2021-07-13 12:57:49 Set_DHWSetTemp_value 48.0
setstate MQTT2_ebusd_21.2_1 2021-07-13 12:57:49 Set_SetTemp_value 5.00
setstate MQTT2_ebusd_21.2_1 2021-07-13 12:57:49 Set_Status_value hotwater
setstate MQTT2_ebusd_21.2_1 2021-07-12 14:35:13 subscriptions ebusd/#


Device 2 - MQTT2_ebusd_sc

defmod MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc event-min-interval 120
attr MQTT2_ebusd_sc event-on-change-reading .*
attr MQTT2_ebusd_sc group Gastherme
attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { json2nameValue($EVENT, 'Act_', $JSONMAP) }
attr MQTT2_ebusd_sc room 12_Heizraum,MQTT2_DEVICE

setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_DHWTemp_value 48.0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Error_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_ExternalTemp_value 15
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Flame_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_GasValve1_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_GasValve2_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Load_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Operatingphase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Pump_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_SettingUV_value Heating
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_SoWi_value Summer
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Status1_value 1
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_SupplySetTemp_value 8
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_SupplyTemp_value 39.0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_TrendTemp_value 19.055
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Ukn2_1_value 1
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Ukn2_2_value 1
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Ukn2_3_value 1
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Ukn3_1_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Ukn3_3_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Ukn3_4_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Ukn3_5_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Ukn3_6_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_Ukn3_7_value 0
setstate MQTT2_ebusd_sc 2021-07-13 16:54:42 Act_UknTemp_value 0.0
setstate MQTT2_ebusd_sc 2021-07-12 14:35:13 IODev myMQTT_Server
setstate MQTT2_ebusd_sc 2021-07-12 14:35:13 associatedWith MyEbus_MQTT


Wie ich an den Payload komme, weiß ich nicht so recht. Zumindest stehen die Readings oben dabei. In den Devices "MQTT2_ebusd_21.2_1" und "MQTT2_ebusd_sc" habe ich eine Auswahl an ebus-Templates ➜ rein namentlich will das aber noch nicht passen bzw. ich weiß ich nicht, welches ich anwenden soll.

Jetzt geht es darum, passende Templates zu finden oder angepasste/ andere Templates zu erfinden, die auch für Weishaupt simpel anwendbar sind.
Wer schon Visulalisierungen usw. für seine Weishaupt hat, kann diese hier gerne vorstellen. Vielleicht ließe sich dies zum Template machen?

Vorab schon einmal vielen Dank für Input und Unterstützung.

Viele Grüße
rob

rob

...damit kein Missverständnis entsteht: Ich warte nicht darauf, dass mir jmd. tolle Sachen einflüstert, sondern wurschtle und teste meinerseits anhand der vorhandenen Templates dran rum. Wird aber ein wenig dauern, bis ich hier was posten kann.

Aktuell steht die Therme eh auf Sommerzeit, sodass da nicht allzuviel los ist an Readings. Ich denk mal dies ist der Grund... werde zum Testen auf Winterzeit stellen - mal schauen.

VG
rob


Beta-User

Dann mal Willkommen!

[@Rudi: da scheint ein generelles (Codierungs-) Problem drin zu sein, s.u.]

Vielleicht vorab ein paar Anmerkungen bzgl. "autocreate":
- Kann man auf dem default (M2S - auch ohne Attribut: simple) lassen. Dann wird auch das "Zentraldevice" von autocreate erstellt, wenn der Dienst gestartet wird, weiter passiert da erst mal nichts.
- auf "complex" umzustellen war hier hilfreich, v.a. bei den Geräten, die mehrere Topics abonnieren, sieht man dann, welches Reading auf welchem Weg erzeugt wurde. Später werden wir die Präfixe aber meistens löschen (=> bitte erst mal nicht mit den jetzigen Namen zum Loggen etc. verwenden! die Reading-Namen werden sich voraussichtlich ändern!)




Die Payloads kann ich mir nun schon in etwa vorstellen, aber trotzdem kurz die Antwort darauf, wie man da drankommen kann:
- Meine eigene bevorzugte Methode ist, mit mosquittos_sub (aus dem Paket mosquitto-clients) schlicht die Topics (bzw. Topic-Strukturen) zu abonnieren. Installation ginge auch auf dem FHEM-Server(-Pi), dazu ein eigenes ssh-Terminal. Andere bevorzugen MQTT.fx, es geht prinzipiell auch mit irgendeinem beliebigen anderen Client.
- Man kann rawEvents am IO (hier myMQTT_Server) aktivieren (regex ggf. so anpassen, dass man nur das sieht, was einen interessiert, sonst ".*"), und dann im Event-Monitor die Events auf den Server beschränken;
- man kann auch"Klartextreadings" erstellen, indem man die readingList-Zeilen an den M2D doppelt und einen passenden Namen vergibt ("json_<Reading>").

Hier würde ich für eine externe Lösung plädieren, wir scheinen ein UTF-Codierungsproblem zu haben, und es würde mich interessieren, ob das schon auf der eBus-Seite angelegt ist, oder erst in FHEM (bei der bridgeRegexp) entsteht...




@Rudi, falls du hier mitliest: diese "scan\x2e.*"-Zweige sind doch ein UTF-Problem, oder täuscht mich das?
@rob: Ist dein FHEM ebenfalls "verdockert" oder anders gesagt: kannst du ein paar Infos zu deinem FHEM liefern? (Generell gehe ich davon aus, dass du up-to-date bist!)

Da wir bei dem Thema sind:
Zitat von: rob am 13 Juli 2021, 17:33:38ebusd/scan\x2e35/:.* { json2nameValue($EVENT, 'scan.35_', $JSONMAP) }\
ebusd/scan\x2ef6/:.* { json2nameValue($EVENT, 'scan.f6_', $JSONMAP) }\
ebusd/scan\x2e08/:.* { json2nameValue($EVENT, 'scan.08_', $JSONMAP) }
Diese Zweige scheinen keine Readings  erzeugt zu haben, was sehr seltsam ist, weil FHEM erkannt hat, dass JSON-Payloads kommen...? Kann man das Provozieren, dass wieder ein scan ausgelöst wird? Wenn ja, sollte der möglichst "generisch" sein, also nicht nur eine einzelne Adresse manuell anschubsen).

Falls wir feststellen, dass darüber gar keine für FHEM relevanten Infos kommen, sollten wir versuchen, diese Topics direkt auszuknipsen...



Noch eine generelle Anmerkung bzw. Frage - wo kommen diese Attribute her:
attr <device> event-min-interval 120
attr <device> event-on-change-reading .*

Bitte in der "Findungsphase" keine Attribute setzen, die die Ergebnisse verfälschen können! Es geht erst mal darum rauszufinden, was wann warum wie (automatisch) kommt, und welche pull-Anweisungen wir ggf. dann von FHEM aus starten müssen...

Jetzt zu den einzelnen Devices:
Zitat
Device 1 - MQTT2_ebusd_21.2_1

defmod MQTT2_ebusd_21.2_1 MQTT2_DEVICE ebusd_21.2_1
attr MQTT2_ebusd_21.2_1 readingList ebusd_21.2_1:ebusd/hc1/Set:.* { json2nameValue($EVENT, 'Set_', $JSONMAP) }

Da würde mich interessieren, wo das Device überhaupt herkommt... Die CID sieht irgendwie seltsam aus, es gibt gewisse Überschneidungen mit der Version, aber wie die da hinkommt?

Wie dem auch sei: Wenn ich ein "Set" (oä.) im Topic finde, bin ich erst mal "alarmiert", weil das in der Regel Anweisungen _an_ das Gerät sind, die man in FHEM nicht haben will (sondern erst die Reaktion der Hardware). Frage: hast du da von anderer Seite her was gepublisht?

Zitat
Device 2 - MQTT2_ebusd_sc
Das scheint die eigentliche (Gas-) Therme zu sein, das Device an sich sieht schon mal ganz ok aus, du kannst m.E. direkt das "Act_" als Prefix aus j2nv() nehmen, dann sehen die "Roh-Readings" schon besser aus:

attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { json2nameValue($EVENT, '', $JSONMAP) }

Die "Act_.*"-Readings kannst du dann löschen und die sich dann ergebenden Readings  mit dem jsonMap-Attribut in was umbenennen, das dir sinnvoll erscheint. Dabei würde ich dringend empfehlen, "internationalisierte" Reading-Namen zu verwenden, also z.B. "temperature" statt "Temperatur".

Die "Ukn.*"-Readings dürften Hausaufgaben auf der csv-Seite sein. Vermutlich sind Werte über den Bus verfügbar, die nicht zugeordnet sind.

Als nächstes wären dann schon setList und getList _an diesem Gerät_ dran. Ich habe jetzt nicht in die vorhandenen templates geschaut, aber ggf. könnte es da bei den "bai"-templates schon was geben, das in die richtige Richtung geht...

Zitat von: rob am 14 Juli 2021, 07:40:20
...damit kein Missverständnis entsteht: Ich warte nicht darauf, dass [...]
...paßt schon! War grade am Tippen.

Zitat
Aktuell steht die Therme eh auf Sommerzeit, sodass da nicht allzuviel los ist an Readings. Ich denk mal dies ist der Grund...
Vermutlich ist nicht das der Haupt-Grund, sondern man bekommt afaik beim eBus alle Infos nur "auf Anforderung". Es ist dazu ein "at" im Wiki beschrieben, mein Vorschlag wäre, das durch periodicCmd-Attribute an der jeweiligen Baugruppe zu ersetzen.

Soviel mal für's erste, CU!
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

rob

Zitat von: Beta-User am 14 Juli 2021, 08:12:54
Vielleicht vorab ein paar Anmerkungen bzgl. "autocreate":
Alles gemäß WIKI durchgeführt https://wiki.fhem.de/wiki/EBUS-MQTT2#Vorbereitung_und_Definition_in_FHEM. Das Ergebnis daraus sehen wir unverändert - abgesehen von eocr und room :)

Zitat von: Beta-User am 14 Juli 2021, 08:12:54
- Meine eigene bevorzugte Methode ist, mit mosquittos_sub
...
Hier würde ich für eine externe Lösung plädieren...
Hab ich sogar bereits verfügbar ➜ auf meinen OpenWRT-Geräten. Nehm ich doch glatt das. Danke Dir.

Zitat von: Beta-User am 14 Juli 2021, 08:12:54
@rob: Ist dein FHEM ebenfalls "verdockert" oder anders gesagt: kannst du ein paar Infos zu deinem FHEM liefern? (Generell gehe ich davon aus, dass du up-to-date bist!)
Gerne:
Host: Raspi3 mit Dietpi (Debian) ➜ up to date
FHEM: direkt auf dem Host installiert ➜ up to date
MQTT: weitere Clients sind aktiv, insbesondere die YiCAM ist recht gesprächig (motion events)
ebusd: verdockert

Aufgrund der Datenkette scheint es imho einige Stelle zu geben, wo ich einen Fehler gemacht haben kann. Ich könnte sehr einfach mein Testsystem starten: clean FHEM in Docker und quasi jungfräulich alles step by step dort anlegen und prüfen. Dann wären Querolanten á la YiCAM außen vor. Würde das helfen?

Zitat von: Beta-User am 14 Juli 2021, 08:12:54
Wie dem auch sei: Wenn ich ein "Set" (oä.) im Topic finde, bin ich erst mal "alarmiert", weil das in der Regel Anweisungen _an_ das Gerät sind, die man in FHEM nicht haben will (sondern erst die Reaktion der Hardware). Frage: hast du da von anderer Seite her was gepublisht?
Nein, ich habe nichts gepublisht - Device angelegt wie im WIKI und eocr+room gesetzt. Gefällt mir garnicht. Ich bin auch alarmiert. Denn genau das ist es, was ich auf keinen Fall möchte. Ich möchte nur mitlesen am ebus und nix schreiben. Erst recht solange ich garnicht weiß, was es tut (bzgl. CSV).

Zitat von: Beta-User am 14 Juli 2021, 08:12:54
Die "Ukn.*"-Readings dürften Hausaufgaben auf der csv-Seite sein. Vermutlich sind Werte über den Bus verfügbar, die nicht zugeordnet sind.
Ja, J0EK3R schreibt auch, dass er die CSV nicht mehr pflegen kann und er Bedarf sieht. Das würde ich gerne top down halten und angehen, sobald ich MQTT-FHEM-seitig mehr Land sehe :)

Zitat von: Beta-User am 14 Juli 2021, 08:12:54
...man bekommt afaik beim eBus alle Infos nur "auf Anforderung". Es ist dazu ein "at" im Wiki beschrieben, mein Vorschlag wäre, das durch periodicCmd-Attribute an der jeweiligen Baugruppe zu ersetzen.
Ja, hab ich auch so gelesen/ verstanden. Mein Problem ist nur: Woher kenne ich die Topics um sie via get zu holen, wenn sie bislang nirgends published wurden? Würde ich aber zunächst hinten an stellen das rauszufinden. Das Attribut periodicCMD finde ich schon absolut klasse.

Die Template-Geschichte scheint mir auch erst einmal zweitrangig. Wichtiger ist mir zu verstehen, woher das "Set" kommt. Das lässt mich zweifeln, ob mein Bastelprojekt ebus richtig ist. Mag keine 5.000 Lehrgeld zahlen.

OK, bin jetzt am Loggen und starte Docker neu, das provoziert ggf. weitere Meldungen.

Viele Grüße
rob

rudolfkoenig

Zitat@Rudi, falls du hier mitliest: diese "scan\x2e.*"-Zweige sind doch ein UTF-Problem, oder täuscht mich das?
Ich hoffe ja, sowohl was UTF, wie auch was Problem betrifft.
scan\x2e35 entspricht scan.35 (\x2e ist Punkt), und es wurde umgewandelt, damit beim Regexp keine Ueberraschungen gibt.

Beta-User

Zitat von: rudolfkoenig am 14 Juli 2021, 10:23:40
Ich hoffe ja, sowohl was UTF, wie auch was Problem betrifft.
scan\x2e35 entspricht scan.35 (\x2e ist Punkt), und es wurde umgewandelt, damit beim Regexp keine Ueberraschungen gibt.
(Ohne jetzt im Code geschaut zu haben), gehe ich davon aus, dass das "immer" so gemacht wird und daher unproblematisch ist, ok.
(OT-Anmerkung: Ich sehe zwar das theoretische Problem speziell mit dem Punkt, glaube allerdings nicht, dass der auch proaktisch ein Problem darstellt).

[OT2 @Rudi]
Wir werden sowieso jsonMap brauchen, aber dieses "permanente .*_value"-Namensgebung (die aus der inneren Struktur des JSON kommt) ist eigentlich unnötig. Vielleicht hast du irgendeine Idee, wie man das auf elegantem Weg gleich vor/bei j2nv() "umbiegen" könnte?
[/OT2]

Komisch ist und bleibt, dass da keine Readings zu sehen sind; scheint so, dass der "JSON" schlicht leer ist, oder?

Zitat von: rob am 14 Juli 2021, 10:01:52
Alles gemäß WIKI durchgeführt https://wiki.fhem.de/wiki/EBUS-MQTT2#Vorbereitung_und_Definition_in_FHEM. Das Ergebnis daraus sehen wir unverändert - abgesehen von eocr und room :)
...deine Frage war ja auch, ob man was im Wiki ändern sollte...
MAn. sollte man, aber möglichst in enger Abstimmung mit @Reinhart (=> gesonderter Thread im Wiki-Bereich mit Hinweis an ihn an geeigneter Stelle?). Ist zwar u.A. auch an dem Punkt nicht "zwingend" aber eben unnötig kompliziert. Der Spur nach wäre meine persönliche Meinung: autocreate auf "default" (=simple) lassen, und (auch für eBus!) nur ändern, wenn man es mit "speziellen" bzw. noch unbekannten Themen zu tun hat. Zum Hintergrund: Argument 2 ("prefix") hilft, um rauszufinden, wo was herkommt, und kann (bei Bedarf!) dazu genutzt werden, ansonsten (vermeintlich) identische Informationen auseinanderzuhalten, die aus verschiedenen Quellen kommt. Argument 3 ($JSONMAP) macht nur Sinn, wenn man auch ein entsprechende Mapping vornimmt => entweder attrTemplate oder der User muss sowieso aktiv werden...

Zitat[...] Würde das helfen?
Betr. der Kodierungsfrage ist es geklärt, und ansonsten sehe ich bisher keine Konflikte. Das darf also gerne so bleiben - die "praxisnahe Mischung" sorgt ggf. dafür, dass Schwachpunkte eher auffallen ;) .


Bzgl. dem "Set": Sollte man erst mal nicht dramatisieren, ist nur sehr komisch, auch weil ich die CID nicht so recht nachvollziehen kann. Es scheint eine "Pseudo-CID" (aus bridgeRegexp) zu sein, und bei der Gelegenheit muss ich mich auch nochmal ansehen, ob da Klarstellungsbedarf besteht hinsichtlich der Wechselwirkung aus einer ggf. gesetzten bridgeRegexp, wenn M2C im Spiel ist... (nicht verwirren lassen, ist mehr für mich selbst).




ZitatJa, J0EK3R schreibt auch, dass er die CSV nicht mehr pflegen kann und er Bedarf sieht. Das würde ich gerne top down halten und angehen, sobald ich MQTT-FHEM-seitig mehr Land sehe :)
Das eilt (FHEM-seitig) nicht, FHEM ist es "im Prinzip egal", wie die Readings heißen, und jedenfalls solange sie nicht identisch sind, ist es auch für die hier relevante Verarbeitungskette egal, ob "knwon" oder "Uknx"...

ZitatWoher kenne ich die Topics um sie via get zu holen [...]
Generell: Häufig über die "subscriptions". Hier aber schwierig, weil der ebus-daemon einfach alles haben will:
Zitatsetstate MQTT2_ebusd_21.2_1 2021-07-12 14:35:13 subscriptions ebusd/#
Konkret (aber aus dem Kopf): Die Abfragepfade kann man aus Readings-Topics ableiten, oder? (Bitte mal die "at"-Pfade und die readingList von den vorhandenen attrTemplate vergleichen). Es müßte dazu auch Info in den älteren Threads zu finden sein; es gibt afaik auch die Option, alle vorhandenen Register auszulesen, das ist nur nicht (dauerhaft) zu empfehlen, weil der Bus dadurch stark belastet wird.
Dazu bitte ggf. einfach auch nochmal bei den ebus-Experten nachfragen, wie man das am besten macht.

"Ernsthafte Verletzungsgefahr" besteht aber mAn. bis dato nicht.
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

rob

#6
OK, Alarm beendet. Ich bin da etwas nervös - dafür kann natürlich keiner was, der Ball liegt bei mir  ::) :)
Das "Set_" scheint also nur ein Prefix zu sein analog dem "ACT_". Ich hatte das gedanklich mit einem MQTT set im publish verwechselt (sowas wie "set myMQTT_Server publish ebus/blabla/set")

Zitat von: Beta-User am 14 Juli 2021, 11:29:53
...mal die "at"-Pfade und die readingList von den vorhandenen attrTemplate vergleichen ...
Dazu bitte ggf. einfach auch nochmal bei den ebus-Experten nachfragen, wie man das am besten macht.
Genau da liegt der Hase im Pfeffer: alles was ich bisher fand ist auf Vaillant oder Wolf abgestimmt. Weishaupt ist wohl nicht so verbreitet und das heißt alles anders in den Topics. Aber fragen kost nix - mach ich natürlich.

So, das Log müsste erst mal reichen (hab den Winter kurz vorgezogen). Den Uptime-Krams hab ich rausgeworfen.

Client mosqsub/16320-OpenWRT sending CONNECT
Client mosqsub/16320-OpenWRT received CONNACK
Client mosqsub/16320-OpenWRT sending SUBSCRIBE (Mid: 1, Topic: ebusd/#, QoS: 0)
Client mosqsub/16320-OpenWRT received SUBACK
Subscribed (mid: 1): 1
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/signal', ... (4 bytes))
true
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/version', ... (18 bytes))
"ebusd 21.2.v21.2"
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/running', ... (4 bytes))
true
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/updatecheck', ... (4 bytes))
"OK"
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/scan', ... (10 bytes))
"finished"

Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.605},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.617},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.617},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.621},
     "SupplySetTemp": {"value": 8}}

---docker restartet ----

Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/version', ... (18 bytes))
"ebusd 21.2.v21.2"
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/running', ... (4 bytes))
true
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/scan', ... (9 bytes))
"running"
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/scan.35/', ... (126 bytes))
{
     "MF": {"value": "Kromschroeder"},
     "ID": {"value": "W "},
     "SW": {"value": "2726"},
     "HW": {"value": null}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/scan.f6/', ... (131 bytes))
{
     "MF": {"value": "Kromschroeder"},
     "ID": {"value": "WWST?"},
     "SW": {"value": "1200"},
     "HW": {"value": "0302"}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/scan', ... (10 bytes))
"finished"
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/uptime', ... (2 bytes))
16
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/signal', ... (4 bytes))
true
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/scan', ... (9 bytes))
"running"
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/Set', ... (259 bytes))
{
     "Status": {"value": "hotwater"},
     "Action": {"value": "stopconsumer"},
     "SetTemp": {"value": 5.00},
     "SetPressure": {"value": null},
     "OutputDegree": {"value": null},
     "DHWSetTemp": {"value": 48.0},
     "Fueltype": {"value": null}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/scan', ... (10 bytes))
"finished"
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/uptime', ... (2 bytes))
32
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.621},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/uptime', ... (2 bytes))
48
Client mosqsub/16320-OpenWRT sending PINGREQ
Client mosqsub/16320-OpenWRT received PINGRESP
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.625},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/scan.08/', ... (128 bytes))
{
     "MF": {"value": "Kromschroeder"},
     "ID": {"value": "W "},
     "SW": {"value": "1200"},
     "HW": {"value": "0302"}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/scan', ... (9 bytes))
"running"
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/uptime', ... (3 bytes))
208
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/global/scan', ... (10 bytes))
"finished"
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.629},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.637},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.641},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.645},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 17},
     "TrendTemp": {"value": 16.648},
     "SupplySetTemp": {"value": 8}}
Client mosqsub/16320-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/sc/Act', ... (835 bytes))
{
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 0},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Summer"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 0},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 44.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 48.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 18},
     "TrendTemp": {"value": 16.648},
     "SupplySetTemp": {"value": 8}}


Edit: ja, war zu lang. In der Vorschau sah alles gut aus.

Beta-User

(Formatierung ist leider kapput, war wohl zu viel Info => ggf. künftig lieber als txt-Anhang?)

Was das "Set" angeht: vermutlich ist das so als Topic konfiguriert (indirekt über die csv?), es scheint sich um die aktuellen settings zu handeln. Ich finde das "unglücklich", also falls du die richtige Stelle findest, um das anzupassen, wäre die Frage, ob das geht, ohne Inkompabilitäten heraufzubeschwören?

Was die "scan"-Sachen angeht, müßten jetzt Werte vorhanden sein, oder?
Was jeweils gescannt wird, scheint nach diesem Beitrag v.a. davon abzuhängen, welche csv's vorhanden sind?
Zitatalles was ich bisher fand ist auf Vaillant oder Wolf abgestimmt. Weishaupt ist wohl nicht so verbreitet und das heißt alles anders in den Topics.
Jein... Nach meinem (evtl. falschen!) Verständnis ist es prinzipiell nicht wichtig, welcher Hersteller dahinter steht. ebusd als zentraler Dienst übersetzt das dann jeweils, wird aber seinerseits immer durch dieses Anhängsel "/get" aufgefordert, die am jeweiligen Ort vorhandenen (!) Werte auszuliefern. Welche Topics/Werte vorhanden sind, müßte man eigentlich aus den csv's rekonstruieren können. Und die sind dann auch wieder eigentlich "relativ" standardisiert, was die Struktur an sich angeht - es schreibt nur eben jeder "irgendwas" rein, was er jeweils für sinnvoll erachtet, z.B. Texte wie "hotwaterinheating" oder "BrennerAus"...
(Das ist ein anderes Thema, aber m.E. wäre es u.A. auch wünschenswert, hier standardisiertere (englische) Werte zu verwenden, ohne allerdings sagen zu können, wie die im Detail aussehen könnten).
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

rob

Zitat von: Beta-User am 14 Juli 2021, 12:24:29
Was die "scan"-Sachen angeht, müßten jetzt Werte vorhanden sein, oder?
In Fhem sehe ich keine Veränderung. Habe autocreate auf simple und ebus-docker restartet. (oecr habe ich vorsichtshalber raus). Keine neuen Devices, keine neuen Readings.

list -r .*[E|e]bus.* sagt:

define FileLog_MQTT2_ebusd_21.2_1 FileLog ./log/MQTT2_ebusd_21.2_1-%Y-%m-%d.log MQTT2_ebusd_21.2_1
attr FileLog_MQTT2_ebusd_21.2_1 group Gastherme
attr FileLog_MQTT2_ebusd_21.2_1 logtype text
attr FileLog_MQTT2_ebusd_21.2_1 room 12_Heizraum,MQTT2_DEVICE

define FileLog_MQTT2_ebusd_sc FileLog ./log/MQTT2_ebusd_sc-%Y-%m-%d.log MQTT2_ebusd_sc
attr FileLog_MQTT2_ebusd_sc group Gastherme
attr FileLog_MQTT2_ebusd_sc logtype text
attr FileLog_MQTT2_ebusd_sc room 12_Heizraum,MQTT2_DEVICE

define MQTT2_ebusd_21.2_1 MQTT2_DEVICE ebusd_21.2_1
attr MQTT2_ebusd_21.2_1 group Gastherme
attr MQTT2_ebusd_21.2_1 readingList ebusd_21.2_1:ebusd/hc1/Set:.* { json2nameValue($EVENT, 'Set_', $JSONMAP) }
attr MQTT2_ebusd_21.2_1 room 12_Heizraum,MQTT2_DEVICE

define MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc group Gastherme
attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { json2nameValue($EVENT, 'Act_', $JSONMAP) }
attr MQTT2_ebusd_sc room 12_Heizraum,MQTT2_DEVICE

define MyEbus_MQTT MQTT2_DEVICE ebusd
attr MyEbus_MQTT IODev myMQTT_Server
attr MyEbus_MQTT autocreate 1
attr MyEbus_MQTT bridgeRegexp (ebus..*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus..*?)/(global|broadcast|general|scan([^/]*))/.*:.* "$1"
attr MyEbus_MQTT comment NOTE: additional templates and code have been downloaded from svn (contrib).
attr MyEbus_MQTT devStateIcon 1.true:it_net 1.false:it_net@red  2.true:lan_rs485 2.false:lan_rs485@red
attr MyEbus_MQTT group Gastherme
attr MyEbus_MQTT icon sani_boiler_temp
attr MyEbus_MQTT model eBus_daemon_splitter
attr MyEbus_MQTT readingList ebusd/global/version:.* version\
ebusd/global/running:.* running\
ebusd/global/scan:.* scan\
ebusd/global/uptime:.* uptime\
ebusd/global/signal:.* signal\
ebusd/scan\x2e35/:.* { json2nameValue($EVENT, 'scan.35_', $JSONMAP) }\
ebusd/scan\x2ef6/:.* { json2nameValue($EVENT, 'scan.f6_', $JSONMAP) }\
ebusd/global/updatecheck:.* updatecheck\
ebusd/scan\x2e08/:.* { json2nameValue($EVENT, 'scan.08_', $JSONMAP) }
attr MyEbus_MQTT room 12_Heizraum,MQTT2_DEVICE
attr MyEbus_MQTT setList getKnown:noArg ebusd/list onlyknown\
  getAll:noArg ebusd/list
attr MyEbus_MQTT stateFormat Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: formatedUptime
attr MyEbus_MQTT userReadings formatedUptime:uptime.* {my $m = ReadingsVal($name,"uptime",0)/60;;;; return sprintf "0 000 00:%02d", $m if $m < 60;;;; my $h = $m / 60;;;; $m %= 60;;;; return sprintf "0 000 %02d:%02d", $h, $m if $h < 24;;;; my $d = $h / 24;;;; $h %= 24;;;; return sprintf "0 %03d %02d:%02d", $d, $h, $m if $d <365;;;; my $y = $d / 365;;;; $d %= 365;;;; return sprintf "%d %03d %02d:%02d", $y, $d, $h, $m}
attr MyEbus_MQTT verbose 0

setstate FileLog_MQTT2_ebusd_21.2_1 active
setstate FileLog_MQTT2_ebusd_21.2_1 2021-07-14 12:49:33 linesInTheFile 14

setstate FileLog_MQTT2_ebusd_sc active
setstate FileLog_MQTT2_ebusd_sc 2021-07-14 12:55:50 linesInTheFile 1686

setstate MQTT2_ebusd_21.2_1 2021-07-14 08:49:26 IODev myMQTT_Server
setstate MQTT2_ebusd_21.2_1 2021-07-14 12:49:33 Set_Action_value startconsumer
setstate MQTT2_ebusd_21.2_1 2021-07-14 12:49:33 Set_DHWSetTemp_value 48.0
setstate MQTT2_ebusd_21.2_1 2021-07-14 12:49:33 Set_SetTemp_value 5.00
setstate MQTT2_ebusd_21.2_1 2021-07-14 12:49:33 Set_Status_value hotwater
setstate MQTT2_ebusd_21.2_1 2021-07-14 08:50:24 subscriptions ebusd/#

setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_DHWTemp_value 47.0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Error_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_ExternalTemp_value 20
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Flame_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_GasValve1_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_GasValve2_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Load_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Operatingphase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Pump_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_SettingUV_value Heating
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_SoWi_value Summer
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Status1_value 1
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_SupplySetTemp_value 8
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_SupplyTemp_value 25.0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_TrendTemp_value 16.980
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Ukn2_1_value 1
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Ukn2_2_value 1
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Ukn2_3_value 1
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Ukn3_1_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Ukn3_3_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Ukn3_4_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Ukn3_5_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Ukn3_6_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_Ukn3_7_value 0
setstate MQTT2_ebusd_sc 2021-07-14 12:55:50 Act_UknTemp_value 0.0
setstate MQTT2_ebusd_sc 2021-07-14 08:49:26 IODev myMQTT_Server
setstate MQTT2_ebusd_sc 2021-07-12 14:35:13 associatedWith MyEbus_MQTT

setstate MyEbus_MQTT Status: \
1:true\
Signal: \
2:true\
<br>Uptime: 0 000 00:07
setstate MyEbus_MQTT 2021-07-14 08:49:26 IODev myMQTT_Server
setstate MyEbus_MQTT 2021-07-14 12:49:16 associatedWith MyEbus_MQTT
setstate MyEbus_MQTT 2021-07-12 14:32:29 attrTemplateVersion 20200824
setstate MyEbus_MQTT 2021-07-14 12:56:15 formatedUptime 0 000 00:07
setstate MyEbus_MQTT 2021-07-14 12:49:03 running true
setstate MyEbus_MQTT 2021-07-14 12:49:50 scan "finished"
setstate MyEbus_MQTT 2021-07-14 12:49:20 signal true
setstate MyEbus_MQTT 2021-07-12 14:32:29 state getKnown
setstate MyEbus_MQTT 2021-07-14 12:51:50 updatecheck "OK"
setstate MyEbus_MQTT 2021-07-14 12:56:15 uptime 432
setstate MyEbus_MQTT 2021-07-14 12:49:03 version "ebusd 21.2.v21.2"


Hätte ich die Devices löschen sollen?

VG
rob

beaune

Zur Info: ich hatte auch ein Problem mit der Codierung. Automatisch angelegt (vermutlich durch das Template eBus_Calormatic_TimeProgramm, kann ich aber nicht mehr im Detail nachvollziehen) wurde dieser Eintrag in der readingsList:
ebusd/f47/ccTimer\x5c\x2eMonday:.* { json2nameValue($EVENT, 'ccTimer.Monday_', $JSONMAP)}

So funktioniert das Reading nicht, jedenfalls nicht wenn man es so aktualisieren will:
set mqtt publish ebusd/f47/hcTimer.Monday/get. Ich hab daher die readingList manuell angepasst:
ebusd/f47/hcTimer.Monday:.* { json2nameValue($EVENT, 'hcTimer.Monday_', $JSONMAP) }

Das war übrigens eines der Dinge, die den Eindruck vermittelt haben, dass die Templates irgendwie unfertig sind und man sie lieber nicht verwenden sollte...

rob

Supi, danke für den Wink.
Jetzt kommen neue Readings rein:

     2021-07-14 13:14:38   scan.35_ID_value W
     2021-07-14 13:14:38   scan.35_MF_value Kromschroeder
     2021-07-14 13:14:38   scan.35_SW_value 2726
     2021-07-14 13:14:25   scan.f6_HW_value 0302
     2021-07-14 13:14:25   scan.f6_ID_value WWST?
     2021-07-14 13:14:25   scan.f6_MF_value Kromschroeder
     2021-07-14 13:14:25   scan.f6_SW_value 1200


Einfach den Punkt setzen und gut.

VG
rob

Beta-User

@Rudi: M.E. ist "die Sache mit dem Punkt"  "unerwünschtes Verhalten" von M2D allgemein. Kannst du das bitte in die eine oder andere Richtung fixen? Bauchgefühl sagt: Punkt stehen lassen ist das kleinere Übel.

@rob
Hmm, irgendwie würde mich weiter interessieren, wo dieses ominöse Gerät "MQTT2_ebusd_21.2_1" entsteht. Konnte das grade jedenfalls nicht mit der in der file enthaltenen Topic/Payload-Kombi rekonsturieren. Gibt es in deiner Installation noch eine andere bridgeRegexp, aus der das kommen könnte?
list TYPE=MQTT2_DEVICE bridgeRegexp

MAn. kannst du diese beiden Geräte (M2D+fileLog) löschen.

@beaune:
Willkommen an Bord! (Und zur Klarstellung: ein "gutes attrTemplate" hätte das für dich gefixt ;) ... Erstellt wurde das Device übrigens durch die bridgeRegexp am "Zentraldevice" (und allgemeine M2DFunktionalität), nicht direkt durch attrTemplate)

@rob:
Bitte wirf in MQTT2_ebusd_sc den "Act_"-Prefix raus, sonst können wir da nicht mit "guten Readingnamen" weitermachen.
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

rob

list TYPE=MQTT2_DEVICE bridgeRegexp sagt:

MyEbus_MQTT              (ebus..*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"
(ebus..*?)/(global|broadcast|general|scan([^/]*))/.*:.* "$1"

Beim Testen auf dem Testsystem ohne autocreate complex usw. kam auch dieses Device (als einziges). Durch den Split steht das Warmwasser drin - scheint der WW-Pufferspeicher zu sein. Habs aber erstmal gelöscht.

Zitat von: Beta-User am 14 Juli 2021, 13:31:02
Bitte wirf in MQTT2_ebusd_sc den "Act_"-Prefix raus, sonst können wir da nicht mit "guten Readingnamen" weitermachen.
Ja, ist jetzt bereinigt. Sorry, hattest es schon geschrieben - ich aber nicht begriffen  ::)

VG
rob


rudolfkoenig

Zitat@Rudi: M.E. ist "die Sache mit dem Punkt"  "unerwünschtes Verhalten" von M2D allgemein. Kannst du das bitte in die eine oder andere Richtung fixen? Bauchgefühl sagt: Punkt stehen lassen ist das kleinere Übel.

Bevor ich irgendetwas unternehme, moeche ich das Problem verstehen.
Ich sehe naemlich noch gar kein Problem, nur falsche Theorien wegen Codierungsfehler.

Beta-User

Zitat von: rudolfkoenig am 14 Juli 2021, 13:57:23
Bevor ich irgendetwas unternehme, moeche ich das Problem verstehen.
Das "Problem" (bzw. die "konsolidierte Symptombeschreibung") sieht m.E. so aus:
- Ein Client publisht unter einem Topic, der Punkte enthält.
- M2D wandelt den beim automatischen Erstellen von readingList-Einträgen in "\x2e" um (vermutlich immer, in jedem Fall aber, wenn bridgeRegexp im Spiel ist).
- Spätere publishes dieses Gerätes unter demselben Topic gehen verloren bzw. erzeugen nicht die erwarteten Readings/Werte

Lösung also entweder: Der "eingehende Punkt" wird immer einheitlich konvertiert, (scheint derzeit irgendwie zu haken, sonst müsste es auch Readings geben), oder er bleibt halt stehen und kann mit einer "wildcard" verwechselt werden, so dass eventuell "zu viel" unter einem solchen Topic empfangen wird.

Kurz: Es sollte irgendwie einheitlich sein, aber irgendwo geht halt im Moment was schief...



@rob&beaune:
Evtl. kann es gegen dieses "Phantom-Device" helfen, die bridgeRegexp schärfer zu schneiden. Würde mal folgendes in den Raum stellen:
attr MyEbus_MQTT bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus\S[^/]*?)/(global|broadcast|general|scan([^/]*))/.*:.* "$1"
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

rob

Zitat von: Beta-User am 14 Juli 2021, 14:09:11
Evtl. kann es gegen dieses "Phantom-Device" helfen, die bridgeRegexp schärfer zu schneiden. Würde mal folgendes in den Raum stellen:
attr MyEbus_MQTT bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus\S[^/]*?)/(global|broadcast|general|scan([^/]*))/.*:.* "$1"

Device war ja noch gelöscht. Regex übernommen. Ebus-Docker restartet: Device wurde wieder angelegt.

Macht es ggf. Sinn mit dem "attr model" zu arbeiten? Dort könnte ich als User z.B. aus einer Liste "weishaupt" wählen (neben Vaillant, Wolf usw.). Wenn dann beim Anwenden des Splitters usw. dies model berücksichtigt werden könnte, wären ggf. die Eigenheiten leichter trennbar und somit das Template leichter pflegbar.
Wären die CSV veinheitlicht, wärs wohl auch Wurscht. Aber bis dahin ... Naja, nur ein Gedanke  ;D

VG
rob

Beta-User

Zitat von: rob am 14 Juli 2021, 14:28:25
Device war ja noch gelöscht. Regex übernommen. Ebus-Docker restartet: Device wurde wieder angelegt.
Hmm, also...:
- "schuld" ist mAn. nicht die bridgeRegexp. Die zu verschärfen, ist zwar ggf. an sich keine schlechte Idee, hilft aber in diesem Fall nicht. (ich werde das bei Gelegenheit so in mqtt2.template reinnehmen, es sei denn, jemand meldet vorher, dass es nicht funktioniert)
- Es wird die CID mit in die readingList übernommen. Bedeutet mWn., nachdem ich da auch etwas rumgetestet habe: der rL-Eintrag kommt _gar nicht_ aus der bridgeRegexp, die Daten kommen schon "kaputt" am MQTT2_SERVER an! Das ganze erinnert mich an einige wenige ganz andere Fälle (auch mit bridgeRegexp, aber v.a. OpenMQTTGateway), sowas kommt "gerne" mal daher, dass die Funkverbindung zu dem betreffenden ESP schlecht ist. Würde das erst mal unter attrTemplate-Gesichtspunkten "abhaken", du kannst gerne "meinen" Thread suchen, in dem diese Symptome beschrieben wurden... (um die Funkverbindung musst du dich trotzdem kümmern, eine externe Antenne könnte helfen).

ZitatMacht es ggf. Sinn mit dem "attr model" zu arbeiten? Dort könnte ich als User z.B. aus einer Liste "weishaupt" wählen (neben Vaillant, Wolf usw.). [...]
Da würde ich es gerne mit Rudi halten und erst mal das Problem verstehen wollen, das du grade versuchst zu lösen... Bis dato scheint mir das "allgemeine" ebus-splitter-attrTemplate "ok" zu sein.
Wenn wir dann was "spezielles" (am splitter) brauchen, wäre ggf. "RADIO_" das Stichwort ;) .
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

rob

Wegen dem Punkt: Mir ist aufgefallen, dass die zugrundeliegenden CSV zwei Punkte im Namen tragen:

-rw-r--r-- 1 dietpi dietpi   442 Jul 12 11:06 04..EA.csv
-rw-r--r-- 1 dietpi dietpi   572 Jul 12 11:06 05..EA.csv
-rw-r--r-- 1 dietpi dietpi   230 Jul 12 11:06 08..sc.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 1c..hc4.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 24..hc8.csv
-rw-r--r-- 1 dietpi dietpi  1970 Jul 12 11:06 35..hc1.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 3c..hc5.csv
-rw-r--r-- 1 dietpi dietpi  1367 Jul 12 11:06 51..hc2.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 75..hc2.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 7c..hc6.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 f5..hc3.csv
-rw-r--r-- 1 dietpi dietpi  2822 Jul 12 11:06 f6..sc.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 fc..hc7.csv

Vielleicht eine falsche Fährte, weil ich das Wirken noch nicht verstehe. Aber zumindest kommt in john30s Repo unter Vaillant oder Wolf soetwas nicht vor.

Bei Antenne am ebus-Adapter muss ich leider passen: Ist ein LAN-Modul :) Vielleicht muss ich an der Latenz bei den Optionen was anders machen - ist aber unwissender Aktionismus von mir. Mal schauen.

Bzgl. model: die Regex darin schaut recht lang aus und scheint versch. Topics abzufrühstücken, welche nicht notwendigerweise aus jedem Hersteller-CSV rauskommen. Beschränkte man anhand model das Regex auf nur die jeweils notwendigen matches, wär es einerseits übersichtlicher und andererseits wüsste man im Bedarfsfall in welchem Zweig es hakt. Templates ließen sich weiter generalisiert halten, während via model weiter differenziert werden könnte. Ist natürlich nicht essentiell und jetzt liegt der Fokus eh woanders.

VG
rob

rudolfkoenig

Zitat- Spätere publishes dieses Gerätes unter demselben Topic gehen verloren bzw. erzeugen nicht die erwarteten Readings/Werte
Das ist eine Behauptung.

Ich halte dagegen mit einem Test:
fhem> delete MQTT2_regexpTest
fhem> l MQTT2_regexpTest
No device named MQTT2_regexpTest found
fhem> "mosquitto_pub -i regexpTest -t /test.mit.punkt -m hallo"
fhem> l MQTT2_regexpTest readingList
MQTT2_regexpTest         regexpTest:/test\x2emit\x2epunkt:.* test.mit.punkt

fhem> l MQTT2_regexpTest test.mit.punkt
MQTT2_regexpTest     2021-07-14 15:27:04    hallo

fhem> "mosquitto_pub -i regexpTest -t /test.mit.punkt -m hallo2"
fhem> l MQTT2_regexpTest test.mit.punkt
MQTT2_regexpTest     2021-07-14 15:27:25    hallo2


Beta-User

Zitat von: rudolfkoenig am 14 Juli 2021, 15:31:03
Das ist eine Behauptung.
Hmm, evtl. liegt es an dem json? Folgender Test war/ist bei mir auf der Testinsel erfolglos:
Server:
define m2server MQTT2_SERVER 1883 global
attr m2server clientOrder MQTT2_DEVICE
attr m2server rawEvents hermes/.*


Client zum publishen (as is):
define m2client MQTT2_CLIENT localhost:1883
attr m2client clientOrder RHASSPY MQTT_GENERIC_BRIDGE MQTT2_DEVICE
attr m2client rawEvents .*
attr m2client subscriptions mgb1/set/+ hermes/intent/+ hermes/dialogueManager/sessionStarted hermes/dialogueManager/sessionEnded go-eCharger/023547/status
attr m2client verbose 4

ebus-M2D (der rL-Eintrag wird automatisch durch das 1. publish unten ergänzt):
define MyEbus_MQTT MQTT2_DEVICE ebusd
attr MyEbus_MQTT IODev m2server
attr MyEbus_MQTT autocreate 1
attr MyEbus_MQTT bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus\S[^/]*?)/(global|broadcast|general|scan([^/]*))/.*:.* "$1"
attr MyEbus_MQTT readingList ebusd/global/version:.* version\
ebusd/scan\x2e35/:.* { json2nameValue($EVENT) }


Folgendes publish kann ich mehrfach ausführen, ohne dass Readings an dem M2D erstellt oder gefüllt werden:
set m2client publish ebusd/scan.35/ {"MF": {"value": "Kromschroeder"}, "ID": {"value": "W "}, "SW": {"value": "2726"}, "HW": {"value": null}}
Wie gesagt: der 1. publish kommt am M2D an und erstellt einen passenden rL-Eintrag.

@rob:
Vielleicht nochmal zur Klarstellung: Wir sind alle miteinander "Suchende", mich eingeschlossen. Ich kenne zwar die "MQTT2-Welt" in FHEM (und vermutlich auch FHEM allg.) recht gut, aber ich habe (fast) keinen Schimmer, wie die ebusd-Seite aussieht... Wir können daher nur versuchen, de Bausteinchen nochmal zu sammeln und dann möglichst "einfach" wieder auf der FHEM-Seite zusammenzupuzzeln.
Zitat von: rob am 14 Juli 2021, 15:03:28
Wegen dem Punkt: Mir ist aufgefallen, dass die zugrundeliegenden CSV zwei Punkte im Namen tragen:
Das mit dem "einen Punkt" kenne ich auch von der ursprünglichen Entwicklung her, das war auch da schon mal ein "Problem" (und ein Grund, warum die alte bridgeRegexp schon etwas "speziell" war). Mir scheint, dass das auf der ebusd-Seite schon zu "einem Punkt" verkürzt wird, und der dann aber "da" ist. Für Details müßte man wohl auf john30 zugehen, ich würde aber dazu tendieren, das erst mal zurückzustellen, bis Rudi was abschließendes zu dem allgemeinen Thema mit dem Punkt@M2D-topic (+j2nv()/Perl) gesagt hat.

ZitatBei Antenne am ebus-Adapter muss ich leider passen: Ist ein LAN-Modul :)
Hmm, interessant. Nach meinen bisherigen Erfahrungen handelt es sich bei dieser Symptomatik um ein Netzwerkproblem, ich hatte allerdings das Problem, dass ich das nie zeitlich genau eingegrenzt reproduzieren konnte und daher keine (überbordende) Logs erzeugen wollte.

Da das bei dir reproduzierbar ist: Kannst du Rudi mit einem Log versorgen? Dazu kurz den M2S auf verbose 5 stellen, und den ebusd neu starten. Dann kann schon verbose wieder zurück auf 3 bzw. gelöscht werden...

ZitatVielleicht muss ich an der Latenz bei den Optionen was anders machen - ist aber unwissender Aktionismus von mir. Mal schauen.
"Latenz" betrifft nach meinem Verständnis die Kommunikation auf dem Bus und dürfte für die "Quellenanalyse" des M2S keine Rolle spielen. Würde also erst mal das mit dem log versuchen.

ZitatBzgl. model: die Regex darin schaut recht lang aus und scheint versch. Topics abzufrühstücken, welche nicht notwendigerweise aus jedem Hersteller-CSV rauskommen. Beschränkte man anhand model das Regex auf nur die jeweils notwendigen matches, wär es einerseits übersichtlicher und andererseits wüsste man im Bedarfsfall in welchem Zweig es hakt. Templates ließen sich weiter generalisiert halten, während via model weiter differenziert werden könnte. Ist natürlich nicht essentiell und jetzt liegt der Fokus eh woanders.
Na ja, die regex ist zwar lang, aber solange die Devices am Ende angelegt werden, die der jeweilige user braucht, düfte das keinen "jucken", und wenn das jeweilige "Detail-Device" angelegt wurde, ist die "bridge-Funktion" eigentlich obsolet.
Für die Auswahl weiterer "Detail-Device-attrTemplates" kann das eine Rolle spielen, aber darum sollte man sich m.E. dann kümmern, wenn man erst mal "gute" und verallgemeinerungsfähige Detail-Geräte hat ;) .

Würde also vorschlagen, dass wir uns darum kümmern, oder gibt es substantielle Einwände?
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

ZitatFolgendes publish kann ich mehrfach ausführen, ohne dass Readings an dem M2D erstellt oder gefüllt werden:

Ich habe mehr "Glueck":
fhem> delete MQTT2_regexpTest
fhem> "mosquitto_pub -i regexpTest -t ebusd/scan.35/ -m '{"MF": {"value": "Kromschroeder"}, "ID": {"value": "W "}, "SW": {"value": "2726"}, "HW": {"value": null}}'"
fhem> l MQTT2_regexpTest readingList MF_value SW_value
MQTT2_regexpTest                           readingList     regexpTest:ebusd/scan\x2e35/:.* { json2nameValue($EVENT) }
                     2021-07-14 16:13:55   MF_value        Kromschroeder
                     2021-07-14 16:13:55   SW_value        2726

fhem> "mosquitto_pub -i regexpTest -t ebusd/scan.35/ -m '{"MF": {"value": "Kromschroeder2"}, "ID": {"value": "W "}, "SW": {"value": "2727"}, "HW": {"value": null}}'"
fhem> l MQTT2_regexpTest readingList MF_value SW_value
MQTT2_regexpTest                           readingList     regexpTest:ebusd/scan\x2e35/:.* { json2nameValue($EVENT) }
                     2021-07-14 16:14:06   MF_value        Kromschroeder2
                     2021-07-14 16:14:06   SW_value        2727

Beta-User

Zitat von: rudolfkoenig am 14 Juli 2021, 16:16:03
Ich habe mehr "Glueck":
Ich auch, wenn ich eine "Kleinigkeit" ändere...: Die Ursache scheint der "passende" bridgeRegexp-Eintrag am ebus-Gerät zu sein. Lösche ich den (2. Zeile reicht) , klappt es bei mir auch, allerdings kommen die Readings dann an einem anderen Gerät, was auch nicht unbedingt im Sinne des Erfinders sein dürfte.
(Ob die Payload Klartext oder JSON enthält ist egal)

Hmm. Im Moment ratlos.
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

rob

Zitat von: Beta-User am 14 Juli 2021, 15:53:07
Würde also vorschlagen, dass wir uns darum kümmern, oder gibt es substantielle Einwände?
Nein, passt für mich.

Dies wäre das Log:

2021.07.14 16:08:32 5: in:  PUBLISH: 0(25)(0)(19)ebusd/global/uptime2256
2021.07.14 16:08:32 4:   myMQTT_Server_172.17.0.3_39256 ebusd_21.2_1 PUBLISH ebusd/global/uptime:2256
2021.07.14 16:08:32 5:   myMQTT_Server_172.17.0.3_39256 ebusd_21.2_1 => ebusd/global/uptime:2256
2021.07.14 16:08:32 5: out: PUBLISH: 0(25)(0)(19)ebusd/global/uptime2256
2021.07.14 16:08:32 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\0002256
2021.07.14 16:08:35 5: in:  PINGREQ: (192)(0)
2021.07.14 16:08:35 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:08:35 5: out: PINGRESP: (208)(0)
2021.07.14 16:08:36 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/running\000false
2021.07.14 16:08:36 4: Connection closed for myMQTT_Server_172.17.0.3_39256: EOF
2021.07.14 16:08:38 4: Connection accepted from myMQTT_Server_172.17.0.3_46184
2021.07.14 16:08:38 5: in:  CONNECT: (16)7(0)(6)MQIsdp(3)&(0)<(0)(12)ebusd_21.2_1(0)(20)ebusd/global/running(0)(5)false
2021.07.14 16:08:38 4:   myMQTT_Server_172.17.0.3_46184 cid:ebusd_21.2_1 CONNECT V:3 keepAlive:60 LWT:ebusd/global/running:false
2021.07.14 16:08:38 5: out: CONNACK:  (2)(0)(0)
2021.07.14 16:08:38 5: in:  PUBLISH: 1((0)(20)ebusd/global/version"ebusd 21.2.v21.2"
2021.07.14 16:08:38 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/version:"ebusd 21.2.v21.2"
2021.07.14 16:08:38 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/version\000"ebusd 21.2.v21.2"
2021.07.14 16:08:38 5: in:  PUBLISH: 1(26)(0)(20)ebusd/global/runningtrue
2021.07.14 16:08:38 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/running:true
2021.07.14 16:08:38 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/running\000true
2021.07.14 16:08:38 5: in:  SUBSCRIBE: (130)(12)(0)(3)(0)(7)ebusd/#(0)
2021.07.14 16:08:38 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 SUBSCRIBE
2021.07.14 16:08:38 4:   topic:ebusd/# qos:0
2021.07.14 16:08:38 5: out: SUBACK: (144)(3)(0)(3)(1)
2021.07.14 16:08:39 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/signal:true
2021.07.14 16:08:39 5: out: PUBLISH: 0(25)(0)(19)ebusd/global/signaltrue
2021.07.14 16:08:39 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/updatecheck:"OK"
2021.07.14 16:08:39 5: out: PUBLISH: 0(30)(0)(24)ebusd/global/updatecheck"OK"
2021.07.14 16:08:39 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/scan:"finished"
2021.07.14 16:08:39 5: out: PUBLISH: 0(29)(0)(17)ebusd/global/scan"finished"
2021.07.14 16:08:39 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/version:"ebusd 21.2.v21.2"
2021.07.14 16:08:39 5: out: PUBLISH: 0((0)(20)ebusd/global/version"ebusd 21.2.v21.2"
2021.07.14 16:08:39 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/running:true
2021.07.14 16:08:39 5: out: PUBLISH: 0(26)(0)(20)ebusd/global/runningtrue
2021.07.14 16:08:40 5: in:  PINGREQ: (192)(0)
2021.07.14 16:08:40 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:08:40 5: out: PINGRESP: (208)(0)
2021.07.14 16:08:48 5: in:  PUBLISH: 1(28)(0)(17)ebusd/global/scan"running"
2021.07.14 16:08:48 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/scan:"running"
2021.07.14 16:08:48 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/scan:"running"
2021.07.14 16:08:48 5: out: PUBLISH: 0(28)(0)(17)ebusd/global/scan"running"
2021.07.14 16:08:48 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/scan\000"running"
2021.07.14 16:08:54 5: in:  PUBLISH: 1(29)(0)(17)ebusd/global/scan"finished"
2021.07.14 16:08:54 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/scan:"finished"
2021.07.14 16:08:54 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/scan:"finished"
2021.07.14 16:08:54 5: out: PUBLISH: 0(29)(0)(17)ebusd/global/scan"finished"
2021.07.14 16:08:54 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/scan\000"finished"
2021.07.14 16:08:54 5: in:  PUBLISH: 0(23)(0)(19)ebusd/global/uptime16
2021.07.14 16:08:54 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:16
2021.07.14 16:08:54 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:16
2021.07.14 16:08:54 5: out: PUBLISH: 0(23)(0)(19)ebusd/global/uptime16
2021.07.14 16:08:54 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\00016
2021.07.14 16:08:54 5: in:  PUBLISH: 1(25)(0)(19)ebusd/global/signaltrue
2021.07.14 16:08:54 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/signal:true
2021.07.14 16:08:54 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/signal:true
2021.07.14 16:08:54 5: out: PUBLISH: 0(25)(0)(19)ebusd/global/signaltrue
2021.07.14 16:08:54 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/signal\000true
2021.07.14 16:09:05 5: in:  PINGREQ: (192)(0)
2021.07.14 16:09:05 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:09:05 5: out: PINGRESP: (208)(0)
2021.07.14 16:09:10 5: in:  PINGREQ: (192)(0)
2021.07.14 16:09:10 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:09:10 5: out: PINGRESP: (208)(0)
2021.07.14 16:09:10 5: in:  PUBLISH: 0(23)(0)(19)ebusd/global/uptime32
2021.07.14 16:09:10 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:32
2021.07.14 16:09:10 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:32
2021.07.14 16:09:10 5: out: PUBLISH: 0(23)(0)(19)ebusd/global/uptime32
2021.07.14 16:09:10 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\00032
2021.07.14 16:09:26 5: in:  PUBLISH: 0(23)(0)(19)ebusd/global/uptime48
2021.07.14 16:09:26 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:48
2021.07.14 16:09:26 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:48
2021.07.14 16:09:26 5: out: PUBLISH: 0(23)(0)(19)ebusd/global/uptime48
2021.07.14 16:09:26 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\00048
2021.07.14 16:09:35 5: in:  PINGREQ: (192)(0)
2021.07.14 16:09:35 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:09:35 5: out: PINGRESP: (208)(0)
2021.07.14 16:09:40 5: in:  PINGREQ: (192)(0)
2021.07.14 16:09:40 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:09:40 5: out: PINGRESP: (208)(0)
2021.07.14 16:09:42 5: in:  PUBLISH: 0(23)(0)(19)ebusd/global/uptime64
2021.07.14 16:09:42 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:64
2021.07.14 16:09:42 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:64
2021.07.14 16:09:42 5: out: PUBLISH: 0(23)(0)(19)ebusd/global/uptime64
2021.07.14 16:09:42 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\00064
2021.07.14 16:09:58 5: in:  PUBLISH: 0(23)(0)(19)ebusd/global/uptime80
2021.07.14 16:09:58 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:80
2021.07.14 16:09:58 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:80
2021.07.14 16:09:58 5: out: PUBLISH: 0(23)(0)(19)ebusd/global/uptime80
2021.07.14 16:09:58 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\00080
2021.07.14 16:10:05 5: in:  PINGREQ: (192)(0)
2021.07.14 16:10:05 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:10:05 5: out: PINGRESP: (208)(0)
2021.07.14 16:10:07 5: in:  PINGREQ: (192)(0)
2021.07.14 16:10:07 4:   myMQTT_Server_192.168.0.40_56622 yi_cam1 PINGREQ
2021.07.14 16:10:07 5: out: PINGRESP: (208)(0)
2021.07.14 16:10:10 5: in:  PINGREQ: (192)(0)
2021.07.14 16:10:10 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:10:10 5: out: PINGRESP: (208)(0)
2021.07.14 16:10:14 5: in:  PUBLISH: 0(23)(0)(19)ebusd/global/uptime96
2021.07.14 16:10:14 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:96
2021.07.14 16:10:14 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:96
2021.07.14 16:10:14 5: out: PUBLISH: 0(23)(0)(19)ebusd/global/uptime96
2021.07.14 16:10:14 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\00096
2021.07.14 16:10:30 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime112
2021.07.14 16:10:30 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:112
2021.07.14 16:10:30 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:112
2021.07.14 16:10:30 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime112
2021.07.14 16:10:30 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000112
2021.07.14 16:10:35 5: in:  PINGREQ: (192)(0)
2021.07.14 16:10:35 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:10:35 5: out: PINGRESP: (208)(0)
2021.07.14 16:10:40 5: in:  PINGREQ: (192)(0)
2021.07.14 16:10:40 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:10:40 5: out: PINGRESP: (208)(0)
2021.07.14 16:10:46 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime128
2021.07.14 16:10:46 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:128
2021.07.14 16:10:46 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:128
2021.07.14 16:10:46 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime128
2021.07.14 16:10:46 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000128
2021.07.14 16:10:54 5: in:  PUBLISH: 1(30)(0)(24)ebusd/global/updatecheck"OK"
2021.07.14 16:10:54 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/updatecheck:"OK"
2021.07.14 16:10:54 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/updatecheck:"OK"
2021.07.14 16:10:54 5: out: PUBLISH: 0(30)(0)(24)ebusd/global/updatecheck"OK"
2021.07.14 16:10:54 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/updatecheck\000"OK"
2021.07.14 16:11:02 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime144
2021.07.14 16:11:02 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:144
2021.07.14 16:11:02 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:144
2021.07.14 16:11:02 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime144
2021.07.14 16:11:02 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000144
2021.07.14 16:11:05 5: in:  PINGREQ: (192)(0)
2021.07.14 16:11:05 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:11:05 5: out: PINGRESP: (208)(0)
2021.07.14 16:11:10 5: in:  PINGREQ: (192)(0)
2021.07.14 16:11:10 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:11:10 5: out: PINGRESP: (208)(0)
2021.07.14 16:11:15 5: in:  PUBLISH: 0(223)(3)(0)(25)tele/tasmota_RGBW01/STATE{"Time":"2021-07-14T15:11:13","Uptime":"44T19:18:01","UptimeSec":3871081,"Heap":28,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":44,"POWER1":"off","Dimmer":88,"Color":"4B00E000","HSBColor":"260,100,88","White":0,"Channel":[29,0,88,0],"Scheme":0,"Fade":"off","Speed":1,"LedTable":"on","Wifi":{"AP":1,"SSId":"","BSSId":"","Channel":1,"RSSI":56,"Signal":-72,"LinkCount":4,"Downtime":"0T00:00:21"}}
2021.07.14 16:11:15 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PUBLISH tele/tasmota_RGBW01/STATE:{"Time":"2021-07-14T15:11:13","Uptime":"44T19:18:01","UptimeSec":3871081,"Heap":28,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":44,"POWER1":"off","Dimmer":88,"Color":"4B00E000","HSBColor":"260,100,88","White":0,"Channel":[29,0,88,0],"Scheme":0,"Fade":"off","Speed":1,"LedTable":"on","Wifi":{"AP":1,"SSId":"","BSSId":"","Channel":1,"RSSI":56,"Signal":-72,"LinkCount":4,"Downtime":"0T00:00:21"}}
2021.07.14 16:11:15 5: myMQTT_Server: dispatch autocreate=simple\000RGBW01\000tele/tasmota_RGBW01/STATE\000{"Time":"2021-07-14T15:11:13","Uptime":"44T19:18:01","UptimeSec":3871081,"Heap":28,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":44,"POWER1":"off","Dimmer":88,"Color":"4B00E000","HSBColor":"260,100,88","White":0,"Channel":[29,0,88,0],"Scheme":0,"Fade":"off","Speed":1,"LedTable":"on","Wifi":{"AP":1,"SSId":"","BSSId":"","Channel":1,"RSSI":56,"Signal":-72,"LinkCount":4,"Downtime":"0T00:00:21"}}
2021.07.14 16:11:18 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime160
2021.07.14 16:11:18 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:160
2021.07.14 16:11:18 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:160
2021.07.14 16:11:18 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime160
2021.07.14 16:11:18 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000160
2021.07.14 16:11:34 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime176
2021.07.14 16:11:34 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:176
2021.07.14 16:11:34 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:176
2021.07.14 16:11:34 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime176
2021.07.14 16:11:34 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000176
2021.07.14 16:11:35 5: in:  PINGREQ: (192)(0)
2021.07.14 16:11:35 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:11:35 5: out: PINGRESP: (208)(0)
2021.07.14 16:11:40 5: in:  PINGREQ: (192)(0)
2021.07.14 16:11:40 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:11:40 5: out: PINGRESP: (208)(0)
2021.07.14 16:11:50 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime192
2021.07.14 16:11:50 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:192
2021.07.14 16:11:50 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:192
2021.07.14 16:11:50 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime192
2021.07.14 16:11:50 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000192
2021.07.14 16:12:05 5: in:  PINGREQ: (192)(0)
2021.07.14 16:12:05 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:12:05 5: out: PINGRESP: (208)(0)
2021.07.14 16:12:06 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime208
2021.07.14 16:12:06 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:208
2021.07.14 16:12:06 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:208
2021.07.14 16:12:06 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime208
2021.07.14 16:12:06 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000208
2021.07.14 16:12:08 5: in:  PINGREQ: (192)(0)
2021.07.14 16:12:08 4:   myMQTT_Server_192.168.0.40_56622 yi_cam1 PINGREQ
2021.07.14 16:12:08 5: out: PINGRESP: (208)(0)
2021.07.14 16:12:13 5: in:  PINGREQ: (192)(0)
2021.07.14 16:12:13 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:12:13 5: out: PINGRESP: (208)(0)
2021.07.14 16:12:22 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime224
2021.07.14 16:12:22 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:224
2021.07.14 16:12:22 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:224
2021.07.14 16:12:22 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime224
2021.07.14 16:12:22 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000224
2021.07.14 16:12:35 5: in:  PINGREQ: (192)(0)
2021.07.14 16:12:35 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:12:35 5: out: PINGRESP: (208)(0)
2021.07.14 16:12:38 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime240
2021.07.14 16:12:38 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:240
2021.07.14 16:12:38 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:240
2021.07.14 16:12:38 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime240
2021.07.14 16:12:38 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000240
2021.07.14 16:12:40 5: in:  PINGREQ: (192)(0)
2021.07.14 16:12:40 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:12:40 5: out: PINGRESP: (208)(0)
2021.07.14 16:12:54 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime256
2021.07.14 16:12:54 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:256
2021.07.14 16:12:54 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:256
2021.07.14 16:12:54 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime256
2021.07.14 16:12:54 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000256
2021.07.14 16:13:05 5: in:  PINGREQ: (192)(0)
2021.07.14 16:13:05 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:13:05 5: out: PINGRESP: (208)(0)
2021.07.14 16:13:10 5: in:  PINGREQ: (192)(0)
2021.07.14 16:13:10 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:13:10 5: out: PINGRESP: (208)(0)
2021.07.14 16:13:10 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime272
2021.07.14 16:13:10 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:272
2021.07.14 16:13:10 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:272
2021.07.14 16:13:10 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime272
2021.07.14 16:13:10 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000272
2021.07.14 16:13:26 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime288
2021.07.14 16:13:26 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:288
2021.07.14 16:13:26 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:288
2021.07.14 16:13:26 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime288
2021.07.14 16:13:26 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000288
2021.07.14 16:13:29 5: in:  PUBLISH: 0(224)(3)(0)(25)tele/tasmota_RGBW02/STATE{"Time":"2021-07-14T15:13:28","Uptime":"9T08:34:42","UptimeSec":808482,"Heap":27,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":21,"POWER1":"off","Dimmer":100,"Color":"FF00D400","HSBColor":"310,100,100","White":0,"Channel":[100,0,83,0],"Scheme":3,"Fade":"off","Speed":5,"LedTable":"on","Wifi":{"AP":1,"SSId":"","BSSId":"","Channel":1,"RSSI":54,"Signal":-73,"LinkCount":2,"Downtime":"0T00:00:06"}}
2021.07.14 16:13:29 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PUBLISH tele/tasmota_RGBW02/STATE:{"Time":"2021-07-14T15:13:28","Uptime":"9T08:34:42","UptimeSec":808482,"Heap":27,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":21,"POWER1":"off","Dimmer":100,"Color":"FF00D400","HSBColor":"310,100,100","White":0,"Channel":[100,0,83,0],"Scheme":3,"Fade":"off","Speed":5,"LedTable":"on","Wifi":{"AP":1,"SSId":"","BSSId":"","Channel":1,"RSSI":54,"Signal":-73,"LinkCount":2,"Downtime":"0T00:00:06"}}
2021.07.14 16:13:29 5: myMQTT_Server: dispatch autocreate=simple\000RGBW02\000tele/tasmota_RGBW02/STATE\000{"Time":"2021-07-14T15:13:28","Uptime":"9T08:34:42","UptimeSec":808482,"Heap":27,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":21,"POWER1":"off","Dimmer":100,"Color":"FF00D400","HSBColor":"310,100,100","White":0,"Channel":[100,0,83,0],"Scheme":3,"Fade":"off","Speed":5,"LedTable":"on","Wifi":{"AP":1,"SSId":"","BSSId":"","Channel":1,"RSSI":54,"Signal":-73,"LinkCount":2,"Downtime":"0T00:00:06"}}
2021.07.14 16:13:35 5: in:  PINGREQ: (192)(0)
2021.07.14 16:13:35 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:13:35 5: out: PINGRESP: (208)(0)
2021.07.14 16:13:40 5: in:  PINGREQ: (192)(0)
2021.07.14 16:13:40 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:13:40 5: out: PINGRESP: (208)(0)
2021.07.14 16:13:42 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime304
2021.07.14 16:13:42 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:304
2021.07.14 16:13:42 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:304
2021.07.14 16:13:42 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime304
2021.07.14 16:13:42 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000304
2021.07.14 16:13:58 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime320
2021.07.14 16:13:58 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:320
2021.07.14 16:13:58 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:320
2021.07.14 16:13:58 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime320
2021.07.14 16:13:58 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000320
2021.07.14 16:14:05 5: in:  PINGREQ: (192)(0)
2021.07.14 16:14:05 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:14:05 5: out: PINGRESP: (208)(0)
2021.07.14 16:14:07 5: in:  PINGREQ: (192)(0)
2021.07.14 16:14:07 4:   myMQTT_Server_192.168.0.40_56622 yi_cam1 PINGREQ
2021.07.14 16:14:07 5: out: PINGRESP: (208)(0)
2021.07.14 16:14:10 5: in:  PINGREQ: (192)(0)
2021.07.14 16:14:10 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:14:10 5: out: PINGRESP: (208)(0)
2021.07.14 16:14:14 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime336
2021.07.14 16:14:14 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:336
2021.07.14 16:14:14 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:336
2021.07.14 16:14:14 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime336
2021.07.14 16:14:14 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000336
2021.07.14 16:14:30 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime352
2021.07.14 16:14:30 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:352
2021.07.14 16:14:30 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:352
2021.07.14 16:14:30 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime352
2021.07.14 16:14:30 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000352
2021.07.14 16:14:35 5: in:  PINGREQ: (192)(0)
2021.07.14 16:14:35 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:14:35 5: out: PINGRESP: (208)(0)
2021.07.14 16:14:40 5: in:  PINGREQ: (192)(0)
2021.07.14 16:14:40 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:14:40 5: out: PINGRESP: (208)(0)
2021.07.14 16:14:46 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime368
2021.07.14 16:14:46 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:368
2021.07.14 16:14:46 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:368
2021.07.14 16:14:46 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime368
2021.07.14 16:14:46 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000368
2021.07.14 16:15:02 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime384
2021.07.14 16:15:02 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:384
2021.07.14 16:15:02 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:384
2021.07.14 16:15:02 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime384
2021.07.14 16:15:02 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000384
2021.07.14 16:15:05 5: in:  PINGREQ: (192)(0)
2021.07.14 16:15:05 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:15:05 5: out: PINGRESP: (208)(0)
2021.07.14 16:15:10 5: in:  PINGREQ: (192)(0)
2021.07.14 16:15:10 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:15:10 5: out: PINGRESP: (208)(0)
2021.07.14 16:15:18 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime400
2021.07.14 16:15:18 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:400
2021.07.14 16:15:18 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:400
2021.07.14 16:15:18 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime400
2021.07.14 16:15:18 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000400
2021.07.14 16:15:34 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime416
2021.07.14 16:15:34 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:416
2021.07.14 16:15:34 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:416
2021.07.14 16:15:34 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime416
2021.07.14 16:15:34 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000416
2021.07.14 16:15:35 5: in:  PINGREQ: (192)(0)
2021.07.14 16:15:35 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:15:35 5: out: PINGRESP: (208)(0)
2021.07.14 16:15:40 5: in:  PINGREQ: (192)(0)
2021.07.14 16:15:40 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:15:40 5: out: PINGRESP: (208)(0)
2021.07.14 16:15:50 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime432
2021.07.14 16:15:50 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:432
2021.07.14 16:15:50 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:432
2021.07.14 16:15:50 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime432
2021.07.14 16:15:50 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000432
2021.07.14 16:16:05 5: in:  PINGREQ: (192)(0)
2021.07.14 16:16:05 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:16:05 5: out: PINGRESP: (208)(0)
2021.07.14 16:16:06 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime448
2021.07.14 16:16:06 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:448
2021.07.14 16:16:06 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:448
2021.07.14 16:16:06 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime448
2021.07.14 16:16:06 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000448
2021.07.14 16:16:08 5: in:  PINGREQ: (192)(0)
2021.07.14 16:16:08 4:   myMQTT_Server_192.168.0.40_56622 yi_cam1 PINGREQ
2021.07.14 16:16:08 5: out: PINGRESP: (208)(0)
2021.07.14 16:16:10 5: in:  PINGREQ: (192)(0)
2021.07.14 16:16:10 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:16:10 5: out: PINGRESP: (208)(0)
2021.07.14 16:16:15 5: in:  PUBLISH: 0(223)(3)(0)(25)tele/tasmota_RGBW01/STATE{"Time":"2021-07-14T15:16:13","Uptime":"44T19:23:01","UptimeSec":3871381,"Heap":28,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":44,"POWER1":"off","Dimmer":88,"Color":"4B00E000","HSBColor":"260,100,88","White":0,"Channel":[29,0,88,0],"Scheme":0,"Fade":"off","Speed":1,"LedTable":"on","Wifi":{"AP":1,"SSId":"","BSSId":"","Channel":1,"RSSI":56,"Signal":-72,"LinkCount":4,"Downtime":"0T00:00:21"}}
2021.07.14 16:16:15 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PUBLISH tele/tasmota_RGBW01/STATE:{"Time":"2021-07-14T15:16:13","Uptime":"44T19:23:01","UptimeSec":3871381,"Heap":28,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":44,"POWER1":"off","Dimmer":88,"Color":"4B00E000","HSBColor":"260,100,88","White":0,"Channel":[29,0,88,0],"Scheme":0,"Fade":"off","Speed":1,"LedTable":"on","Wifi":{"AP":1,"SSId":"","BSSId":"","Channel":1,"RSSI":56,"Signal":-72,"LinkCount":4,"Downtime":"0T00:00:21"}}
2021.07.14 16:16:15 5: myMQTT_Server: dispatch autocreate=simple\000RGBW01\000tele/tasmota_RGBW01/STATE\000{"Time":"2021-07-14T15:16:13","Uptime":"44T19:23:01","UptimeSec":3871381,"Heap":28,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":44,"POWER1":"off","Dimmer":88,"Color":"4B00E000","HSBColor":"260,100,88","White":0,"Channel":[29,0,88,0],"Scheme":0,"Fade":"off","Speed":1,"LedTable":"on","Wifi":{"AP":1,"SSId":"","BSSId":"","Channel":1,"RSSI":56,"Signal":-72,"LinkCount":4,"Downtime":"0T00:00:21"}}
2021.07.14 16:16:22 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime464
2021.07.14 16:16:22 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:464
2021.07.14 16:16:22 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:464
2021.07.14 16:16:22 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime464
2021.07.14 16:16:22 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000464
2021.07.14 16:16:35 5: in:  PINGREQ: (192)(0)
2021.07.14 16:16:35 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:16:35 5: out: PINGRESP: (208)(0)
2021.07.14 16:16:38 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime480
2021.07.14 16:16:38 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:480
2021.07.14 16:16:38 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:480
2021.07.14 16:16:38 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime480
2021.07.14 16:16:38 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000480
2021.07.14 16:16:41 5: in:  PINGREQ: (192)(0)
2021.07.14 16:16:41 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:16:41 5: out: PINGRESP: (208)(0)
2021.07.14 16:16:54 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime496
2021.07.14 16:16:54 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:496
2021.07.14 16:16:54 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:496
2021.07.14 16:16:54 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime496
2021.07.14 16:16:54 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000496
2021.07.14 16:17:04 5: in:  PINGREQ: (192)(0)
2021.07.14 16:17:04 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:17:04 5: out: PINGRESP: (208)(0)
2021.07.14 16:17:09 5: in:  PINGREQ: (192)(0)
2021.07.14 16:17:09 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:17:09 5: out: PINGRESP: (208)(0)
2021.07.14 16:17:10 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime512
2021.07.14 16:17:10 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:512
2021.07.14 16:17:10 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:512
2021.07.14 16:17:10 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime512
2021.07.14 16:17:10 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000512
2021.07.14 16:17:26 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime528
2021.07.14 16:17:26 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:528
2021.07.14 16:17:26 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:528
2021.07.14 16:17:26 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime528
2021.07.14 16:17:26 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000528
2021.07.14 16:17:34 5: in:  PINGREQ: (192)(0)
2021.07.14 16:17:34 4:   myMQTT_Server_192.168.0.14_59889 RGBW02 PINGREQ
2021.07.14 16:17:34 5: out: PINGRESP: (208)(0)
2021.07.14 16:17:39 5: in:  PINGREQ: (192)(0)
2021.07.14 16:17:39 4:   myMQTT_Server_192.168.0.13_53866 RGBW01 PINGREQ
2021.07.14 16:17:39 5: out: PINGRESP: (208)(0)
2021.07.14 16:17:42 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime544
2021.07.14 16:17:42 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:544
2021.07.14 16:17:42 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:544
2021.07.14 16:17:42 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime544
2021.07.14 16:17:42 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000544
2021.07.14 16:17:44 5: in:  PUBLISH: 1(28)(0)(17)ebusd/global/scan"running"
2021.07.14 16:17:44 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/scan:"running"
2021.07.14 16:17:44 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/scan:"running"
2021.07.14 16:17:44 5: out: PUBLISH: 0(28)(0)(17)ebusd/global/scan"running"
2021.07.14 16:17:44 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/scan\000"running"
2021.07.14 16:17:44 5: in:  PUBLISH: 0(144)(1)(0)(14)ebusd/scan.08/{(10)     "MF": {"value": "Kromschroeder"},(10)     "ID": {"value": "W "},(10)     "SW": {"value": "1200"},(10)     "HW": {"value": "0302"}}
2021.07.14 16:17:44 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/scan.08/:{
     "MF": {"value": "Kromschroeder"},
     "ID": {"value": "W "},
     "SW": {"value": "1200"},
     "HW": {"value": "0302"}}
2021.07.14 16:17:44 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/scan.08/:{
     "MF": {"value": "Kromschroeder"},
     "ID": {"value": "W "},
     "SW": {"value": "1200"},
     "HW": {"value": "0302"}}
2021.07.14 16:17:44 5: out: PUBLISH: 0(144)(1)(0)(14)ebusd/scan.08/{(10)     "MF": {"value": "Kromschroeder"},(10)     "ID": {"value": "W "},(10)     "SW": {"value": "1200"},(10)     "HW": {"value": "0302"}}
2021.07.14 16:17:44 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/scan.08/\000{\n     "MF": {"value": "Kromschroeder"},\n     "ID": {"value": "W "},\n     "SW": {"value": "1200"},\n     "HW": {"value": "0302"}}
2021.07.14 16:17:44 5: in:  PUBLISH: 0(147)(1)(0)(14)ebusd/scan.f6/{(10)     "MF": {"value": "Kromschroeder"},(10)     "ID": {"value": "WWST?"},(10)     "SW": {"value": "1200"},(10)     "HW": {"value": "0302"}}
2021.07.14 16:17:44 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/scan.f6/:{
     "MF": {"value": "Kromschroeder"},
     "ID": {"value": "WWST?"},
     "SW": {"value": "1200"},
     "HW": {"value": "0302"}}
2021.07.14 16:17:44 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/scan.f6/:{
     "MF": {"value": "Kromschroeder"},
     "ID": {"value": "WWST?"},
     "SW": {"value": "1200"},
     "HW": {"value": "0302"}}
2021.07.14 16:17:44 5: out: PUBLISH: 0(147)(1)(0)(14)ebusd/scan.f6/{(10)     "MF": {"value": "Kromschroeder"},(10)     "ID": {"value": "WWST?"},(10)     "SW": {"value": "1200"},(10)     "HW": {"value": "0302"}}
2021.07.14 16:17:44 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/scan.f6/\000{\n     "MF": {"value": "Kromschroeder"},\n     "ID": {"value": "WWST?"},\n     "SW": {"value": "1200"},\n     "HW": {"value": "0302"}}
2021.07.14 16:17:46 5: in:  PUBLISH: 1(29)(0)(17)ebusd/global/scan"finished"
2021.07.14 16:17:46 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/scan:"finished"
2021.07.14 16:17:46 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/scan:"finished"
2021.07.14 16:17:46 5: out: PUBLISH: 0(29)(0)(17)ebusd/global/scan"finished"
2021.07.14 16:17:46 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/scan\000"finished"
2021.07.14 16:17:58 5: in:  PUBLISH: 0(24)(0)(19)ebusd/global/uptime560
2021.07.14 16:17:58 4:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 PUBLISH ebusd/global/uptime:560
2021.07.14 16:17:58 5:   myMQTT_Server_172.17.0.3_46184 ebusd_21.2_1 => ebusd/global/uptime:560
2021.07.14 16:17:58 5: out: PUBLISH: 0(24)(0)(19)ebusd/global/uptime560
2021.07.14 16:17:58 5: myMQTT_Server: dispatch autocreate=simple\000ebusd_21.2_1\000ebusd/global/uptime\000560


Viele Grüße
rob

Beta-User

Argh, das ist tatsächlich die reguläre CID, es passt nur die bridgeRegexp nicht....

Da fehlt ein "|hc\d+"...

Kannst du das bitte mal reinfrickeln und dann das "normale" Device nochmal löschen?
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

ZitatDie Ursache scheint der "passende" bridgeRegexp-Eintrag am ebus-Gerät zu sein.
Das "erfundene" ClientId (ebusd) und das ID des Melders (m2client) sind unterschiedlich, deswegen wird readingsList ohne ClientId, nur mit regexp, angelegt. Das wiederum landet in einem Codestueck, was (im Gegensatz zum ClientID-Code) nicht weiss, dass \ im Regexp speziell behandelt wird, und meint es deswegen besser optimieren zu koennen.

Ich habe die Pruefung jetzt mit \ erweitert, das Problem ist damit erstmal weg.

Warum ich diese Unterscheidung bei ungleichen ClientIDs gemacht habe, will mir nicht einfallen, deswegen fasse ich diese Stelle auch nicht an.

Beta-User

Thx.

Ich denke zwischenzeitlich, dass
a) die "erfundene" CID auch irgendwie zu kurz gegriffen ist, und
b) der ebus-splitter sowieso eine readingList spendiert bekommen sollte.

Würde folgende rL vorschlagen:ebusd/scan.\d+/.*:.* { $TOPIC =~ m,scan.(\d+)/,; json2nameValue($EVENT,"scan_${1}_") }
(Am Ergebnis "stören" eigentlich nur die "value"-postfixes).
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

rob

Bin nicht sicher, ob ich da richtig mitgekommen bin:
- device ebusd_21.2_1 löschen ✅
- regex im splitter erweitern ✅
- readingsList im splitter ergänzen ✅
- ebus-docker restarten ✅

list -r .*[E|e]bus.* sagt:

define FileLog_MQTT2_ebusd_sc FileLog ./log/MQTT2_ebusd_sc-%Y-%m-%d.log MQTT2_ebusd_sc
attr FileLog_MQTT2_ebusd_sc group Gastherme
attr FileLog_MQTT2_ebusd_sc logtype text
attr FileLog_MQTT2_ebusd_sc room 12_Heizraum,MQTT2_DEVICE

define MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc group Gastherme
attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { json2nameValue($EVENT, '', $JSONMAP) }
attr MQTT2_ebusd_sc room 12_Heizraum,MQTT2_DEVICE

define MyEbus_MQTT MQTT2_DEVICE ebusd
attr MyEbus_MQTT IODev myMQTT_Server
attr MyEbus_MQTT autocreate 1
attr MyEbus_MQTT bridgeRegexp attr MyEbus_MQTT bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|hc\d+|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\\
(ebus\S[^/]*?)/(global|broadcast|general|scan([^/]*))/.*:.* "$1"
attr MyEbus_MQTT comment NOTE: additional templates and code have been downloaded from svn (contrib).
attr MyEbus_MQTT devStateIcon 1.true:it_net 1.false:it_net@red  2.true:lan_rs485 2.false:lan_rs485@red
attr MyEbus_MQTT group Gastherme
attr MyEbus_MQTT icon sani_boiler_temp
attr MyEbus_MQTT model eBus_daemon_splitter
attr MyEbus_MQTT readingList ebusd/global/uptime:.* uptime\
ebusd/global/running:.* running\
ebusd/global/version:.* version\
ebusd/global/signal:.* signal\
ebusd/scan.\d+/.*:.* { $TOPIC =~ m,scan.(\d+)/,;; json2nameValue($EVENT,"scan_${1}_") }\
ebusd/global/updatecheck:.* updatecheck\
ebusd/global/scan:.* scan\
ebusd/scan\x2ef6/:.* { json2nameValue($EVENT) }
attr MyEbus_MQTT room 12_Heizraum,MQTT2_DEVICE
attr MyEbus_MQTT setList getKnown:noArg ebusd/list onlyknown\
  getAll:noArg ebusd/list
attr MyEbus_MQTT stateFormat Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: formatedUptime
attr MyEbus_MQTT userReadings formatedUptime:uptime.* {my $m = ReadingsVal($name,"uptime",0)/60;;;; return sprintf "0 000 00:%02d", $m if $m < 60;;;; my $h = $m / 60;;;; $m %= 60;;;; return sprintf "0 000 %02d:%02d", $h, $m if $h < 24;;;; my $d = $h / 24;;;; $h %= 24;;;; return sprintf "0 %03d %02d:%02d", $d, $h, $m if $d <365;;;; my $y = $d / 365;;;; $d %= 365;;;; return sprintf "%d %03d %02d:%02d", $y, $d, $h, $m}
attr MyEbus_MQTT verbose 0

setstate FileLog_MQTT2_ebusd_sc active
setstate FileLog_MQTT2_ebusd_sc 2021-07-14 15:28:36 linesInTheFile 4511

setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 DHWTemp_value 46.0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Error_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 ExternalTemp_value 20
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Flame_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 GasValve1_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 GasValve2_value 0
setstate MQTT2_ebusd_sc 2021-07-14 08:49:26 IODev myMQTT_Server
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Load_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Operatingphase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Pump_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 SettingUV_value Heating
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 SoWi_value Summer
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Status1_value 1
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 SupplySetTemp_value 8
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 SupplyTemp_value 22.0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 TrendTemp_value 17.457
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Ukn2_1_value 1
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Ukn2_2_value 1
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Ukn2_3_value 1
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Ukn3_1_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Ukn3_3_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Ukn3_4_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Ukn3_5_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Ukn3_6_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 Ukn3_7_value 0
setstate MQTT2_ebusd_sc 2021-07-14 15:28:36 UknTemp_value 0.0
setstate MQTT2_ebusd_sc 2021-07-12 14:35:13 associatedWith MyEbus_MQTT

setstate MyEbus_MQTT Status: \
1:true\
Signal: \
2:true\
<br>Uptime: 0 000 00:10
setstate MyEbus_MQTT 2021-07-14 18:07:46 associatedWith MyEbus_MQTT
setstate MyEbus_MQTT 2021-07-14 18:10:54 formatedUptime 0 000 00:10
setstate MyEbus_MQTT 2021-07-14 18:00:30 running true
setstate MyEbus_MQTT 2021-07-14 18:07:52 scan "finished"
setstate MyEbus_MQTT 2021-07-14 18:07:46 scan_08_HW_value 0302
setstate MyEbus_MQTT 2021-07-14 18:07:46 scan_08_ID_value W
setstate MyEbus_MQTT 2021-07-14 18:07:46 scan_08_MF_value Kromschroeder
setstate MyEbus_MQTT 2021-07-14 18:07:46 scan_08_SW_value 1200
setstate MyEbus_MQTT 2021-07-14 18:00:46 signal true
setstate MyEbus_MQTT 2021-07-14 18:03:00 updatecheck "OK"
setstate MyEbus_MQTT 2021-07-14 18:10:54 uptime 624
setstate MyEbus_MQTT 2021-07-14 18:00:30 version "ebusd 21.2.v21.2"


Das Device ebusd_21.2_1 bleibt weg. Die darin enthaltenen Readings auch.

Beta-User

Zitat von: rob am 14 Juli 2021, 18:12:50
Bin nicht sicher, ob ich da richtig mitgekommen bin:
Paßt soweit, das "Doppel" kann weg:
ebusd/scan\x2ef6/:.* { json2nameValue($EVENT) }

Habe auch den konsolidierten Stand ins update gepackt, ist ab 8:00 Uhr verfügbar (das "e" ist ergänzt, sonst hat sich an den svn-templates nichts geändert)

Zitat
Das Device ebusd_21.2_1 bleibt weg. Die darin enthaltenen Readings auch.
Das ist seltsam. Die wahrscheinlichste Ursache dürfe sein, dass schlicht keine Infos über MQTT kommen. Siehst du was in mosquitto_sub, das zu dem Gerät gehört?
(ggf. mal ein "getKnown" ausführen).

(Fälle, in denen Nachrichten eingehen, das aber nicht zu autocreate führt, obwohl eine gültige CID vorhanden ist, ist mir - abgesehen von dem bridgeRegexp-Problem, das wir hier diskutiert hatten - nicht in Erinnerung...)

Bzgl. des "MQTT2_ebusd_sc": Da wäre jetzt jsonMap dran ;) .
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

rob

Das ging wirklich schnell  8)

Update ausgeführt, nochmal gecheckt - jetzt sagt er "nothing to do".

Zitat von: Beta-User am 15 Juli 2021, 07:17:59
Die wahrscheinlichste Ursache dürfe sein, dass schlicht keine Infos über MQTT kommen.
So ist es. War Eigenmurks. Hatte gestern Abend noch versucht die CSV-Anleitungen in john30s Github-WIKI zu verstehen und vorsichtshalber ebus mit "-r" gestartet (Bus nur readonly abhorchen). Führt komischerweise dazu, dass keine CSV mehr geladen werden und somit keine Werte dekodiert versendet werden können. Kurios. Readonly ist raus, jetzt kommt wieder alles.

Hab heute alle Devices gelöscht (damit ich nichts übersehe, update war vorher). Autocreate auf simple belassen. Docker restartet. Ein Device wurde wie erwartet angelegt (das MQTT2_ebusd_21.2_1). Split darauf angewandt.

Diese Devices sind entstanden (list -r .*ebus.*)

define FileLog_MQTT2_ebusd_21.2_1 FileLog ./log/MQTT2_ebusd_21.2_1-%Y.log MQTT2_ebusd_21.2_1
attr FileLog_MQTT2_ebusd_21.2_1 logtype text
attr FileLog_MQTT2_ebusd_21.2_1 room MQTT2_DEVICE

define FileLog_MQTT2_ebusd_hc1 FileLog ./log/MQTT2_ebusd_hc1-%Y.log MQTT2_ebusd_hc1
attr FileLog_MQTT2_ebusd_hc1 logtype text
attr FileLog_MQTT2_ebusd_hc1 room MQTT2_DEVICE

define FileLog_MQTT2_ebusd_sc FileLog ./log/MQTT2_ebusd_sc-%Y.log MQTT2_ebusd_sc
attr FileLog_MQTT2_ebusd_sc logtype text
attr FileLog_MQTT2_ebusd_sc room MQTT2_DEVICE

define MQTT2_ebusd_21.2_1 MQTT2_DEVICE ebusd
attr MQTT2_ebusd_21.2_1 autocreate 1
attr MQTT2_ebusd_21.2_1 bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|hc\d+|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus\S[^/]*?)/(global|broadcast|general|scan[^/]+)/.*:.* "$1"
attr MQTT2_ebusd_21.2_1 comment NOTE: additional templates and code have been downloaded from svn (contrib).<br>Pls. inform the maintainer, if the bridgeRegexp doesn't fit to all of your devices connected to the bus.
attr MQTT2_ebusd_21.2_1 devStateIcon 1.true:it_net 1.false:it_net@red  2.true:lan_rs485 2.false:lan_rs485@red
attr MQTT2_ebusd_21.2_1 icon sani_boiler_temp
attr MQTT2_ebusd_21.2_1 model eBus_daemon_splitter
attr MQTT2_ebusd_21.2_1 readingList ebusd/scan.\d+/.*:.* { $TOPIC =~ m,scan.(\d+)/,;; json2nameValue($EVENT,"scan_${1}_") }\
  ebusd/global/uptime:.* uptime\
  ebusd/global/running:.* running\
  ebusd/global/version:.* version\
  ebusd/global/signal:.* signal\
  ebusd/global/updatecheck:.* updatecheck\
  ebusd/global/scan:.* scan\
ebusd/broadcast/datetime:.* { json2nameValue($EVENT) }\
ebusd/scan\x2e0c/:.* { json2nameValue($EVENT) }\
ebusd/scan\x2ef6/:.* { json2nameValue($EVENT) }
attr MQTT2_ebusd_21.2_1 room MQTT2_DEVICE
attr MQTT2_ebusd_21.2_1 setList getKnown:noArg ebusd/list onlyknown\
  getAll:noArg ebusd/list
attr MQTT2_ebusd_21.2_1 stateFormat Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: formatedUptime
attr MQTT2_ebusd_21.2_1 userReadings formatedUptime:uptime.* {my $m = ReadingsVal($name,"uptime",0)/60;;;; return sprintf "0 000 00:%02d", $m if $m < 60;;;; my $h = $m / 60;;;; $m %= 60;;;; return sprintf "0 000 %02d:%02d", $h, $m if $h < 24;;;; my $d = $h / 24;;;; $h %= 24;;;; return sprintf "0 %03d %02d:%02d", $d, $h, $m if $d <365;;;; my $y = $d / 365;;;; $d %= 365;;;; return sprintf "%d %03d %02d:%02d", $y, $d, $h, $m}

define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { json2nameValue($EVENT) }
attr MQTT2_ebusd_hc1 room MQTT2_DEVICE

define MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { json2nameValue($EVENT) }
attr MQTT2_ebusd_sc room MQTT2_DEVICE

setstate FileLog_MQTT2_ebusd_21.2_1 active
setstate FileLog_MQTT2_ebusd_21.2_1 2021-07-15 08:55:53 linesInTheFile 415

setstate FileLog_MQTT2_ebusd_hc1 active
setstate FileLog_MQTT2_ebusd_hc1 2021-07-15 08:51:39 linesInTheFile 4

setstate FileLog_MQTT2_ebusd_sc active
setstate FileLog_MQTT2_ebusd_sc 2021-07-15 08:55:27 linesInTheFile 50

setstate MQTT2_ebusd_21.2_1 Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: 0 000 00:24
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 HW_value 0302
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 ID_value WWST?
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 MF_value Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 SW_value 1200
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 associatedWith MQTT2_ebusd_21.2_1
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 attrTemplateVersion 20200824
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:55:47 date_value 15.07.2021
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:55:53 formatedUptime 0 000 00:24
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:55:47 outsidetemp_value 15.000
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 scan_08_HW_value 0302
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 scan_08_ID_value W
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 scan_08_MF_value Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 scan_08_SW_value 1200
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 scan_35_ID_value W
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 scan_35_MF_value Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 scan_35_SW_value 2726
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 state getKnown
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:55:47 time_value 08:58:-
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:55:53 uptime 1441

setstate MQTT2_ebusd_hc1 2021-07-15 08:51:39 Action_value stopconsumer
setstate MQTT2_ebusd_hc1 2021-07-15 08:51:39 DHWSetTemp_value 48.0
setstate MQTT2_ebusd_hc1 2021-07-15 08:51:39 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1 2021-07-15 08:51:39 SetTemp_value 5.00
setstate MQTT2_ebusd_hc1 2021-07-15 08:51:39 Status_value hotwater
setstate MQTT2_ebusd_hc1 2021-07-15 08:51:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 DHWTemp_value 47.0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Error_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 ExternalTemp_value 15
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Flame_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 GasValve1_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 GasValve2_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:51:39 IODev myMQTT_Server
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Load_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Operatingphase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Pump_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 SettingUV_value Heating
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 SoWi_value Summer
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Status1_value 1
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 SupplySetTemp_value 8
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 SupplyTemp_value 40.0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 TrendTemp_value 16.398
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Ukn2_1_value 1
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Ukn2_2_value 1
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Ukn2_3_value 1
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Ukn3_1_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Ukn3_3_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Ukn3_4_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Ukn3_5_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Ukn3_6_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 Ukn3_7_value 0
setstate MQTT2_ebusd_sc 2021-07-15 08:55:26 UknTemp_value 0.0
setstate MQTT2_ebusd_sc 2021-07-15 08:51:39 associatedWith MQTT2_ebusd_21.2_1


Schaut doch gut aus  :D Das freche 'e' hat sich auch eingefunden  ;D

Beta-User

#29
Zitat von: rob am 15 Juli 2021, 09:23:52
Schaut doch gut aus  :D
::) Fast...
attr MQTT2_ebusd_21.2_1 readingList ebusd/scan[^/]+/.*:.* { $TOPIC =~ m,scan.([^/]+)/,;; json2nameValue($EVENT,"scan_${1}_") }\
Und die beiden "Irrläufer" bitte aus der rL löschen, update folgt bei Gelegenheit.

Dann wäre jetzt aber wirklich jsonMap für die beiden "Baugruppen" MQTT2_ebusd_sc und MQTT2_ebusd_hc1 dran.
Für "SetTemp_value" würde ich z.B. "desiredTemp" vorschlagen...

Nachtrag: $EVENT könnte man generell "vorbehandeln", um das "value" wegzubekommen:
$EVENT=~ s{[{]"value":\s("[^"]+")[}]}{$1}g;Kann aber sein, dass ich was übersehe...
Beispiel:
attr MyEbus_MQTT readingList ebusd/global/version:.* version\
ebusd/scan[^/]+/.*:.* { $EVENT=~ s{[{]"value":\s("[^"]+")[}]}{$1}g;; $TOPIC =~ m,scan.([^/]+)/,;; json2nameValue($EVENT,"scan_${1}_") }

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

rob

Hab es eingebaut.
list -r MQTT2_ebusd_21.2_1 sagt:

define MQTT2_ebusd_21.2_1 MQTT2_DEVICE ebusd
attr MQTT2_ebusd_21.2_1 autocreate 1
attr MQTT2_ebusd_21.2_1 bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|hc\d+|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus\S[^/]*?)/(global|broadcast|general|scan[^/]+)/.*:.* "$1"
attr MQTT2_ebusd_21.2_1 comment NOTE: additional templates and code have been downloaded from svn (contrib).<br>Pls. inform the maintainer, if the bridgeRegexp doesn't fit to all of your devices connected to the bus.
attr MQTT2_ebusd_21.2_1 devStateIcon 1.true:it_net 1.false:it_net@red  2.true:lan_rs485 2.false:lan_rs485@red
attr MQTT2_ebusd_21.2_1 icon sani_boiler_temp
attr MQTT2_ebusd_21.2_1 model eBus_daemon_splitter
attr MQTT2_ebusd_21.2_1 readingList ebusd/scan[^/]+/.*:.* { $EVENT=~ s{[{]"value":\s("[^"]+")[}]}{$1}g;; $TOPIC =~ m,scan.([^/]+)/,;; json2nameValue($EVENT,"scan_${1}_") }\
ebusd/global/uptime:.* uptime\
ebusd/broadcast/datetime:.* { json2nameValue($EVENT) }\
ebusd/global/running:.* running\
ebusd/global/version:.* version\
ebusd/global/scan:.* scan\
ebusd/global/signal:.* signal
attr MQTT2_ebusd_21.2_1 room MQTT2_DEVICE
attr MQTT2_ebusd_21.2_1 setList getKnown:noArg ebusd/list onlyknown\
  getAll:noArg ebusd/list
attr MQTT2_ebusd_21.2_1 stateFormat Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: formatedUptime
attr MQTT2_ebusd_21.2_1 userReadings formatedUptime:uptime.* {my $m = ReadingsVal($name,"uptime",0)/60;;;; return sprintf "0 000 00:%02d", $m if $m < 60;;;; my $h = $m / 60;;;; $m %= 60;;;; return sprintf "0 000 %02d:%02d", $h, $m if $h < 24;;;; my $d = $h / 24;;;; $h %= 24;;;; return sprintf "0 %03d %02d:%02d", $d, $h, $m if $d <365;;;; my $y = $d / 365;;;; $d %= 365;;;; return sprintf "%d %03d %02d:%02d", $y, $d, $h, $m}

setstate MQTT2_ebusd_21.2_1 Status: \
1:true\
Signal: \
2:true\
<br>Uptime: 0 000 00:00
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:34:17 HW_value 0302
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:34:39 ID_value ??
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:34:17 MF_value Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:34:17 SW_value 1200
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:18 associatedWith MQTT2_ebusd_21.2_1
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 attrTemplateVersion 20200824
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:42 date_value 15.07.2021
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:50 formatedUptime 0 000 00:00
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:42 outsidetemp_value 17.000
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:02 running true
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:49 scan "finished"
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:37:46 scan_08_HW_value 0302
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:37:46 scan_08_ID_value W
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:37:46 scan_08_MF_value Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:37:46 scan_08_SW_value 1200
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:48 scan_0c_ID ??
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:13 scan_35_ID W
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:34:15 scan_35_ID_value W
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:13 scan_35_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:34:15 scan_35_MF_value Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:13 scan_35_SW 2726
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:34:15 scan_35_SW_value 2726
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:16 scan_f6_HW 0302
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:16 scan_f6_ID WWST?
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:16 scan_f6_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:16 scan_f6_SW 1200
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:18 signal true
setstate MQTT2_ebusd_21.2_1 2021-07-15 08:51:39 state getKnown
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:42 time_value 12:37:-
setstate MQTT2_ebusd_21.2_1 2021-07-15 09:36:40 updatecheck "OK"
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:50 uptime 48
setstate MQTT2_ebusd_21.2_1 2021-07-15 12:34:02 version "ebusd 21.2.v21.2"


Zitat von: Beta-User am 15 Juli 2021, 11:32:23
Für "SetTemp_value" würde ich z.B. "desiredTemp" vorschlagen...
Für mich OK. Ich bin da leidenschaftslos. Du kannst besser einschätzen, was sich harmonisch einfügt/ Sinn macht.
Bei einigen Readings kann ich eh nur raten, was das sein soll z.B. TrendTemp_value - eingebaute Wettervorhersage?!? :o 8)

Wenn ich Dich richtig verstehe, möchtest Du zunächst die Readings harmonisieren, damit diese unabhängig vom Hersteller gleichartig sind. Korrekt?
Nächster Schritt wäre dann ein Template. Oder?
Ich hab die Templates durchgeschaut. Teilweise werden IODev und Topics gesetzt. Vielleicht kommt man garnicht um ein extriges "weishaupt-Templ." herum? So weit isses aber eh noch nicht.

Aus den anderen Weishaupt-Freds konnte ich nichts ziehen, was uns hier konkret helfen würde (ganz am Schluss ggf. ein paar Graphen). Was kann ich aus Deiner Sicht zur Entlastung noch beisteuern?

Beta-User

Zitat von: rob am 15 Juli 2021, 12:53:53
Für mich OK. Ich bin da leidenschaftslos. Du kannst besser einschätzen, was sich harmonisch einfügt/ Sinn macht.
Ich kann das aber auch nur bei einigen wenigen, von denen ich z.B. weiß, dass z.B. Sprachsteuerungslösungen die "gut" finden (und automatisch erkennen, um was es sich handelt ;) ). "Eigentlich" ist das im Wesentlichen eine Fleißaufgabe für User: https://forum.fhem.de/index.php/topic,117933.0.html (Hinweise bzgl. Heizungsgeräten sind v.a. bei den zigbee2mqtt-mqtt2.template-Threads zu finden).

Zitat
Bei einigen Readings kann ich eh nur raten, was das sein soll z.B. TrendTemp_value - eingebaute Wettervorhersage?!? :o 8)
Na ja, du hast "wenigstens" die Chance zu wissen, aus welchem Register die kommen; sehr vielleicht hat dann auch jemand eine Idee (von Doku ganz zu schweigen!), was sie zu bedeuten haben...

Zitat
Wenn ich Dich richtig verstehe, möchtest Du zunächst die Readings harmonisieren, damit diese unabhängig vom Hersteller gleichartig sind. Korrekt?
Einheitliche "Benennungen" von der eBus-Seite für identische Inhalte zu bekommen, wäre das Optimum, was man erreichen kann. So wie ich das verstanden habe, ginge das nur, wenn die csv's identisch wären (und z.B. bekannt, was sich eigentlich hinter welchem Register verbirgt usw.).

Soweit würde ich im Moment _nicht_ gehen wollen, das wird sonst uferlos!

Was wir beeinflussen können, sind folgende Punkte:
- sinnvolle Reading-Namen => "finden" und "festzurren", und dann ab nach jsonMap,
- Beispiele kreieren, anhand denen man als User erkennen kann, wie es funktioniert. Dann kann der User jeweils entscheiden, ob er lieber seine csv anfasst, oder die jsonMap.

Das mit den Beispielen _kann_ als attrTemplate erfolgen, und wenn wir Glück haben, könnte man dann ggf. auch einfach die jsonMap "Weishaupt"- oder "Vaillant"-spezifisch gestalten und über RADIO-Optionen in ein- und demselben attrTemplate auswählbar machen. Ich würde aber eher vermuten, dass man z.B. für ein "allgemeines Zentralheizungsgerät" ein attrTemplate hat und dann (im Wiki) erläutert, wie man es von "Weishaupf-flavour-3" auf "Vaillant-Geschmacksrichtung-b" anpasst...

Zitat
Ich hab die Templates durchgeschaut. Teilweise werden IODev und Topics gesetzt.
IODev sollte vermutlich nicht mehr gesetzt werden, was Topics angeht, wäre es nicht das erste Mal, dass man den vorhandenen readingList-Topic nimmt und dann daraus eine setList etc. bastelt. Die Struktur ist eh' klar, denn der ebusd nimmt das ja auch wieder auf "seine Art" auseinander.

Ergo: erst mal "gute Geräte" bauen, dann schauen wir, was ggf. in den "Mustergeräten" in der csv angepasst werden kann/soll, und dann sehen wir weiter ;) .

ZitatWas kann ich aus Deiner Sicht zur Entlastung noch beisteuern?
Du kannst morgen ggf. nochmal ein update machen, ich hoffe, dass ich vorher die myUtils nochmal angepaßt bekomme und einen wrapper für j2nv() reinnehme, mit dem man allg. dieses "_value" unterdrücken kann, ohne jedesmal ausdrücklich die Regex davorzuschreiben ;) .

Ansonsten ist es an dir rauszufinden, was das für "Baugruppen" sind und welche Werte die eigentlich liefern (und, falls du doch steuern magst: welche Werte du setzen können möchtest...), und ggf. dann mal das "at"->periodicCmd-Thema aufzugreifen...

Ich für meinen Teil bin dann eigentlich weitestgehend "fertig", es bleibt eigentlich "nur noch",
- einmal zu zeigen, wie man den Kreis von setList bzw. getList-Argumenten bis zur Rückmeldung des Geräts "hab's erledigt" schließt,
- zu klären, wie man ggf. mit "neuer" und "alter" Version der attrTemplates umgehen will (würde eine Zeitlang die alten dann als "legacy"-Versionen vorhalten und die desc. entsprechend anpassen)
- ggf. beim Coden für ebus <=> MQTT2_DEVICE <=> weekprofile zu unterstützen (falls jemand mitliest, der das haben will: bitte neuen Thread im MQTT-Bereich aufmachen und Topic-Payload-Daten speziell zu dem Wochenprofil bereitstellen)

Das wäre es dann für's erste auch schon wieder gewesen, oder übersehe ich was...?
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

TomLee

ZitatFür "SetTemp_value" würde ich z.B. "desiredTemp" vorschlagen...

Les ja nur mit, meinst nicht eher DHWSetTemp_value 48.0, verstehe es so das der Wert die eingestellte Warmwassertemperatur ist, k.A. was SetTemp_value ist vermute Warmwasseraufbereitungshysterese.

Und angenommen in dem MQTT2_ebusd_hc1 kommen (in der Heizperiode) zwei Werte, einmal für Tages.- und einmal für die Nachttemperatur, was würdest du dann vorschlagen, dann klappt das was du dir vorstellst doch mit desiredTemp nicht mehr, ausser man macht zwei Geräte daraus ?

Beta-User

Zitat von: TomLee am 15 Juli 2021, 13:40:50
Les ja nur mit, meinst nicht eher DHWSetTemp_value 48.0, verstehe es so das der Wert die eingestellte Warmwassertemperatur ist, k.A. was SetTemp_value ist vermute Warmwasseraufbereitungshysterese.
Das kann schon sein mit der Hysterese...

Es ist und bleibt so: ich habe keine Ahnung, was sich hinter den Etiketten verbirgt. Mein Teil beschränkt sich im wesentlichen darauf, dass z.B.
- der "Hauptschalter" möglichst nach "state" gemappt wird und "on" bzw. "off" ist
- die "Zieltemperatur" in "desiredTemp" landet, und eine gemessene Temperatur tendenziell eben "temperature" belabelt wird...

Wo das keinen Sinn macht, stellt sich schnell die Frage nach "guten Standards", und das will ich eigentlich gar nicht für alle aus der Hüfte festschreiben. Tag- und Nachttemperatur kenne ich z.B. von CUL_HM her als dayTemp bzw. nightTemp; bei ZWave heißt das wieder anders, usw. usf..

Zur Klarstellung: das muss alles nicht von heute auf morgen "stehen", aber optimalerweise klären wir eben vorab, was bereits gut supportet wird und sich daher als "gute Lösung" empfiehlt.

Zitat
ausser man macht zwei Geräte daraus
Das kann im Einzelfall ggf. auch rauskommen.
Z.B. die bridgeRegexp in der heutigen Form ist halt mal entstanden, um "irgendwie" überhaupt handhabbare "Baugruppen" zu haben. Wenn man das besser weiter aufdröselt (oder anders gruppiert), soll mir das recht sein, wenn man es besser "uneindeutig" läßt: Mir auch recht, ich will in der Hinsicht nur "guten Support" leisten, damit v.a. die User, die neu in das jeweilige Thema einsteigen nicht vor einem zu ungeordneten "Aha, jetzt habe ich hier irgendwelche Daten, und nun...?!?" sitzen.
Ansonsten gäbe es auch noch readingsProxy und andere Hilfsmittel...
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

rob

Zitat von: Beta-User am 15 Juli 2021, 13:40:32
Ansonsten ist es an dir rauszufinden, was das für "Baugruppen" sind und welche Werte die eigentlich liefern (und, falls du doch steuern magst: welche Werte du setzen können möchtest...), und ggf. dann mal das "at"->periodicCmd-Thema aufzugreifen...
... das habe ich befürchtet  ;) Es kommen halt Werte in Fhem an und ich habe wenig Ahnung, was das sein soll  :-[

Gestern hatte ich ungelogen john30s WIKI zu den CSV 10x durchgelesen (https://github.com/john30/ebusd/wiki/4.-Configuration) und anhand J0ek3rs CSVen nachvollziehen wollen. Ich find da nix zusammen. Keine Ahnung, warum das so funktioniert.
Die einfachsten Dinge schaffe ich dort nicht in Einklang zu bringen. Mit Datenbanken, SQL und Relationen hab ich kein Problem und denk mich auch gerne in Programmsourcen rein, aber dieses CSV-Zeugs ist für mich offenbar zu hoch.
Mappings kenne ich via key-value u.ä.. Die CSV sind aber dermaßen verschachtelt und includes gibt es auch noch  :-X Schaut für mich aus wie transponierte Datentabellen ➜ statt viele Zeilen, gibt es viele Spalten - keys finden sich in den Spalten etc..

Hc1 kann ich mir noch zusammenreimen ➜ heating circuit 1
Bei sc muss ich schon passen. Scheint eine stehende Abkürzung zu sein. Jedenfalls wird es in d. CSV nicht kommentiert, aufgelöst oder übersetzt. Oder ich finde es nur nicht.
Nunja, CSV passt so natürlich nicht zum hiesigen MQTT-Thema. Bin aber dran.

Das CSV-Gedöns muss ich versuchen in den passenden Freds zu beleuchten. Ich fürchte nur, dass es nicht viele Leute gibt, die diese CSV-Teile verstehen. Nicht umsonst sucht J0ek3r einen Maintainer...

Zitat von: Beta-User am 15 Juli 2021, 13:40:32
...Dann kann der User jeweils entscheiden, ob er lieber seine csv anfasst, oder die jsonMap.
Ernsthaft? Ich finde Perl & Co 100x einfacher als diese CSVen (was nicht heißt, dass ich darin ein Crack bin...). Ich würde mich immer am json versuchen bevor ich was mit den CSV mach'.
Jetzt schweife ich aber ab  ::)

Ich werde mich jetzt in die Dokus eingraben und versuchen die offenen Punkte zu recherchieren.

Viele Grüße
rob

Beta-User

Ich vermute ja mal, dass das mit den cvs eigentlich auch keine wirkliche Geheimwissenschaft ist, sondern auch nur strukturiertes search&replace, aber das ist nun wirklich nicht meine Baustelle...

Jedenfalls ist die aktualisierte Fassung der mqtt2.template und der myUtils für ebus im svn, wer mag, kann sich das schon von da holen:
{ Svn_GetFile("FHEM/lib/AttrTemplate/mqtt2.template", "FHEM/lib/AttrTemplate/mqtt2.template", sub(){ AttrTemplate_Initialize() }) }

Die myUtils kommt dann, wenn man das template für den splitter  nochmal anwendet...



Fyi: da ist auch ein Code-Fragment für "weekprofile" drin - paßt vermutlich noch nicht zu 100% und ist auch erklärungsbedürftig, aber das aktuelle Zwischenergebnis sähe schon mal ganz ok aus. Werde das aber auch im "Hauptthread" dann nochmal verlauten lassen, mir scheint, das ist (als "Nachbildung" von den dummy's) ein Vaillant-Thema...
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

rob

Zitat von: Beta-User am 15 Juli 2021, 19:12:55
...aber das ist nun wirklich nicht meine Baustelle...
Nein, soll es auch nicht. Meine Hoffnung ist, dass von d. ebus-Profis zu diesem Thema vielleicht jmd. Input geben mag. Kommt Zeit, kommt Rat  ;D

Immerhin bin ich Dank J0ek3rs Fred ein kleines Schrittchen weiter und kann, so glaube ich, diese Frage beantworten:
Zitat von: rob am 14 Juli 2021, 10:01:52
Woher kenne ich die Topics um sie via get zu holen, wenn sie bislang nirgends published wurden?

- in Docker einsteigen

docker exec -it ebus /bin/bash

- dort ebusctl loslassen

ebusctl f

- es kommt eine lange Liste und überall wo "= no data stored" erscheint, haben wir die gesuchte Info

broadcast datetime = 16.000;21:09:-;15.07.2021
broadcast error = no data stored
broadcast id = no data stored
broadcast id = no data stored
broadcast signoflife = no data stored
hc1 Adaption = 32768
hc1 BCAST1 = no data stored
hc1 BCAST2 = no data stored
hc1 DHWMin = no data stored
hc1 DHWMode = no data stored
hc1 DHWSetpoint = no data stored
hc1 DHWSetValue = no data stored
hc1 DHWTemperature = no data stored
hc1 EndOfHoliday.Day = no data stored
hc1 EndOfHoliday.Month = no data stored
hc1 EndOfHoliday = no data stored
hc1 ExternalTemperature = no data stored
hc1 FrostProtection = no data stored
hc1 Gradient = no data stored
hc1 HeatDemand = no data stored
hc1 HeatingDemand = no data stored
hc1 HolidayTemp = no data stored
hc1 HP1.Di.1 = no data stored
hc1 HP1.Di.2 = no data stored
hc1 HP1.Di.3 = no data stored
hc1 HP1.Do.1 = no data stored
hc1 HP1.Do.2 = no data stored
hc1 HP1.Do.3 = no data stored
hc1 HP1.Fr.1 = no data stored
hc1 HP1.Fr.2 = no data stored
hc1 HP1.Fr.3 = no data stored
hc1 HP1.Mi.1 = no data stored
hc1 HP1.Mi.2 = no data stored
hc1 HP1.Mi.3 = no data stored
hc1 HP1.Mo.1 = no data stored
hc1 HP1.Mo.2 = no data stored
hc1 HP1.Mo.3 = no data stored
hc1 HP1.Sa.1 = no data stored
hc1 HP1.Sa.2 = no data stored
hc1 HP1.Sa.3 = no data stored
hc1 HP1.So.1 = no data stored
hc1 HP1.So.2 = no data stored
hc1 HP1.So.3 = no data stored
hc1 HP2.Di.1 = no data stored
hc1 HP2.Di.2 = no data stored
hc1 HP2.Di.3 = no data stored
hc1 HP2.Do.1 = no data stored
hc1 HP2.Do.2 = no data stored
hc1 HP2.Do.3 = no data stored
hc1 HP2.Fr.1 = no data stored
hc1 HP2.Fr.2 = no data stored
hc1 HP2.Fr.3 = no data stored
hc1 HP2.Mi.1 = no data stored
hc1 HP2.Mi.2 = no data stored
hc1 HP2.Mi.3 = no data stored
hc1 HP2.Mo.1 = no data stored
hc1 HP2.Mo.2 = no data stored
hc1 HP2.Mo.3 = no data stored
hc1 HP2.Sa.1 = no data stored
hc1 HP2.Sa.2 = no data stored
hc1 HP2.Sa.3 = no data stored
hc1 HP2.So.1 = no data stored
hc1 HP2.So.2 = no data stored
hc1 HP2.So.3 = no data stored
hc1 HP3.Di.1 = no data stored
hc1 HP3.Di.2 = no data stored
hc1 HP3.Di.3 = no data stored
hc1 HP3.Do.1 = no data stored
hc1 HP3.Do.2 = no data stored
hc1 HP3.Do.3 = no data stored
hc1 HP3.Fr.1 = no data stored
hc1 HP3.Fr.2 = no data stored
hc1 HP3.Fr.3 = no data stored
hc1 HP3.Mi.1 = no data stored
hc1 HP3.Mi.2 = no data stored
hc1 HP3.Mi.3 = no data stored
hc1 HP3.Mo.1 = no data stored
hc1 HP3.Mo.2 = no data stored
hc1 HP3.Mo.3 = no data stored
hc1 HP3.Sa.1 = no data stored
hc1 HP3.Sa.2 = no data stored
hc1 HP3.Sa.3 = no data stored
hc1 HP3.So.1 = no data stored
hc1 HP3.So.2 = no data stored
hc1 HP3.So.3 = no data stored
hc1 LegionnairesFunction = no data stored
hc1 MaxDHWTemp = -
hc1 MaxSupplyTemperature = no data stored
hc1 MinSupplyTemperature = no data stored
hc1 MixedExternalTemperature = no data stored
hc1 NormalSetTemp = no data stored
hc1 ProgramChooseSwitch = Sommer
hc1 ReducedSetTemp = no data stored
hc1 Reduces = no data stored
hc1 RoomInfluence = no data stored
hc1 RoomSensorCorrection = no data stored
hc1 RoomSetValue = no data stored
hc1 RoomTemperature = no data stored
hc1 RoomThermostat = no data stored
hc1 Set = hotwater;stopconsumer;5.00;-;-;48.0;-
hc1 StartOfHoliday.Day = 25
hc1 StartOfHoliday.Month = August
hc1 StartOfHoliday = no data stored
hc1 Status = no data stored
hc1 SummerWinterChangeOverTemperature = 20.0
hc1 SupplySetValueHC = no data stored
hc1 SupplyTemperatureHC = no data stored
hc1 SupplyTemperatureWTC = no data stored
hc1 SwitchOffSetting = no data stored
hc1 SwitchOnSetting = no data stored
hc1 TypeOfConstruction = no data stored
hc1 WP.Di.1 = no data stored
hc1 WP.Di.2 = no data stored
hc1 WP.Di.3 = no data stored
hc1 WP.Do.1 = no data stored
hc1 WP.Do.2 = no data stored
hc1 WP.Do.3 = no data stored
hc1 WP.Fr.1 = no data stored
hc1 WP.Fr.2 = no data stored
hc1 WP.Fr.3 = no data stored
hc1 WP.Mi.1 = no data stored
hc1 WP.Mi.2 = no data stored
hc1 WP.Mi.3 = no data stored
hc1 WP.Mo.1 = no data stored
hc1 WP.Mo.2 = no data stored
hc1 WP.Mo.3 = no data stored
hc1 WP.Sa.1 = no data stored
hc1 WP.Sa.2 = no data stored
hc1 WP.Sa.3 = no data stored
hc1 WP.So.1 = no data stored
hc1 WP.So.2 = no data stored
hc1 WP.So.3 = no data stored
hc1 ZP.Di.1 = no data stored
hc1 ZP.Di.2 = no data stored
hc1 ZP.Di.3 = no data stored
hc1 ZP.Do.1 = no data stored
hc1 ZP.Do.2 = no data stored
hc1 ZP.Do.3 = no data stored
hc1 ZP.Fr.1 = no data stored
hc1 ZP.Fr.2 = no data stored
hc1 ZP.Fr.3 = no data stored
hc1 ZP.Mi.1 = no data stored
hc1 ZP.Mi.2 = no data stored
hc1 ZP.Mi.3 = no data stored
hc1 ZP.Mo.1 = no data stored
hc1 ZP.Mo.2 = no data stored
hc1 ZP.Mo.3 = no data stored
hc1 ZP.Sa.1 = no data stored
hc1 ZP.Sa.2 = no data stored
hc1 ZP.Sa.3 = no data stored
hc1 ZP.So.1 = no data stored
hc1 ZP.So.2 = no data stored
hc1 ZP.So.3 = no data stored
hc2 HeatingDemand = no data stored
hc2 Status = no data stored
hc3 HeatingDemand = no data stored
hc3 Status = no data stored
hc4 HeatingDemand = no data stored
hc4 Status = no data stored
hc5 HeatingDemand = no data stored
hc5 Status = no data stored
hc6 HeatingDemand = no data stored
hc6 Status = no data stored
hc7 HeatingDemand = no data stored
hc7 Status = no data stored
hc8 HeatingDemand = no data stored
hc8 Status = no data stored
memory eeprom = no data stored
memory ram = no data stored
sc Act = 1;BrennerAus;1;1;1;0;0;0;0;0;0;Summer;0;0;0;0;0;Heating;0;40.0;-;47.0;0.0;16;17.137;8
sc BoilerSensorDefective = no data stored
sc BurnerOperationSinceLastService = no data stored
sc CRCErrorHeatingEngeneerParameter = no data stored
sc CRCErrorManufacturerParameter = no data stored
sc DHWSensorDefective = no data stored
sc Enduser = no data stored
sc ErrorHistory = no data stored
sc ErrorSCOTCalibration4 = no data stored
sc ErrorSCOTCalibration5 = no data stored
sc ErrorSCOTCalibration6 = no data stored
sc ErrorSCOTCalibration8 = no data stored
sc ErrorSCOTControlInput = no data stored
sc ErrorSCOTIOControl = no data stored
sc ErrorVoltagSupply = no data stored
sc ExternalSensorDefektive = no data stored
sc FanFaultDuringOperation = no data stored
sc FanFaultDuringShutdown = no data stored
sc FlameFailureDuringOperation = no data stored
sc FlameSimulation = no data stored
sc FlueGasSensorDefective = no data stored
sc GasValveCycleV1V2Defective = no data stored
sc GPSFailureDuringSafetyTime = no data stored
sc H2EmergencyOffFunction = no data stored
sc Manufacturer1 = no data stored
sc Manufacturer2 = no data stored
sc NoFlameFormation = no data stored
sc NoGasPressureAvailable = no data stored
sc ProcessValues1 = no data stored
sc ProcessValues2 = no data stored
sc ProcessValues3 = no data stored
sc ProcessValues4 = no data stored
sc ProcessValues5 = no data stored
sc ProcessValues6 = no data stored
sc PWMPumpDefective = no data stored
sc SetpointDHW = no data stored
sc SetpointTempSystem = no data stored
sc Statistic1 = no data stored
sc Statistic2 = no data stored
sc Statistic3 = no data stored
sc Statistic4 = no data stored
sc Statistic5 = no data stored
sc Statistic6 = no data stored
sc StatisticUkn01 = no data stored
sc StatisticUkn02 = no data stored
sc StatisticUkn03 = no data stored
sc StatisticUkn04 = no data stored
sc StatisticUkn05 = no data stored
sc WWTurbineDefective = no data stored
scan.08  = Kromschroeder;W ;1200;0302
scan.0c  = -;??;-;-
scan.35  = Kromschroeder;W ;2726;-
scan.f6  = Kromschroeder;WWST?;1200;0302

- jetzt könnte man dort direkt eine Aktualisierung veranlassen ➜ z.B. steht in obiger Liste "hc1 HolidayTemp = no data stored", also holen wir uns das (für den Wert kann ich nix ;))

ebusctl r -f -c hc1 HolidayTemp       
32768

- und nun isser drin

ebusctl f | grep HolidayTemp       
hc1 HolidayTemp = 32768

- oder wir holen das gleich von Fhem aus via MQTT

set myMQTT_Server publish ebusd/hc1/HolidayTemp/get

!Obacht: das kommt in Fhem so an
_16_TempReduced_value 32768

An dem Beispiel kommt dann wieder das Thema "Punkt" hoch:
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { json2nameValue($EVENT) }\
ebusd/hc1/MaxDHWTemp:.* { json2nameValue($EVENT) }\
ebusd/hc1/ProgramChooseSwitch:.* { json2nameValue($EVENT) }\
ebusd/hc1/SummerWinterChangeOverTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/StartOfHoliday\x2eDay:.* { json2nameValue($EVENT) }\
ebusd/hc1/StartOfHoliday\x2eMonth:.* { json2nameValue($EVENT) }\
ebusd/hc1/Adaption:.* { json2nameValue($EVENT) }\
ebusd/hc1/HolidayTemp:.* { json2nameValue($EVENT) }

setstate MQTT2_ebusd_hc1 2021-07-15 20:51:20 _16_HolidayDay_value 25
setstate MQTT2_ebusd_hc1 2021-07-15 20:56:14 _16_HolidayMonth_value August
setstate MQTT2_ebusd_hc1 2021-07-15 21:13:43 _16_TempReduced_value 32768


Umgekehrt müsste dann auch set via MQTT klappen. Allerdings düften nicht alle Werte schreibbar sein.
Ich baue gerade eine Liste an "gettern" auf, die man z.B. alle 12h holen könnte, anhand Deines Vorschlags (periodicCmd).

Ein paar Mappings konnte ich auch bereits lokalisieren. Vom Warum/ Wie bin ich noch weit weg. Aber beim Wo bin ich etwas voran gekommen. OK, ich tauch wieder ab  :D

VG
rob

Beta-User

@Rudi: Irgendwie kaue ich grade gedanklich auf dem Doku-Thema rum (<a id="..." data-part=...). Hier wäre ggf. über einen vorhandenen Setter der von @rob beschriebene Umweg gar nicht nötig gewesen, aber anscheinend ist es entweder nicht ausreichend, was im Wiki steht, die Links dahin sind nicht ausreichend, ..., whatever.
Meine Idee wäre, ggf. die cref von M2D zu ergänzen durch was, was z.B. in myUtils (sind hier eh' da) steht, um "spezielle setter" zu erläutern. Die Abgrenzung könnte anhand des "model"-Attributs erfolgen? Vielleicht hast du ja eine Idee...?
(Dass es nicht so einfach ist, diese verstreuten Dokumente zu pflegen, ist schon klar, mir ist nur auch nichts stringentes eingefallen; höchstens "comment". Aber da umfangreichere und "schön anzusehende" Doku unterzubringen, dürfte auch schwierig sein...)

Zitat von: rob am 15 Juli 2021, 21:37:12
- dort ebusctl loslassen

ebusctl f

Wie bereits angedeutet: Ich meine, dass wir damals in Abstimmung mit john30 extra einen setter kreiert hatten - "getAll". Mit dem sollte sich ohne große Umwege ein Komplettscan auf dem Bus durchführen lassen, es ist nur nicht zu empfehlen, das häufiger zu machen, weil das den Bus sehr belastet...

Das hier
Zitat
_16_TempReduced_value 32768
Kann man in Teilen vermeiden, wenn man json2nameValue() durch die "wrapper-Funktion" ersetzt, dann ist zumindest das "-value" weg...
(Völlig unqualifizierte Vermutung wäre: Das sind 1.000tel Grad C?)

Aber wichtiger: Wie kommst du darauf, dass das "zusammengehört"? (Das kann schon sein, aber ohne die MQTT-Verkehrsdaten zu kennen, kann man m.E. keinen Zusammenhang erkennen, und auch die zeitliche Abfolge ist nur sowas wie ein schwacher Indikator...)

ZitatAn dem Beispiel kommt dann wieder das Thema "Punkt" hoch:
Ich meine, dass Rudi's Fix das Problem im Zusammenspiel mit bridgeRegexp behoben hat - bleibt dann noch die Frage, ob man das manuell/für attrTemplate "zurück" auf den Punkt dreht, was vermutlich "effizienter" wäre. (?)
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

rob

Ich habe jetzt das Update ausgeführt und den Splitter angewendet. Alles wieder up to date.
Mit dem Punkt-Thema habe ich kein Problem. Wollte nur beschreiben was ich beobachte. Aktuell lasse ich die Readings so anlegen wie es ankommt. Kosmetik mache ich ggf. danach.

Strukturiertes search&replace: Ja, kann auch klappen. Wollte es gerne verstehen u.a. wg. John30s Hinweis:
Zitat
WARNING: There is absolutely no warranty at all for using any of the files provided here and you should definitely know what you're doing.

Otherwise: keep your hands off!!!
Scheint mir aber auch uferlos. Da geb ich Dir recht.

Zitat von: Beta-User am 16 Juli 2021, 07:33:52
Aber wichtiger: Wie kommst du darauf, dass das "zusammengehört"? (Das kann schon sein, aber ohne die MQTT-Verkehrsdaten zu kennen, kann man m.E. keinen Zusammenhang erkennen, und auch die zeitliche
Reading war noch nicht vorhanden. Kommando im Cli ausgeführt - Wert 32768 erscheint. MQTT publish explizit damit ausgeführt, Regex wird autom. ergänzt und Reading neu hinzugefügt mit selbem Wert. Ist reprodizerbar. Lösche ich das Reading erscheint es nicht mehr bis ich wieder das entsp. publish mache.
MQTT-Verkehrsdaten könnte ich natürlich auch noch direkt mitschneiden. Fand es halt eindeutig genug.

Dieses "getAll" könnte vielleicht das im Wiki genannte "../list" sein. Bin nicht sicher. Vielleicht würde alles auf einen Schlag kommen. In dem Fall könnte ich dann tatsächlich nicht mehr zuordnen was was ist. Der MQTT-Traffic würde mir da nicht viel helfen, denn die Topics sehe ich ja auch in Fhem, aber am Traffic sehe ich nicht, welches Reading daraus wird.
Zum Beispiel wurden diese Regex in Fhem autom. ergänzt (davon gibt es 63):

ebusd/hc1/HP1\x2eMo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eMo\x2e2:.* { json2nameValue($EVENT) }

Es entstehen zunächst die zwei Readings "Start_value" und "End_value" und nur diese werden danach immer aktualisiert, egal welches der gen. Topics. Im MQTT-Traffic sehe ich nur, dass die Topics sauber getrennt sind. Fhem-seitig muss ich natürlich Hand anlegen und z.B. ein Prefix setzen (hier wg. 3x Heizprogramm x7 Wochentage x3 Werten =63). Dann wird es reproduzierbar auch in Fhem sauber getrennt. 
Diese Handarbeit hätte ein Template später für andere vereinfachen können, wenn es einmal definiert wurde. Ich bin noch dabei einzeln alles dafür auszuklamüsern.

Dachte dies könnte dem einen oder anderen nützlich sein. Vielleicht verwirrt es auch nur  :-\

Viele Grüße und ein schönes Wochenende
rob

Beta-User

Zitat von: rob am 16 Juli 2021, 09:50:44
Dachte dies könnte dem einen oder anderen nützlich sein. Vielleicht verwirrt es auch nur  :-\
8) Sehr nützliche Info...

Das Wochenprogramm-Thema würde ich gerne noch zurückstellen, es wäre aber super, wenn du mir einen "Satz" "einfangen" könntest (zum Testen, also möglichst ein komplettes Wochenprogramm, zur Not tut es aber auch nur ein einzelner Tag, Format: topic/payload, z.B. aus mosquitto_sub).

Zitat
Strukturiertes search&replace: Ja, kann auch klappen. Wollte es gerne verstehen u.a. wg. John30s Hinweis:Scheint mir aber auch uferlos. Da geb ich Dir recht.
Jein, da hast du vermutlich was anderes verstanden, als ich sagen wollte...:
Ich versuch's nochmal anders zu erklären. Falls du einen mehrkanaligen Tasmota hast, kannst du dir ja mal die Struktur der (split-) attrTemplate dazu ansehen, dann wird es evtl. etwas klarer. Erst wird der ESP konfiguriert; dazu gibt es ein Basistemplate (für alle(!) Modelle/Varianten). Dann wird der erste Kanal konfiguriert, auf den 2. (-x-ten) kopiert, und danach wird dann nochmal nachgesteuert (z.B. durch den einzelnen Aufruf der Sprachsteuerungs-attrTemplate), so dass am Ende eben (hoffentlich) eine vollständige Konfiguration aller Devices entsteht.
Dabei wird aber uU. der Inhalt einzelner Attribute gleich mehrfach immer wieder durch eine "bessere Kopie" überschrieben...

Ich nehme stark an, dass das bei den ebus-csv's ähnlich ist: erst wird ein "allgemeiner Register-Satz" für eine bestimmter Gerätegruppe geladen (z.B. "Brenner"), dann werden ggf. weitere "includes" gemacht, um z.B. zwischen Öl- und Gas zu unterscheiden, und zum Schluss werden ggf. die Register noch angepaßt/ergänzt, die (nur) bei einer bestimmten Gerätegenerationvorhanden sind usw usf. Eben immer vom Allgemeinen zum Speziellen.
Da kann es dann durchaus sein, dass sich einzelne Angaben scheinbar widersprechen, es gilt dann halt das "letzte Wort".

"search" in diesem Sinne ist eben: nach einem bestimmten Register
"replace" dann jeweils die Beschreibung (vermutlich immer eine Zeile in den csv's).

Zitat
Dieses "getAll" könnte vielleicht das im Wiki genannte "../list" sein. Bin nicht sicher.
...aber ich. Steht so in der setList ;) . Und kann mit und ohne Payload gepublisht werden.

Zitat
Vielleicht würde alles auf einen Schlag kommen. In dem Fall könnte ich dann tatsächlich nicht mehr zuordnen was was ist. Der MQTT-Traffic würde mir da nicht viel helfen, denn die Topics sehe ich ja auch in Fhem, aber am Traffic sehe ich nicht, welches Reading daraus wird.
Da bin ich auch unsicher, was da alles kommt (und wie); vermutlich wäre es gut, es würde jemand ausprobieren... (Und am besten gleich Notizen machen, damit man das "anfängertauglich" ins Wiki übertragen kann!)

Für diesen Anwendungsfall würde ich dann tatsächlich empfehlen
- den MQTT-Verkehr komplett mitzuschneiden und
- autocreate auf "complex" zu stellen. Dann gibt der prefix einen deutlichen Hinweis auf die Quelle (den Topic, wo der Wert herkommt).

[OT]
Ich würde dir empfehlen, das mal (ggf. auch nur mit einzelnen Zweigen) zu machen. Wenn man topic/JSON-Payload und das Ergebnis aus j2nv("complex") nebeneinanderlegt, ist mAn. relativ gut zu erkennen, wie die Zusammenhänge sind.
[/OT]

Zitat
Zum Beispiel wurden diese Regex in Fhem autom. ergänzt (davon gibt es 63):
[...]
Diese Handarbeit hätte ein Template später für andere vereinfachen können, wenn es einmal definiert wurde. Ich bin noch dabei einzeln alles dafür auszuklamüsern.
Kannst du (hoffentlich) sein lassen: Mein Vorschlag wäre, diese Zweige komplett (per attrTemplate) an eine Funktion zu übergeben, die dann die "Tage" in dem Format zusammensetzt, das man auch verwenden müßte, um das Wochenprogramm zu ändern. Das sähe dann z.B. (als Reading) so aus:
ZitatSaturday 11:30;16:30;18:30;20:20;24:00;24:00;selected
bzw.
setstate MQTT2_ebusd_sc 2021-07-16 08:47:03 Sunday 11:00;;15:00;;17:30;;21:00;;24:00;;24:00;;selected

Was du da siehst, ist übrigens das Ergebnis von
set wp send_to_device test MQTT2_ebusd_sc
"wp" ist ein weekprofile-Device, "test" ist ein dort gespeichertes Profil; wie gesagt: Details folgen, ein "eingefangenes ebus-Wochenprofil" würde helfen...
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

Beta-User

#40
...bißchen was zum Testen:

attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/MaxDHWTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/ProgramChooseSwitch:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/SummerWinterChangeOverTemperature:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Day_', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Month_', $JSONMAP) }\
  ebusd/hc1/Adaption:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HolidayTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HP1.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
  ebusd/hc1/HP1.*:.* HP1_last_json

"Interessant" ist v.a. die vorletzte Zeile. Dazu brauchst du die beigefügte myUtils-Fassung, das sollte dann deine Tagesprofile (lesend) halbwegs sinnstiftend zusammenbauen - lediglich bei der letzten Angabe bin ich unschlüssig. Aus den alten dummy-attrTemplate ergibt sich, dass das eines von "selected","Mo-Fr","Mo-So" und "Sa-So" sein müßte, die myUtils belegt das jetzt mit Mo-So vor, was vermutlich grob falsch ist (und auch nicht englisch). Mir fehlt aber bisher die Idee, wo die Info (wie) herkommen könnte.

Ich vermute ja, dass da irgendwo eine Info dazu kommt, und dass das auch über denselben Topic kommt, aber nichts genaueres weiß man nicht, daher die zusätzliche Zeile, damit man das erst mal unkompliziert sehen/loggen kann, was da durchrauscht...
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

ZitatMeine Idee wäre, ggf. die cref von M2D zu ergänzen durch was, was z.B. in myUtils (sind hier eh' da) steht, um "spezielle setter" zu erläutern.
Ich meine das waere zu speziell und detailliert, mir waere ein Link ins Wiki lieber.
Kann sein, dass ich Dich nicht genau verstehe, und mich irre.

Beta-User

Zitat von: rudolfkoenig am 17 Juli 2021, 12:49:30
Ich meine das waere zu speziell und detailliert, [...]
Kann schon sein. Dass man (funktional wirksame) eigene setter haben kann, ist nicht besonders verbreitet, neben MQTT(2) gibt's das aber auch z.B. bei HTTPMOD.

Andererseits ist es schon richtig: Wer es "bis hierhin" geschafft hat, sollte eigentlich dann auch weitere Infos finden, die nicht "auf dem Präsentierteller" liegt - habe jetzt mal noch einige Hinweise in comment (usw.) reingenommen.

Zitat von: Beta-User am 16 Juli 2021, 10:39:56
Das Wochenprogramm-Thema würde ich gerne noch zurückstellen, es wäre aber super, wenn du mir einen "Satz" "einfangen" könntest (zum Testen, also möglichst ein komplettes Wochenprogramm, zur Not tut es aber auch nur ein einzelner Tag, Format: topic/payload, z.B. aus mosquitto_sub).
Habe dazu jetzt mal einen separaten Thread angefangen, die Info wäre aber weiter hilfreich.
Da ist auch erläutert, wie das in etwa funktioniert mit weekprofile.
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

rob

Hallo.

Da sind ein wieder paar Punkte zusammengekommen. Ich versuch mal das schrittweise abzuarbeiten.

Den Hinweis hatte ich noch nicht verstanden:
Zitat von: Beta-User am 16 Juli 2021, 07:33:52
Das hierKann man in Teilen vermeiden, wenn man json2nameValue() durch die "wrapper-Funktion" ersetzt, dann ist zumindest das "-value" weg...
(Völlig unqualifizierte Vermutung wäre: Das sind 1.000tel Grad C?)
Meinst Du mit Wrapper das Attribut JSONMAP? Also z.B. so?
jsonMap    FrostProtection_value:FrostProtection
Hatte damit noch nichts weiter gemacht, weil ich erst alle Topic + Readings in Erfahrung bringen wollte.

rob

#44
...so und das wäre die bruteforce-mäßig ermittelte Liste an Topics gemäß "ebusctl f". Siehe Anhang.
Die Zeitprogrammdinger folgen...

An dem Beispiel kann man sehen, dass hier und da etwas Feintuning nötig ist - in den CSV am besten.

set myMQTT_Server publish ebusd/hc1/DHWSetpoint/get
set myMQTT_Server publish ebusd/hc1/DHWSetValue/get
set myMQTT_Server publish ebusd/hc1/DHWTemperature/get


ergibt via mosquitto_sub...

Client mosqsub/17443-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/DHWSetpoint/get', ... (0 bytes))
ebusd/hc1/DHWSetpoint/get (null)
Client mosqsub/17443-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/DHWSetpoint', ... (37 bytes))
ebusd/hc1/DHWSetpoint {
     "_16_Temp10": {"value": 48.0}}
Client mosqsub/17443-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/DHWSetValue/get', ... (0 bytes))
ebusd/hc1/DHWSetValue/get (null)
Client mosqsub/17443-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/DHWSetValue', ... (37 bytes))
ebusd/hc1/DHWSetValue {
     "_16_Temp10": {"value": 48.0}}
Client mosqsub/17443-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/DHWTemperature/get', ... (0 bytes))
ebusd/hc1/DHWTemperature/get (null)
Client mosqsub/17443-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/DHWTemperature', ... (36 bytes))
ebusd/hc1/DHWTemperature {
     "_16_Temp10": {"value": 0.0}}

Landet also im selben Reading.

Vom HC1 schaut die ReadingList zunächst so aus:

ebusd/hc1/Set:.* { json2nameValue($EVENT) }
ebusd/hc1/MaxDHWTemp:.* { json2nameValue($EVENT) }
ebusd/hc1/ProgramChooseSwitch:.* { json2nameValue($EVENT) }
ebusd/hc1/SummerWinterChangeOverTemperature:.* { json2nameValue($EVENT) }
ebusd/hc1/StartOfHoliday\x2eDay:.* { json2nameValue($EVENT) }
ebusd/hc1/StartOfHoliday\x2eMonth:.* { json2nameValue($EVENT) }
ebusd/hc1/Adaption:.* { json2nameValue($EVENT) }
ebusd/hc1/HolidayTemp:.* { json2nameValue($EVENT) }
ebusd/hc1/DHWMin:.* { json2nameValue($EVENT) }
ebusd/hc1/DHWMode:.* { json2nameValue($EVENT) }
ebusd/hc1/DHWSetpoint:.* { json2nameValue($EVENT) }
ebusd/hc1/DHWSetValue:.* { json2nameValue($EVENT) }
ebusd/hc1/DHWTemperature:.* { json2nameValue($EVENT) }
ebusd/hc1/EndOfHoliday\x2eDay:.* { json2nameValue($EVENT) }
ebusd/hc1/EndOfHoliday\x2eMonth:.* { json2nameValue($EVENT) }
ebusd/hc1/EndOfHoliday:.* { json2nameValue($EVENT) }
ebusd/hc1/ExternalTemperature:.* { json2nameValue($EVENT) }
ebusd/hc1/FrostProtection:.* { json2nameValue($EVENT, '', $JSONMAP) }
ebusd/hc1/Gradient:.* { json2nameValue($EVENT) }
ebusd/hc1/HeatDemand:.* { json2nameValue($EVENT) }
ebusd/hc1/HeatingDemand:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eDi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eDi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eDi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eDo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eDo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eDo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eFr\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eFr\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eFr\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eMi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eMi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eMi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eMo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eMo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eMo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eSa\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eSa\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eSa\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eSo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eSo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP1\x2eSo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eDi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eDi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eDi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eDo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eDo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eDo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eFr\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eFr\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eFr\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eMi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eMi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eMi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eMo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eMo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eMo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eSa\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eSa\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eSa\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eSo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eSo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP2\x2eSo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eDi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eDi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eDi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eDo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eDo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eDo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eFr\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eFr\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eFr\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eMi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eMi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eMi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eMo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eMo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eMo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eSa\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eSa\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eSa\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eSo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eSo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/HP3\x2eSo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/LegionnairesFunction:.* { json2nameValue($EVENT) }
ebusd/hc1/MaxSupplyTemperature:.* { json2nameValue($EVENT) }
ebusd/hc1/MinSupplyTemperature:.* { json2nameValue($EVENT) }
ebusd/hc1/MixedExternalTemperature:.* { json2nameValue($EVENT) }
ebusd/hc1/NormalSetTemp:.* { json2nameValue($EVENT) }
ebusd/hc1/ReducedSetTemp:.* { json2nameValue($EVENT) }
ebusd/hc1/Reduces:.* { json2nameValue($EVENT) }
ebusd/hc1/RoomInfluence:.* { json2nameValue($EVENT) }
ebusd/hc1/RoomSensorCorrection:.* { json2nameValue($EVENT) }
ebusd/hc1/RoomSetValue:.* { json2nameValue($EVENT) }
ebusd/hc1/RoomTemperature:.* { json2nameValue($EVENT) }
ebusd/hc1/RoomThermostat:.* { json2nameValue($EVENT) }
ebusd/hc1/StartOfHoliday:.* { json2nameValue($EVENT) }
ebusd/hc1/Status:.* { json2nameValue($EVENT) }
ebusd/hc1/SupplySetValueHC:.* { json2nameValue($EVENT) }
ebusd/hc1/SupplyTemperatureHC:.* { json2nameValue($EVENT) }
ebusd/hc1/SupplyTemperatureWTC:.* { json2nameValue($EVENT) }
ebusd/hc1/SwitchOffSetting:.* { json2nameValue($EVENT) }
ebusd/hc1/SwitchOnSetting:.* { json2nameValue($EVENT) }
ebusd/hc1/TypeOfConstruction:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eDi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eDi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eDi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eDo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eDo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eDo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eFr\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eFr\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eFr\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eMi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eMi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eMi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eMo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eMo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eMo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eSa\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eSa\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eSa\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eSo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eSo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/WP\x2eSo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eDi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eDi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eDi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eDo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eDo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eDo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eFr\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eFr\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eFr\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eMi\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eMi\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eMi\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eMo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eMo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eMo\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eSa\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eSa\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eSa\x2e3:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eSo\x2e1:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eSo\x2e2:.* { json2nameValue($EVENT) }
ebusd/hc1/ZP\x2eSo\x2e3:.* { json2nameValue($EVENT) }


Und vom SC so:

ebusd/sc/Act:.* { json2nameValue($EVENT) }
ebusd/sc/Manufacturer1:.* { json2nameValue($EVENT) }
ebusd/sc/BoilerSensorDefective:.* { json2nameValue($EVENT) }
ebusd/sc/BurnerOperationSinceLastService:.* { json2nameValue($EVENT) }
ebusd/sc/CRCErrorHeatingEngeneerParameter:.* { json2nameValue($EVENT) }
ebusd/sc/CRCErrorManufacturerParameter:.* { json2nameValue($EVENT) }
ebusd/sc/DHWSensorDefective:.* { json2nameValue($EVENT) }
ebusd/sc/Enduser:.* { json2nameValue($EVENT) }
ebusd/sc/ErrorHistory:.* { json2nameValue($EVENT) }
ebusd/sc/ErrorSCOTCalibration4:.* { json2nameValue($EVENT) }
ebusd/sc/ErrorSCOTCalibration5:.* { json2nameValue($EVENT) }
ebusd/sc/ErrorSCOTCalibration6:.* { json2nameValue($EVENT) }
ebusd/sc/ErrorSCOTCalibration8:.* { json2nameValue($EVENT) }
ebusd/sc/ErrorSCOTControlInput:.* { json2nameValue($EVENT) }
ebusd/sc/ErrorSCOTIOControl:.* { json2nameValue($EVENT) }
ebusd/sc/ErrorVoltagSupply:.* { json2nameValue($EVENT) }
ebusd/sc/ExternalSensorDefektive:.* { json2nameValue($EVENT) }
ebusd/sc/FanFaultDuringOperation:.* { json2nameValue($EVENT) }
ebusd/sc/FanFaultDuringShutdown:.* { json2nameValue($EVENT) }
ebusd/sc/FlameFailureDuringOperation:.* { json2nameValue($EVENT) }
ebusd/sc/FlameSimulation:.* { json2nameValue($EVENT) }
ebusd/sc/FlueGasSensorDefective:.* { json2nameValue($EVENT) }
ebusd/sc/GasValveCycleV1V2Defective:.* { json2nameValue($EVENT) }
ebusd/sc/GPSFailureDuringSafetyTime:.* { json2nameValue($EVENT) }
ebusd/sc/H2EmergencyOffFunction:.* { json2nameValue($EVENT) }
ebusd/sc/Manufacturer2:.* { json2nameValue($EVENT) }
ebusd/sc/NoFlameFormation:.* { json2nameValue($EVENT) }
ebusd/sc/NoGasPressureAvailable:.* { json2nameValue($EVENT) }
ebusd/sc/ProcessValues1:.* { json2nameValue($EVENT) }
ebusd/sc/ProcessValues2:.* { json2nameValue($EVENT) }
ebusd/sc/ProcessValues3:.* { json2nameValue($EVENT) }
ebusd/sc/ProcessValues4:.* { json2nameValue($EVENT) }
ebusd/sc/ProcessValues5:.* { json2nameValue($EVENT) }
ebusd/sc/ProcessValues6:.* { json2nameValue($EVENT) }
ebusd/sc/PWMPumpDefective:.* { json2nameValue($EVENT) }
ebusd/sc/SetpointDHW:.* { json2nameValue($EVENT) }
ebusd/sc/SetpointTempSystem:.* { json2nameValue($EVENT) }
ebusd/sc/Statistic1:.* { json2nameValue($EVENT) }
ebusd/sc/Statistic2:.* { json2nameValue($EVENT) }
ebusd/sc/Statistic3:.* { json2nameValue($EVENT) }
ebusd/sc/Statistic4:.* { json2nameValue($EVENT) }
ebusd/sc/Statistic5:.* { json2nameValue($EVENT) }
ebusd/sc/Statistic6:.* { json2nameValue($EVENT) }
ebusd/sc/WWTurbineDefective:.* { json2nameValue($EVENT) }


Es gibt eine ganze Reihe an Readings aus Error-History. An sich interessant, aber ohne weiteres Wissen sind die Werte  nicht interpretierbar.

rob

Von den Wochenprogrammen gibt es zunächst 3

  • Heizprogramm HP
  • Warmwasserprogramm WP
  • Zirkulationspumpenprogramm ZP

Von den Heizprogrammen gibt es dann jeweils wieder 3 und diese werden je Wochentag unterschieden. Ein Wochentag kann wieder 3 Zeitstufen beinhalten.
Das Heizprogramm wird deaktiviert, wenn eingestellt wurde (ProgramChooseSwitch) auf "Sommer", "Normal", "Absenk", oder "Standby".
Ansonsten ist das jeweils gewählte HP[1-3].* aktiv. WP und ZP bleiben auch bei "Sommer" + "Normal" aktiv, dürften aber bei "Absenk" + "Standby" auch nicht mehr wirken (nicht getestet).

Also sende ich drei ab:

ebusd/hc1/HP3.So.1/get
ebusd/hc1/HP3.So.2/get
ebusd/hc1/HP3.So.3/get


Mosquitto_sub sagt:

Client mosqsub/17502-OpenWRT sending SUBSCRIBE (Mid: 1, Topic: ebusd/hc1/#, QoS: 0)
Client mosqsub/17502-OpenWRT received SUBACK
Subscribed (mid: 1): 1
Client mosqsub/17502-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/HP3.So.1/get', ... (0 bytes))
ebusd/hc1/HP3.So.1/get (null)
Client mosqsub/17502-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/HP3.So.1', ... (67 bytes))
ebusd/hc1/HP3.So.1 {
     "Start": {"value": "22:00"},
     "End": {"value": "09:00"}}
Client mosqsub/17502-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/HP3.So.2/get', ... (0 bytes))
ebusd/hc1/HP3.So.2/get (null)
Client mosqsub/17502-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/HP3.So.2', ... (67 bytes))
ebusd/hc1/HP3.So.2 {
     "Start": {"value": "00:00"},
     "End": {"value": "00:00"}}
Client mosqsub/17502-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/HP3.So.3/get', ... (0 bytes))
ebusd/hc1/HP3.So.3/get (null)
Client mosqsub/17502-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/HP3.So.3', ... (67 bytes))
ebusd/hc1/HP3.So.3 {
     "Start": {"value": "00:00"},
     "End": {"value": "00:00"}}

rob

Zitat von: Beta-User am 16 Juli 2021, 13:54:36
...bißchen was zum Testen:
Habe ich eingebaut und erst einmal nur einen losgeschossen (ebusd/hc1/HP1.Di.1/get):

define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 jsonMap FrostProtection_value:FrostProtection
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/MaxDHWTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/ProgramChooseSwitch:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/SummerWinterChangeOverTemperature:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Day_', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Month_', $JSONMAP) }\
  ebusd/hc1/Adaption:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HolidayTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HP1.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
  ebusd/hc1/HP1.*:.* HP1_last_json
attr MQTT2_ebusd_hc1 room MQTT2_DEVICE

setstate MQTT2_ebusd_hc1 2021-07-19 06:57:51 Action_value stopconsumer
setstate MQTT2_ebusd_hc1 2021-07-16 08:28:41 Adaption_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 06:57:51 DHWSetTemp_value 48.0
setstate MQTT2_ebusd_hc1 2021-07-16 10:37:21 Day_value 25
setstate MQTT2_ebusd_hc1 2021-07-19 08:31:46 End_value 00:00
setstate MQTT2_ebusd_hc1 2021-07-16 08:28:41 ExternalTemperature_value 15.0
setstate MQTT2_ebusd_hc1 2021-07-19 07:37:10 FrostProtection 4.0
setstate MQTT2_ebusd_hc1 2021-07-16 14:59:29 FrostProtection_value 4.0
setstate MQTT2_ebusd_hc1 2021-07-16 08:28:41 Gradient_value 13.0
setstate MQTT2_ebusd_hc1 2021-07-19 08:52:53 HP1_last_json {\
     "Start": {"value": "22:00"},\
     "End": {"value": "07:30"}}
setstate MQTT2_ebusd_hc1 2021-07-16 08:28:41 HeatDemand_value 5.0
setstate MQTT2_ebusd_hc1 2021-07-19 08:38:13 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1 2021-07-16 10:24:55 MaxSupplyTemperature_value 75.0
setstate MQTT2_ebusd_hc1 2021-07-16 10:26:01 MinSupplyTemperature_value 25.0
setstate MQTT2_ebusd_hc1 2021-07-16 10:26:35 MixedExternalTemperature_value 17.5
setstate MQTT2_ebusd_hc1 2021-07-16 10:37:21 Month_value August
setstate MQTT2_ebusd_hc1 2021-07-16 10:27:34 NormalSetTemp_value 22.0
setstate MQTT2_ebusd_hc1 2021-07-16 10:28:19 ProgramChooseSwitch_value Sommer
setstate MQTT2_ebusd_hc1 2021-07-16 10:29:35 ReducedSetTemp_value 19.0
setstate MQTT2_ebusd_hc1 2021-07-16 10:30:11 Reduces_value Absenktemperatur
setstate MQTT2_ebusd_hc1 2021-07-16 10:38:38 ReleaseDHW_value 0
setstate MQTT2_ebusd_hc1 2021-07-16 10:38:38 ReleaseHC_value 0
setstate MQTT2_ebusd_hc1 2021-07-16 10:30:53 RoomInfluence_value 32768
setstate MQTT2_ebusd_hc1 2021-07-16 10:32:12 RoomSensorCorrection_value 0.0
setstate MQTT2_ebusd_hc1 2021-07-16 10:32:54 RoomSetValue_value 4.0
setstate MQTT2_ebusd_hc1 2021-07-16 10:33:36 RoomTemperature_value -100.0
setstate MQTT2_ebusd_hc1 2021-07-19 06:57:51 SetTemp_value 5.00
setstate MQTT2_ebusd_hc1 2021-07-19 08:31:46 Start_value 00:00
setstate MQTT2_ebusd_hc1 2021-07-19 06:57:51 Status_value hotwater
setstate MQTT2_ebusd_hc1 2021-07-16 10:39:45 SuWiChangeOverTemperature_value 20.0
setstate MQTT2_ebusd_hc1 2021-07-16 08:47:03 Sunday 11:00;;15:00;;17:30;;21:00;;24:00;;24:00;;selected
setstate MQTT2_ebusd_hc1 2021-07-16 10:41:04 SupplySetValueHC_value 5.0
setstate MQTT2_ebusd_hc1 2021-07-16 10:45:59 SwitchOffSetting_value 32768
setstate MQTT2_ebusd_hc1 2021-07-16 10:46:38 SwitchOnSetting_value 8
setstate MQTT2_ebusd_hc1 2021-07-16 10:38:38 TimeSinceLastCommand_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 08:52:53 Tuesday 22:00;;07:30;;-,-;;-,-;;-,-;;-,-;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-16 10:47:21 _16_Constructiontype_value Light
setstate MQTT2_ebusd_hc1 2021-07-16 08:28:41 _16_DhwMode_value 32768
setstate MQTT2_ebusd_hc1 2021-07-16 10:36:17 _16_HolidayDay_value 25
setstate MQTT2_ebusd_hc1 2021-07-16 10:36:54 _16_HolidayMonth_value August
setstate MQTT2_ebusd_hc1 2021-07-16 10:22:37 _16_Legionnairesday_value 5
setstate MQTT2_ebusd_hc1 2021-07-19 08:14:22 _16_Temp10_value 0.0
setstate MQTT2_ebusd_hc1 2021-07-16 08:28:41 _16_TempReduced_value 32768
setstate MQTT2_ebusd_hc1 2021-07-16 08:28:41 _8_Temp0_value 0
setstate MQTT2_ebusd_hc1 2021-07-16 11:29:39 associatedWith MQTT2_ebusd_21.2_1


So, jetzt fehlt glaub ich noch das GetAll...

rob

#47
...so das "GetAll" habe ich gefunden: im Splitter-Device :)
"All" meint hier auch wirklich All  8)

define MQTT2_ebusd_21.2_1 MQTT2_DEVICE ebusd
attr MQTT2_ebusd_21.2_1 autocreate 1
attr MQTT2_ebusd_21.2_1 bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|hc\d+|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus\S[^/]*?)/(global|broadcast|general|scan[^/]+)/.*:.* "$1"
attr MQTT2_ebusd_21.2_1 comment NOTE: additional templates and code have been downloaded from svn (contrib).<br>Pls. inform the maintainer, if the bridgeRegexp doesn't fit to all of your devices connected to the bus.
attr MQTT2_ebusd_21.2_1 devStateIcon 1.true:it_net 1.false:it_net@red  2.true:lan_rs485 2.false:lan_rs485@red
attr MQTT2_ebusd_21.2_1 icon sani_boiler_temp
attr MQTT2_ebusd_21.2_1 model eBus_daemon_splitter
attr MQTT2_ebusd_21.2_1 readingList ebusd/scan[^/]+/.*:.* { $TOPIC =~ m,scan.([^/]+)/,;; FHEM::aTm2u_ebus::j2nv($EVENT,"scan_${1}_") }\
  ebusd/global/uptime:.* uptime\
  ebusd/global/running:.* running\
  ebusd/global/version:.* version\
  ebusd/global/signal:.* signal\
  ebusd/global/updatecheck:.* updatecheck\
  ebusd/global/scan:.* scan\
  ebusd/broadcast/datetime:.* { FHEM::aTm2u_ebus::j2nv($EVENT) }\
ebusd/broadcast/error:.* error\
ebusd/broadcast/id:.* id\
ebusd/broadcast/queryexistence:.* queryexistence\
ebusd/broadcast/signoflife:.* signoflife
attr MQTT2_ebusd_21.2_1 room MQTT2_DEVICE
attr MQTT2_ebusd_21.2_1 setList getKnown:noArg ebusd/list onlyknown\
  getAll:noArg ebusd/list
attr MQTT2_ebusd_21.2_1 stateFormat Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: formatedUptime
attr MQTT2_ebusd_21.2_1 userReadings formatedUptime:uptime.* {my $m = ReadingsVal($name,'uptime',0)/60;; return sprintf '0 000 00:%02d', $m if $m < 60;; my $h = $m / 60;; $m %= 60;; return sprintf '0 000 %02d:%02d', $h, $m if $h < 24;; my $d = $h / 24;; $h %= 24;;;; return sprintf '0 %03d %02d:%02d', $d, $h, $m if $d <365;; my $y = $d / 365;; $d %= 365;; return sprintf '%d %03d %02d:%02d', $y, $d, $h, $m}

define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 jsonMap FrostProtection_value:FrostProtection
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/MaxDHWTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/ProgramChooseSwitch:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/SummerWinterChangeOverTemperature:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Day_', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Month_', $JSONMAP) }\
  ebusd/hc1/Adaption:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HolidayTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HP1.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
  ebusd/hc1/HP1.*:.* HP1_last_json\
ebusd/hc1/BCAST1:.* BCAST1\
ebusd/hc1/BCAST2:.* BCAST2\
ebusd/hc1/DHWMin:.* { json2nameValue($EVENT) }\
ebusd/hc1/DHWMode:.* { json2nameValue($EVENT) }\
ebusd/hc1/DHWSetpoint:.* { json2nameValue($EVENT) }\
ebusd/hc1/DHWSetValue:.* { json2nameValue($EVENT) }\
ebusd/hc1/DHWTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/EndOfHoliday\x2eDay:.* { json2nameValue($EVENT) }\
ebusd/hc1/EndOfHoliday\x2eMonth:.* { json2nameValue($EVENT) }\
ebusd/hc1/EndOfHoliday:.* { json2nameValue($EVENT) }\
ebusd/hc1/ExternalTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/FrostProtection:.* { json2nameValue($EVENT) }\
ebusd/hc1/Gradient:.* { json2nameValue($EVENT) }\
ebusd/hc1/HeatDemand:.* { json2nameValue($EVENT) }\
ebusd/hc1/HeatingDemand:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eDi\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eDi\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eDi\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eDo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eDo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eDo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eFr\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eFr\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eFr\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eMi\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eMi\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eMi\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eMo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eMo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eMo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eSa\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eSa\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eSa\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eSo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eSo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP2\x2eSo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eDi\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eDi\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eDi\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eDo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eDo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eDo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eFr\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eFr\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eFr\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eMi\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eMi\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eMi\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eMo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eMo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eMo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eSa\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eSa\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eSa\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eSo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eSo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/HP3\x2eSo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/LegionnairesFunction:.* { json2nameValue($EVENT) }\
ebusd/hc1/MaxSupplyTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/MinSupplyTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/MixedExternalTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/NormalSetTemp:.* { json2nameValue($EVENT) }\
ebusd/hc1/ReducedSetTemp:.* { json2nameValue($EVENT) }\
ebusd/hc1/Reduces:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomInfluence:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomSensorCorrection:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomSetValue:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomThermostat:.* { json2nameValue($EVENT) }\
ebusd/hc1/StartOfHoliday:.* { json2nameValue($EVENT) }\
ebusd/hc1/Status:.* { json2nameValue($EVENT) }\
ebusd/hc1/SupplySetValueHC:.* { json2nameValue($EVENT) }\
ebusd/hc1/SupplyTemperatureHC:.* { json2nameValue($EVENT) }\
ebusd/hc1/SupplyTemperatureWTC:.* { json2nameValue($EVENT) }\
ebusd/hc1/SwitchOffSetting:.* { json2nameValue($EVENT) }\
ebusd/hc1/SwitchOnSetting:.* { json2nameValue($EVENT) }\
ebusd/hc1/TypeOfConstruction:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eDi\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eDi\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eDi\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eDo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eDo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eDo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eFr\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eFr\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eFr\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eMi\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eMi\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eMi\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eMo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eMo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eMo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eSa\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eSa\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eSa\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eSo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eSo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/WP\x2eSo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eDi\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eDi\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eDi\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eDo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eDo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eDo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eFr\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eFr\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eFr\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eMi\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eMi\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eMi\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eMo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eMo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eMo\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eSa\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eSa\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eSa\x2e3:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eSo\x2e1:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eSo\x2e2:.* { json2nameValue($EVENT) }\
ebusd/hc1/ZP\x2eSo\x2e3:.* { json2nameValue($EVENT) }
attr MQTT2_ebusd_hc1 room MQTT2_DEVICE

define MQTT2_ebusd_hc2 MQTT2_DEVICE ebusd_hc2
attr MQTT2_ebusd_hc2 readingList ebusd/hc2/HeatingDemand:.* HeatingDemand\
ebusd/hc2/Status:.* Status
attr MQTT2_ebusd_hc2 room MQTT2_DEVICE

define MQTT2_ebusd_hc3 MQTT2_DEVICE ebusd_hc3
attr MQTT2_ebusd_hc3 readingList ebusd/hc3/HeatingDemand:.* HeatingDemand\
ebusd/hc3/Status:.* Status
attr MQTT2_ebusd_hc3 room MQTT2_DEVICE

define MQTT2_ebusd_hc4 MQTT2_DEVICE ebusd_hc4
attr MQTT2_ebusd_hc4 readingList ebusd/hc4/HeatingDemand:.* HeatingDemand\
ebusd/hc4/Status:.* Status
attr MQTT2_ebusd_hc4 room MQTT2_DEVICE

define MQTT2_ebusd_hc5 MQTT2_DEVICE ebusd_hc5
attr MQTT2_ebusd_hc5 readingList ebusd/hc5/HeatingDemand:.* HeatingDemand\
ebusd/hc5/Status:.* Status
attr MQTT2_ebusd_hc5 room MQTT2_DEVICE

define MQTT2_ebusd_hc6 MQTT2_DEVICE ebusd_hc6
attr MQTT2_ebusd_hc6 readingList ebusd/hc6/HeatingDemand:.* HeatingDemand\
ebusd/hc6/Status:.* Status
attr MQTT2_ebusd_hc6 room MQTT2_DEVICE

define MQTT2_ebusd_hc7 MQTT2_DEVICE ebusd_hc7
attr MQTT2_ebusd_hc7 readingList ebusd/hc7/HeatingDemand:.* HeatingDemand\
ebusd/hc7/Status:.* Status
attr MQTT2_ebusd_hc7 room MQTT2_DEVICE

define MQTT2_ebusd_hc8 MQTT2_DEVICE ebusd_hc8
attr MQTT2_ebusd_hc8 readingList ebusd/hc8/HeatingDemand:.* HeatingDemand\
ebusd/hc8/Status:.* Status
attr MQTT2_ebusd_hc8 room MQTT2_DEVICE

define MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { json2nameValue($EVENT) }\
ebusd/sc/Manufacturer1:.* { json2nameValue($EVENT) }\
ebusd/sc/BoilerSensorDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/BurnerOperationSinceLastService:.* { json2nameValue($EVENT) }\
ebusd/sc/CRCErrorHeatingEngeneerParameter:.* { json2nameValue($EVENT) }\
ebusd/sc/CRCErrorManufacturerParameter:.* { json2nameValue($EVENT) }\
ebusd/sc/DHWSensorDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/Enduser:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorHistory:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTCalibration4:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTCalibration5:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTCalibration6:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTCalibration8:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTControlInput:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTIOControl:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorVoltagSupply:.* { json2nameValue($EVENT) }\
ebusd/sc/ExternalSensorDefektive:.* { json2nameValue($EVENT) }\
ebusd/sc/FanFaultDuringOperation:.* { json2nameValue($EVENT) }\
ebusd/sc/FanFaultDuringShutdown:.* { json2nameValue($EVENT) }\
ebusd/sc/FlameFailureDuringOperation:.* { json2nameValue($EVENT) }\
ebusd/sc/FlameSimulation:.* { json2nameValue($EVENT) }\
ebusd/sc/FlueGasSensorDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/GasValveCycleV1V2Defective:.* { json2nameValue($EVENT) }\
ebusd/sc/GPSFailureDuringSafetyTime:.* { json2nameValue($EVENT) }\
ebusd/sc/H2EmergencyOffFunction:.* { json2nameValue($EVENT) }\
ebusd/sc/Manufacturer2:.* { json2nameValue($EVENT) }\
ebusd/sc/NoFlameFormation:.* { json2nameValue($EVENT) }\
ebusd/sc/NoGasPressureAvailable:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues1:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues2:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues3:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues4:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues5:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues6:.* { json2nameValue($EVENT) }\
ebusd/sc/PWMPumpDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/SetpointDHW:.* { json2nameValue($EVENT) }\
ebusd/sc/SetpointTempSystem:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic1:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic2:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic3:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic4:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic5:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic6:.* { json2nameValue($EVENT) }\
ebusd/sc/WWTurbineDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/StatisticUkn01:.* StatisticUkn01\
ebusd/sc/StatisticUkn02:.* StatisticUkn02\
ebusd/sc/StatisticUkn03:.* StatisticUkn03\
ebusd/sc/StatisticUkn04:.* StatisticUkn04\
ebusd/sc/StatisticUkn05:.* StatisticUkn05
attr MQTT2_ebusd_sc room MQTT2_DEVICE

setstate MQTT2_ebusd_21.2_1 Status: \
1:true\
Signal: \
2:true\
<br>Uptime: 0 003 20:28
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:02 associatedWith MQTT2_ebusd_21.2_1
setstate MQTT2_ebusd_21.2_1 2021-07-16 08:28:41 attrTemplateVersion 20210715
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:02:43 date 19.07.2021
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:02 error
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:03:01 formatedUptime 0 003 20:28
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:02 id
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:02:43 outsidetemp_value 19.000
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:02 queryexistence
setstate MQTT2_ebusd_21.2_1 2021-07-17 23:54:04 running true
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_08_HW 0302
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_08_ID W
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_08_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_08_SW 1200
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_0c_ID ??
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_35_ID W
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_35_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_35_SW 2726
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_f6_HW 0302
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_f6_ID WWST?
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_f6_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:06 scan_f6_SW 1200
setstate MQTT2_ebusd_21.2_1 2021-07-17 23:54:03 signal true
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:02 signoflife
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:01 state getAll
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:02:43 time 09:05:-
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:03:01 uptime 332939
setstate MQTT2_ebusd_21.2_1 2021-07-17 23:54:03 version "ebusd 21.2.v21.2"

setstate MQTT2_ebusd_hc1 2021-07-19 09:00:03 Action stopconsumer
setstate MQTT2_ebusd_hc1 2021-07-19 06:57:51 Action_value stopconsumer
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:01 Adaption_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 BCAST1
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 BCAST2
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:03 DHWSetTemp_value 48.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:03 Day__16_HolidayDay_value 25
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:19 Day_value 25
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:39 End_value 17:00
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:05 ExternalTemperature_value 15.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 Friday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 07:37:10 FrostProtection 4.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:06 FrostProtection_value 4.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:06 Gradient_value 13.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 HP1_last_json
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:06 HeatDemand_value 5.0
setstate MQTT2_ebusd_hc1 2021-07-19 08:38:13 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:16 MaxSupplyTemperature_value 75.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:16 MinSupplyTemperature_value 25.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:17 MixedExternalTemperature_value 17.5
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 Monday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:03 Month__16_HolidayMonth August
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:19 Month_value August
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:17 NormalSetTemp_value 22.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:03 ProgramChooseSwitch Sommer
setstate MQTT2_ebusd_hc1 2021-07-16 10:28:19 ProgramChooseSwitch_value Sommer
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:17 ReducedSetTemp_value 19.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:17 Reduces_value Absenktemperatur
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:19 ReleaseDHW_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:19 ReleaseHC_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:18 RoomInfluence_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:18 RoomSensorCorrection_value 0.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:18 RoomSetValue_value 4.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:18 RoomTemperature_value -100.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 Saturday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:03 SetTemp_value 5.00
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:39 Start_value 19:00
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:03 Status hotwater
setstate MQTT2_ebusd_hc1 2021-07-19 06:57:51 Status_value hotwater
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:03 SuWiChangeOverTemperature_value 20.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 Sunday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;selected
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:19 SupplySetValueHC_value 5.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:20 SwitchOffSetting_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:21 SwitchOnSetting_value 8
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 Thursday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:19 TimeSinceLastCommand_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 Tuesday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 Wednesday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:21 _16_Constructiontype_value Light
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:03 _16_DhwMode_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:04 _16_HolidayDay_value 4
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:05 _16_HolidayMonth_value September
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:15 _16_Legionnairesday_value 5
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:04 _16_Temp10_value 0.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:02 _16_TempReduced_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:06 _8_Temp0_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc2 2021-07-19 09:00:39 HeatingDemand
setstate MQTT2_ebusd_hc2 2021-07-19 09:00:03 IODev myMQTT_Server
setstate MQTT2_ebusd_hc2 2021-07-19 09:00:39 Status
setstate MQTT2_ebusd_hc2 2021-07-19 09:00:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc3 2021-07-19 09:00:39 HeatingDemand
setstate MQTT2_ebusd_hc3 2021-07-19 09:00:03 IODev myMQTT_Server
setstate MQTT2_ebusd_hc3 2021-07-19 09:00:39 Status
setstate MQTT2_ebusd_hc3 2021-07-19 09:00:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc4 2021-07-19 09:00:39 HeatingDemand
setstate MQTT2_ebusd_hc4 2021-07-19 09:00:03 IODev myMQTT_Server
setstate MQTT2_ebusd_hc4 2021-07-19 09:00:39 Status
setstate MQTT2_ebusd_hc4 2021-07-19 09:00:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc5 2021-07-19 09:00:39 HeatingDemand
setstate MQTT2_ebusd_hc5 2021-07-19 09:00:03 IODev myMQTT_Server
setstate MQTT2_ebusd_hc5 2021-07-19 09:00:39 Status
setstate MQTT2_ebusd_hc5 2021-07-19 09:00:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc6 2021-07-19 09:00:39 HeatingDemand
setstate MQTT2_ebusd_hc6 2021-07-19 09:00:03 IODev myMQTT_Server
setstate MQTT2_ebusd_hc6 2021-07-19 09:00:40 Status
setstate MQTT2_ebusd_hc6 2021-07-19 09:00:40 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc7 2021-07-19 09:00:40 HeatingDemand
setstate MQTT2_ebusd_hc7 2021-07-19 09:00:03 IODev myMQTT_Server
setstate MQTT2_ebusd_hc7 2021-07-19 09:00:40 Status
setstate MQTT2_ebusd_hc7 2021-07-19 09:00:40 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc8 2021-07-19 09:00:40 HeatingDemand
setstate MQTT2_ebusd_hc8 2021-07-19 09:00:03 IODev myMQTT_Server
setstate MQTT2_ebusd_hc8 2021-07-19 09:00:40 Status
setstate MQTT2_ebusd_hc8 2021-07-19 09:00:40 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 ASTBShutdownTempFlueGas_value 15
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 BoilerSensorDefective_value 7936
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 BurnerOperationSinceLastService_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 BurnerOptions_value 49
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte0_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte10_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte11_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte12_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 Byte1_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte2_value 74
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte3_value 5
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte4_value 43
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte5_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte7_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte8_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 Byte9_value 1
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 Byte_value 18
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 CRCErrorHeatingEngeneerParameter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 CRCErrorManufacturerParameter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 ChangeoverTempSummerWinter_value 20
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 DHWSensorDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 DHWSetValueDay_value 50
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 DHWTemp_value 46.0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 DayOperatingHours_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1.ErrorCode_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1.FlueGasTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1.IonisationSignal_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1.LoadSetting_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1.OperatingPhase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E1._8_SettingUV_value HZ
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2.ErrorCode_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2.FlueGasTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2.IonisationSignal_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2.LoadSetting_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2.OperatingPhase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E2._8_SettingUV_value HZ
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3.ErrorCode_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3.FlueGasTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3.IonisationSignal_value 42
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3.LoadSetting_value 15
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3.OperatingPhase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E3._8_SettingUV_value HZ
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4.ErrorCode_value 251
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4.FlueGasTemp_value 3
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4.IonisationSignal_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4.LoadSetting_value 130
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4.OperatingPhase_value 251
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E4._8_SettingUV_value 167
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5.DHWTemp_value -1
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5.ErrorCode_value 15
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5.ExternalTemp_value -9
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5.FlueGasTemp_value -37
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5.IonisationSignal_value 238
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5.LoadSetting_value 120
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5.OperatingPhase_value 128
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5.SupplyTemp_value -62
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5.ThroughputValue_value 254
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E5._8_SettingUV_value 160
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E6.DHWTemp_value 64
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E6.ExternalTemp_value -58
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E6.FlueGasTemp_value -108
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E6.IonisationSignal_value 229
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E6.LoadSetting_value 241
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E6.OperatingPhase_value 247
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E6.SupplyTemp_value -21
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E6.ThroughputValue_value 104
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 E6._8_SettingUV_value 235
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 ErrorSCOTCalibration4_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 ErrorSCOTCalibration5_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 ErrorSCOTCalibration6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 ErrorSCOTCalibration8_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 ErrorSCOTControlInput_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 ErrorSCOTIOControl_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 ErrorVoltageSupply_value 256
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Error_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 ExternalSensorDefektive_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 ExternalTemp_value 19
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 FanControlActualSpeed_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 FanControlSetSpeed_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 FanControllerI_value 5
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 FanControllerP_value 5
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 FanFaultDuringOperation_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 FanFaultDuringShutdown_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 FlameFailureDuringOperation_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 FlameSimulation_value 123
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Flame_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 FlueGasSensorDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 GPSFailureDuringSafetyTime_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 GasValve1_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 GasValve2_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 GasValveCycleV1V2Defective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 H2EmergencyOffFunction_value 55040
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Load_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 LoweringRoomTemp_value 15
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 LoweringTempSetValue_value 30
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 NoFlameFormation_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 NoGasPressureAvailable_value 256
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 NormalRoomTemp_value 22
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 NormalTempSetValue_value 60
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 NumberMainsOn_value 16896
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 Offset_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Operatingphase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 PWMPumpDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Pump_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 S15_value 147
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 S16_value 55
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 S19_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 S20_value 151
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 STBShutdownTempBoiler_value 147
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 STWExcess_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 STWShutdownTempBoiler_value 95
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 SettingUV_value Heating
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 SoWi_value Summer
setstate MQTT2_ebusd_sc 2021-07-19 09:00:40 StatisticUkn01
setstate MQTT2_ebusd_sc 2021-07-19 09:00:40 StatisticUkn02
setstate MQTT2_ebusd_sc 2021-07-19 09:00:40 StatisticUkn03
setstate MQTT2_ebusd_sc 2021-07-19 09:00:40 StatisticUkn04
setstate MQTT2_ebusd_sc 2021-07-19 09:00:41 StatisticUkn05
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Status1_value 1
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 SupplySetTemp_value 8
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 SupplyTemp_value 36.0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 TrendTemp_value 19.055
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Ukn2_1_value 1
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Ukn2_2_value 1
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Ukn2_3_value 1
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Ukn3_1_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Ukn3_3_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Ukn3_4_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Ukn3_5_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Ukn3_6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 Ukn3_7_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 UknTemp_value 0.0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 WWTurbineDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:06 _16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:04 _16_Hours_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:00:05 _8_Temp0_value 68
setstate MQTT2_ebusd_sc 2021-07-19 09:00:41 associatedWith MQTT2_ebusd_21.2_1

Es sind also auch neue Devices entstanden (hc2 - hc8), welche bei mir keinen Sinn machen, aber für andere mit mehr Weishaupt-Austattung ggf. gut zu wissen: Splitter-Template anwenden und halt das GetAll - schon hat man einen guten Überblick, was da so alles möglich ist.

Anbei die Messages via mosquitto_sub.

Edit1: sehe grad eben, dass ich autocreate noch auf simple stehen hab. Muss es also mit complex nochmal machen...

Edit2: im Log schimpft er ein wenig:

2021.07.19 09:00:01 3: MQTT2_DEVICE set MQTT2_ebusd_21.2_1 getAll
2021.07.19 09:00:01 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:02 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 156.

2021.07.19 09:00:02 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:03 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:03 1: json2namevalue: Error parsing >< for prefix/name:Day_
2021.07.19 09:00:03 1: json2namevalue: Error parsing >< for prefix/name:Month_
2021.07.19 09:00:03 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:03 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:03 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:03 2: autocreate: define MQTT2_ebusd_hc2 MQTT2_DEVICE ebusd_hc2 myMQTT_Server
2021.07.19 09:00:03 2: autocreate: define FileLog_MQTT2_ebusd_hc2 FileLog ./log/MQTT2_ebusd_hc2-%Y.log MQTT2_ebusd_hc2
2021.07.19 09:00:03 2: autocreate: define MQTT2_ebusd_hc3 MQTT2_DEVICE ebusd_hc3 myMQTT_Server
2021.07.19 09:00:03 2: autocreate: define FileLog_MQTT2_ebusd_hc3 FileLog ./log/MQTT2_ebusd_hc3-%Y.log MQTT2_ebusd_hc3
2021.07.19 09:00:03 2: autocreate: define MQTT2_ebusd_hc4 MQTT2_DEVICE ebusd_hc4 myMQTT_Server
2021.07.19 09:00:03 2: autocreate: define FileLog_MQTT2_ebusd_hc4 FileLog ./log/MQTT2_ebusd_hc4-%Y.log MQTT2_ebusd_hc4
2021.07.19 09:00:03 2: autocreate: define MQTT2_ebusd_hc5 MQTT2_DEVICE ebusd_hc5 myMQTT_Server
2021.07.19 09:00:03 2: autocreate: define FileLog_MQTT2_ebusd_hc5 FileLog ./log/MQTT2_ebusd_hc5-%Y.log MQTT2_ebusd_hc5
2021.07.19 09:00:03 2: autocreate: define MQTT2_ebusd_hc6 MQTT2_DEVICE ebusd_hc6 myMQTT_Server
2021.07.19 09:00:03 2: autocreate: define FileLog_MQTT2_ebusd_hc6 FileLog ./log/MQTT2_ebusd_hc6-%Y.log MQTT2_ebusd_hc6
2021.07.19 09:00:03 2: autocreate: define MQTT2_ebusd_hc7 MQTT2_DEVICE ebusd_hc7 myMQTT_Server
2021.07.19 09:00:03 2: autocreate: define FileLog_MQTT2_ebusd_hc7 FileLog ./log/MQTT2_ebusd_hc7-%Y.log MQTT2_ebusd_hc7
2021.07.19 09:00:03 2: autocreate: define MQTT2_ebusd_hc8 MQTT2_DEVICE ebusd_hc8 myMQTT_Server
2021.07.19 09:00:04 2: autocreate: define FileLog_MQTT2_ebusd_hc8 FileLog ./log/MQTT2_ebusd_hc8-%Y.log MQTT2_ebusd_hc8
2021.07.19 09:00:04 2: autocreate: define FileLog_MQTT2_ebusd_21.2_1 FileLog ./log/MQTT2_ebusd_21.2_1-%Y.log MQTT2_ebusd_21.2_1
2021.07.19 09:00:04 2: autocreate: define FileLog_MQTT2_ebusd_21.2_1 FileLog ./log/MQTT2_ebusd_21.2_1-%Y.log MQTT2_ebusd_21.2_1
2021.07.19 09:00:04 2: autocreate: define FileLog_MQTT2_ebusd_21.2_1 FileLog ./log/MQTT2_ebusd_21.2_1-%Y.log MQTT2_ebusd_21.2_1
2021.07.19 09:00:04 2: autocreate: define FileLog_MQTT2_ebusd_21.2_1 FileLog ./log/MQTT2_ebusd_21.2_1-%Y.log MQTT2_ebusd_21.2_1
2021.07.19 09:00:05 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:05 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:06 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:06 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:06 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:06 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:07 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:07 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:07 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:07 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:07 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:07 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:07 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:08 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:08 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:08 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:08 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:08 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:08 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:09 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:09 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:09 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:09 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:09 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:10 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:10 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:10 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:10 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:10 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:11 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:11 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:11 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:11 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:12 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:12 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:12 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:12 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:12 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:13 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:13 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:13 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:13 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:14 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:14 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:14 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:14 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:16 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:16 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:16 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:17 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:17 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:17 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:18 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:18 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:19 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:20 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:21 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:21 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:21 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:21 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:22 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:22 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:22 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:23 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:23 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:23 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:24 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:24 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:25 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:25 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:25 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:26 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:26 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:26 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:27 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:27 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:28 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:29 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:30 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:30 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:30 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:31 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:31 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:32 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:32 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:33 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:33 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:34 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:34 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:34 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:35 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:35 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:36 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:36 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:37 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:37 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:38 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:38 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:39 1: json2namevalue: Error parsing >< for prefix/name:
2021.07.19 09:00:39 1: json2namevalue: Error parsing >< for prefix/name:

Mal schauen.

Beta-User

 :) Danke schon mal. Da ist mir jetzt zwar auch wieder einiges unklar, aber vorab wollen wir mal ein paar der angesprochenen Fragen klären:

- Was ist mit "wrapper gemeint"? Wikipedia (en) sagt:
ZitatA wrapper function is a subroutine (another word for a ) in a  or a computer program whose main purpose is to call a second subroutine[1] or a system call with little or no additional computation.
"FHEM::aTm2u_ebus::j2nv()" hatte ich als wrapper für "json2nameValue()" bezeichnet, die "additional computation" beschränkt sich darauf, das "_value" zu verhindern, indem der JSON "vorbehandelt" wird; nur eben nicht mehr, indem dieses "replace" nicht mehr vorab direkt in der readingList steht, sondern im Code. Dasa hat den Vorteil, dass man es nur an einer Stelle ändern muss, wenn man feststellen sollte, dass Verbesserungsbedarf besteht...
Am Praxisbeispiel erklärt:
setstate MQTT2_ebusd_hc1 2021-07-19 07:37:10 FrostProtection 4.0
setstate MQTT2_ebusd_hc1 2021-07-16 14:59:29 FrostProtection_value 4.0
sind die Ergebnisse aus "vorbehandelt" bzw. "json2nameValue pur" - letzteres wird halt nicht mehr aktualisiert.
Du würdest ähnliches auch an anderer Stelle feststellen können, wenn da zwischenzeitlich neue/aktualisierte Werte gesendet worden wären.
"HP1_last_json" sieht so aus, wie ich mir das gedacht hatte, und auch die Readings "Sunday" und "Tuesday" sehen ganz ok aus, wenn man mal von zwei "Kleinigkeiten" absieht...
(Wo kommt das "selected" bzw. "Mo-So" her, und warum ist in manchen Fällen das Ende vor dem Start?)




Wie du bemerkt hast, führt "complex" dazu, dass das "mittlere Argument" gefüllt wird (und dann eindeutige Readingnamen entstehen); das ist durch den "wrapper" nicht geändert.
Aus attrTemplate-Sicht ist halt "unschön", dass es mal Sinn macht, die lange Form zu verwenden, und an anderen Stellen dann unnötig ist.

Zum Testen mit "complex" würde ich dann empfehlen, erst mal fast alle Readings (bzw. zumindest die mit ".*_value") zu löschen, z.B. so:
deletereading -q MQTT2_ebusd.* (?!associatedWith|IODev).*



Was die log-Einträge angeht, kommt mir die Zeilennummer seltsam vor. Ist das die letzte im svn befindliche Version der myUtils? (Wenn nein: es gibt nach einem FHEM-update ein attrTemplate um die letzten Versionen der myUtils bzw. ebus-attrTemplate aus dem svn zu holen).
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

rob

Den Wrapper hatte ich bei FrostProtection nicht angewandt. Ich hatte das JSONMAP gefüllt und das alte Reading mit _value drin gelassen.
Versteh ich richtig, dass ich den Wrapper einfach überall dazu tun soll? Irgendwie komme ich an der Stelle nicht richtig mit  :-[


Das selected kommt aus dem hier:
Zitat von: Beta-User am 16 Juli 2021, 10:39:56
Das sähe dann z.B. (als Reading) so aus:bzw.
setstate MQTT2_ebusd_sc 2021-07-16 08:47:03 Sunday 11:00;;15:00;;17:30;;21:00;;24:00;;24:00;;selected
Hatte es einfach mit reingenommen  :-[ Die Reihenfolge liegt vielleicht an der Sortierung? "End" kommt vor "Start". Alle Uhrzeiten sind rückwärts eingetragen. Ließe sich notfalls im CSV fixen (z.B. Hp1 davor oder zumindest einen Prefix z.B. 01_Start und 02_End).


Mit complex hatte ich leider garnicht getestet. Hab es zu spät gesehen. Readings gelöscht, complex umgestellt und nochmals getAll rausgehauen.
(die Regex zu den Wochenprogrammen habe ich ein wenig zuammengefasst - weiß nicht, was Du eher benötigst).
jetzt mit complex

define MQTT2_ebusd_21.2_1 MQTT2_DEVICE ebusd
attr MQTT2_ebusd_21.2_1 autocreate 1
attr MQTT2_ebusd_21.2_1 bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|hc\d+|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus\S[^/]*?)/(global|broadcast|general|scan[^/]+)/.*:.* "$1"
attr MQTT2_ebusd_21.2_1 comment NOTE: additional templates and code have been downloaded from svn (contrib).<br>Pls. inform the maintainer, if the bridgeRegexp doesn't fit to all of your devices connected to the bus.
attr MQTT2_ebusd_21.2_1 devStateIcon 1.true:it_net 1.false:it_net@red  2.true:lan_rs485 2.false:lan_rs485@red
attr MQTT2_ebusd_21.2_1 icon sani_boiler_temp
attr MQTT2_ebusd_21.2_1 model eBus_daemon_splitter
attr MQTT2_ebusd_21.2_1 readingList ebusd/scan[^/]+/.*:.* { $TOPIC =~ m,scan.([^/]+)/,;; FHEM::aTm2u_ebus::j2nv($EVENT,"scan_${1}_") }\
  ebusd/global/uptime:.* uptime\
  ebusd/global/running:.* running\
  ebusd/global/version:.* version\
  ebusd/global/signal:.* signal\
  ebusd/global/updatecheck:.* updatecheck\
  ebusd/global/scan:.* scan\
  ebusd/broadcast/datetime:.* { FHEM::aTm2u_ebus::j2nv($EVENT) }\
ebusd/broadcast/error:.* error\
ebusd/broadcast/id:.* id\
ebusd/broadcast/queryexistence:.* queryexistence\
ebusd/broadcast/signoflife:.* signoflife
attr MQTT2_ebusd_21.2_1 room MQTT2_DEVICE
attr MQTT2_ebusd_21.2_1 setList getKnown:noArg ebusd/list onlyknown\
  getAll:noArg ebusd/list
attr MQTT2_ebusd_21.2_1 stateFormat Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: formatedUptime
attr MQTT2_ebusd_21.2_1 userReadings formatedUptime:uptime.* {my $m = ReadingsVal($name,'uptime',0)/60;; return sprintf '0 000 00:%02d', $m if $m < 60;; my $h = $m / 60;; $m %= 60;; return sprintf '0 000 %02d:%02d', $h, $m if $h < 24;; my $d = $h / 24;; $h %= 24;;;; return sprintf '0 %03d %02d:%02d', $d, $h, $m if $d <365;; my $y = $d / 365;; $d %= 365;; return sprintf '%d %03d %02d:%02d', $y, $d, $h, $m}

define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 jsonMap FrostProtection_value:FrostProtection
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/MaxDHWTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/ProgramChooseSwitch:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/SummerWinterChangeOverTemperature:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Day_', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Month_', $JSONMAP) }\
  ebusd/hc1/Adaption:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HolidayTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HP1.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
  ebusd/hc1/HP1.*:.* HP1_last_json\
  ebusd/hc1/HP2.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
  ebusd/hc1/HP2.*:.* HP2_last_json\
  ebusd/hc1/HP3.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
  ebusd/hc1/HP3.*:.* HP3_last_json\
  ebusd/hc1/WP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
  ebusd/hc1/WP.*:.* WP_last_json\
  ebusd/hc1/ZP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
  ebusd/hc1/ZP.*:.* ZP_last_json\
ebusd/hc1/BCAST1:.* BCAST1\
ebusd/hc1/BCAST2:.* BCAST2\
ebusd/hc1/DHWMin:.* { json2nameValue($EVENT) }\
ebusd/hc1/DHWMode:.* { json2nameValue($EVENT) }\
ebusd/hc1/DHWSetpoint:.* { json2nameValue($EVENT) }\
ebusd/hc1/DHWSetValue:.* { json2nameValue($EVENT) }\
ebusd/hc1/DHWTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/EndOfHoliday\x2eDay:.* { json2nameValue($EVENT) }\
ebusd/hc1/EndOfHoliday\x2eMonth:.* { json2nameValue($EVENT) }\
ebusd/hc1/EndOfHoliday:.* { json2nameValue($EVENT) }\
ebusd/hc1/ExternalTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/FrostProtection:.* { json2nameValue($EVENT) }\
ebusd/hc1/Gradient:.* { json2nameValue($EVENT) }\
ebusd/hc1/HeatDemand:.* { json2nameValue($EVENT) }\
ebusd/hc1/HeatingDemand:.* { json2nameValue($EVENT) }\
ebusd/hc1/LegionnairesFunction:.* { json2nameValue($EVENT) }\
ebusd/hc1/MaxSupplyTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/MinSupplyTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/MixedExternalTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/NormalSetTemp:.* { json2nameValue($EVENT) }\
ebusd/hc1/ReducedSetTemp:.* { json2nameValue($EVENT) }\
ebusd/hc1/Reduces:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomInfluence:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomSensorCorrection:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomSetValue:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomTemperature:.* { json2nameValue($EVENT) }\
ebusd/hc1/RoomThermostat:.* { json2nameValue($EVENT) }\
ebusd/hc1/StartOfHoliday:.* { json2nameValue($EVENT) }\
ebusd/hc1/Status:.* { json2nameValue($EVENT) }\
ebusd/hc1/SupplySetValueHC:.* { json2nameValue($EVENT) }\
ebusd/hc1/SupplyTemperatureHC:.* { json2nameValue($EVENT) }\
ebusd/hc1/SupplyTemperatureWTC:.* { json2nameValue($EVENT) }\
ebusd/hc1/SwitchOffSetting:.* { json2nameValue($EVENT) }\
ebusd/hc1/SwitchOnSetting:.* { json2nameValue($EVENT) }\
ebusd/hc1/TypeOfConstruction:.* { json2nameValue($EVENT) }
attr MQTT2_ebusd_hc1 room MQTT2_DEVICE

define MQTT2_ebusd_hc2 MQTT2_DEVICE ebusd_hc2
attr MQTT2_ebusd_hc2 readingList ebusd/hc2/HeatingDemand:.* HeatingDemand\
ebusd/hc2/Status:.* Status
attr MQTT2_ebusd_hc2 room MQTT2_DEVICE

define MQTT2_ebusd_hc3 MQTT2_DEVICE ebusd_hc3
attr MQTT2_ebusd_hc3 readingList ebusd/hc3/HeatingDemand:.* HeatingDemand\
ebusd/hc3/Status:.* Status
attr MQTT2_ebusd_hc3 room MQTT2_DEVICE

define MQTT2_ebusd_hc4 MQTT2_DEVICE ebusd_hc4
attr MQTT2_ebusd_hc4 readingList ebusd/hc4/HeatingDemand:.* HeatingDemand\
ebusd/hc4/Status:.* Status
attr MQTT2_ebusd_hc4 room MQTT2_DEVICE

define MQTT2_ebusd_hc5 MQTT2_DEVICE ebusd_hc5
attr MQTT2_ebusd_hc5 readingList ebusd/hc5/HeatingDemand:.* HeatingDemand\
ebusd/hc5/Status:.* Status
attr MQTT2_ebusd_hc5 room MQTT2_DEVICE

define MQTT2_ebusd_hc6 MQTT2_DEVICE ebusd_hc6
attr MQTT2_ebusd_hc6 readingList ebusd/hc6/HeatingDemand:.* HeatingDemand\
ebusd/hc6/Status:.* Status
attr MQTT2_ebusd_hc6 room MQTT2_DEVICE

define MQTT2_ebusd_hc7 MQTT2_DEVICE ebusd_hc7
attr MQTT2_ebusd_hc7 readingList ebusd/hc7/HeatingDemand:.* HeatingDemand\
ebusd/hc7/Status:.* Status
attr MQTT2_ebusd_hc7 room MQTT2_DEVICE

define MQTT2_ebusd_hc8 MQTT2_DEVICE ebusd_hc8
attr MQTT2_ebusd_hc8 readingList ebusd/hc8/HeatingDemand:.* HeatingDemand\
ebusd/hc8/Status:.* Status
attr MQTT2_ebusd_hc8 room MQTT2_DEVICE

define MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc IODev myMQTT_Server
attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { json2nameValue($EVENT) }\
ebusd/sc/Manufacturer1:.* { json2nameValue($EVENT) }\
ebusd/sc/BoilerSensorDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/BurnerOperationSinceLastService:.* { json2nameValue($EVENT) }\
ebusd/sc/CRCErrorHeatingEngeneerParameter:.* { json2nameValue($EVENT) }\
ebusd/sc/CRCErrorManufacturerParameter:.* { json2nameValue($EVENT) }\
ebusd/sc/DHWSensorDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/Enduser:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorHistory:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTCalibration4:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTCalibration5:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTCalibration6:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTCalibration8:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTControlInput:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorSCOTIOControl:.* { json2nameValue($EVENT) }\
ebusd/sc/ErrorVoltagSupply:.* { json2nameValue($EVENT) }\
ebusd/sc/ExternalSensorDefektive:.* { json2nameValue($EVENT) }\
ebusd/sc/FanFaultDuringOperation:.* { json2nameValue($EVENT) }\
ebusd/sc/FanFaultDuringShutdown:.* { json2nameValue($EVENT) }\
ebusd/sc/FlameFailureDuringOperation:.* { json2nameValue($EVENT) }\
ebusd/sc/FlameSimulation:.* { json2nameValue($EVENT) }\
ebusd/sc/FlueGasSensorDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/GasValveCycleV1V2Defective:.* { json2nameValue($EVENT) }\
ebusd/sc/GPSFailureDuringSafetyTime:.* { json2nameValue($EVENT) }\
ebusd/sc/H2EmergencyOffFunction:.* { json2nameValue($EVENT) }\
ebusd/sc/Manufacturer2:.* { json2nameValue($EVENT) }\
ebusd/sc/NoFlameFormation:.* { json2nameValue($EVENT) }\
ebusd/sc/NoGasPressureAvailable:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues1:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues2:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues3:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues4:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues5:.* { json2nameValue($EVENT) }\
ebusd/sc/ProcessValues6:.* { json2nameValue($EVENT) }\
ebusd/sc/PWMPumpDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/SetpointDHW:.* { json2nameValue($EVENT) }\
ebusd/sc/SetpointTempSystem:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic1:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic2:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic3:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic4:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic5:.* { json2nameValue($EVENT) }\
ebusd/sc/Statistic6:.* { json2nameValue($EVENT) }\
ebusd/sc/WWTurbineDefective:.* { json2nameValue($EVENT) }\
ebusd/sc/StatisticUkn01:.* StatisticUkn01\
ebusd/sc/StatisticUkn02:.* StatisticUkn02\
ebusd/sc/StatisticUkn03:.* StatisticUkn03\
ebusd/sc/StatisticUkn04:.* StatisticUkn04\
ebusd/sc/StatisticUkn05:.* StatisticUkn05
attr MQTT2_ebusd_sc room MQTT2_DEVICE

setstate MQTT2_ebusd_21.2_1 Status: \
1:true\
Signal: \
2:true\
<br>Uptime: 0 003 21:29
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:00:02 associatedWith MQTT2_ebusd_21.2_1
setstate MQTT2_ebusd_21.2_1 2021-07-16 08:28:41 attrTemplateVersion 20210715
setstate MQTT2_ebusd_21.2_1 2021-07-19 10:03:43 date 19.07.2021
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:35 error
setstate MQTT2_ebusd_21.2_1 2021-07-19 10:03:49 formatedUptime 0 003 21:29
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:35 id
setstate MQTT2_ebusd_21.2_1 2021-07-19 10:03:43 outsidetemp_value 20.000
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:35 queryexistence
setstate MQTT2_ebusd_21.2_1 2021-07-17 23:54:04 running true
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_08_HW 0302
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_08_ID W
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_08_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_08_SW 1200
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_0c_ID ??
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_35_ID W
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_35_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_35_SW 2726
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_f6_HW 0302
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_f6_ID WWST?
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_f6_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:39 scan_f6_SW 1200
setstate MQTT2_ebusd_21.2_1 2021-07-17 23:54:03 signal true
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:35 signoflife
setstate MQTT2_ebusd_21.2_1 2021-07-19 09:45:35 state getAll
setstate MQTT2_ebusd_21.2_1 2021-07-19 10:03:43 time 10:06:-
setstate MQTT2_ebusd_21.2_1 2021-07-19 10:03:49 uptime 336587
setstate MQTT2_ebusd_21.2_1 2021-07-17 23:54:03 version "ebusd 21.2.v21.2"

setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 Action stopconsumer
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 Adaption_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 BCAST1
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 BCAST2
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 DHWSetTemp_value 48.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 Day__16_HolidayDay_value 25
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Day_value 25
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 ExternalTemperature_value 15.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Friday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 FrostProtection_value 4.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 Gradient_value 13.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 HP1_last_json
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 HP2_last_json
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 HP3_last_json
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 HeatDemand_value 5.0
setstate MQTT2_ebusd_hc1 2021-07-19 08:38:13 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 MaxSupplyTemperature_value 75.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 MinSupplyTemperature_value 25.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 MixedExternalTemperature_value 17.5
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Monday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Month__16_HolidayMonth August
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Month_value August
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 NormalSetTemp_value 22.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 ProgramChooseSwitch Sommer
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 ReducedSetTemp_value 19.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 Reduces_value Absenktemperatur
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 ReleaseDHW_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 ReleaseHC_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 RoomInfluence_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 RoomSensorCorrection_value 0.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 RoomSetValue_value 4.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 RoomTemperature_value -100.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Saturday 08:00;;07:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 SetTemp_value 5.00
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 Status hotwater
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 SuWiChangeOverTemperature_value 20.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Sunday 08:00;;07:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 SupplySetValueHC_value 5.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 SwitchOffSetting_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 SwitchOnSetting_value 8
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Thursday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 TimeSinceLastCommand_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Tuesday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 WP_last_json
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 Wednesday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 ZP_last_json
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:37 _16_Constructiontype_value Light
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 _16_DhwMode_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 _16_HolidayDay_value 4
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 _16_HolidayMonth_value September
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:36 _16_Legionnairesday_value 5
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 _16_Temp10_value 0.0
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 _16_TempReduced_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 09:45:35 _8_Temp0_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 09:00:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc2 2021-07-19 09:45:38 HeatingDemand
setstate MQTT2_ebusd_hc2 2021-07-19 09:45:37 IODev myMQTT_Server
setstate MQTT2_ebusd_hc2 2021-07-19 09:45:38 Status
setstate MQTT2_ebusd_hc2 2021-07-19 09:45:38 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc3 2021-07-19 09:45:38 HeatingDemand
setstate MQTT2_ebusd_hc3 2021-07-19 09:45:37 IODev myMQTT_Server
setstate MQTT2_ebusd_hc3 2021-07-19 09:45:38 Status
setstate MQTT2_ebusd_hc3 2021-07-19 09:45:38 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc4 2021-07-19 09:45:38 HeatingDemand
setstate MQTT2_ebusd_hc4 2021-07-19 09:45:37 IODev myMQTT_Server
setstate MQTT2_ebusd_hc4 2021-07-19 09:45:38 Status
setstate MQTT2_ebusd_hc4 2021-07-19 09:45:38 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc5 2021-07-19 09:45:38 HeatingDemand
setstate MQTT2_ebusd_hc5 2021-07-19 09:45:38 IODev myMQTT_Server
setstate MQTT2_ebusd_hc5 2021-07-19 09:45:39 Status
setstate MQTT2_ebusd_hc5 2021-07-19 09:45:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc6 2021-07-19 09:45:39 HeatingDemand
setstate MQTT2_ebusd_hc6 2021-07-19 09:45:38 IODev myMQTT_Server
setstate MQTT2_ebusd_hc6 2021-07-19 09:45:39 Status
setstate MQTT2_ebusd_hc6 2021-07-19 09:45:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc7 2021-07-19 09:45:39 HeatingDemand
setstate MQTT2_ebusd_hc7 2021-07-19 09:45:38 IODev myMQTT_Server
setstate MQTT2_ebusd_hc7 2021-07-19 09:45:39 Status
setstate MQTT2_ebusd_hc7 2021-07-19 09:45:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc8 2021-07-19 09:45:39 HeatingDemand
setstate MQTT2_ebusd_hc8 2021-07-19 09:45:38 IODev myMQTT_Server
setstate MQTT2_ebusd_hc8 2021-07-19 09:45:39 Status
setstate MQTT2_ebusd_hc8 2021-07-19 09:45:39 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 ASTBShutdownTempFlueGas_value 15
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 BoilerSensorDefective_value 7936
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 BurnerOperationSinceLastService_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 BurnerOptions_value 49
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte0_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte10_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte11_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte12_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte1_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte2_value 74
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte3_value 5
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte4_value 43
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte5_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte7_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte8_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 Byte9_value 1
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 Byte_value 18
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 CRCErrorHeatingEngeneerParameter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 CRCErrorManufacturerParameter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 ChangeoverTempSummerWinter_value 20
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 DHWSensorDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 DHWSetValueDay_value 50
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 DHWTemp_value 46.0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 DayOperatingHours_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1.ErrorCode_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1.FlueGasTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1.IonisationSignal_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1.LoadSetting_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1.OperatingPhase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E1._8_SettingUV_value HZ
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2.ErrorCode_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2.FlueGasTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2.IonisationSignal_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2.LoadSetting_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2.OperatingPhase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E2._8_SettingUV_value HZ
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3.ErrorCode_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3.FlueGasTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3.IonisationSignal_value 42
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3.LoadSetting_value 15
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3.OperatingPhase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E3._8_SettingUV_value HZ
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4.ErrorCode_value 251
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4.FlueGasTemp_value 3
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4.IonisationSignal_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4.LoadSetting_value 130
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4.OperatingPhase_value 251
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E4._8_SettingUV_value 167
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5.DHWTemp_value -1
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5.ErrorCode_value 15
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5.ExternalTemp_value -9
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5.FlueGasTemp_value -37
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5.IonisationSignal_value 238
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5.LoadSetting_value 120
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5.OperatingPhase_value 128
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5.SupplyTemp_value -62
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5.ThroughputValue_value 254
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E5._8_SettingUV_value 160
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E6.DHWTemp_value 64
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E6.ExternalTemp_value -58
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E6.FlueGasTemp_value -108
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E6.IonisationSignal_value 229
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E6.LoadSetting_value 241
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E6.OperatingPhase_value 247
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E6.SupplyTemp_value -21
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E6.ThroughputValue_value 104
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 E6._8_SettingUV_value 235
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 ErrorSCOTCalibration4_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 ErrorSCOTCalibration5_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 ErrorSCOTCalibration6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 ErrorSCOTCalibration8_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 ErrorSCOTControlInput_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 ErrorSCOTIOControl_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 ErrorVoltageSupply_value 256
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Error_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 ExternalSensorDefektive_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 ExternalTemp_value 20
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 FanControlActualSpeed_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 FanControlSetSpeed_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 FanControllerI_value 5
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 FanControllerP_value 5
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 FanFaultDuringOperation_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 FanFaultDuringShutdown_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 FlameFailureDuringOperation_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 FlameSimulation_value 123
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Flame_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 FlueGasSensorDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 GPSFailureDuringSafetyTime_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 GasValve1_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 GasValve2_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 GasValveCycleV1V2Defective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 H2EmergencyOffFunction_value 55040
setstate MQTT2_ebusd_sc 2021-07-19 09:23:42 IODev myMQTT_Server
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Load_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 LoweringRoomTemp_value 15
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 LoweringTempSetValue_value 30
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 NoFlameFormation_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 NoGasPressureAvailable_value 256
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 NormalRoomTemp_value 22
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 NormalTempSetValue_value 60
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 NumberMainsOn_value 16896
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 Offset_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Operatingphase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 PWMPumpDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Pump_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 S15_value 147
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 S16_value 55
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 S19_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 S20_value 151
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 STBShutdownTempBoiler_value 147
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 STWExcess_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 STWShutdownTempBoiler_value 95
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 SettingUV_value Heating
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 SoWi_value Summer
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 StatisticUkn01
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 StatisticUkn02
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 StatisticUkn03
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 StatisticUkn04
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 StatisticUkn05
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Status1_value 1
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 SupplySetTemp_value 8
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 SupplyTemp_value 32.0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 TrendTemp_value 19.082
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Ukn2_1_value 1
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Ukn2_2_value 1
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Ukn2_3_value 1
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Ukn3_1_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Ukn3_3_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Ukn3_4_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Ukn3_5_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Ukn3_6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 Ukn3_7_value 0
setstate MQTT2_ebusd_sc 2021-07-19 10:02:13 UknTemp_value 0.0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 WWTurbineDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 _16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:38 _16_Hours_value 0
setstate MQTT2_ebusd_sc 2021-07-19 09:45:39 _8_Temp0_value 68
setstate MQTT2_ebusd_sc 2021-07-19 09:00:41 associatedWith MQTT2_ebusd_21.2_1



Nein, das ist icht mehr die svn-Variante, sondern die aus dem Anhang von Post #40. Gibt es im svn eine ganz neue? Sonst kann ich kurzerhand wieder zurückdrehen (hab die letzte svn einfach umbenannt in 99_attrTmqtt2_ebus_Utils.pm.orig). Update check sagt:

Downloading https://fhem.de/fhemupdate/controls_fhem.txt
List of new / modified files since last update:
UPD ./CHANGED
UPD FHEM/10_MQTT2_DEVICE.pm
UPD FHEM/10_MQTT_GENERIC_BRIDGE.pm
UPD FHEM/42_SYSMON.pm
UPD FHEM/49_SSCam.pm
UPD FHEM/50_SSFile.pm
UPD FHEM/93_DbRep.pm
UPD FHEM/98_HMtemplate.pm
UPD FHEM/98_vitoconnect.pm
UPD FHEM/HMConfig.pm
UPD FHEM/lib/AttrTemplate/mqtt2.template

New entries in the CHANGED file:
- change:  50_SSFile: compatibility to DSM7
- bugfix:  93_DbRep: Forum: topic,53584.msg1167044.html#msg1167044
- change:  49_SSCam: set compatibility to SVS version 8.2.9

Sonst mach ich halt das update nochmal. Tut ja nicht weh ;)



Beta-User

Zitat von: rob am 19 Juli 2021, 10:11:44
Den Wrapper hatte ich bei FrostProtection nicht angewandt. Ich hatte das JSONMAP gefüllt und das alte Reading mit _value drin gelassen.
Versteh ich richtig, dass ich den Wrapper einfach überall dazu tun soll? Irgendwie komme ich an der Stelle nicht richtig mit  :-[
Du kannst den einfach "überall" da reinschreiben, wo durch die Automatik json2nameValue() eingetragen wird.
Überall da, wo "sowieso" eindeutige Namen entstehen, kannst du auch das 2. Argument mit "''" ersetzen, da wo nicht, einfach das übernehmen, was "complex" ergibt.

Klarer?



Der myUtils-Code ist in "contrib" und wird daher nicht per regulärem update aktualisiert. Man bekommt dieses update, wenn man
{ Svn_GetFile('contrib/AttrTemplate/99_attrTmqtt2_ebus_Utils.pm', 'FHEM/99_attrTmqtt2_ebus_Utils.pm', sub(){ CommandReload(undef, '99_attrTmqtt2_ebus_Utils') }) }ausführt, oder (seit heute, dann zusammen mit der ggf. ebenfalls aktualisierten Version der ebus-attrTemplate) über
set <beliebiges MQTT2_DEVICE> attrTemplate ebus_update_files_from_svn
Zitat
Das selected kommt aus dem hier:
::) ;D "Mo-So" kommt aus dem Code...

Zitat
Die Reihenfolge liegt vielleicht an der Sortierung? "End" kommt vor "Start". Alle Uhrzeiten sind rückwärts eingetragen. Ließe sich notfalls im CSV fixen (z.B. Hp1 davor oder zumindest einen Prefix z.B. 01_Start und 02_End).
Mit dem csv wäre ich an der Stelle mal vorsichtig, mAn. ist das eher ein allgemeines Problem, das _vermutlich_ auf der ebsud-Seite zu lösen wäre. Sollte jemand klären, der da mehr Kenntnisse hat, wie die Zusammenhänge sind.

Zitat
Mit complex hatte ich leider garnicht getestet. Hab es zu spät gesehen. Readings gelöscht, complex umgestellt und nochmals getAll rausgehauen.
[...]
jetzt mit complex
Vor "complex" müssen dann eigentlich auch noch die automatisch erstellten readingList-Einträge wieder weg, sonst bleibt das auf den schon vorhandenen "simple"-Einträgen, sorry, dass ich dazu nicht extra was geschrieben hatte.

Zitat(die Regex zu den Wochenprogrammen habe ich ein wenig zuammengefasst - weiß nicht, was Du eher benötigst).
An sich eine gute Idee, hier aber schwierig, weil ich nicht damit gerechnet hatte, dass in einer "Baugruppe" mehrere Wochenprofile vorhanden sein können. Für's erste wäre es das einfachste, diese weiteren readingList-Zeilen jeweils in ein eigenes Device zu packen (den "last_JSON" brauchen wir nicht mehr, nachdem die Struktur bestätigt ist). Damit wäre das hier m.E. ein guter Startpunkt für "complex":
define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 jsonMap FrostProtection_value:FrostProtection
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/MaxDHWTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/ProgramChooseSwitch:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/SummerWinterChangeOverTemperature:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Day_', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Month_', $JSONMAP) }\
  ebusd/hc1/Adaption:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HolidayTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HP1.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
 
define MQTT2_ebusd_hc1_HP2 MQTT2_DEVICE ebusd_hc1_HP2
attr MQTT2_ebusd_hc1_HP2 readingList ebusd/hc1/HP2.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }

define MQTT2_ebusd_hc1_HP3 MQTT2_DEVICE ebusd_hc1_HP3
attr MQTT2_ebusd_hc1_HP3 readingList ebusd/hc1/HP3.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }

define MQTT2_ebusd_hc1_WP MQTT2_DEVICE ebusd_hc1_WP
attr MQTT2_ebusd_hc1_WP readingList ebusd/hc1/WP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }

define MQTT2_ebusd_hc1_ZP MQTT2_DEVICE ebusd_hc1_ZP
attr MQTT2_ebusd_hc1_ZP readingList ebusd/hc1/ZP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }

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

rob

Ich habe angefangen einige Readings in den CSV wie gewünscht zu recherchieren. Brauchen wir das an dieser Stelle? Durch das getAll ist ja einiges dazu gekommen, was ich nachziehen muss.

   
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
DeviceFHEM_ReadingKeyvalueFundort
scDHWTemp_valueDHWTemperatureWarmwassertemperatur
WW-Temperatur
hwc.processvalues.inc
f6..sc.csv
sc.errorhistory.inc
scError_valuenonof6..sc.csv
sc.statistic.inc
sc.errorhistory.inc
scExternalTemp_valueExternalTemperature
ExternalTemp
Außentemperaturhc.processvalues.inc
f6..sc.csv
51..hc2.csv
sc.errorhistory.inc
scFlame_valuenonof6..sc.csv
scGasValve1_valuenonof6..sc.csv
scGasValve2_valuenonof6..sc.csv
scLoad_valueLoadLaststellung f6..sc.csv
_templates.csv
scOperatingphase_valueOperatingphaseBetriebsphase f6..sc.csv
sc.errorhistory.inc
_templates.csv
scPump_valuenonof6..sc.csv
scSettingUV_valueSettingUVStellung UVf6..sc.csv
sc.errorhistory.inc
_templates.csv
scSoWi_valuenonof6..sc.csv
scStatus1_valuenonof6..sc.csv
scSupplySetTemp_valueSupplySetTempVorlauf Solltemperatur
Vorlaufsollwert HC
f6..sc.csv
51..hc2.csv
scSupplyTemp_valueSupplyTempVorlauftemperatur
Vorlauftemperatur HC
f6..sc.csv
51..hc2.csv
sc.errorhistory.inc
scTrendTemp_valueTrendTempTemperaturtrend f6..sc.csv
51..hc2.csv
scUkn2_1_valuenonof6..sc.csv
scUkn2_2_valuenonof6..sc.csv
scUkn2_3_valuenonof6..sc.csv
scUkn3_1_valuenonof6..sc.csv
scUkn3_3_valuenonof6..sc.csv
scUkn3_4_valuenonof6..sc.csv
scUkn3_5_valuenonof6..sc.csv
scUkn3_6_valuenonof6..sc.csv
scUkn3_7_valuenonof6..sc.csv
scUknTemp_valuenonof6..sc.csv
SC scheint übrigens für "system circuit" stehen.



Macht es ggf. Sinn die ganzen Wochenprogramm-Dinge als separate "Baugruppe" zu behandeln? Es kommen ja einige Readings dazu und dann wäre übersichtlicher bzw. die ganzen Zeiten ließen sich getrennt gut behandeln. Nur als Merker, hat keine Prio.
OK - hast es eh schon geschrieben, warst schneller  ;D


Danke Dir für die Klärung. Ich hau jetzt mal alle weg starte sauber. Dann bleibt nichts übrig was stört.

Beta-User

ZitatBrauchen wir das an dieser Stelle?
Die Konfiguration auf der ebusd-Seite zu verbessern, wäre zwar mAn. der erste Schritt, aber da kann ich praktisch nicht helfen, und es wäre zielführender, diese Themen in dem "csv-Thread" zu addressieren.
Für mich bzw. die Darastellung in FHEM ist das an der Stelle erst mal nicht im letzten Detail wichtig. In FHEM "müssen" wir halt mit dem leben, was ankommt, und optimalerweise ist das dann eben schon "gut" vorstrukturiert und belabelt. Ansonsten müssen wir halt nacharbeiten, speziell bei den Dingen, von denen man von vornherein (aus der Erfahrung heraus) weiß, dass sie irgendwie "konsolidiert" werden sollten (wie die Wochenprogramme)...
Aber wie du siehst: auch das geht "notfalls", der Trick ist nur, jeweils den richtigen Ansatzpunkt zu finden ;)
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

rob

#53
Zitat von: Beta-User am 19 Juli 2021, 10:46:50
Du kannst den einfach "überall" da reinschreiben, wo durch die Automatik json2nameValue() eingetragen wird.
Überall da, wo "sowieso" eindeutige Namen entstehen, kannst du auch das 2. Argument mit "''" ersetzen, da wo nicht, einfach das übernehmen, was "complex" ergibt.

Klarer?
Beim Lesen ja, anhand des Ergebnisses leider nein. Sorry. Ich raff es nicht.

Am Bsp. FrostProtection, legt complex das an:

ebusd/hc1/FrostProtection:.* { json2nameValue($EVENT, 'FrostProtection_', $JSONMAP) }

und es kommt dieses Reading:
FrostProtection_FrostProtection_value  4.0

wende ich nun wie von Dir erläutert den Wrapper an (hier entsteht ein eindeutiger Name, also mit 2. Arg ''):
ebusd/hc1/FrostProtection:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }
kommt dieses Reading:
FrostProtection_value  4.0

Ich habe extra kein JSONMAP angelegt. Eigentlich hätte _value jetzt weg sein sollen, oder? Was mach ich da bloß falsch?  ???

Beta-User

#54
Zitat von: rob am 19 Juli 2021, 11:36:22
Was mach ich da bloß falsch?
Nix. Die Funktion ist falsch bzw. die Regex unvollständig...
Verbesserte Version (Zeile 55)
    $EVENT=~ s{[{]"value":\s("?[^"]+"?)[}]}{$1}g;
(Am besten über "Edit files" machen, dann erfolgt automatisch ein relaod)
(Sowas war gemeint mit: Kann sein, dass man da noch was ändern muss, und dann ist es einfacher, wenn es an einer Stelle in der myUtils steckt...)

Sorry!

Edit: hoffentlich nochmal "besser":
$EVENT=~ s,[{]"value":\s("?[^"}]+"?)[}],$1,g;
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

rob

#55
Zitat von: Beta-User am 19 Juli 2021, 11:57:35
Sorry!
Alles gut  ;D
Bin froh, dass ich es nun endlich verstanden habe und damit nicht mehr nerven muss  ;)

OK, habe nun alles neu erstellt, splitter neu angewendet und getAll veranstaltet. Durch complex kommt uns wieder derhier in die Quere "MQTT2_ebusd_21.2_1". Für die Findung sollte es hoffentl. nicht allzu sehr stören.
list -r MQTT2_ebus.* sagt:

define MQTT2_ebusd MQTT2_DEVICE ebusd
attr MQTT2_ebusd autocreate 1
attr MQTT2_ebusd bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|hc\d+|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus\S[^/]*?)/(global|broadcast|general|scan[^/]+)/.*:.* "$1"
attr MQTT2_ebusd comment NOTE: additional templates and code have been downloaded from svn (contrib).<br>Pls. inform the maintainer, if the bridgeRegexp doesn't fit to all of your devices connected to the bus.
attr MQTT2_ebusd devStateIcon 1.true:it_net 1.false:it_net@red  2.true:lan_rs485 2.false:lan_rs485@red
attr MQTT2_ebusd icon sani_boiler_temp
attr MQTT2_ebusd model eBus_daemon_splitter
attr MQTT2_ebusd readingList ebusd/scan[^/]+/.*:.* { $TOPIC =~ m,scan.([^/]+)/,;; FHEM::aTm2u_ebus::j2nv($EVENT,"scan_${1}_") }\
  ebusd/global/uptime:.* uptime\
  ebusd/global/running:.* running\
  ebusd/global/version:.* version\
  ebusd/global/signal:.* signal\
  ebusd/global/updatecheck:.* updatecheck\
  ebusd/global/scan:.* scan\
  ebusd/broadcast/datetime:.* { FHEM::aTm2u_ebus::j2nv($EVENT) }\
ebusd/broadcast/error:.* error\
ebusd/broadcast/id:.* id\
ebusd/broadcast/queryexistence:.* queryexistence\
ebusd/broadcast/signoflife:.* signoflife
attr MQTT2_ebusd room MQTT2_DEVICE
attr MQTT2_ebusd setList getKnown:noArg ebusd/list onlyknown\
  getAll:noArg ebusd/list
attr MQTT2_ebusd stateFormat Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: formatedUptime
attr MQTT2_ebusd userReadings formatedUptime:uptime.* {my $m = ReadingsVal($name,'uptime',0)/60;; return sprintf '0 000 00:%02d', $m if $m < 60;; my $h = $m / 60;; $m %= 60;; return sprintf '0 000 %02d:%02d', $h, $m if $h < 24;; my $d = $h / 24;; $h %= 24;;;; return sprintf '0 %03d %02d:%02d', $d, $h, $m if $d <365;; my $y = $d / 365;; $d %= 365;; return sprintf '%d %03d %02d:%02d', $y, $d, $h, $m}

define MQTT2_ebusd_21.2_1 MQTT2_DEVICE ebusd_21.2_1
attr MQTT2_ebusd_21.2_1 readingList ebusd_21.2_1:ebusd/sc/Act:.* { json2nameValue($EVENT, 'Act_', $JSONMAP) }\
ebusd_21.2_1:ebusd/memory/eeprom:.* eeprom\
ebusd_21.2_1:ebusd/memory/ram:.* ram
attr MQTT2_ebusd_21.2_1 room MQTT2_DEVICE

define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/MaxDHWTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/ProgramChooseSwitch:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/SummerWinterChangeOverTemperature:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Day_', $JSONMAP) }\
  ebusd/hc1/StartOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv($EVENT, 'Month_', $JSONMAP) }\
  ebusd/hc1/Adaption:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HolidayTemp:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
  ebusd/hc1/HP1.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
ebusd/hc1/FrostProtection:.* { FHEM::aTm2u_ebus::j2nv($EVENT, '', $JSONMAP) }\
ebusd/hc1/BCAST1:.* BCAST1\
ebusd/hc1/BCAST2:.* BCAST2\
ebusd/hc1/DHWMin:.* { json2nameValue($EVENT, 'DHWMin_', $JSONMAP) }\
ebusd/hc1/DHWMode:.* { json2nameValue($EVENT, 'DHWMode_', $JSONMAP) }\
ebusd/hc1/DHWSetpoint:.* { json2nameValue($EVENT, 'DHWSetpoint_', $JSONMAP) }\
ebusd/hc1/DHWSetValue:.* { json2nameValue($EVENT, 'DHWSetValue_', $JSONMAP) }\
ebusd/hc1/DHWTemperature:.* { json2nameValue($EVENT, 'DHWTemperature_', $JSONMAP) }\
ebusd/hc1/EndOfHoliday\x2eDay:.* { json2nameValue($EVENT, 'EndOfHoliday.Day_', $JSONMAP) }\
ebusd/hc1/EndOfHoliday\x2eMonth:.* { json2nameValue($EVENT, 'EndOfHoliday.Month_', $JSONMAP) }\
ebusd/hc1/EndOfHoliday:.* { json2nameValue($EVENT, 'EndOfHoliday_', $JSONMAP) }\
ebusd/hc1/ExternalTemperature:.* { json2nameValue($EVENT, 'ExternalTemperature_', $JSONMAP) }\
ebusd/hc1/Gradient:.* { json2nameValue($EVENT, 'Gradient_', $JSONMAP) }\
ebusd/hc1/HeatDemand:.* { json2nameValue($EVENT, 'HeatDemand_', $JSONMAP) }\
ebusd/hc1/HeatingDemand:.* { json2nameValue($EVENT, 'HeatingDemand_', $JSONMAP) }\
ebusd/hc1/LegionnairesFunction:.* { json2nameValue($EVENT, 'LegionnairesFunction_', $JSONMAP) }\
ebusd/hc1/MaxSupplyTemperature:.* { json2nameValue($EVENT, 'MaxSupplyTemperature_', $JSONMAP) }\
ebusd/hc1/MinSupplyTemperature:.* { json2nameValue($EVENT, 'MinSupplyTemperature_', $JSONMAP) }\
ebusd/hc1/MixedExternalTemperature:.* { json2nameValue($EVENT, 'MixedExternalTemperature_', $JSONMAP) }\
ebusd/hc1/NormalSetTemp:.* { json2nameValue($EVENT, 'NormalSetTemp_', $JSONMAP) }\
ebusd/hc1/ReducedSetTemp:.* { json2nameValue($EVENT, 'ReducedSetTemp_', $JSONMAP) }\
ebusd/hc1/Reduces:.* { json2nameValue($EVENT, 'Reduces_', $JSONMAP) }\
ebusd/hc1/RoomInfluence:.* { json2nameValue($EVENT, 'RoomInfluence_', $JSONMAP) }\
ebusd/hc1/RoomSensorCorrection:.* { json2nameValue($EVENT, 'RoomSensorCorrection_', $JSONMAP) }\
ebusd/hc1/RoomSetValue:.* { json2nameValue($EVENT, 'RoomSetValue_', $JSONMAP) }\
ebusd/hc1/RoomTemperature:.* { json2nameValue($EVENT, 'RoomTemperature_', $JSONMAP) }\
ebusd/hc1/RoomThermostat:.* { json2nameValue($EVENT, 'RoomThermostat_', $JSONMAP) }\
ebusd/hc1/StartOfHoliday:.* { json2nameValue($EVENT, 'StartOfHoliday_', $JSONMAP) }\
ebusd/hc1/Status:.* { json2nameValue($EVENT, 'Status_', $JSONMAP) }\
ebusd/hc1/SupplySetValueHC:.* { json2nameValue($EVENT, 'SupplySetValueHC_', $JSONMAP) }\
ebusd/hc1/SupplyTemperatureHC:.* { json2nameValue($EVENT, 'SupplyTemperatureHC_', $JSONMAP) }\
ebusd/hc1/SupplyTemperatureWTC:.* { json2nameValue($EVENT, 'SupplyTemperatureWTC_', $JSONMAP) }\
ebusd/hc1/SwitchOffSetting:.* { json2nameValue($EVENT, 'SwitchOffSetting_', $JSONMAP) }\
ebusd/hc1/SwitchOnSetting:.* { json2nameValue($EVENT, 'SwitchOnSetting_', $JSONMAP) }\
ebusd/hc1/TypeOfConstruction:.* { json2nameValue($EVENT, 'TypeOfConstruction_', $JSONMAP) }
attr MQTT2_ebusd_hc1 room MQTT2_DEVICE

define MQTT2_ebusd_hc1_HP2 MQTT2_DEVICE ebusd_hc1_HP2
attr MQTT2_ebusd_hc1_HP2 readingList ebusd/hc1/HP2.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_HP2 room MQTT2_DEVICE

define MQTT2_ebusd_hc1_HP3 MQTT2_DEVICE ebusd_hc1_HP3
attr MQTT2_ebusd_hc1_HP3 readingList ebusd/hc1/HP3.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_HP3 room MQTT2_DEVICE

define MQTT2_ebusd_hc1_WP MQTT2_DEVICE ebusd_hc1_WP
attr MQTT2_ebusd_hc1_WP readingList ebusd/hc1/WP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_WP room MQTT2_DEVICE

define MQTT2_ebusd_hc1_ZP MQTT2_DEVICE ebusd_hc1_ZP
attr MQTT2_ebusd_hc1_ZP readingList ebusd/hc1/ZP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_ZP room MQTT2_DEVICE

define MQTT2_ebusd_hc2 MQTT2_DEVICE ebusd_hc2
attr MQTT2_ebusd_hc2 readingList ebusd/hc2/HeatingDemand:.* HeatingDemand\
ebusd/hc2/Status:.* Status
attr MQTT2_ebusd_hc2 room MQTT2_DEVICE

define MQTT2_ebusd_hc3 MQTT2_DEVICE ebusd_hc3
attr MQTT2_ebusd_hc3 readingList ebusd/hc3/HeatingDemand:.* HeatingDemand\
ebusd/hc3/Status:.* Status
attr MQTT2_ebusd_hc3 room MQTT2_DEVICE

define MQTT2_ebusd_hc4 MQTT2_DEVICE ebusd_hc4
attr MQTT2_ebusd_hc4 readingList ebusd/hc4/HeatingDemand:.* HeatingDemand\
ebusd/hc4/Status:.* Status
attr MQTT2_ebusd_hc4 room MQTT2_DEVICE

define MQTT2_ebusd_hc5 MQTT2_DEVICE ebusd_hc5
attr MQTT2_ebusd_hc5 readingList ebusd/hc5/HeatingDemand:.* HeatingDemand\
ebusd/hc5/Status:.* Status
attr MQTT2_ebusd_hc5 room MQTT2_DEVICE

define MQTT2_ebusd_hc6 MQTT2_DEVICE ebusd_hc6
attr MQTT2_ebusd_hc6 readingList ebusd/hc6/HeatingDemand:.* HeatingDemand\
ebusd/hc6/Status:.* Status
attr MQTT2_ebusd_hc6 room MQTT2_DEVICE

define MQTT2_ebusd_hc7 MQTT2_DEVICE ebusd_hc7
attr MQTT2_ebusd_hc7 readingList ebusd/hc7/HeatingDemand:.* HeatingDemand\
ebusd/hc7/Status:.* Status
attr MQTT2_ebusd_hc7 room MQTT2_DEVICE

define MQTT2_ebusd_hc8 MQTT2_DEVICE ebusd_hc8
attr MQTT2_ebusd_hc8 readingList ebusd/hc8/HeatingDemand:.* HeatingDemand\
ebusd/hc8/Status:.* Status
attr MQTT2_ebusd_hc8 room MQTT2_DEVICE

define MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc readingList ebusd/sc/BoilerSensorDefective:.* { json2nameValue($EVENT, 'BoilerSensorDefective_', $JSONMAP) }\
ebusd/sc/BurnerOperationSinceLastService:.* { json2nameValue($EVENT, 'BurnerOperationSinceLastService_', $JSONMAP) }\
ebusd/sc/CRCErrorHeatingEngeneerParameter:.* { json2nameValue($EVENT, 'CRCErrorHeatingEngeneerParameter_', $JSONMAP) }\
ebusd/sc/CRCErrorManufacturerParameter:.* { json2nameValue($EVENT, 'CRCErrorManufacturerParameter_', $JSONMAP) }\
ebusd/sc/DHWSensorDefective:.* { json2nameValue($EVENT, 'DHWSensorDefective_', $JSONMAP) }\
ebusd/sc/Enduser:.* { json2nameValue($EVENT, 'Enduser_', $JSONMAP) }\
ebusd/sc/ErrorHistory:.* { json2nameValue($EVENT, 'ErrorHistory_', $JSONMAP) }\
ebusd/sc/ErrorSCOTCalibration4:.* { json2nameValue($EVENT, 'ErrorSCOTCalibration4_', $JSONMAP) }\
ebusd/sc/ErrorSCOTCalibration5:.* { json2nameValue($EVENT, 'ErrorSCOTCalibration5_', $JSONMAP) }\
ebusd/sc/ErrorSCOTCalibration6:.* { json2nameValue($EVENT, 'ErrorSCOTCalibration6_', $JSONMAP) }\
ebusd/sc/ErrorSCOTCalibration8:.* { json2nameValue($EVENT, 'ErrorSCOTCalibration8_', $JSONMAP) }\
ebusd/sc/ErrorSCOTControlInput:.* { json2nameValue($EVENT, 'ErrorSCOTControlInput_', $JSONMAP) }\
ebusd/sc/ErrorSCOTIOControl:.* { json2nameValue($EVENT, 'ErrorSCOTIOControl_', $JSONMAP) }\
ebusd/sc/ErrorVoltagSupply:.* { json2nameValue($EVENT, 'ErrorVoltagSupply_', $JSONMAP) }\
ebusd/sc/ExternalSensorDefektive:.* { json2nameValue($EVENT, 'ExternalSensorDefektive_', $JSONMAP) }\
ebusd/sc/FanFaultDuringOperation:.* { json2nameValue($EVENT, 'FanFaultDuringOperation_', $JSONMAP) }\
ebusd/sc/FanFaultDuringShutdown:.* { json2nameValue($EVENT, 'FanFaultDuringShutdown_', $JSONMAP) }\
ebusd/sc/FlameFailureDuringOperation:.* { json2nameValue($EVENT, 'FlameFailureDuringOperation_', $JSONMAP) }\
ebusd/sc/FlameSimulation:.* { json2nameValue($EVENT, 'FlameSimulation_', $JSONMAP) }\
ebusd/sc/FlueGasSensorDefective:.* { json2nameValue($EVENT, 'FlueGasSensorDefective_', $JSONMAP) }\
ebusd/sc/GasValveCycleV1V2Defective:.* { json2nameValue($EVENT, 'GasValveCycleV1V2Defective_', $JSONMAP) }\
ebusd/sc/GPSFailureDuringSafetyTime:.* { json2nameValue($EVENT, 'GPSFailureDuringSafetyTime_', $JSONMAP) }\
ebusd/sc/H2EmergencyOffFunction:.* { json2nameValue($EVENT, 'H2EmergencyOffFunction_', $JSONMAP) }\
ebusd/sc/Manufacturer1:.* { json2nameValue($EVENT, 'Manufacturer1_', $JSONMAP) }\
ebusd/sc/Manufacturer2:.* { json2nameValue($EVENT, 'Manufacturer2_', $JSONMAP) }\
ebusd/sc/NoFlameFormation:.* { json2nameValue($EVENT, 'NoFlameFormation_', $JSONMAP) }\
ebusd/sc/NoGasPressureAvailable:.* { json2nameValue($EVENT, 'NoGasPressureAvailable_', $JSONMAP) }\
ebusd/sc/ProcessValues1:.* { json2nameValue($EVENT, 'ProcessValues1_', $JSONMAP) }\
ebusd/sc/ProcessValues2:.* { json2nameValue($EVENT, 'ProcessValues2_', $JSONMAP) }\
ebusd/sc/ProcessValues3:.* { json2nameValue($EVENT, 'ProcessValues3_', $JSONMAP) }\
ebusd/sc/ProcessValues4:.* { json2nameValue($EVENT, 'ProcessValues4_', $JSONMAP) }\
ebusd/sc/ProcessValues5:.* { json2nameValue($EVENT, 'ProcessValues5_', $JSONMAP) }\
ebusd/sc/ProcessValues6:.* { json2nameValue($EVENT, 'ProcessValues6_', $JSONMAP) }\
ebusd/sc/PWMPumpDefective:.* { json2nameValue($EVENT, 'PWMPumpDefective_', $JSONMAP) }\
ebusd/sc/SetpointDHW:.* { json2nameValue($EVENT, 'SetpointDHW_', $JSONMAP) }\
ebusd/sc/SetpointTempSystem:.* { json2nameValue($EVENT, 'SetpointTempSystem_', $JSONMAP) }\
ebusd/sc/Statistic1:.* { json2nameValue($EVENT, 'Statistic1_', $JSONMAP) }\
ebusd/sc/Statistic2:.* { json2nameValue($EVENT, 'Statistic2_', $JSONMAP) }\
ebusd/sc/Statistic3:.* { json2nameValue($EVENT, 'Statistic3_', $JSONMAP) }\
ebusd/sc/Statistic4:.* { json2nameValue($EVENT, 'Statistic4_', $JSONMAP) }\
ebusd/sc/Statistic5:.* { json2nameValue($EVENT, 'Statistic5_', $JSONMAP) }\
ebusd/sc/Statistic6:.* { json2nameValue($EVENT, 'Statistic6_', $JSONMAP) }\
ebusd/sc/WWTurbineDefective:.* { json2nameValue($EVENT, 'WWTurbineDefective_', $JSONMAP) }\
ebusd/sc/StatisticUkn01:.* StatisticUkn01\
ebusd/sc/StatisticUkn02:.* StatisticUkn02\
ebusd/sc/StatisticUkn03:.* StatisticUkn03\
ebusd/sc/StatisticUkn04:.* StatisticUkn04\
ebusd/sc/StatisticUkn05:.* StatisticUkn05
attr MQTT2_ebusd_sc room MQTT2_DEVICE

setstate MQTT2_ebusd Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: 0 003 23:45
setstate MQTT2_ebusd 2021-07-19 12:11:30 associatedWith MQTT2_ebusd
setstate MQTT2_ebusd 2021-07-19 12:18:39 date 19.07.2021
setstate MQTT2_ebusd 2021-07-19 12:11:29 error
setstate MQTT2_ebusd 2021-07-19 12:19:04 formatedUptime 0 003 23:45
setstate MQTT2_ebusd 2021-07-19 12:11:29 id
setstate MQTT2_ebusd 2021-07-19 12:18:39 outsidetemp 25.000
setstate MQTT2_ebusd 2021-07-19 12:06:45 outsidetemp_value 24.000
setstate MQTT2_ebusd 2021-07-19 12:11:29 queryexistence
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_08_HW 0302
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_08_ID W
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_08_MF Kromschroeder
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_08_SW 1200
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_0c_ID ??
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_35_ID W
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_35_MF Kromschroeder
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_35_SW 2726
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_f6_HW 0302
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_f6_ID WWST?
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_f6_MF Kromschroeder
setstate MQTT2_ebusd 2021-07-19 12:11:33 scan_f6_SW 1200
setstate MQTT2_ebusd 2021-07-19 12:11:30 signoflife
setstate MQTT2_ebusd 2021-07-19 12:11:28 state getAll
setstate MQTT2_ebusd 2021-07-19 12:18:39 time 12:21:-
setstate MQTT2_ebusd 2021-07-19 12:19:04 uptime 344702

setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_DHWTemp_value 45.0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Error_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_ExternalTemp_value 25
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Flame_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_GasValve1_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_GasValve2_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Load_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Operatingphase_value BrennerAus
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Pump_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_SettingUV_value Heating
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_SoWi_value Summer
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Status1_value 1
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_SupplySetTemp_value 8
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_SupplyTemp_value 23.0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_TrendTemp_value 19.508
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Ukn2_1_value 1
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Ukn2_2_value 1
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Ukn2_3_value 1
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Ukn3_1_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Ukn3_3_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Ukn3_4_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Ukn3_5_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Ukn3_6_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_Ukn3_7_value 0
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:18:59 Act_UknTemp_value 0.0
setstate MQTT2_ebusd_21.2_1 2021-07-19 11:00:49 IODev myMQTT_Server
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:11:37 eeprom
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:11:37 ram
setstate MQTT2_ebusd_21.2_1 2021-07-19 12:11:31 subscriptions ebusd/#

setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 Action startconsumer
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 Adaption 32768
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 BCAST1
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 BCAST2
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 DHWMode__16_DhwMode_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 DHWSetTemp 48.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:31 DHWSetValue__16_Temp10_value 48.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:31 DHWSetpoint__16_Temp10_value 48.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:32 DHWTemperature__16_Temp10_value 0.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 Day__16_HolidayDay 25
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:32 EndOfHoliday.Day__16_HolidayDay_value 4
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:32 EndOfHoliday.Month__16_HolidayMonth_value September
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:32 EndOfHoliday_Day_value 4
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:32 EndOfHoliday_Month_value September
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:32 ExternalTemperature_ExternalTemperature_value 15.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 Friday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 FrostProtection 4.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:33 Gradient_Gradient_value 13.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:33 HeatDemand_HeatDemand_value 5.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:33 HeatingDemand__8_Temp0_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 11:03:16 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:33 LegionnairesFunction__16_Legionnairesday_value 5
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:33 MaxSupplyTemperature_MaxSupplyTemperature_value 75.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:33 MinSupplyTemperature_MinSupplyTemperature_value 25.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:34 MixedExternalTemperature_MixedExternalTemperature_value 17.5
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 Monday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 Month__16_HolidayMonth August
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:34 NormalSetTemp_NormalSetTemp_value 22.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 ProgramChooseSwitch Sommer
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:34 ReducedSetTemp_ReducedSetTemp_value 19.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:34 Reduces_Reduces_value Absenktemperatur
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:34 RoomInfluence_RoomInfluence_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:34 RoomSensorCorrection_RoomSensorCorrection_value 0.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:35 RoomSetValue_RoomSetValue_value 4.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:35 RoomTemperature_RoomTemperature_value -100.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 Saturday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 SetTemp 5.00
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:35 StartOfHoliday_Day_value 25
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:35 StartOfHoliday_Month_value August
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 Status hotwater
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:35 Status_ReleaseDHW_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:35 Status_ReleaseHC_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:35 Status_TimeSinceLastCommand_value 0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:30 SuWiChangeOverTemperature 20.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 Sunday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:35 SupplySetValueHC_SupplySetValueHC_value 5.0
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:36 SwitchOffSetting_SwitchOffSetting_value 32768
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:36 SwitchOnSetting_SwitchOnSetting_value 8
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 Thursday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 Tuesday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:36 TypeOfConstruction__16_Constructiontype_value Light
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 Wednesday 22:00;;07:30;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:29 _16_TempReduced 32768
setstate MQTT2_ebusd_hc1 2021-07-19 12:11:36 associatedWith MQTT2_ebusd

setstate MQTT2_ebusd_hc1_HP2 2021-07-19 12:11:29 Friday 23:00;;19:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-07-19 11:07:18 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_HP2 2021-07-19 12:11:29 Monday 23:00;;19:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-07-19 12:11:29 Saturday 23:00;;19:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-07-19 12:11:30 Sunday 23:00;;19:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-07-19 12:11:29 Thursday 23:00;;19:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-07-19 12:11:29 Tuesday 23:00;;19:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-07-19 12:11:29 Wednesday 23:00;;19:00;;00:00;;00:00;;00:00;;00:00;;Mo-So

setstate MQTT2_ebusd_hc1_HP3 2021-07-19 12:11:30 Friday 08:00;;06:00;;22:00;;12:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-07-19 11:08:04 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_HP3 2021-07-19 12:11:30 Monday 08:00;;06:00;;22:00;;12:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-07-19 12:11:30 Saturday 22:00;;09:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-07-19 12:11:30 Sunday 22:00;;09:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-07-19 12:11:30 Thursday 08:00;;06:00;;22:00;;12:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-07-19 12:11:30 Tuesday 08:00;;06:00;;22:00;;12:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-07-19 12:11:30 Wednesday 08:00;;06:00;;22:00;;12:00;;00:00;;00:00;;Mo-So

setstate MQTT2_ebusd_hc1_WP 2021-07-19 12:11:30 Friday 21:00;;05:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-07-19 11:08:30 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_WP 2021-07-19 12:11:30 Monday 21:00;;05:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-07-19 12:11:30 Saturday 22:00;;06:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-07-19 12:11:31 Sunday 22:00;;06:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-07-19 12:11:30 Thursday 21:00;;05:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-07-19 12:11:30 Tuesday 21:00;;05:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-07-19 12:11:30 Wednesday 21:00;;05:00;;00:00;;00:00;;00:00;;00:00;;Mo-So

setstate MQTT2_ebusd_hc1_ZP 2021-07-19 12:11:31 Friday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-07-19 11:08:58 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_ZP 2021-07-19 12:11:31 Monday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-07-19 12:11:31 Saturday 08:00;;07:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-07-19 12:11:31 Sunday 08:00;;07:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-07-19 12:11:31 Thursday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-07-19 12:11:31 Tuesday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-07-19 12:11:31 Wednesday 07:00;;06:00;;13:00;;11:00;;19:00;;17:00;;Mo-So

setstate MQTT2_ebusd_hc2 2021-07-19 12:11:36 HeatingDemand
setstate MQTT2_ebusd_hc2 2021-07-19 12:11:31 IODev myMQTT_Server
setstate MQTT2_ebusd_hc2 2021-07-19 12:11:37 Status
setstate MQTT2_ebusd_hc2 2021-07-19 12:11:37 associatedWith MQTT2_ebusd

setstate MQTT2_ebusd_hc3 2021-07-19 12:11:37 HeatingDemand
setstate MQTT2_ebusd_hc3 2021-07-19 12:11:31 IODev myMQTT_Server
setstate MQTT2_ebusd_hc3 2021-07-19 12:11:37 Status
setstate MQTT2_ebusd_hc3 2021-07-19 12:11:37 associatedWith MQTT2_ebusd

setstate MQTT2_ebusd_hc4 2021-07-19 12:11:37 HeatingDemand
setstate MQTT2_ebusd_hc4 2021-07-19 12:11:31 IODev myMQTT_Server
setstate MQTT2_ebusd_hc4 2021-07-19 12:11:37 Status
setstate MQTT2_ebusd_hc4 2021-07-19 12:11:37 associatedWith MQTT2_ebusd

setstate MQTT2_ebusd_hc5 2021-07-19 12:11:37 HeatingDemand
setstate MQTT2_ebusd_hc5 2021-07-19 12:11:31 IODev myMQTT_Server
setstate MQTT2_ebusd_hc5 2021-07-19 12:11:37 Status
setstate MQTT2_ebusd_hc5 2021-07-19 12:11:37 associatedWith MQTT2_ebusd

setstate MQTT2_ebusd_hc6 2021-07-19 12:11:37 HeatingDemand
setstate MQTT2_ebusd_hc6 2021-07-19 12:11:31 IODev myMQTT_Server
setstate MQTT2_ebusd_hc6 2021-07-19 12:11:37 Status
setstate MQTT2_ebusd_hc6 2021-07-19 12:11:37 associatedWith MQTT2_ebusd

setstate MQTT2_ebusd_hc7 2021-07-19 12:11:37 HeatingDemand
setstate MQTT2_ebusd_hc7 2021-07-19 12:11:31 IODev myMQTT_Server
setstate MQTT2_ebusd_hc7 2021-07-19 12:11:37 Status
setstate MQTT2_ebusd_hc7 2021-07-19 12:11:37 associatedWith MQTT2_ebusd

setstate MQTT2_ebusd_hc8 2021-07-19 12:11:37 HeatingDemand
setstate MQTT2_ebusd_hc8 2021-07-19 12:11:31 IODev myMQTT_Server
setstate MQTT2_ebusd_hc8 2021-07-19 12:11:37 Status
setstate MQTT2_ebusd_hc8 2021-07-19 12:11:37 associatedWith MQTT2_ebusd

setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 BoilerSensorDefective__16_Counter_value 7936
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 BurnerOperationSinceLastService__16_Hours_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 CRCErrorHeatingEngeneerParameter__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 CRCErrorManufacturerParameter__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 DHWSensorDefective__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Enduser_Byte_value 18
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Enduser_ChangeoverTempSummerWinter_value 20
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Enduser_DHWSetValueDay_value 50
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Enduser_LoweringRoomTemp_value 15
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Enduser_LoweringTempSetValue_value 30
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Enduser_NormalRoomTemp_value 22
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Enduser_NormalTempSetValue_value 60
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1.ErrorCode_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1.FlueGasTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1.IonisationSignal_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1.LoadSetting_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1.OperatingPhase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E1._8_SettingUV_value HZ
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2.ErrorCode_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2.FlueGasTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2.IonisationSignal_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2.LoadSetting_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2.OperatingPhase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E2._8_SettingUV_value HZ
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3.ErrorCode_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3.FlueGasTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3.IonisationSignal_value 42
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3.LoadSetting_value 15
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3.OperatingPhase_value BrennerAus
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E3._8_SettingUV_value HZ
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4.DHWTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4.ErrorCode_value 251
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4.ExternalTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4.FlueGasTemp_value 3
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4.IonisationSignal_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4.LoadSetting_value 130
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4.OperatingPhase_value 251
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4.SupplyTemp_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4.ThroughputValue_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E4._8_SettingUV_value 167
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5.DHWTemp_value -1
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5.ErrorCode_value 15
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5.ExternalTemp_value -9
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5.FlueGasTemp_value -37
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5.IonisationSignal_value 238
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5.LoadSetting_value 120
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5.OperatingPhase_value 128
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5.SupplyTemp_value -62
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5.ThroughputValue_value 254
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E5._8_SettingUV_value 160
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E6.DHWTemp_value 64
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E6.ExternalTemp_value -58
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E6.FlueGasTemp_value -108
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E6.IonisationSignal_value 229
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E6.LoadSetting_value 241
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E6.OperatingPhase_value 247
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E6.SupplyTemp_value -21
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E6.ThroughputValue_value 104
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_E6._8_SettingUV_value 235
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorHistory_Offset_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorSCOTCalibration4__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorSCOTCalibration5__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorSCOTCalibration6__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorSCOTCalibration8__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorSCOTControlInput__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorSCOTIOControl__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ErrorVoltagSupply__16_Counter_value 256
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ExternalSensorDefektive__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 FanFaultDuringOperation__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 FanFaultDuringShutdown__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 FlameFailureDuringOperation__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 FlameSimulation__16_Counter_value 123
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 FlueGasSensorDefective__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 GPSFailureDuringSafetyTime__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 GasValveCycleV1V2Defective__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 H2EmergencyOffFunction__16_Counter_value 55040
setstate MQTT2_ebusd_sc 2021-07-19 11:03:17 IODev myMQTT_Server
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_ASTBShutdownTempFlueGas_value 15
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_BurnerOptions_value 49
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_Byte10_value 134
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_Byte2_value 84
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_Byte3_value 144
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_Byte4_value 217
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_Byte5_value 253
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_Byte6_value 156
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_S19_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_S20_value 151
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_STBShutdownTempBoiler_value 147
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer1_STWShutdownTempBoiler_value 95
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer2_Byte3_value 129
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer2_Byte6_value 94
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer2_Byte7_value 84
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer2_Byte8_value 220
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer2_FanControllerI_value 5
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer2_FanControllerP_value 5
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer2_S15_value 147
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 Manufacturer2_S16_value 55
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 NoFlameFormation__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 NoGasPressureAvailable__16_Counter_value 256
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 PWMPumpDefective__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues1_Byte1_value 49
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues1_Byte2_value 80
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues1_Byte3_value 128
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues1_Byte4_value 247
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues1_Byte5_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues1_Byte6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues1_Byte7_value 1
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues1_Byte8_value 3
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues2_Byte1_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues2_Byte2_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues2_Byte3_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues2_Byte6_value 3
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues2_FanControlActualSpeed_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues2_FanControlSetSpeed_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues3_Byte1_value 219
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues3_Byte2_value 97
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues3_Byte3_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues4_Byte1_value 128
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues4_Byte2_value 51
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues4_Byte3_value 21
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues4_Byte4_value 21
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues4_Byte5_value 127
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues4_Byte6_value 22
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues5_Byte1_value 47
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues5_Byte2_value 8
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues5_Byte3_value 48
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues5_Byte4_value 154
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues5_Byte5_value 27
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues5_Byte6_value 60
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues6_Byte1_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues6_Byte2_value 7
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues6_Byte3_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 ProcessValues6_Byte4_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 SetpointDHW__8_Temp0_value 48
setstate MQTT2_ebusd_sc 2021-07-19 12:11:32 SetpointTempSystem__8_Temp0_value 68
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic1_BurnerOperationSinceLastService_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic1_Byte0_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic1_Byte3_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic1_Byte4_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic1_ErrorSCOTCalibration4_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic1_ErrorSCOTCalibration5_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic1_ErrorSCOTCalibration6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic1_ErrorSCOTCalibration8_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic2_Byte0_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic2_CRCErrorHeatingEngeneerParameter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic2_CRCErrorManufacturerParameter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic2_ErrorSCOTControlInput_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic2_ErrorSCOTIOControl_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic2_ErrorVoltageSupply_value 256
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic2_FanFaultDuringShutdown_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic3_Byte0_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic3_FanFaultDuringOperation_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic3_GPSFailureDuringSafetyTime_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic3_GasValveCycleV1V2Defective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic3_NoGasPressureAvailable_value 256
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic3_PWMPumpDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic3_WWTurbineDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic4_BoilerSensorDefective_value 7936
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic4_Byte0_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic4_DHWSensorDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic4_ExternalSensorDefektive_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic4_FlameSimulation_value 123
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic4_FlueGasSensorDefective_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic4_H2EmergencyOffFunction_value 55040
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_Byte0_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_Byte10_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_Byte11_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_Byte12_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_Byte5_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_Byte6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_Byte7_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_Byte8_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_Byte9_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_FlameFailureDuringOperation_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic5_NoFlameFormation_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_Byte0_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_Byte10_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_Byte11_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_Byte12_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_Byte2_value 74
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_Byte3_value 5
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_Byte4_value 43
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_Byte6_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_Byte9_value 1
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_DayOperatingHours_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_NumberMainsOn_value 16896
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 Statistic6_STWExcess_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:37 StatisticUkn01
setstate MQTT2_ebusd_sc 2021-07-19 12:11:38 StatisticUkn02
setstate MQTT2_ebusd_sc 2021-07-19 12:11:38 StatisticUkn03
setstate MQTT2_ebusd_sc 2021-07-19 12:11:38 StatisticUkn04
setstate MQTT2_ebusd_sc 2021-07-19 12:11:38 StatisticUkn05
setstate MQTT2_ebusd_sc 2021-07-19 12:11:33 WWTurbineDefective__16_Counter_value 0
setstate MQTT2_ebusd_sc 2021-07-19 12:11:38 associatedWith MQTT2_ebusd


Durch complex werden nun die mehrfach genutzten Readings wie ".*_16_Temp10" und ".*_16_Counter" eindeutig belegt. Macht es tatsächlich einfacher nachzuvollziehen.
Btw: Die Error-Dinger passen m.E. ebenfalls besser in ein eigenes Device. Wer es dann nicht benötigt, löscht halt das Device und braucht sich nicht um die Readings kümmern.

rob

#56
im Log meckert er noch ein wenig:

2021.07.19 12:11:29 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 158.

Passt wieder nicht hier rein. Im Anhang ist es komplett.

Beta-User

#57
@Rudi: json2nameValue() scheint allgemein zu meckern, wenn man versucht, damit leere Payloads auszupacken. Wundert mich ein wenig, dass das noch niemand gemeldet hat...

Hab's in der beigefügten myUtils damit abgefangen, dass der wrapper vorab checkt, ob da Inhalt drinsteckt: return if !length $EVENT;

Und das mit der breidgeRegexp ist auch irgendwie komisch (s.u.)

Zitat von: rob am 19 Juli 2021, 12:29:04
Alles gut  ;D
Bin froh, dass ich es nun endlich verstanden habe und damit nicht mehr nerven muss  ;)
Danke für's "nerven", wäre sonst noch länger nicht dahintergekommen, dass da was verborgen ist. Habe übrigens nochmal verschlimmbessert, bitte den letzten Edit checken, bzw. die aktuelle Fassung aus dem Anhang nehmen.

ZitatOK, habe nun alles neu erstellt, splitter neu angewendet und getAll veranstaltet.
Bin nicht sicher, aber es kann sein, dass es reicht, beim 2. Mal nur die "known" abzufragen. Sollte weniger belastend für den Bus sein...

Zitat
Durch complex kommt uns wieder derhier in die Quere "MQTT2_ebusd_21.2_1".
Das kommt nicht durch "complex" ;) . Die "memory"-Einträge kann man m.E. noch ins "splitter"-Template reinnehmen, aber warum "sc" nicht von der bridgeRegexp mit eingefangen/umgeleitet wird, ist mir im Moment nicht klar.
Da hattest du aber die Daten schon geloggt, muss ich mir mal näher ansehen (bzw. @Rudi: das wäre meine 2. Frage)...

Zu den (sc-) Error habe ich noch keine Meinung, aber wenn die nur einmalig kommen, ist es m.E. auch nicht schlimm, wenn die bei dem Gerät bleiben, zu dem sie eigentlich gehören. Wäre dann ggf. auch ein Thema für den negativen Filter (in json2nameValue() bzw. dem wrapper).

EDIT: Das mit den (null)-Payloads ist allgemein komisch, ich vermute, das ist unbeabsichtigt und john30 könnte es abstellen...?
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

Zitat@Rudi: json2nameValue() scheint allgemein zu meckern, wenn man versucht, damit leere Payloads auszupacken. Wundert mich ein wenig, dass das noch niemand gemeldet hat...
Offensichltick kommt es selten vor, dass ein Programm mal JSON schickt, und mal Nichts. Ein leerstring ist ja auch kein JSON, {} oder [] wird ohne Weiteres akzeptiert. Ich habe jetzt aber auch die Pruefung auf Leerstring und undef (und 0 :) ) eingebaut.

Zitatwarum "sc" nicht von der bridgeRegexp mit eingefangen/umgeleitet wird, ist mir im Moment nicht klar.
Da ich nicht alles genau verstanden habe, rate ich: weil bridgeRegexp nur im "autocreate Fall" geprueft wird.
Wenn ich daneben geraten habe, dann brauche ich was zum Nachstellen.

Beta-User

Zitat von: rudolfkoenig am 19 Juli 2021, 15:24:56
Offensichltick kommt es selten vor, dass ein Programm mal JSON schickt, und mal Nichts. Ein leerstring ist ja auch kein JSON, {} oder [] wird ohne Weiteres akzeptiert. Ich habe jetzt aber auch die Pruefung auf Leerstring und undef (und 0 :) ) eingebaut.
Danke!

Beim ebus scheint das - jedenfalls in bestimmten Konstellationen - so zu sein, und es sind nach meinem Eindruck nicht grade wenige, die sich hier im Forum aus Interesse an der ebus-Geschichte anmelden...
Daher das *Augenreib*... (das *Augenreib* gilt aber zusätzlich auch dem Umstand, dass es ziemlich lange gedauert hat, bis wirklich mal jemand "Hilfe" gerufen hat, um diesen etwas unbefriedigenden Zwischenstand aus der 1. Runde der attrTemplate anzugehen.)

Zitat
Da ich nicht alles genau verstanden habe, rate ich: weil bridgeRegexp nur im "autocreate Fall" geprueft wird.
Wenn ich daneben geraten habe, dann brauche ich was zum Nachstellen.
Hmm, hatte @rob so verstanden, dass er alles wieder gelöscht hatte, aber in dem logfile von kurz vor 13:00 Uhr sind zwar ein paar autocreate-Meldungen drin, aber nichts, das sich auf dieses Devices bezieht.
@rob: Bist du sicher, dass du das entsorgt gehabt hattest?
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

rob

Zitat von: Beta-User am 19 Juli 2021, 15:48:15
@rob: Bist du sicher, dass du das entsorgt gehabt hattest?
Im Prinzip ja. Ich hatte ein "delete MQTT2_ebus.*" losgelassen. Weil der Docker aber noch lief, wurde sogleich ein Roh-Device wieder angelegt.

Ich geh jetzt einfach nochmals her und stoppe Docker, lösche alles und starte Docker wieder.

Beta-User

Zitat von: rob am 19 Juli 2021, 16:26:12
Im Prinzip ja. Ich hatte ein "delete MQTT2_ebus.*" losgelassen. Weil der Docker aber noch lief, wurde sogleich ein Roh-Device wieder angelegt.

Ich geh jetzt einfach nochmals her und stoppe Docker, lösche alles und starte Docker wieder.

Bitte nach dem Löschen einfach warten, bis das erste Device von autocreate wieder angelegt wurde, dann darauf das "splitter-attrTemplate" anwenden. Dann sollte dieses Phantomdevice nicht erstellt werden.
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

rob

So, Docker gestoppt ✅
Devices gelöscht ✅
Docker restartet ✅
list .*ebus.* sagt:

FileLog_MQTT2_ebusd_21.2_1
MQTT2_ebusd_21.2_1

Splitter angewendet ✅
Neuste 99_attrTmqtt2_ebus_Utils.pm eingefügt ✅
reload 99_attrTmqtt2_ebus_Utils.pm ausgeführt ✅

list .*ebus.* sagt:

FileLog_MQTT2_ebusd_21.2_1
FileLog_MQTT2_ebusd_hc1
FileLog_MQTT2_ebusd_sc
MQTT2_ebusd_21.2_1
MQTT2_ebusd_hc1
MQTT2_ebusd_sc


getAll ausgeführt ✅
attr aus Post #50 eingefügt und Devices angelegt ✅
getKnown ausgeführt ✅

list .*ebus.* sagt:

FileLog_MQTT2_ebusd_21.2_1
FileLog_MQTT2_ebusd_hc1
FileLog_MQTT2_ebusd_hc2
FileLog_MQTT2_ebusd_hc3
FileLog_MQTT2_ebusd_hc4
FileLog_MQTT2_ebusd_hc5
FileLog_MQTT2_ebusd_hc6
FileLog_MQTT2_ebusd_hc7
FileLog_MQTT2_ebusd_hc8
FileLog_MQTT2_ebusd_sc
MQTT2_ebusd_21.2_1
MQTT2_ebusd_hc1
MQTT2_ebusd_hc1_HP2
MQTT2_ebusd_hc1_HP3
MQTT2_ebusd_hc1_WP
MQTT2_ebusd_hc1_ZP
MQTT2_ebusd_hc2
MQTT2_ebusd_hc3
MQTT2_ebusd_hc4
MQTT2_ebusd_hc5
MQTT2_ebusd_hc6
MQTT2_ebusd_hc7
MQTT2_ebusd_hc8
MQTT2_ebusd_sc


Jetzt schaut das Log unauffällig aus.

2021.07.19 16:38:29 3: MQTT2_DEVICE set MQTT2_ebusd_21.2_1 getAll
2021.07.19 16:38:30 2: autocreate: define MQTT2_ebusd_hc2 MQTT2_DEVICE ebusd_hc2 myMQTT_Server
2021.07.19 16:38:30 2: autocreate: define FileLog_MQTT2_ebusd_hc2 FileLog ./log/MQTT2_ebusd_hc2-%Y.log MQTT2_ebusd_hc2
2021.07.19 16:38:30 2: autocreate: define MQTT2_ebusd_hc3 MQTT2_DEVICE ebusd_hc3 myMQTT_Server
2021.07.19 16:38:30 2: autocreate: define FileLog_MQTT2_ebusd_hc3 FileLog ./log/MQTT2_ebusd_hc3-%Y.log MQTT2_ebusd_hc3
2021.07.19 16:38:30 2: autocreate: define MQTT2_ebusd_hc4 MQTT2_DEVICE ebusd_hc4 myMQTT_Server
2021.07.19 16:38:30 2: autocreate: define FileLog_MQTT2_ebusd_hc4 FileLog ./log/MQTT2_ebusd_hc4-%Y.log MQTT2_ebusd_hc4
2021.07.19 16:38:30 2: autocreate: define MQTT2_ebusd_hc5 MQTT2_DEVICE ebusd_hc5 myMQTT_Server
2021.07.19 16:38:30 2: autocreate: define FileLog_MQTT2_ebusd_hc5 FileLog ./log/MQTT2_ebusd_hc5-%Y.log MQTT2_ebusd_hc5
2021.07.19 16:38:30 2: autocreate: define MQTT2_ebusd_hc6 MQTT2_DEVICE ebusd_hc6 myMQTT_Server
2021.07.19 16:38:30 2: autocreate: define FileLog_MQTT2_ebusd_hc6 FileLog ./log/MQTT2_ebusd_hc6-%Y.log MQTT2_ebusd_hc6
2021.07.19 16:38:30 2: autocreate: define MQTT2_ebusd_hc7 MQTT2_DEVICE ebusd_hc7 myMQTT_Server
2021.07.19 16:38:30 2: autocreate: define FileLog_MQTT2_ebusd_hc7 FileLog ./log/MQTT2_ebusd_hc7-%Y.log MQTT2_ebusd_hc7
2021.07.19 16:38:30 2: autocreate: define MQTT2_ebusd_hc8 MQTT2_DEVICE ebusd_hc8 myMQTT_Server
2021.07.19 16:38:30 2: autocreate: define FileLog_MQTT2_ebusd_hc8 FileLog ./log/MQTT2_ebusd_hc8-%Y.log MQTT2_ebusd_hc8
2021.07.19 16:48:39 3: MQTT2_DEVICE set MQTT2_ebusd_21.2_1 getKnown

Anscheinend hatte ich irgendeinen Murks fabriziert. Sorry, wenn ich zu hektisch war und für unnötigen Wirbel gesorgt habe  :-[ :-X



Beta-User

Mal ein kurzer Zwischenstand und ein paar Fragen:

Bin grade am Testen, ob bzw. wie man die automatisch erstellten Geräte (readingList und Reading-Namen) automatisiert analysieren kann. Das klappt zumindest bei der readingList schon ganz ordentlich, abgesehen von der Frage, dass es nicht so einfach ist rauszufinden, wann man Prefixes für j2nv() benötigt, und wann nicht. Müßte aber eigentlich anhand der Readingnamen gehen, wenn "complex" gesetzt war.

Die Idee wäre, dann eine generalisierte Funktion zu haben, die das flexibel übernimmt und auch gewisse Sonderfälle (wie das mit den mehreren Zeitprogrammen) abdecken kann und dann gleich auch die passende setList dazu bastelt...?

Ein weiterer Sonderfall scheint das mit Day/Month zu sein? (Mal schauen, geringe Prio)

In die setList vom "splitter" gehört m.E. eigentlich per default auch was rein für die Zeit (also aktuelle Uhrzeit)? Hat da jemand eine Idee dazu?

Was die konkreten "verdrehten" Zeitprogramme angeht:
Entspricht das dem, was auf dem Gerät direkt zu erkennen ist (es müßte ja irgendwo an der Hardware eine Eingabemöglichkeit geben)? Oder ist es da schon falsch?
Wenn nein, kommt es vermutlich aus den Untiefen der csv's und sollte dort geändert werden...

Bis dahin erst mal, ich melde mich, wenn es was "verwertbareres" gibt. Falls das mit der automatisierten Analyse nicht als gute Idee angesehen wird, wäre das auch eine Rückmeldung, dann stecke ich da auch keinen großen Aufwand mehr rein...
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

rob

Der Eingabe am Gerät entspricht es so nicht. Ich hab mal ein paar Fotos drangehangen. Auf dem letzten Bild sieht man die konkreten Zeiten. Habe mir das JSON nochmals angeschaut Bsp.:

Client mosqsub/17638-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/HP1.Do.1', ... (67 bytes))
ebusd/hc1/HP1.Do.1 {
     "Start": {"value": "22:00"},
     "End": {"value": "07:30"}}

Dort sehe ich nun eindeutig, dass es bereits falsch übermittelt wird. Meine Vermutung bzgl. Sortierung ist also Quatsch, hätte besser nicht bei 00:00 schauen sollen  ::)

Habe am CSV (hc.timer.inc) testweise die Templates der zwei Felder vertauscht (erste Zeile)

r,,HP1.Di.1,Heizprogramm 1 Di 1 Start/Ende (Anwender 122) ,,,,"201402",,,_8_TimeEnd,,, ,,,_8_TimeStart,,,
w,,HP1.Di.1,Heizprogramm 1 Di 1 Start/Ende (Anwender 122) ,,,,"2014",,,_8_TimeStart,,, ,,,_8_TimeEnd,,,
r,,HP1.Di.2,Heizprogramm 1 Di 2 Start/Ende (Anwender 122) ,,,,"211402",,,_8_TimeStart,,, ,,,_8_TimeEnd,,,
w,,HP1.Di.2,Heizprogramm 1 Di 2 Start/Ende (Anwender 122) ,,,,"2114",,,_8_TimeStart,,, ,,,_8_TimeEnd,,,

und schon kommt es richtig an:

Client mosqsub/10235-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/hc1/HP1.Di.1', ... (67 bytes))
ebusd/hc1/HP1.Di.1 {
     "End": {"value": "22:00"},
     "Start": {"value": "07:30"}}

Im Reading

Tuesday  07:30;22:00;-,-;-,-;-,-;-,-;Mo-So  2021-07-21 10:14:48

Irgendwie kann ich mir nicht vorstellen, dass J0EK3R dort etwas übersehen oder vertauscht haben sollte. Gibt es vielleicht "Versionsunterschiede" in den Weishaupt-Telegrammen? Das wäre wenig schön - passt aber eher in den (aktuell stummen) Fred zum CSV.



Zitat von: Beta-User am 21 Juli 2021, 08:32:21
Falls das mit der automatisierten Analyse nicht als gute Idee angesehen wird, wäre das auch eine Rückmeldung, dann stecke ich da auch keinen großen Aufwand mehr rein...
Ich finde das eine gute + sinnvolle Idee und ich bin hoffentlich nicht der einzige mit Interesse (im Moment scheint das Sommerloch zu wirken).



Im Splitter wird die Zeit aus dem Broadcast geholt:

Client mosqsub/17638-OpenWRT received PUBLISH (d0, q0, r0, m0, 'ebusd/broadcast/datetime', ... (113 bytes))
ebusd/broadcast/datetime {
     "outsidetemp": {"value": 19.000},
     "time": {"value": "09:08:-"},
     "date": {"value": "19.07.2021"}}

Das kommt via broadcast.csv und scheint dort nicht als writable definiert zu sein (nur "b" vorne, statt "w;b"):

# type (r[1-9];w;u),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment
b,,datetime,Datum/Uhrzeit,,,0700,,outsidetemp,,temp2,,,,time,,btime,,,,date,,bdate,,,,,,,,,

Vielleicht kann das jmd. sagen, ob das überhaupt schreibbar möglich ist und in welchem Format. So ganz unbedarft möchte ich das nicht schreibend testen...

rob

#65
Bilder vergessen ...  :P

Beta-User

#66
Zitat von: rob am 21 Juli 2021, 10:33:23
Ich finde das eine gute + sinnvolle Idee und ich bin hoffentlich nicht der einzige mit Interesse (im Moment scheint das Sommerloch zu wirken).
..dann hoffe ich das auch mal; anbei eine Version zum testen...
{ FHEM::aTm2u_ebus::analyzeReadingList('MQTT2_ebusd_hc1') }sollte dann z.B. dein Device "MQTT2_ebusd_hc1" "auseinandernehmen".
Das sollte eigentlich mit jedem Device klappen, bei dem vorher Readings da waren, die mit "complex" erzeugt wurden, und wenn alles gut läuft, hat man hinterher die readingList so konfiguriert, dass der "wrapper" mal mit prefix aufgerufen wird, und mal ohne, je nachdem, ob die Readings auch so "gut waren" oder nicht. Bin aber nicht sicher, ob ich das richtige Kriterium rausgefischt habe, testen und das Ergebnis jeweils kritisch beäugen wäre also gut...

ZitatDer Eingabe am Gerät entspricht es so nicht. [...]
Habe am CSV (hc.timer.inc) testweise die Templates der zwei Felder vertauscht (erste Zeile)
Grundsätzlich müßte man es schon am ebusd ändern, damit die gesendete Struktur den tatsächlichen Daten an der Hardware entspricht. Habe etwas "Bauchweh", dass das die richtige Stelle ist, die du da erwischt hast; ich würde eher annehmen, dass es entweder einen "Richtungsschalter" gibt, oder dass es irgendwo eine modellspezifische Stelle gibt, an der das einzustellen wäre - ist aber nur "so ein Gefühl", das auch komplett falsch sein kann...

ZitatIm Splitter wird die Zeit aus dem Broadcast geholt:
Dass man an broadcost nicht schreibend senden kann, erscheint mir logisch; allerdings würde ich annehmen, dass es eine Adresse gibt, auf der "die Uhr" (ggf. gibt es mehrere, aber vermutlich nur eine zentrale) einen Stellbefehl annehmen müßte.

ZitatVielleicht kann das jmd. sagen, ob das überhaupt schreibbar möglich ist und in welchem Format. So ganz unbedarft möchte ich das nicht schreibend testen...
Das hoffe ich auch, wobei ich bei der Uhrzeit noch die wenigsten Skrupel hätte; irgendwo "muss" man ja anfangen, wenn man vorwärtskommen will, und bei dr Uhrzeit sind die Zusammenhänge hoffentlich noch einigermaßen überschaubar ;) .
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

rob

Das ging ja wieder sehr flink  8) Vielen Dank

Doofe Frage: Damit "{ FHEM::aTm2u_ebus::analyzeReadingList('MQTT2_ebusd_hc1') }" ersetze ich die rL im Device MQTT2_ebusd_hc1. Richtig? Und anschl. ein getAll/ Known?

Zitat von: Beta-User am 21 Juli 2021, 14:43:47
...testen und das Ergebnis jeweils kritisch beäugen wäre also gut...
Mach ich gerne. Wollte bereits rückmelden, dass ErrorHistory ein Kandidat für den Wrapper ist. Aber jetzt schaue ich mir diesen "Analyzer" genauer an - sobald ich verstanden habe wie ich das anwenden soll  ;D



Wegen dem Start/End: Anscheinend kommt man überhaupt nicht an den CSV vorbei. Wird wohl warten müssen, bis das Sommerloch rum ist.

Beta-User

Zitat von: rob am 21 Juli 2021, 16:06:27
Damit [...]
Nein, das ist für die FHEM-Kommandozeile (wenn der Code a) aktualisiert und b) neu geladen wurde (reload 99_attrTmqtt2_ebus_Utils.pm)).

Das kann dann für jedes "ebus" Device verwendet werden, um die json2nameValue()-Anweisungen (hoffentlich...) durch was passenderes aus den internen Funktionen zu ersetzen ;) .
ZitatWollte bereits rückmelden, dass ErrorHistory ein Kandidat für den Wrapper ist.
Vermutlich wird das eher eine Spezialfunktion werden? (Muss mir dazu aber auch Topic/Payload nochmal ansehen, wird ggf. dauern)

ZitatWegen dem Start/End: Anscheinend kommt man überhaupt nicht an den CSV vorbei. Wird wohl warten müssen, bis das Sommerloch rum ist.
Das schon, die Frage war aber eher, was der richtige "Trick" ist, und die von dir genannte Stelle sah mir relativ zentral aus (will sagen: dem Bauchgefühl nach (!) passt das schon für einen Teil der Devices, und das "Umdrehen" ist eventuell nur für manche Typen richig. Wenn mein Bauchgefühl stimmt, wäre es demnach einfach eine andere Stelle, die man anfassen muss.



Bzgl. der Spezialfunktion für die Wochenprofile: der dummy aus den jetzigen attrTemplate scheint davon auszugehen, dass 6 Datenpunkte bestehen, und die auch so (in den Topics?) durchnummeriert sind, hier sind es 3 Paare. Leider habe ich keine Datengrundlage, um vergleichen zu können, was "damals" Stand der Dinge war, und auch keine Info, ob ebusd das zwischenzeitlich allgemein anders handhabt. Falls jemand Info dazu hat: gerne!
(Habe eine Aussage von Reinhart im Ohr, in der er sinngemäß ausgeführt hat, dass er das feature sowieso nicht nutzt...)
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

rob

Danke Dir. Ja, die 99_attrTmqtt2_ebus_Utils.pm hatte ich aktualisiert und neu geladen. Wusste nur nicht wo der Befehl hin sollte :)
Weil die Readings noch mit alten vermischt waren, habe ich neu begonnen.

Meine Schritte:
- Docker gestoppt, alle Devices gelöscht "delete .*MQTT2_ebus.*", Docker neu gestartet, abgewartet
- Fhem Update + Shutdown restart
- Splitter angewendet, 99_attrTmqtt2_ebus_Utils.pm aktualisiert + reload
- getAll ausgeführt
- HP* Devices aus #50 angelegt incl. rL (MQTT2_ebusd_hc1 absichtl. unangetastet gelassen)
- getKnown ausgeführt
- 2x Befehl ausgeführt

{ FHEM::aTm2u_ebus::analyzeReadingList('MQTT2_ebusd_hc1') }
{ FHEM::aTm2u_ebus::analyzeReadingList('MQTT2_ebusd_sc') }

- 4x Get-Beispiele gestartet

set myMQTT_Server publish ebusd/hc1/HP2.Mo.1/get
set myMQTT_Server publish ebusd/hc1/HP2.Mo.2/get
set myMQTT_Server publish ebusd/sc/ErrorVoltagSupply/get
set myMQTT_Server publish ebusd/sc/ExternalSensorDefektive/get


Um nichts zu verfälschen, habe ich nicht weiter eingegriffen.

Beobachtungen:
- in den Devices "hc1" und "sc" steht unter model "ebus_analyzeReadingList"
- in beiden Devices sind die Readings ohne "_value" angelegt (nach obigem Schritt4 waren sie ja noch im "Urzustand")
- Zeiten werden in HP2 zusammengefasst (da gem. #50 die rL entspr. gesetzt ist) in hc1 nicht, hier wird der JSON-Teil angezeigt
- im Device sc analog, auch der JSON-Teilstring
- Log ist unauffälig

So schaut es aus laut list -r MQTT2_ebus.*:

define MQTT2_ebusd_21.2_1 MQTT2_DEVICE ebusd
attr MQTT2_ebusd_21.2_1 autocreate 1
attr MQTT2_ebusd_21.2_1 bridgeRegexp (ebus\S[^/]*?)/(bai|\d+|cc|e7f|ehp|f\d\d|hc|hc\d+|he.|hmu|hwc|mc|mc.\d|omu|omu.\d|pms|rcc|rcc.\d|sc|sdr_p|solar|ui|uih|v\d\d|v81.\d|vd\d|vl\d|vr_\d\d|zeo)/.*:.* "$1_$2"\
(ebus\S[^/]*?)/(global|broadcast|general|scan[^/]+|memory)/.*:.* "$1"
attr MQTT2_ebusd_21.2_1 comment NOTE: additional templates and code have been downloaded from svn (contrib).<br>Pls. inform the maintainer, if the bridgeRegexp doesn't fit to all of your devices connected to the bus.
attr MQTT2_ebusd_21.2_1 devStateIcon 1.true:it_net 1.false:it_net@red  2.true:lan_rs485 2.false:lan_rs485@red
attr MQTT2_ebusd_21.2_1 icon sani_boiler_temp
attr MQTT2_ebusd_21.2_1 model eBus_daemon_splitter
attr MQTT2_ebusd_21.2_1 readingList ebusd/scan[^/]+/.*:.* { $TOPIC =~ m,scan.([^/]+)/,;; FHEM::aTm2u_ebus::j2nv($EVENT,"scan_${1}_") }\
  ebusd/global/uptime:.* uptime\
  ebusd/global/running:.* running\
  ebusd/global/version:.* version\
  ebusd/global/signal:.* signal\
  ebusd/global/updatecheck:.* updatecheck\
  ebusd/global/scan:.* scan\
  ebusd/broadcast/datetime:.* { FHEM::aTm2u_ebus::j2nv($EVENT) }\
ebusd/broadcast/error:.* error\
ebusd/broadcast/id:.* id\
ebusd/broadcast/queryexistence:.* queryexistence\
ebusd/broadcast/signoflife:.* signoflife\
ebusd/memory/eeprom:.* eeprom\
ebusd/memory/ram:.* ram
attr MQTT2_ebusd_21.2_1 room MQTT2_DEVICE
attr MQTT2_ebusd_21.2_1 setList getKnown:noArg ebusd/list onlyknown\
  getAll:noArg ebusd/list
attr MQTT2_ebusd_21.2_1 stateFormat Status: \
1:running\
Signal: \
2:signal\
<br>Uptime: formatedUptime
attr MQTT2_ebusd_21.2_1 userReadings formatedUptime:uptime.* {my $m = ReadingsVal($name,'uptime',0)/60;; return sprintf '0 000 00:%02d', $m if $m < 60;; my $h = $m / 60;; $m %= 60;; return sprintf '0 000 %02d:%02d', $h, $m if $h < 24;; my $d = $h / 24;; $h %= 24;;;; return sprintf '0 %03d %02d:%02d', $d, $h, $m if $d <365;; my $y = $d / 365;; $d %= 365;; return sprintf '%d %03d %02d:%02d', $y, $d, $h, $m}

define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Adaption:.* Adaption\
ebusd/hc1/BCAST1:.* BCAST1\
ebusd/hc1/BCAST2:.* BCAST2\
ebusd/hc1/DHWMin:.* DHWMin\
ebusd/hc1/DHWMode:.* DHWMode\
ebusd/hc1/DHWSetpoint:.* DHWSetpoint\
ebusd/hc1/DHWSetValue:.* DHWSetValue\
ebusd/hc1/DHWTemperature:.* DHWTemperature\
ebusd/hc1/EndOfHoliday\x2eDay:.* EndOfHoliday.Day\
ebusd/hc1/EndOfHoliday\x2eMonth:.* EndOfHoliday.Month\
ebusd/hc1/EndOfHoliday:.* EndOfHoliday\
ebusd/hc1/ExternalTemperature:.* ExternalTemperature\
ebusd/hc1/FrostProtection:.* FrostProtection\
ebusd/hc1/Gradient:.* Gradient\
ebusd/hc1/HeatDemand:.* HeatDemand\
ebusd/hc1/HeatingDemand:.* HeatingDemand\
ebusd/hc1/HolidayTemp:.* HolidayTemp\
ebusd/hc1/HP1\x2eDi\x2e1:.* HP1.Di.1\
ebusd/hc1/HP1\x2eDi\x2e2:.* HP1.Di.2\
ebusd/hc1/HP1\x2eDi\x2e3:.* HP1.Di.3\
ebusd/hc1/HP1\x2eDo\x2e1:.* HP1.Do.1\
ebusd/hc1/HP1\x2eDo\x2e2:.* HP1.Do.2\
ebusd/hc1/HP1\x2eDo\x2e3:.* HP1.Do.3\
ebusd/hc1/HP1\x2eFr\x2e1:.* HP1.Fr.1\
ebusd/hc1/HP1\x2eFr\x2e2:.* HP1.Fr.2\
ebusd/hc1/HP1\x2eFr\x2e3:.* HP1.Fr.3\
ebusd/hc1/HP1\x2eMi\x2e1:.* HP1.Mi.1\
ebusd/hc1/HP1\x2eMi\x2e2:.* HP1.Mi.2\
ebusd/hc1/HP1\x2eMi\x2e3:.* HP1.Mi.3\
ebusd/hc1/HP1\x2eMo\x2e1:.* HP1.Mo.1\
ebusd/hc1/HP1\x2eMo\x2e2:.* HP1.Mo.2\
ebusd/hc1/HP1\x2eMo\x2e3:.* HP1.Mo.3\
ebusd/hc1/HP1\x2eSa\x2e1:.* HP1.Sa.1\
ebusd/hc1/HP1\x2eSa\x2e2:.* HP1.Sa.2\
ebusd/hc1/HP1\x2eSa\x2e3:.* HP1.Sa.3\
ebusd/hc1/HP1\x2eSo\x2e1:.* HP1.So.1\
ebusd/hc1/HP1\x2eSo\x2e2:.* HP1.So.2\
ebusd/hc1/HP1\x2eSo\x2e3:.* HP1.So.3\
ebusd/hc1/HP2\x2eDi\x2e1:.* HP2.Di.1\
ebusd/hc1/HP2\x2eDi\x2e2:.* HP2.Di.2\
ebusd/hc1/HP2\x2eDi\x2e3:.* HP2.Di.3\
ebusd/hc1/HP2\x2eDo\x2e1:.* HP2.Do.1\
ebusd/hc1/HP2\x2eDo\x2e2:.* HP2.Do.2\
ebusd/hc1/HP2\x2eDo\x2e3:.* HP2.Do.3\
ebusd/hc1/HP2\x2eFr\x2e1:.* HP2.Fr.1\
ebusd/hc1/HP2\x2eFr\x2e2:.* HP2.Fr.2\
ebusd/hc1/HP2\x2eFr\x2e3:.* HP2.Fr.3\
ebusd/hc1/HP2\x2eMi\x2e1:.* HP2.Mi.1\
ebusd/hc1/HP2\x2eMi\x2e2:.* HP2.Mi.2\
ebusd/hc1/HP2\x2eMi\x2e3:.* HP2.Mi.3\
ebusd/hc1/HP2\x2eMo\x2e1:.* HP2.Mo.1\
ebusd/hc1/HP2\x2eMo\x2e2:.* HP2.Mo.2\
ebusd/hc1/HP2\x2eMo\x2e3:.* HP2.Mo.3\
ebusd/hc1/HP2\x2eSa\x2e1:.* HP2.Sa.1\
ebusd/hc1/HP2\x2eSa\x2e2:.* HP2.Sa.2\
ebusd/hc1/HP2\x2eSa\x2e3:.* HP2.Sa.3\
ebusd/hc1/HP2\x2eSo\x2e1:.* HP2.So.1\
ebusd/hc1/HP2\x2eSo\x2e2:.* HP2.So.2\
ebusd/hc1/HP2\x2eSo\x2e3:.* HP2.So.3\
ebusd/hc1/HP3\x2eDi\x2e1:.* HP3.Di.1\
ebusd/hc1/HP3\x2eDi\x2e2:.* HP3.Di.2\
ebusd/hc1/HP3\x2eDi\x2e3:.* HP3.Di.3\
ebusd/hc1/HP3\x2eDo\x2e1:.* HP3.Do.1\
ebusd/hc1/HP3\x2eDo\x2e2:.* HP3.Do.2\
ebusd/hc1/HP3\x2eDo\x2e3:.* HP3.Do.3\
ebusd/hc1/HP3\x2eFr\x2e1:.* HP3.Fr.1\
ebusd/hc1/HP3\x2eFr\x2e2:.* HP3.Fr.2\
ebusd/hc1/HP3\x2eFr\x2e3:.* HP3.Fr.3\
ebusd/hc1/HP3\x2eMi\x2e1:.* HP3.Mi.1\
ebusd/hc1/HP3\x2eMi\x2e2:.* HP3.Mi.2\
ebusd/hc1/HP3\x2eMi\x2e3:.* HP3.Mi.3\
ebusd/hc1/HP3\x2eMo\x2e1:.* HP3.Mo.1\
ebusd/hc1/HP3\x2eMo\x2e2:.* HP3.Mo.2\
ebusd/hc1/HP3\x2eMo\x2e3:.* HP3.Mo.3\
ebusd/hc1/HP3\x2eSa\x2e1:.* HP3.Sa.1\
ebusd/hc1/HP3\x2eSa\x2e2:.* HP3.Sa.2\
ebusd/hc1/HP3\x2eSa\x2e3:.* HP3.Sa.3\
ebusd/hc1/HP3\x2eSo\x2e1:.* HP3.So.1\
ebusd/hc1/HP3\x2eSo\x2e2:.* HP3.So.2\
ebusd/hc1/HP3\x2eSo\x2e3:.* HP3.So.3\
ebusd/hc1/LegionnairesFunction:.* LegionnairesFunction\
ebusd/hc1/MaxDHWTemp:.* MaxDHWTemp\
ebusd/hc1/MaxSupplyTemperature:.* MaxSupplyTemperature\
ebusd/hc1/MinSupplyTemperature:.* MinSupplyTemperature\
ebusd/hc1/MixedExternalTemperature:.* MixedExternalTemperature\
ebusd/hc1/NormalSetTemp:.* NormalSetTemp\
ebusd/hc1/ProgramChooseSwitch:.* ProgramChooseSwitch\
ebusd/hc1/ReducedSetTemp:.* ReducedSetTemp\
ebusd/hc1/Reduces:.* Reduces\
ebusd/hc1/RoomInfluence:.* RoomInfluence\
ebusd/hc1/RoomSensorCorrection:.* RoomSensorCorrection\
ebusd/hc1/RoomSetValue:.* RoomSetValue\
ebusd/hc1/RoomTemperature:.* RoomTemperature\
ebusd/hc1/RoomThermostat:.* RoomThermostat\
ebusd/hc1/StartOfHoliday\x2eDay:.* StartOfHoliday.Day\
ebusd/hc1/StartOfHoliday\x2eMonth:.* StartOfHoliday.Month\
ebusd/hc1/StartOfHoliday:.* StartOfHoliday\
ebusd/hc1/Status:.* Status\
ebusd/hc1/SummerWinterChangeOverTemperature:.* SummerWinterChangeOverTemperature\
ebusd/hc1/SupplySetValueHC:.* SupplySetValueHC\
ebusd/hc1/SupplyTemperatureHC:.* SupplyTemperatureHC\
ebusd/hc1/SupplyTemperatureWTC:.* SupplyTemperatureWTC\
ebusd/hc1/SwitchOffSetting:.* SwitchOffSetting\
ebusd/hc1/SwitchOnSetting:.* SwitchOnSetting\
ebusd/hc1/TypeOfConstruction:.* TypeOfConstruction\
ebusd/hc1/WP\x2eDi\x2e1:.* WP.Di.1\
ebusd/hc1/WP\x2eDi\x2e2:.* WP.Di.2\
ebusd/hc1/WP\x2eDi\x2e3:.* WP.Di.3\
ebusd/hc1/WP\x2eDo\x2e1:.* WP.Do.1\
ebusd/hc1/WP\x2eDo\x2e2:.* WP.Do.2\
ebusd/hc1/WP\x2eDo\x2e3:.* WP.Do.3\
ebusd/hc1/WP\x2eFr\x2e1:.* WP.Fr.1\
ebusd/hc1/WP\x2eFr\x2e2:.* WP.Fr.2\
ebusd/hc1/WP\x2eFr\x2e3:.* WP.Fr.3\
ebusd/hc1/WP\x2eMi\x2e1:.* WP.Mi.1\
ebusd/hc1/WP\x2eMi\x2e2:.* WP.Mi.2\
ebusd/hc1/WP\x2eMi\x2e3:.* WP.Mi.3\
ebusd/hc1/WP\x2eMo\x2e1:.* WP.Mo.1\
ebusd/hc1/WP\x2eMo\x2e2:.* WP.Mo.2\
ebusd/hc1/WP\x2eMo\x2e3:.* WP.Mo.3\
ebusd/hc1/WP\x2eSa\x2e1:.* WP.Sa.1\
ebusd/hc1/WP\x2eSa\x2e2:.* WP.Sa.2\
ebusd/hc1/WP\x2eSa\x2e3:.* WP.Sa.3\
ebusd/hc1/WP\x2eSo\x2e1:.* WP.So.1\
ebusd/hc1/WP\x2eSo\x2e2:.* WP.So.2\
ebusd/hc1/WP\x2eSo\x2e3:.* WP.So.3\
ebusd/hc1/ZP\x2eDi\x2e1:.* ZP.Di.1\
ebusd/hc1/ZP\x2eDi\x2e2:.* ZP.Di.2\
ebusd/hc1/ZP\x2eDi\x2e3:.* ZP.Di.3\
ebusd/hc1/ZP\x2eDo\x2e1:.* ZP.Do.1\
ebusd/hc1/ZP\x2eDo\x2e2:.* ZP.Do.2\
ebusd/hc1/ZP\x2eDo\x2e3:.* ZP.Do.3\
ebusd/hc1/ZP\x2eFr\x2e1:.* ZP.Fr.1\
ebusd/hc1/ZP\x2eFr\x2e2:.* ZP.Fr.2\
ebusd/hc1/ZP\x2eFr\x2e3:.* ZP.Fr.3\
ebusd/hc1/ZP\x2eMi\x2e1:.* ZP.Mi.1\
ebusd/hc1/ZP\x2eMi\x2e2:.* ZP.Mi.2\
ebusd/hc1/ZP\x2eMi\x2e3:.* ZP.Mi.3\
ebusd/hc1/ZP\x2eMo\x2e1:.* ZP.Mo.1\
ebusd/hc1/ZP\x2eMo\x2e2:.* ZP.Mo.2\
ebusd/hc1/ZP\x2eMo\x2e3:.* ZP.Mo.3\
ebusd/hc1/ZP\x2eSa\x2e1:.* ZP.Sa.1\
ebusd/hc1/ZP\x2eSa\x2e2:.* ZP.Sa.2\
ebusd/hc1/ZP\x2eSa\x2e3:.* ZP.Sa.3\
ebusd/hc1/ZP\x2eSo\x2e1:.* ZP.So.1\
ebusd/hc1/ZP\x2eSo\x2e2:.* ZP.So.2\
ebusd/hc1/ZP\x2eSo\x2e3:.* ZP.So.3
attr MQTT2_ebusd_hc1 room MQTT2_DEVICE

define MQTT2_ebusd_hc1_HP2 MQTT2_DEVICE ebusd_hc1_HP2
attr MQTT2_ebusd_hc1_HP2 readingList ebusd/hc1/HP2.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_HP2 room MQTT2_DEVICE

define MQTT2_ebusd_hc1_HP3 MQTT2_DEVICE ebusd_hc1_HP3
attr MQTT2_ebusd_hc1_HP3 readingList ebusd/hc1/HP3.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_HP3 room MQTT2_DEVICE

define MQTT2_ebusd_hc1_WP MQTT2_DEVICE ebusd_hc1_WP
attr MQTT2_ebusd_hc1_WP readingList ebusd/hc1/WP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_WP room MQTT2_DEVICE

define MQTT2_ebusd_hc1_ZP MQTT2_DEVICE ebusd_hc1_ZP
attr MQTT2_ebusd_hc1_ZP readingList ebusd/hc1/ZP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_ZP room MQTT2_DEVICE

define MQTT2_ebusd_hc2 MQTT2_DEVICE ebusd_hc2
attr MQTT2_ebusd_hc2 readingList ebusd/hc2/HeatingDemand:.* HeatingDemand\
ebusd/hc2/Status:.* Status
attr MQTT2_ebusd_hc2 room MQTT2_DEVICE

define MQTT2_ebusd_hc3 MQTT2_DEVICE ebusd_hc3
attr MQTT2_ebusd_hc3 readingList ebusd/hc3/HeatingDemand:.* HeatingDemand\
ebusd/hc3/Status:.* Status
attr MQTT2_ebusd_hc3 room MQTT2_DEVICE

define MQTT2_ebusd_hc4 MQTT2_DEVICE ebusd_hc4
attr MQTT2_ebusd_hc4 readingList ebusd/hc4/HeatingDemand:.* HeatingDemand\
ebusd/hc4/Status:.* Status
attr MQTT2_ebusd_hc4 room MQTT2_DEVICE

define MQTT2_ebusd_hc5 MQTT2_DEVICE ebusd_hc5
attr MQTT2_ebusd_hc5 readingList ebusd/hc5/HeatingDemand:.* HeatingDemand\
ebusd/hc5/Status:.* Status
attr MQTT2_ebusd_hc5 room MQTT2_DEVICE

define MQTT2_ebusd_hc6 MQTT2_DEVICE ebusd_hc6
attr MQTT2_ebusd_hc6 readingList ebusd/hc6/HeatingDemand:.* HeatingDemand\
ebusd/hc6/Status:.* Status
attr MQTT2_ebusd_hc6 room MQTT2_DEVICE

define MQTT2_ebusd_hc7 MQTT2_DEVICE ebusd_hc7
attr MQTT2_ebusd_hc7 readingList ebusd/hc7/HeatingDemand:.* HeatingDemand\
ebusd/hc7/Status:.* Status
attr MQTT2_ebusd_hc7 room MQTT2_DEVICE

define MQTT2_ebusd_hc8 MQTT2_DEVICE ebusd_hc8
attr MQTT2_ebusd_hc8 readingList ebusd/hc8/HeatingDemand:.* HeatingDemand\
ebusd/hc8/Status:.* Status
attr MQTT2_ebusd_hc8 room MQTT2_DEVICE

define MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc model ebus_analyzeReadingList
attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/BoilerSensorDefective:.* BoilerSensorDefective\
ebusd/sc/BurnerOperationSinceLastService:.* BurnerOperationSinceLastService\
ebusd/sc/CRCErrorHeatingEngeneerParameter:.* CRCErrorHeatingEngeneerParameter\
ebusd/sc/CRCErrorManufacturerParameter:.* CRCErrorManufacturerParameter\
ebusd/sc/DHWSensorDefective:.* DHWSensorDefective\
ebusd/sc/Enduser:.* Enduser\
ebusd/sc/ErrorHistory:.* ErrorHistory\
ebusd/sc/ErrorSCOTCalibration4:.* ErrorSCOTCalibration4\
ebusd/sc/ErrorSCOTCalibration5:.* ErrorSCOTCalibration5\
ebusd/sc/ErrorSCOTCalibration6:.* ErrorSCOTCalibration6\
ebusd/sc/ErrorSCOTCalibration8:.* ErrorSCOTCalibration8\
ebusd/sc/ErrorSCOTControlInput:.* ErrorSCOTControlInput\
ebusd/sc/ErrorSCOTIOControl:.* ErrorSCOTIOControl\
ebusd/sc/ErrorVoltagSupply:.* ErrorVoltagSupply\
ebusd/sc/ExternalSensorDefektive:.* ExternalSensorDefektive\
ebusd/sc/FanFaultDuringOperation:.* FanFaultDuringOperation\
ebusd/sc/FanFaultDuringShutdown:.* FanFaultDuringShutdown\
ebusd/sc/FlameFailureDuringOperation:.* FlameFailureDuringOperation\
ebusd/sc/FlameSimulation:.* FlameSimulation\
ebusd/sc/FlueGasSensorDefective:.* FlueGasSensorDefective\
ebusd/sc/GasValveCycleV1V2Defective:.* GasValveCycleV1V2Defective\
ebusd/sc/GPSFailureDuringSafetyTime:.* GPSFailureDuringSafetyTime\
ebusd/sc/H2EmergencyOffFunction:.* H2EmergencyOffFunction\
ebusd/sc/Manufacturer1:.* Manufacturer1\
ebusd/sc/Manufacturer2:.* Manufacturer2\
ebusd/sc/NoFlameFormation:.* NoFlameFormation\
ebusd/sc/NoGasPressureAvailable:.* NoGasPressureAvailable\
ebusd/sc/ProcessValues1:.* ProcessValues1\
ebusd/sc/ProcessValues2:.* ProcessValues2\
ebusd/sc/ProcessValues3:.* ProcessValues3\
ebusd/sc/ProcessValues4:.* ProcessValues4\
ebusd/sc/ProcessValues5:.* ProcessValues5\
ebusd/sc/ProcessValues6:.* ProcessValues6\
ebusd/sc/PWMPumpDefective:.* PWMPumpDefective\
ebusd/sc/SetpointDHW:.* SetpointDHW\
ebusd/sc/SetpointTempSystem:.* SetpointTempSystem\
ebusd/sc/Statistic1:.* Statistic1\
ebusd/sc/Statistic2:.* Statistic2\
ebusd/sc/Statistic3:.* Statistic3\
ebusd/sc/Statistic4:.* Statistic4\
ebusd/sc/Statistic5:.* Statistic5\
ebusd/sc/Statistic6:.* Statistic6\
ebusd/sc/StatisticUkn01:.* StatisticUkn01\
ebusd/sc/StatisticUkn02:.* StatisticUkn02\
ebusd/sc/StatisticUkn03:.* StatisticUkn03\
ebusd/sc/StatisticUkn04:.* StatisticUkn04\
ebusd/sc/StatisticUkn05:.* StatisticUkn05\
ebusd/sc/WWTurbineDefective:.* WWTurbineDefective
attr MQTT2_ebusd_sc room MQTT2_DEVICE

setstate MQTT2_ebusd_21.2_1 Status: \
1:true\
Signal: \
2:true\
<br>Uptime: 0 000 01:20
setstate MQTT2_ebusd_21.2_1 2021-07-22 07:57:15 associatedWith MQTT2_ebusd_21.2_1
setstate MQTT2_ebusd_21.2_1 2021-07-22 07:50:19 attrTemplateVersion 20210720
setstate MQTT2_ebusd_21.2_1 2021-07-22 09:55:44 date 22.07.2021
setstate MQTT2_ebusd_21.2_1 2021-07-22 07:57:15 eeprom
setstate MQTT2_ebusd_21.2_1 2021-07-22 07:56:57 error
setstate MQTT2_ebusd_21.2_1 2021-07-22 09:56:06 formatedUptime 0 000 01:20
setstate MQTT2_ebusd_21.2_1 2021-07-22 07:56:57 id
setstate MQTT2_ebusd_21.2_1 2021-07-22 09:55:44 outsidetemp 20.000
setstate MQTT2_ebusd_21.2_1 2021-07-22 07:56:57 queryexistence
setstate MQTT2_ebusd_21.2_1 2021-07-22 07:57:15 ram
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:06 running true
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:37:45 scan "finished"
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:37:43 scan_08_HW 0302
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:37:43 scan_08_ID W
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:37:43 scan_08_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:37:43 scan_08_SW 1200
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:43 scan_0c_ID ??
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:17 scan_35_ID W
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:17 scan_35_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:17 scan_35_SW 2726
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:19 scan_f6_HW 0302
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:19 scan_f6_ID WWST?
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:19 scan_f6_MF Kromschroeder
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:19 scan_f6_SW 1200
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:23 signal true
setstate MQTT2_ebusd_21.2_1 2021-07-22 07:56:57 signoflife
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:18:42 state getKnown
setstate MQTT2_ebusd_21.2_1 2021-07-22 09:55:44 time 09:58:-
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:39:45 updatecheck "OK"
setstate MQTT2_ebusd_21.2_1 2021-07-22 09:56:06 uptime 4800
setstate MQTT2_ebusd_21.2_1 2021-07-22 08:36:06 version "ebusd 21.2.v21.2"

setstate MQTT2_ebusd_hc1 2021-07-22 08:36:31 Action stopconsumer
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 Adaption
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 BCAST1
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 BCAST2
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 DHWMin
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 DHWMode
setstate MQTT2_ebusd_hc1 2021-07-22 08:36:31 DHWSetTemp 48.0
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 DHWSetValue
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 DHWSetpoint
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 DHWTemperature
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 EndOfHoliday
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 EndOfHoliday.Day
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:58 EndOfHoliday.Month
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 ExternalTemperature
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 FrostProtection
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 Gradient
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Di.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Di.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Di.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Do.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Do.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Do.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Fr.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Fr.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Fr.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Mi.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Mi.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Mi.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HP1.Mo.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP1.Mo.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP1.Mo.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP1.Sa.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP1.Sa.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP1.Sa.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP1.So.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP1.So.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP1.So.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP2.Di.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP2.Di.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP2.Di.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP2.Do.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP2.Do.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP2.Do.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:00 HP2.Fr.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.Fr.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.Fr.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.Mi.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.Mi.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.Mi.3
setstate MQTT2_ebusd_hc1 2021-07-22 08:36:43 HP2.Mo.1 {\
     "End": {"value": "23:00"},\
     "Start": {"value": "19:00"}}
setstate MQTT2_ebusd_hc1 2021-07-22 09:31:40 HP2.Mo.2 {\
     "End": {"value": "00:00"},\
     "Start": {"value": "00:00"}}
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.Mo.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.Sa.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.Sa.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.Sa.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:01 HP2.So.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP2.So.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP2.So.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP3.Di.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP3.Di.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP3.Di.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP3.Do.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP3.Do.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP3.Do.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP3.Fr.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP3.Fr.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:02 HP3.Fr.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:03 HP3.Mi.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:03 HP3.Mi.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:03 HP3.Mi.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:03 HP3.Mo.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:03 HP3.Mo.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:03 HP3.Mo.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:03 HP3.Sa.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:03 HP3.Sa.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:03 HP3.Sa.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:04 HP3.So.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:04 HP3.So.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:04 HP3.So.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HeatDemand
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HeatingDemand
setstate MQTT2_ebusd_hc1 2021-07-22 07:56:59 HolidayTemp
setstate MQTT2_ebusd_hc1 2021-07-22 07:50:19 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:04 LegionnairesFunction
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:04 MaxDHWTemp
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:04 MaxSupplyTemperature
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:04 MinSupplyTemperature
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:04 MixedExternalTemperature
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:05 NormalSetTemp
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:05 ProgramChooseSwitch
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:05 ReducedSetTemp
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:05 Reduces
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:05 RoomInfluence
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:05 RoomSensorCorrection
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:05 RoomSetValue
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:06 RoomTemperature
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:06 RoomThermostat
setstate MQTT2_ebusd_hc1 2021-07-22 08:36:31 SetTemp 5.00
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:06 StartOfHoliday
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:06 StartOfHoliday.Day
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:06 StartOfHoliday.Month
setstate MQTT2_ebusd_hc1 2021-07-22 08:36:31 Status hotwater
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:06 SummerWinterChangeOverTemperature
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:06 SupplySetValueHC
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:07 SupplyTemperatureHC
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:07 SupplyTemperatureWTC
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:07 SwitchOffSetting
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:07 SwitchOnSetting
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:07 TypeOfConstruction
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:07 WP.Di.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:07 WP.Di.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:07 WP.Di.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:08 WP.Do.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:08 WP.Do.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:08 WP.Do.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:08 WP.Fr.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:08 WP.Fr.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:08 WP.Fr.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:09 WP.Mi.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:09 WP.Mi.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:09 WP.Mi.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:09 WP.Mo.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:09 WP.Mo.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:09 WP.Mo.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:09 WP.Sa.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:10 WP.Sa.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:10 WP.Sa.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:10 WP.So.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:10 WP.So.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:10 WP.So.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:10 ZP.Di.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:11 ZP.Di.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:11 ZP.Di.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:11 ZP.Do.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:11 ZP.Do.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:11 ZP.Do.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:11 ZP.Fr.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:12 ZP.Fr.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:12 ZP.Fr.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:12 ZP.Mi.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:12 ZP.Mi.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:12 ZP.Mi.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:13 ZP.Mo.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:13 ZP.Mo.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:13 ZP.Mo.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:13 ZP.Sa.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:13 ZP.Sa.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:14 ZP.Sa.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:14 ZP.So.1
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:14 ZP.So.2
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:14 ZP.So.3
setstate MQTT2_ebusd_hc1 2021-07-22 07:57:14 associatedWith MQTT2_ebusd_21.2_1
setstate MQTT2_ebusd_hc1 2021-07-22 08:20:00 attrTemplateVersion 2021-07-22 08:20:00 # $Id: 99_attrTmqtt2_ebus_Utils.pm 24777+ extended analysis 2021-07-21 Beta-User $

setstate MQTT2_ebusd_hc1_HP2 2021-07-22 08:03:20 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_HP2 2021-07-22 09:31:40 Monday 19:00;;23:00;;00:00;;00:00;;-,-;;-,-;;Mo-So

setstate MQTT2_ebusd_hc1_HP3 2021-07-22 08:03:55 IODev myMQTT_Server

setstate MQTT2_ebusd_hc1_WP 2021-07-22 08:04:24 IODev myMQTT_Server

setstate MQTT2_ebusd_hc1_ZP 2021-07-22 08:05:01 IODev myMQTT_Server

setstate MQTT2_ebusd_hc2 2021-07-22 07:57:14 HeatingDemand
setstate MQTT2_ebusd_hc2 2021-07-22 07:56:58 IODev myMQTT_Server
setstate MQTT2_ebusd_hc2 2021-07-22 07:57:14 Status
setstate MQTT2_ebusd_hc2 2021-07-22 07:57:14 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc3 2021-07-22 07:57:14 HeatingDemand
setstate MQTT2_ebusd_hc3 2021-07-22 07:56:58 IODev myMQTT_Server
setstate MQTT2_ebusd_hc3 2021-07-22 07:57:14 Status
setstate MQTT2_ebusd_hc3 2021-07-22 07:57:14 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc4 2021-07-22 07:57:14 HeatingDemand
setstate MQTT2_ebusd_hc4 2021-07-22 07:56:58 IODev myMQTT_Server
setstate MQTT2_ebusd_hc4 2021-07-22 07:57:15 Status
setstate MQTT2_ebusd_hc4 2021-07-22 07:57:15 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc5 2021-07-22 07:57:15 HeatingDemand
setstate MQTT2_ebusd_hc5 2021-07-22 07:56:58 IODev myMQTT_Server
setstate MQTT2_ebusd_hc5 2021-07-22 07:57:15 Status
setstate MQTT2_ebusd_hc5 2021-07-22 07:57:15 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc6 2021-07-22 07:57:15 HeatingDemand
setstate MQTT2_ebusd_hc6 2021-07-22 07:56:58 IODev myMQTT_Server
setstate MQTT2_ebusd_hc6 2021-07-22 07:57:15 Status
setstate MQTT2_ebusd_hc6 2021-07-22 07:57:15 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc7 2021-07-22 07:57:15 HeatingDemand
setstate MQTT2_ebusd_hc7 2021-07-22 07:56:58 IODev myMQTT_Server
setstate MQTT2_ebusd_hc7 2021-07-22 07:57:15 Status
setstate MQTT2_ebusd_hc7 2021-07-22 07:57:15 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_hc8 2021-07-22 07:57:15 HeatingDemand
setstate MQTT2_ebusd_hc8 2021-07-22 07:56:58 IODev myMQTT_Server
setstate MQTT2_ebusd_hc8 2021-07-22 07:57:15 Status
setstate MQTT2_ebusd_hc8 2021-07-22 07:57:15 associatedWith MQTT2_ebusd_21.2_1

setstate MQTT2_ebusd_sc 2021-07-22 07:57:15 BoilerSensorDefective
setstate MQTT2_ebusd_sc 2021-07-22 07:57:15 BurnerOperationSinceLastService
setstate MQTT2_ebusd_sc 2021-07-22 07:57:15 CRCErrorHeatingEngeneerParameter
setstate MQTT2_ebusd_sc 2021-07-22 07:57:15 CRCErrorManufacturerParameter
setstate MQTT2_ebusd_sc 2021-07-22 07:57:15 DHWSensorDefective
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 DHWTemp 50.0
setstate MQTT2_ebusd_sc 2021-07-22 07:57:15 Enduser
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Error 0
setstate MQTT2_ebusd_sc 2021-07-22 07:57:15 ErrorHistory
setstate MQTT2_ebusd_sc 2021-07-22 07:57:15 ErrorSCOTCalibration4
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 ErrorSCOTCalibration5
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 ErrorSCOTCalibration6
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 ErrorSCOTCalibration8
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 ErrorSCOTControlInput
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 ErrorSCOTIOControl
setstate MQTT2_ebusd_sc 2021-07-22 09:55:19 ErrorVoltagSupply {\
     "_16_Counter": {"value": 256}}
setstate MQTT2_ebusd_sc 2021-07-22 08:42:20 ExternalSensorDefektive {\
     "_16_Counter": {"value": 0}}
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 ExternalTemp 20
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 FanFaultDuringOperation
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 FanFaultDuringShutdown
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Flame 0
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 FlameFailureDuringOperation
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 FlameSimulation
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 FlueGasSensorDefective
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 GPSFailureDuringSafetyTime
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 GasValve1 0
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 GasValve2 0
setstate MQTT2_ebusd_sc 2021-07-22 07:57:16 GasValveCycleV1V2Defective
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 H2EmergencyOffFunction
setstate MQTT2_ebusd_sc 2021-07-22 07:50:19 IODev myMQTT_Server
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Load 0
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 Manufacturer1
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 Manufacturer2
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 NoFlameFormation
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 NoGasPressureAvailable
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Operatingphase BrennerAus
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 PWMPumpDefective
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 ProcessValues1
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 ProcessValues2
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 ProcessValues3
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 ProcessValues4
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 ProcessValues5
setstate MQTT2_ebusd_sc 2021-07-22 07:57:17 ProcessValues6
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Pump 0
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 SetpointDHW
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 SetpointTempSystem
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 SettingUV Heating
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 SoWi Summer
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 Statistic1
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 Statistic2
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 Statistic3
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 Statistic4
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 Statistic5
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 Statistic6
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 StatisticUkn01
setstate MQTT2_ebusd_sc 2021-07-22 07:57:18 StatisticUkn02
setstate MQTT2_ebusd_sc 2021-07-22 07:57:19 StatisticUkn03
setstate MQTT2_ebusd_sc 2021-07-22 07:57:19 StatisticUkn04
setstate MQTT2_ebusd_sc 2021-07-22 07:57:19 StatisticUkn05
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Status1 1
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 SupplySetTemp 8
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 SupplyTemp 42.0
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 TrendTemp 19.469
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Ukn2_1 1
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Ukn2_2 1
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Ukn2_3 1
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Ukn3_1 0
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Ukn3_3 0
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Ukn3_4 0
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Ukn3_5 0
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Ukn3_6 0
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 Ukn3_7 0
setstate MQTT2_ebusd_sc 2021-07-22 09:54:40 UknTemp 0.0
setstate MQTT2_ebusd_sc 2021-07-22 07:57:19 WWTurbineDefective
setstate MQTT2_ebusd_sc 2021-07-22 07:57:19 associatedWith MQTT2_ebusd_21.2_1
setstate MQTT2_ebusd_sc 2021-07-22 09:53:54 attrTemplateVersion 2021-07-22 09:53:54 # $Id: 99_attrTmqtt2_ebus_Utils.pm 24777+ extended analysis 2021-07-21 Beta-User $



Beta-User

#70
Anbei eine erweiterte Version (aktueller als das, was jetzt im svn liegt, die sollte auch zumindest den einen "Error"-Zweig in ein einziges Reading überführen).

Grundsätzlich ist es hilfreich, diese Dinge "from the scratch" zu testen, wie du das jetzt auch gemacht hattest.
Du hattest jetzt aber das Problem, dass die readingList durchgehend von "Klartextreadings" ausgeht, der "analyze"-Code aber nur Zeilen anfasst, die
- nicht Klartext-Readings ergeben (also Perl-Code enthalten) und
- nicht bereits umgestellt sind.
Das ganze läuft nur "optimiert", wenn (anhand der durch json2nameValue erstellten Reading-Namen) erkannt werden kann, wo ein Präfix gesetzt werden sollte. Da nicht json2nameValue aufgerufen wurde (da Klartextreading), hat auch dieser Teil nicht geklappt...

Weiter:
Die Automatik erstellt bei den "Punkt-Tag-Punkt-Schaltpaar"-Topics automatisch neue Devices, wenn sie nicht vorhanden sind, und packt dann auch eine (hoffentlich passende) setList dazu. Es ist daher nicht mehr erforderlich, die zusätzlichen Geräte manuell zu erstellen ;) . Schritt 5 kann daher eigentlich entfallen.

Bleibt die Frage, warum überhaupt Klartext-Readings erstellt wurden (oder anders gesagt: warum jetzt zuerst die non-JSON Payload kam).
Eventuell ist da auch bei "getAll" irgendwas gespeichertes aberufen worden, und der letzte Wert scheint jeweils "leer" gewesen zu sein(?). Grundsätzlich bin ich der Meinung, man sollte das an john30 adressieren, das kommt mir unbeabsichtigt vor, dass da "leere" Payload und JSON im Wechsel kommen.

Vermutlich wäre es sinnvoll, nochmal "from scratch" anzufangen, bzw. immer erst mal die Zeilen aus der rL zu löschen, die "Klartext" ergeben, bis da was (halbwegs) sinnvolles steht?

"model" (und Versionsinfo) werden so gesetzt, damit ich ggf. besser nachvollziehen kann, wo (in etwa) was herkommt, falls mal jemand Fragen hat...

(EDIT: Typos)
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

rob

Zitat von: Beta-User am 22 Juli 2021, 10:59:45
...immer erst mal die Zeilen aus der rL zu löschen, die "Klartext" ergeben, bis da was (halbwegs) sinnvolles steht?...
OK, mach ich so. Mit einzelnen "gets" kann ich es etwas beschleunigen - wird aber trotzdem noch dauern. Bitte nicht wundern.

Viele Grüße
rob

Beta-User

...kein Ding...

Es gibt übrigens noch ein kleine updates im svn (contrib). Kannst du über das "ebus-update"-attrTemplate holen. Da ist dann v.a. auch etwas commandref enthalten zu den Funktionen etc.. Feedback/Verbesserungsvorschläge dazu sind willkommen...
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

rob

#73
...heute war mein Installateur da und hat die Anlage reparieren müssen. Es wurde Fehler 64 und 69 angezeigt. Natürlich ist F69 nirgends dokumentiert. Danke Weishaupt.

Habe gestern jedenfalls blank neu angefangen, die Readings alle einzeln bereits erzeugt gehabt und mir weggesichert. Sicherheitshalber Attr-Templates aus SVN neu geladen und anschl. den Analyzer auf "hc1" und "sc"losgelassen. Log sagte dann sogleich:

2021.08.03 11:26:23 1: SVN download of contrib/AttrTemplate/mqtt2.ebus.template to FHEM/lib/AttrTemplate/mqtt2.ebus.template finished
2021.08.03 11:26:23 2: AttrTemplates: got 246 entries
2021.08.03 11:32:27 1: Error reading file ..FHEM/99_attrTmqtt2_ebus_Utils.pm!
2021.08.03 14:12:07 1: Error reading file ..FHEM/99_attrTmqtt2_ebus_Utils.pm!




Die Devices für die Zeitprogramme wurden auch autom. angelegt und die Readings jeweils gesäubert. Weil nun alle Readings wieder weg sind, muss ich sie erneut alle einzeln "getten".
Es gibt ja ein paar Spezialfälle z.B. ErrorHistory, wo gleich mehrere Wertpaare enthalten sind. Diesen habe ich heute probehalber schon geholt und ergibt:

2021-08-04 12:56:45   ErrorHistory    E1.DHWTemp: 0 - E1.ErrorCode: fehlerfrei - E1.ExternalTemp: 0 - E1.FlueGasTemp: 0 - E1.IonisationSignal: 0 - E1.LoadSetting: 0 - E1.OperatingPhase: BrennerAus - E1.SupplyTemp: 0 - E1.ThroughputValue: 3 - E1._8_SettingUV: HZ - E2.DHWTemp: 0 - E2.ErrorCode: 0 - E2.ExternalTemp: 0 - E2.FlueGasTemp: 0 - E2.IonisationSignal: 0 - E2.LoadSetting: 0 - E2.OperatingPhase: BrennerAus - E2.SupplyTemp: 0 - E2.ThroughputValue: 0 - E2._8_SettingUV: HZ - E3.DHWTemp: 0 - E3.ErrorCode: 0 - E3.ExternalTemp: 0 - E3.FlueGasTemp: 0 - E3.IonisationSignal: 42 - E3.LoadSetting: 15 - E3.OperatingPhase: BrennerAus - E3.SupplyTemp: 0 - E3.ThroughputValue: 0 - E3._8_SettingUV: HZ - E4.DHWTemp: 0 - E4.ErrorCode: 251 - E4.ExternalTemp: 0 - E4.FlueGasTemp: 3 - E4.IonisationSignal: 0 - E4.LoadSetting: 130 - E4.OperatingPhase: 251 - E4.SupplyTemp: 0 - E4.ThroughputValue: 0 - E4._8_SettingUV: 167 - E5.DHWTemp: -1 - E5.ErrorCode: Differenz Vorlauf- und Rücklauftemperatur zu groß - E5.ExternalTemp: -9 - E5.FlueGasTemp: -37 - E5.IonisationSignal: 238 - E5.LoadSetting: 120 - E5.OperatingPhase: 128 - E5.SupplyTemp: -62 - E5.ThroughputValue: 254 - E5._8_SettingUV: 160 - E6.DHWTemp: 64 - E6.ErrorCode:  - E6.ExternalTemp: -58 - E6.FlueGasTemp: -108 - E6.IonisationSignal: 229 - E6.LoadSetting: 241 - E6.OperatingPhase: 247 - E6.SupplyTemp: -21 - E6.ThroughputValue: 104 - E6._8_SettingUV: 235 - Offset: 0

Im Log schimpft er dazu:

2021.08.04 12:56:44 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/99_attrTmqtt2_ebus_Utils.pm line 83.
2021.08.04 12:56:44 3: eval: my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $EVTPART10=   $evalSpecials->{'%EVTPART10'};my $EVTPART100=   $evalSpecials->{'%EVTPART100'};my $EVTPART101=   $evalSpecials->{'%EVTPART101'};my $EVTPART102=   $evalSpecials->{'%EVTPART102'};my $EVTPART103=   $evalSpecials->{'%EVTPART103'};my $EVTPART104=   $evalSpecials->{'%EVTPART104'};my $EVTPART105=   $evalSpecials->{'%EVTPART105'};my $EVTPART106=   $evalSpecials->{'%EVTPART106'};my $EVTPART107=   $evalSpecials->{'%EVTPART107'};my $EVTPART108=   $evalSpecials->{'%EVTPART108'};my $EVTPART109=   $evalSpecials->{'%EVTPART109'};my $EVTPART11=   $evalSpecials->{'%EVTPART11'};my $EVTPART110=   $evalSpecials->{'%EVTPART110'};my $EVTPART111=   $evalSpecials->{'%EVTPART111'};my $EVTPART112=   $evalSpecials->{'%EVTPART112'};my $EVTPART113=   $evalSpecials->{'%EVTPART113'};my $EVTPART114=   $evalSpecials->{'%EVTPART114'};my $EVTPART115=   $evalSpecials->{'%EVTPART115'};my $EVTPART116=   $evalSpecials->{'%EVTPART116'};my $EVTPART117=   $evalSpecials->{'%EVTPART117'};my $EVTPART118=   $evalSpecials->{'%EVTPART118'};my $EVTPART119=   $evalSpecials->{'%EVTPART119'};my $EVTPART12=   $evalSpecials->{'%EVTPART12'};my $EVTPART120=   $evalSpecials->{'%EVTPART120'};my $EVTPART121=   $evalSpecials->{'%EVTPART121'};my $EVTPART122=   $evalSpecials->{'%EVTPART122'};my $EVTPART123=   $evalSpecials->{'%EVTPART123'};my $EVTPART124=   $evalSpecials->{'%EVTPART124'};my $EVTPART125=   $evalSpecials->{'%EVTPART125'};my $EVTPART126=   $evalSpecials->{'%EVTPART126'};my $EVTPART127=   $evalSpecials->{'%EVTPART127'};my $EVTPART128=   $evalSpecials->{'%EVTPART128'};my $EVTPART129=   $evalSpecials->{'%EVTPART129'};my $EVTPART13=   $evalSpecials->{'%EVTPART13'};my $EVTPART130=   $evalSpecials->{'%EVTPART130'};my $EVTPART131=   $evalSpecials->{'%EVTPART131'};my $EVTPART132=   $evalSpecials->{'%EVTPART132'};my $EVTPART133=   $evalSpecials->{'%EVTPART133'};my $EVTPART134=   $evalSpecials->{'%EVTPART134'};my $EVTPART135=   $evalSpecials->{'%EVTPART135'};my $EVTPART136=   $evalSpecials->{'%EVTPART136'};my $EVTPART137=   $evalSpecials->{'%EVTPART137'};my $EVTPART138=   $evalSpecials->{'%EVTPART138'};my $EVTPART139=   $evalSpecials->{'%EVTPART139'};my $EVTPART14=   $evalSpecials->{'%EVTPART14'};my $EVTPART140=   $evalSpecials->{'%EVTPART140'};my $EVTPART141=   $evalSpecials->{'%EVTPART141'};my $EVTPART142=   $evalSpecials->{'%EVTPART142'};my $EVTPART143=   $evalSpecials->{'%EVTPART143'};my $EVTPART144=   $evalSpecials->{'%EVTPART144'};my $EVTPART145=   $evalSpecials->{'%EVTPART145'};my $EVTPART146=   $evalSpecials->{'%EVTPART146'};my $EVTPART147=   $evalSpecials->{'%EVTPART147'};my $EVTPART148=   $evalSpecials->{'%EVTPART148'};my $EVTPART149=   $evalSpecials->{'%EVTPART149'};my $EVTPART15=   $evalSpecials->{'%EVTPART15'};my $EVTPART150=   $evalSpecials->{'%EVTPART150'};my $EVTPART151=   $evalSpecials->{'%EVTPART151'};my $EVTPART152=   $evalSpecials->{'%EVTPART152'};my $EVTPART153=   $evalSpecials->{'%EVTPART153'};my $EVTPART154=   $evalSpecials->{'%EVTPART154'};my $EVTPART155=   $evalSpecials->{'%EVTPART155'};my $EVTPART156=   $evalSpecials->{'%EVTPART156'};my $EVTPART157=   $evalSpecials->{'%EVTPART157'};my $EVTPART158=   $evalSpecials->{'%EVTPART158'};my $EVTPART159=   $evalSpecials->{'%EVTPART159'};my $EVTPART16=   $evalSpecials->{'%EVTPART16'};my $EVTPART160=   $evalSpecials->{'%EVTPART160'};my $EVTPART161=   $evalSpecials->{'%EVTPART161'};my $EVTPART162=   $evalSpecials->{'%EVTPART162'};my $EVTPART163=   $evalSpecials->{'%EVTPART163'};my $EVTPART164=   $evalSpecials->{'%EVTPART164'};my $EVTPART165=   $evalSpecials->{'%EVTPART165'};my $EVTPART166=   $evalSpecials->{'%EVTPART166'};my $EVTPART167=   $evalSpecials->{'%EVTPART167'};my $EVTPART168=   $evalSpecials->{'%EVTPART168'};my $EVTPART169=   $evalSpecials->{'%EVTPART169'};my $EVTPART17=   $evalSpecials->{'%EVTPART17'};my $EVTPART170=   $evalSpecials->{'%EVTPART170'};my $EVTPART171=   $evalSpecials->{'%EVTPART171'};my $EVTPART172=   $evalSpecials->{'%EVTPART172'};my $EVTPART173=   $evalSpecials->{'%EVTPART173'};my $EVTPART174=   $evalSpecials->{'%EVTPART174'};my $EVTPART175=   $evalSpecials->{'%EVTPART175'};my $EVTPART176=   $evalSpecials->{'%EVTPART176'};my $EVTPART177=   $evalSpecials->{'%EVTPART177'};my $EVTPART178=   $evalSpecials->{'%EVTPART178'};my $EVTPART179=   $evalSpecials->{'%EVTPART179'};my $EVTPART18=   $evalSpecials->{'%EVTPART18'};my $EVTPART180=   $evalSpecials->{'%EVTPART180'};my $EVTPART181=   $evalSpecials->{'%EVTPART181'};my $EVTPART182=   $evalSpecials->{'%EVTPART182'};my $EVTPART183=   $evalSpecials->{'%EVTPART183'};my $EVTPART184=   $evalSpecials->{'%EVTPART184'};my $EVTPART185=   $evalSpecials->{'%EVTPART185'};my $EVTPART186=   $evalSpecials->{'%EVTPART186'};my $EVTPART187=   $evalSpecials->{'%EVTPART187'};my $EVTPART188=   $evalSpecials->{'%EVTPART188'};my $EVTPART19=   $evalSpecials->{'%EVTPART19'};my $EVTPART2=   $evalSpecials->{'%EVTPART2'};my $EVTPART20=   $evalSpecials->{'%EVTPART20'};my $EVTPART21=   $evalSpecials->{'%EVTPART21'};my $EVTPART22=   $evalSpecials->{'%EVTPART22'};my $EVTPART23=   $evalSpecials->{'%EVTPART23'};my $EVTPART24=   $evalSpecials->{'%EVTPART24'};my $EVTPART25=   $evalSpecials->{'%EVTPART25'};my $EVTPART26=   $evalSpecials->{'%EVTPART26'};my $EVTPART27=   $evalSpecials->{'%EVTPART27'};my $EVTPART28=   $evalSpecials->{'%EVTPART28'};my $EVTPART29=   $evalSpecials->{'%EVTPART29'};my $EVTPART3=   $evalSpecials->{'%EVTPART3'};my $EVTPART30=   $evalSpecials->{'%EVTPART30'};my $EVTPART31=   $evalSpecials->{'%EVTPART31'};my $EVTPART32=   $evalSpecials->{'%EVTPART32'};my $EVTPART33=   $evalSpecials->{'%EVTPART33'};my $EVTPART34=   $evalSpecials->{'%EVTPART34'};my $EVTPART35=   $evalSpecials->{'%EVTPART35'};my $EVTPART36=   $evalSpecials->{'%EVTPART36'};my $EVTPART37=   $evalSpecials->{'%EVTPART37'};my $EVTPART38=   $evalSpecials->{'%EVTPART38'};my $EVTPART39=   $evalSpecials->{'%EVTPART39'};my $EVTPART4=   $evalSpecials->{'%EVTPART4'};my $EVTPART40=   $evalSpecials->{'%EVTPART40'};my $EVTPART41=   $evalSpecials->{'%EVTPART41'};my $EVTPART42=   $evalSpecials->{'%EVTPART42'};my $EVTPART43=   $evalSpecials->{'%EVTPART43'};my $EVTPART44=   $evalSpecials->{'%EVTPART44'};my $EVTPART45=   $evalSpecials->{'%EVTPART45'};my $EVTPART46=   $evalSpecials->{'%EVTPART46'};my $EVTPART47=   $evalSpecials->{'%EVTPART47'};my $EVTPART48=   $evalSpecials->{'%EVTPART48'};my $EVTPART49=   $evalSpecials->{'%EVTPART49'};my $EVTPART5=   $evalSpecials->{'%EVTPART5'};my $EVTPART50=   $evalSpecials->{'%EVTPART50'};my $EVTPART51=   $evalSpecials->{'%EVTPART51'};my $EVTPART52=   $evalSpecials->{'%EVTPART52'};my $EVTPART53=   $evalSpecials->{'%EVTPART53'};my $EVTPART54=   $evalSpecials->{'%EVTPART54'};my $EVTPART55=   $evalSpecials->{'%EVTPART55'};my $EVTPART56=   $evalSpecials->{'%EVTPART56'};my $EVTPART57=   $evalSpecials->{'%EVTPART57'};my $EVTPART58=   $evalSpecials->{'%EVTPART58'};my $EVTPART59=   $evalSpecials->{'%EVTPART59'};my $EVTPART6=   $evalSpecials->{'%EVTPART6'};my $EVTPART60=   $evalSpecials->{'%EVTPART60'};my $EVTPART61=   $evalSpecials->{'%EVTPART61'};my $EVTPART62=   $evalSpecials->{'%EVTPART62'};my $EVTPART63=   $evalSpecials->{'%EVTPART63'};my $EVTPART64=   $evalSpecials->{'%EVTPART64'};my $EVTPART65=   $evalSpecials->{'%EVTPART65'};my $EVTPART66=   $evalSpecials->{'%EVTPART66'};my $EVTPART67=   $evalSpecials->{'%EVTPART67'};my $EVTPART68=   $evalSpecials->{'%EVTPART68'};my $EVTPART69=   $evalSpecials->{'%EVTPART69'};my $EVTPART7=   $evalSpecials->{'%EVTPART7'};my $EVTPART70=   $evalSpecials->{'%EVTPART70'};my $EVTPART71=   $evalSpecials->{'%EVTPART71'};my $EVTPART72=   $evalSpecials->{'%EVTPART72'};my $EVTPART73=   $evalSpecials->{'%EVTPART73'};my $EVTPART74=   $evalSpecials->{'%EVTPART74'};my $EVTPART75=   $evalSpecials->{'%EVTPART75'};my $EVTPART76=   $evalSpecials->{'%EVTPART76'};my $EVTPART77=   $evalSpecials->{'%EVTPART77'};my $EVTPART78=   $evalSpecials->{'%EVTPART78'};my $EVTPART79=   $evalSpecials->{'%EVTPART79'};my $EVTPART8=   $evalSpecials->{'%EVTPART8'};my $EVTPART80=   $evalSpecials->{'%EVTPART80'};my $EVTPART81=   $evalSpecials->{'%EVTPART81'};my $EVTPART82=   $evalSpecials->{'%EVTPART82'};my $EVTPART83=   $evalSpecials->{'%EVTPART83'};my $EVTPART84=   $evalSpecials->{'%EVTPART84'};my $EVTPART85=   $evalSpecials->{'%EVTPART85'};my $EVTPART86=   $evalSpecials->{'%EVTPART86'};my $EVTPART87=   $evalSpecials->{'%EVTPART87'};my $EVTPART88=   $evalSpecials->{'%EVTPART88'};my $EVTPART89=   $evalSpecials->{'%EVTPART89'};my $EVTPART9=   $evalSpecials->{'%EVTPART9'};my $EVTPART90=   $evalSpecials->{'%EVTPART90'};my $EVTPART91=   $evalSpecials->{'%EVTPART91'};my $EVTPART92=   $evalSpecials->{'%EVTPART92'};my $EVTPART93=   $evalSpecials->{'%EVTPART93'};my $EVTPART94=   $evalSpecials->{'%EVTPART94'};my $EVTPART95=   $evalSpecials->{'%EVTPART95'};my $EVTPART96=   $evalSpecials->{'%EVTPART96'};my $EVTPART97=   $evalSpecials->{'%EVTPART97'};my $EVTPART98=   $evalSpecials->{'%EVTPART98'};my $EVTPART99=   $evalSpecials->{'%EVTPART99'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ FHEM::aTm2u_ebus::j2singleReading( 'ErrorHistory', $EVENT, '', $JSONMAP ) }

Vielleicht muss man die paar Ausreißer doch manuell behandeln. So schlimm ist es auch wieder nicht :)



ein list -r MQTT2_ebusd_hc1.*|MQTT2_ebusd_sc sagt:

define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 userattr weekprofile
attr MQTT2_ebusd_hc1 model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Adaption:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/DHWMin:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/DHWMode:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWMode_', $JSONMAP ) }\
ebusd/hc1/DHWSetpoint:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWSetpoint_', $JSONMAP ) }\
ebusd/hc1/DHWSetValue:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWSetValue_', $JSONMAP ) }\
ebusd/hc1/DHWTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWTemperature_', $JSONMAP ) }\
ebusd/hc1/EndOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'EndOfHoliday_Day_', $JSONMAP ) }\
ebusd/hc1/EndOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'EndOfHoliday_Month_', $JSONMAP ) }\
ebusd/hc1/EndOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/ExternalTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/FrostProtection:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Gradient:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/HeatDemand:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/HeatingDemand:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HeatingDemand_', $JSONMAP ) }\
ebusd/hc1/HolidayTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HolidayTemp_', $JSONMAP ) }\
ebusd/hc1/HP1.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
ebusd/hc1/LegionnairesFunction:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'LegionnairesFunction_', $JSONMAP ) }\
ebusd/hc1/MaxDHWTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/MaxSupplyTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/MinSupplyTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/MixedExternalTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/NormalSetTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/ProgramChooseSwitch:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/ReducedSetTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Reduces:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomInfluence:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomSensorCorrection:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomSetValue:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomThermostat:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/StartOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StartOfHoliday_Day_', $JSONMAP ) }\
ebusd/hc1/StartOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StartOfHoliday_Month_', $JSONMAP ) }\
ebusd/hc1/StartOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Status:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SummerWinterChangeOverTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SupplySetValueHC:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SupplyTemperatureHC:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SupplyTemperatureWTC:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SwitchOffSetting:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SwitchOnSetting:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/TypeOfConstruction:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'TypeOfConstruction_', $JSONMAP ) }
attr MQTT2_ebusd_hc1 room MQTT2_DEVICE
attr MQTT2_ebusd_hc1 setList Sunday ebusd/hc1/HP1.So/set\
Monday ebusd/hc1/HP1.Mo/set\
Tuesday ebusd/hc1/HP1.Di/set\
Wednesday ebusd/hc1/HP1.Mi/set\
Thursday ebusd/hc1/HP1.Do/set\
Friday ebusd/hc1/HP1.Fr/set\
Saturday ebusd/hc1/HP1.Sa/set
attr MQTT2_ebusd_hc1 weekprofile MQTT2_ebusd_hc1

define MQTT2_ebusd_hc1_HP2 MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP2 userattr weekprofile
attr MQTT2_ebusd_hc1_HP2 model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1_HP2 readingList ebusd/hc1/HP2.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_HP2 room MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP2 setList Sunday ebusd/hc1/HP2.So/set\
Monday ebusd/hc1/HP2.Mo/set\
Tuesday ebusd/hc1/HP2.Di/set\
Wednesday ebusd/hc1/HP2.Mi/set\
Thursday ebusd/hc1/HP2.Do/set\
Friday ebusd/hc1/HP2.Fr/set\
Saturday ebusd/hc1/HP2.Sa/set
attr MQTT2_ebusd_hc1_HP2 weekprofile MQTT2_ebusd_hc1_HP2

define MQTT2_ebusd_hc1_HP3 MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP3 userattr weekprofile
attr MQTT2_ebusd_hc1_HP3 model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1_HP3 readingList ebusd/hc1/HP3.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_HP3 room MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP3 setList Sunday ebusd/hc1/HP3.So/set\
Monday ebusd/hc1/HP3.Mo/set\
Tuesday ebusd/hc1/HP3.Di/set\
Wednesday ebusd/hc1/HP3.Mi/set\
Thursday ebusd/hc1/HP3.Do/set\
Friday ebusd/hc1/HP3.Fr/set\
Saturday ebusd/hc1/HP3.Sa/set
attr MQTT2_ebusd_hc1_HP3 weekprofile MQTT2_ebusd_hc1_HP3

define MQTT2_ebusd_hc1_WP MQTT2_DEVICE
attr MQTT2_ebusd_hc1_WP userattr weekprofile
attr MQTT2_ebusd_hc1_WP model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1_WP readingList ebusd/hc1/WP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_WP room MQTT2_DEVICE
attr MQTT2_ebusd_hc1_WP setList Sunday ebusd/hc1/WP.So/set\
Monday ebusd/hc1/WP.Mo/set\
Tuesday ebusd/hc1/WP.Di/set\
Wednesday ebusd/hc1/WP.Mi/set\
Thursday ebusd/hc1/WP.Do/set\
Friday ebusd/hc1/WP.Fr/set\
Saturday ebusd/hc1/WP.Sa/set
attr MQTT2_ebusd_hc1_WP weekprofile MQTT2_ebusd_hc1_WP

define MQTT2_ebusd_hc1_ZP MQTT2_DEVICE
attr MQTT2_ebusd_hc1_ZP userattr weekprofile
attr MQTT2_ebusd_hc1_ZP model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1_ZP readingList ebusd/hc1/ZP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_ZP room MQTT2_DEVICE
attr MQTT2_ebusd_hc1_ZP setList Sunday ebusd/hc1/ZP.So/set\
Monday ebusd/hc1/ZP.Mo/set\
Tuesday ebusd/hc1/ZP.Di/set\
Wednesday ebusd/hc1/ZP.Mi/set\
Thursday ebusd/hc1/ZP.Do/set\
Friday ebusd/hc1/ZP.Fr/set\
Saturday ebusd/hc1/ZP.Sa/set
attr MQTT2_ebusd_hc1_ZP weekprofile MQTT2_ebusd_hc1_ZP

define MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc model ebus_analyzeReadingList
attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ErrorSCOTIOControl:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTIOControl_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTControlInput:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTControlInput_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTCalibration8:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTCalibration8_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTCalibration6:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTCalibration6_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTCalibration5:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTCalibration5_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTCalibration4:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTCalibration4_', $JSONMAP ) }\
ebusd/sc/ErrorHistory:.* { FHEM::aTm2u_ebus::j2singleReading( 'ErrorHistory', $EVENT, '', $JSONMAP ) }\
ebusd/sc/BoilerSensorDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'BoilerSensorDefective_', $JSONMAP ) }\
ebusd/sc/BurnerOperationSinceLastService:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'BurnerOperationSinceLastService_', $JSONMAP ) }\
ebusd/sc/CRCErrorHeatingEngeneerParameter:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'CRCErrorHeatingEngeneerParameter_', $JSONMAP ) }\
ebusd/sc/CRCErrorManufacturerParameter:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'CRCErrorManufacturerParameter_', $JSONMAP ) }\
ebusd/sc/DHWSensorDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWSensorDefective_', $JSONMAP ) }\
ebusd/sc/Enduser:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ErrorVoltagSupply:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorVoltagSupply_', $JSONMAP ) }\
ebusd/sc/ExternalSensorDefektive:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ExternalSensorDefektive_', $JSONMAP ) }\
ebusd/sc/FanFaultDuringOperation:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FanFaultDuringOperation_', $JSONMAP ) }\
ebusd/sc/FanFaultDuringShutdown:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FanFaultDuringShutdown_', $JSONMAP ) }\
ebusd/sc/FlameFailureDuringOperation:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FlameFailureDuringOperation_', $JSONMAP ) }\
ebusd/sc/FlameSimulation:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FlameSimulation_', $JSONMAP ) }\
ebusd/sc/FlueGasSensorDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FlueGasSensorDefective_', $JSONMAP ) }\
ebusd/sc/GasValveCycleV1V2Defective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'GasValveCycleV1V2Defective_', $JSONMAP ) }\
ebusd/sc/GPSFailureDuringSafetyTime:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'GPSFailureDuringSafetyTime_', $JSONMAP ) }\
ebusd/sc/H2EmergencyOffFunction:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'H2EmergencyOffFunction_', $JSONMAP ) }\
ebusd/sc/Manufacturer1:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Manufacturer2:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/NoFlameFormation:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'NoFlameFormation_', $JSONMAP ) }\
ebusd/sc/NoGasPressureAvailable:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'NoGasPressureAvailable_', $JSONMAP ) }\
ebusd/sc/ProcessValues1:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues2:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues3:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues4:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues5:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues6:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/PWMPumpDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'PWMPumpDefective_', $JSONMAP ) }\
ebusd/sc/SetpointDHW:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'SetpointDHW_', $JSONMAP ) }\
ebusd/sc/SetpointTempSystem:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'SetpointTempSystem_', $JSONMAP ) }\
ebusd/sc/Statistic1:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic2:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic3:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic4:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic5:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic6:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/StatisticUkn01:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn01_', $JSONMAP ) }\
ebusd/sc/StatisticUkn02:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn02_', $JSONMAP ) }\
ebusd/sc/StatisticUkn03:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn03_', $JSONMAP ) }\
ebusd/sc/StatisticUkn04:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn04_', $JSONMAP ) }\
ebusd/sc/StatisticUkn05:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn05_', $JSONMAP ) }\
ebusd/sc/WWTurbineDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'WWTurbineDefective_', $JSONMAP ) }
attr MQTT2_ebusd_sc room MQTT2_DEVICE

setstate MQTT2_ebusd_hc1 2021-08-04 18:57:49 Action stopconsumer
setstate MQTT2_ebusd_hc1 2021-08-04 18:57:49 DHWSetTemp 48.0
setstate MQTT2_ebusd_hc1 2021-07-28 16:45:44 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1 2021-08-04 18:57:49 SetTemp 5.00
setstate MQTT2_ebusd_hc1 2021-08-04 18:57:49 Status hotwater
setstate MQTT2_ebusd_hc1 2021-08-03 11:32:28 associatedWith MQTT2_ebusd_21.2_1,MQTT2_ebusd_hc1_HP2,MQTT2_ebusd_hc1_HP3,MQTT2_ebusd_hc1_WP,MQTT2_ebusd_hc1_ZP
setstate MQTT2_ebusd_hc1 2021-08-03 11:32:29 attrTemplateVersion 2021-08-03 11:32:27 unknown

setstate MQTT2_ebusd_hc1_HP2 2021-08-03 11:32:28 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_HP2 2021-08-03 11:32:28 associatedWith MQTT2_ebusd_hc1
setstate MQTT2_ebusd_hc1_HP2 2021-08-03 11:32:28 attrTemplateVersion 2021-08-03 11:32:27 unknown

setstate MQTT2_ebusd_hc1_HP3 2021-08-03 11:32:28 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_HP3 2021-08-03 11:32:28 associatedWith MQTT2_ebusd_hc1
setstate MQTT2_ebusd_hc1_HP3 2021-08-03 11:32:28 attrTemplateVersion 2021-08-03 11:32:27 unknown

setstate MQTT2_ebusd_hc1_WP 2021-08-03 11:32:28 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_WP 2021-08-03 11:32:28 associatedWith MQTT2_ebusd_hc1
setstate MQTT2_ebusd_hc1_WP 2021-08-03 11:32:28 attrTemplateVersion 2021-08-03 11:32:27 unknown

setstate MQTT2_ebusd_hc1_ZP 2021-08-03 11:32:28 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_ZP 2021-08-03 11:32:28 associatedWith MQTT2_ebusd_hc1
setstate MQTT2_ebusd_hc1_ZP 2021-08-03 11:32:28 attrTemplateVersion 2021-08-03 11:32:27 unknown

setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 DHWTemp 42.0
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Error 0
setstate MQTT2_ebusd_sc 2021-08-04 12:56:45 ErrorHistory E1.DHWTemp: 0 - E1.ErrorCode: fehlerfrei - E1.ExternalTemp: 0 - E1.FlueGasTemp: 0 - E1.IonisationSignal: 0 - E1.LoadSetting: 0 - E1.OperatingPhase: BrennerAus - E1.SupplyTemp: 0 - E1.ThroughputValue: 3 - E1._8_SettingUV: HZ - E2.DHWTemp: 0 - E2.ErrorCode: 0 - E2.ExternalTemp: 0 - E2.FlueGasTemp: 0 - E2.IonisationSignal: 0 - E2.LoadSetting: 0 - E2.OperatingPhase: BrennerAus - E2.SupplyTemp: 0 - E2.ThroughputValue: 0 - E2._8_SettingUV: HZ - E3.DHWTemp: 0 - E3.ErrorCode: 0 - E3.ExternalTemp: 0 - E3.FlueGasTemp: 0 - E3.IonisationSignal: 42 - E3.LoadSetting: 15 - E3.OperatingPhase: BrennerAus - E3.SupplyTemp: 0 - E3.ThroughputValue: 0 - E3._8_SettingUV: HZ - E4.DHWTemp: 0 - E4.ErrorCode: 251 - E4.ExternalTemp: 0 - E4.FlueGasTemp: 3 - E4.IonisationSignal: 0 - E4.LoadSetting: 130 - E4.OperatingPhase: 251 - E4.SupplyTemp: 0 - E4.ThroughputValue: 0 - E4._8_SettingUV: 167 - E5.DHWTemp: -1 - E5.ErrorCode: Differenz Vorlauf- und Rücklauftemperatur zu groß - E5.ExternalTemp: -9 - E5.FlueGasTemp: -37 - E5.IonisationSignal: 238 - E5.LoadSetting: 120 - E5.OperatingPhase: 128 - E5.SupplyTemp: -62 - E5.ThroughputValue: 254 - E5._8_SettingUV: 160 - E6.DHWTemp: 64 - E6.ErrorCode:  - E6.ExternalTemp: -58 - E6.FlueGasTemp: -108 - E6.IonisationSignal: 229 - E6.LoadSetting: 241 - E6.OperatingPhase: 247 - E6.SupplyTemp: -21 - E6.ThroughputValue: 104 - E6._8_SettingUV: 235 - Offset: 0
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 ExternalTemp 15
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Flame 1
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 GasValve1 1
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 GasValve2 1
setstate MQTT2_ebusd_sc 2021-07-28 16:45:44 IODev myMQTT_Server
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Load 99
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Operatingphase BrennerInBetrieb
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Pump 1
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 SettingUV DHW
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 SoWi Summer
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Status1 1
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 SupplySetTemp 8
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 SupplyTemp 60.0
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 TrendTemp 16.586
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Ukn2_1 1
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Ukn2_2 1
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Ukn2_3 1
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Ukn3_1 0
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Ukn3_3 0
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Ukn3_4 0
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Ukn3_5 0
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Ukn3_6 0
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 Ukn3_7 0
setstate MQTT2_ebusd_sc 2021-08-04 21:11:05 UknTemp 0.0
setstate MQTT2_ebusd_sc 2021-07-29 14:05:01 associatedWith MQTT2_ebusd_21.2_1
setstate MQTT2_ebusd_sc 2021-08-03 14:12:08 attrTemplateVersion 2021-08-03 14:12:07 unknown




Ich hab gesehen, Du hast für die Timer schon ein paar setter vorgesehen. Einen hatte ich mutig mal händisch gesetzt  - Werte sind da wieder verdreht. Wenn get verdreht ist, geht set richtig, wenn get richtig ist, wird set verdreht. Komisch. Lässt sich hier nicht lösen, muss halt warten, bis der ebus-Thread wiederbelebt wird. Wir stolpern sonst immer über die selben (hier nicht lösbaren) Stellen.



Die Hinweismeldung beim Anwenden des Analyzers schaut "unformatiert" aus (Screenshot anbei). Dachte dies könnte Dich interessieren.



Eigentlich wollte ich nur herausfinden, welches Template ich anwenden muss. Ich hatte nicht damit gerechnet, dass ich Dir damit soviel Aufwand aufhalse. War nicht meine Absicht. Dachte auch nicht, dass beim Thema ebus doch so viele Fragen offen sind.
Mein inneres Auge schiebt den Krams bereits in die "unbrauchbar"-Schublade. Die wirklich interessanten Dinge sind ja eh nicht schreib- oder auslesbar. Weishaupts miese Doku tut ihr übriges  :-X .

Beta-User

#74
F69 etc. war demnach keine Folge deiner Versuche, oder?

Die "Error reading file"-Meldungen kommen aus der Versions-Ermittlung, sollte mit der beigefügten Version gefixt sein.

Betr. Zeile 83 könnte man "if defined $values->{$item}" einfügen, dann müßte das auch weg sein?
push @all, qq{$item: $values->{$item}} if defined $values->{$item};
Zitat von: rob am 04 August 2021, 21:23:31
Die Devices für die Zeitprogramme wurden auch autom. angelegt und die Readings jeweils gesäubert. Weil nun alle Readings wieder weg sind, muss ich sie erneut alle einzeln "getten".
Das könnte man ggf. noch versuchen zu automatisieren. Wie sieht denn die Anfrage aus? (eventuell muss es eine "wildcard"-Variante werden?).



Die raw-listings sehen jedenfalls ansonsten doch erst mal ganz ok aus, oder 8) ?

ZitatIch hab gesehen, Du hast für die Timer schon ein paar setter vorgesehen. Einen hatte ich mutig mal händisch gesetzt  - Werte sind da wieder verdreht. Wenn get verdreht ist, geht set richtig, wenn get richtig ist, wird set verdreht. Komisch. Lässt sich hier nicht lösen, muss halt warten, bis der ebus-Thread wiederbelebt wird. Wir stolpern sonst immer über die selben (hier nicht lösbaren) Stellen.
Ich vermute, dass es entweder einen generellen "Schalter in den csv's gibt, durch den die Reihenfolge für "an/aus"-Zeiten allgemein vorgegeben wird, oder (/und) es für "get" und "set" insgesamt zwei Stellen gibt, in der das angegeben wird, von denen du aber nur eine gefunden und umgedreht hast...

ZitatDie Hinweismeldung beim Anwenden des Analyzers schaut "unformatiert" aus (Screenshot anbei). Dachte dies könnte Dich interessieren.
Danke für den Hinweis, muss mal schauen, ob sich das verbessern läßt. Das hat keine hohe Prio, ich wollte vorrangig dann erst mal überhaupt eine halbwegs zielführende Rückmeldung geben, damit der geneigte User Info hat, wo er wie den nächsten Schritt gehen kann...
(mus mal etwas rumtesten, evtl. hilft es, das ganze in html-Tags einzupacken...).

ZitatEigentlich wollte ich nur herausfinden, welches Template ich anwenden muss. Ich hatte nicht damit gerechnet, dass ich Dir damit soviel Aufwand aufhalse. War nicht meine Absicht. Dachte auch nicht, dass beim Thema ebus doch so viele Fragen offen sind.
Du brauchst dir da keinen Kopf machen: Ich hatte im "ebus-attrTemplate-Thread" getönt, dass da manches eigentlich besser gehen sollte und um "Spielmaterial" gebeten. Jetzt ist zumindest bewiesen, dass
a) die Readings nicht so unnötig komplex benannt sein müssen, und man das auch mit einer _generischen_ Lösung halbwegs ordentlich hinbiegen kann (jsonMap ist statischer und setzt voraus, dass man den "originalen" langen Namen schon hat; hier könnte man _zusätzlich_ noch JSONMAP setzen, um das Ergebnis dann weiter zu verbessern und die "Kreise" zu schließen)
b) es grundsätzlich möglich ist, weekprofile zu verwenden, um die ebus-typischen "on/off"-Profile zu generieren.

Ergo meine ich, dass der "proof of concept" daher zu beiden Aspekten durchaus gelungen ist 8) .

"Nebenbei" sind da ein paar Mechanismen entstanden, von denen ich _glaube_, dass sie künftig auch für ganz andere Dinge interessant sein können :) . (Einzelne (automatisiert zusammengebaute) Zeilen in setList/readingList etc. einfügen zu können, z.B.).

ZitatMein inneres Auge schiebt den Krams bereits in die "unbrauchbar"-Schublade. Die wirklich interessanten Dinge sind ja eh nicht schreib- oder auslesbar.
Das ist schade!
Ich kann zwar nachvollziehen, dass du einigermaßen gefrustet bist, v.a. weil die csv's (iVm. der nicht vorhandenen Doku seitens Weishaupt) ein ziemliches Dickicht zu sein scheinen, aber jetzt kommt der ganze Kram wenigstens (soweit er maschinell lesbar ist) halbwegs menschenlesbar in FHEM an und du solltest auch die Auswirkungen von Änderungen an den cvs-Vorgaben in FHEM direkt sehen können.

Der nächste Schritt wäre dann, sich ein "interessantes" Device mal vorzunehmen und eine getList/periodicCmd-Kombi (und jsonMap) zu generieren, um die Werte (unter "guten Namen") abzurufen. "MQTT2_ebusd_hc1" würde sich dafür anbieten.
Bin am Zweifeln, ob sich da irgendwas automatisiert machen läßt, aber _falls_ die Namen der Datenfelder in den csv's halbwegs standardisiert sind, könnte man z.B. eine Datei erstellen, die für einzelne "Namen" dann die passenden Parametrierungen für jsonMap/getList/periodicCmd/setList vorhält, so dass man auch diesen Teil noch erschlagen könnte.

Bis dahin wird zwar noch einiges Wasser den Rhein runterfließen, aber Rom wurde auch nicht an einem Tag erbaut!

(Und es kann eigentlich kaum sein, dass irgendjemand mit dem aktuellen Zwischenstand wirklich voll zufrieden ist! Es müsste daher durchaus weitere Interessenten geben, die ihre Ideen und "Spielmaterial" einbringen könnten...)
Edit: myUtils ist in contrib
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

rob

Zitat von: Beta-User am 05 August 2021, 10:38:51
F69 etc. war demnach keine Folge deiner Versuche, oder?
Ich meine nein. 100% sicher weiß ich es natürlich nicht, weil die mir Aussage von F69 fehlt. Laut Unterlagen ist alles um 64-66 irgendwas mit Sensorik... Ich mach mal stur weiter  ;D

Etwas positives lässt sich aber draus ziehen: Ich weiß nun wo der Fehlerstatus angezeigt wird, wo die Fehlernummer incl. Übersetzung reinzubasteln ist und wie ich dafür einen sinnvollen Trigger setzen kann. Dann sagt mir künftig FHEM, wann und was faul ist - ich merk es nicht erst beim Kaltduschen  :P




Die gesicherten States habe ich wieder eingespielt, was dem Zustand direkt nach Anwendung Splitter entspricht - incl. der vielen "get's"
Templates aus dem SVN geholt und jeweils die Analyzer angewendet. Log schaut gut aus:

2021.08.06 12:23:23 1: SVN download of contrib/AttrTemplate/99_attrTmqtt2_ebus_Utils.pm to FHEM/99_attrTmqtt2_ebus_Utils.pm finished
2021.08.06 12:23:23 1: SVN download of contrib/AttrTemplate/mqtt2.ebus.template to FHEM/lib/AttrTemplate/mqtt2.ebus.template finished
2021.08.06 12:23:23 2: AttrTemplates: got 246 entries

Die Hinweismeldung passt m.E. auch und ja, die Readings schauen gut aus. Dein Aufwand war keinesfalls umsonst  ;) Vielen Dank für Deinen unermüdlichen Einsatz  8)  8)




Ich sammel jetzt noch die "get's" ein, weil ich die nach Anwendung Analyzer noch nicht alle geholt habe, und schreib mir auch diese wieder weg. Dann müssten das gute Teststände sein (vorher+nachher), wo sich immer wieder gut aufsetzen ließe. Dauert halt wieder.




Ja, beim HC1 such ich was sinnvolles raus, sobald ich die Readings wieder vollständig hab.

rob

So, habe die Templates neu geholt und auch die Readings aktualisiert.
Ein list -r MQTT2_ebusd_hc1.*|MQTT2_ebusd_sc sagt:

define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 userattr weekprofile
attr MQTT2_ebusd_hc1 model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Adaption:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/DHWMin:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/DHWMode:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWMode_', $JSONMAP ) }\
ebusd/hc1/DHWSetpoint:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWSetpoint_', $JSONMAP ) }\
ebusd/hc1/DHWSetValue:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWSetValue_', $JSONMAP ) }\
ebusd/hc1/DHWTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWTemperature_', $JSONMAP ) }\
ebusd/hc1/EndOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'EndOfHoliday_Day_', $JSONMAP ) }\
ebusd/hc1/EndOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'EndOfHoliday_Month_', $JSONMAP ) }\
ebusd/hc1/EndOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/ExternalTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/FrostProtection:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Gradient:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/HeatDemand:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/HeatingDemand:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HeatingDemand_', $JSONMAP ) }\
ebusd/hc1/HolidayTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HolidayTemp_', $JSONMAP ) }\
ebusd/hc1/HP1.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
ebusd/hc1/LegionnairesFunction:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'LegionnairesFunction_', $JSONMAP ) }\
ebusd/hc1/MaxDHWTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/MaxSupplyTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/MinSupplyTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/MixedExternalTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/NormalSetTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/ProgramChooseSwitch:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/ReducedSetTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Reduces:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomInfluence:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomSensorCorrection:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomSetValue:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomThermostat:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/StartOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StartOfHoliday_Day_', $JSONMAP ) }\
ebusd/hc1/StartOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StartOfHoliday_Month_', $JSONMAP ) }\
ebusd/hc1/StartOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Status:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SummerWinterChangeOverTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SupplySetValueHC:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SupplyTemperatureHC:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SupplyTemperatureWTC:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SwitchOffSetting:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SwitchOnSetting:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/TypeOfConstruction:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'TypeOfConstruction_', $JSONMAP ) }
attr MQTT2_ebusd_hc1 room MQTT2_DEVICE
attr MQTT2_ebusd_hc1 setList Sunday ebusd/hc1/HP1.So/set\
Monday ebusd/hc1/HP1.Mo/set\
Tuesday ebusd/hc1/HP1.Di/set\
Wednesday ebusd/hc1/HP1.Mi/set\
Thursday ebusd/hc1/HP1.Do/set\
Friday ebusd/hc1/HP1.Fr/set\
Saturday ebusd/hc1/HP1.Sa/set
attr MQTT2_ebusd_hc1 weekprofile MQTT2_ebusd_hc1

define MQTT2_ebusd_hc1_HP2 MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP2 userattr weekprofile
attr MQTT2_ebusd_hc1_HP2 model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1_HP2 readingList ebusd/hc1/HP2.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_HP2 room MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP2 setList Sunday ebusd/hc1/HP2.So/set\
Monday ebusd/hc1/HP2.Mo/set\
Tuesday ebusd/hc1/HP2.Di/set\
Wednesday ebusd/hc1/HP2.Mi/set\
Thursday ebusd/hc1/HP2.Do/set\
Friday ebusd/hc1/HP2.Fr/set\
Saturday ebusd/hc1/HP2.Sa/set
attr MQTT2_ebusd_hc1_HP2 weekprofile MQTT2_ebusd_hc1_HP2

define MQTT2_ebusd_hc1_HP3 MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP3 userattr weekprofile
attr MQTT2_ebusd_hc1_HP3 model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1_HP3 readingList ebusd/hc1/HP3.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_HP3 room MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP3 setList Sunday ebusd/hc1/HP3.So/set\
Monday ebusd/hc1/HP3.Mo/set\
Tuesday ebusd/hc1/HP3.Di/set\
Wednesday ebusd/hc1/HP3.Mi/set\
Thursday ebusd/hc1/HP3.Do/set\
Friday ebusd/hc1/HP3.Fr/set\
Saturday ebusd/hc1/HP3.Sa/set
attr MQTT2_ebusd_hc1_HP3 weekprofile MQTT2_ebusd_hc1_HP3

define MQTT2_ebusd_hc1_WP MQTT2_DEVICE
attr MQTT2_ebusd_hc1_WP userattr weekprofile
attr MQTT2_ebusd_hc1_WP model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1_WP readingList ebusd/hc1/WP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_WP room MQTT2_DEVICE
attr MQTT2_ebusd_hc1_WP setList Sunday ebusd/hc1/WP.So/set\
Monday ebusd/hc1/WP.Mo/set\
Tuesday ebusd/hc1/WP.Di/set\
Wednesday ebusd/hc1/WP.Mi/set\
Thursday ebusd/hc1/WP.Do/set\
Friday ebusd/hc1/WP.Fr/set\
Saturday ebusd/hc1/WP.Sa/set
attr MQTT2_ebusd_hc1_WP weekprofile MQTT2_ebusd_hc1_WP

define MQTT2_ebusd_hc1_ZP MQTT2_DEVICE
attr MQTT2_ebusd_hc1_ZP userattr weekprofile
attr MQTT2_ebusd_hc1_ZP model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1_ZP readingList ebusd/hc1/ZP.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_ZP room MQTT2_DEVICE
attr MQTT2_ebusd_hc1_ZP setList Sunday ebusd/hc1/ZP.So/set\
Monday ebusd/hc1/ZP.Mo/set\
Tuesday ebusd/hc1/ZP.Di/set\
Wednesday ebusd/hc1/ZP.Mi/set\
Thursday ebusd/hc1/ZP.Do/set\
Friday ebusd/hc1/ZP.Fr/set\
Saturday ebusd/hc1/ZP.Sa/set
attr MQTT2_ebusd_hc1_ZP weekprofile MQTT2_ebusd_hc1_ZP

define MQTT2_ebusd_sc MQTT2_DEVICE ebusd_sc
attr MQTT2_ebusd_sc model ebus_analyzeReadingList
attr MQTT2_ebusd_sc readingList ebusd/sc/Act:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ErrorSCOTIOControl:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTIOControl_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTControlInput:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTControlInput_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTCalibration8:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTCalibration8_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTCalibration6:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTCalibration6_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTCalibration5:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTCalibration5_', $JSONMAP ) }\
ebusd/sc/ErrorSCOTCalibration4:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorSCOTCalibration4_', $JSONMAP ) }\
ebusd/sc/ErrorHistory:.* { FHEM::aTm2u_ebus::j2singleReading( 'ErrorHistory', $EVENT, '', $JSONMAP ) }\
ebusd/sc/BoilerSensorDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'BoilerSensorDefective_', $JSONMAP ) }\
ebusd/sc/BurnerOperationSinceLastService:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'BurnerOperationSinceLastService_', $JSONMAP ) }\
ebusd/sc/CRCErrorHeatingEngeneerParameter:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'CRCErrorHeatingEngeneerParameter_', $JSONMAP ) }\
ebusd/sc/CRCErrorManufacturerParameter:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'CRCErrorManufacturerParameter_', $JSONMAP ) }\
ebusd/sc/DHWSensorDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWSensorDefective_', $JSONMAP ) }\
ebusd/sc/Enduser:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ErrorVoltagSupply:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ErrorVoltagSupply_', $JSONMAP ) }\
ebusd/sc/ExternalSensorDefektive:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'ExternalSensorDefektive_', $JSONMAP ) }\
ebusd/sc/FanFaultDuringOperation:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FanFaultDuringOperation_', $JSONMAP ) }\
ebusd/sc/FanFaultDuringShutdown:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FanFaultDuringShutdown_', $JSONMAP ) }\
ebusd/sc/FlameFailureDuringOperation:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FlameFailureDuringOperation_', $JSONMAP ) }\
ebusd/sc/FlameSimulation:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FlameSimulation_', $JSONMAP ) }\
ebusd/sc/FlueGasSensorDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'FlueGasSensorDefective_', $JSONMAP ) }\
ebusd/sc/GasValveCycleV1V2Defective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'GasValveCycleV1V2Defective_', $JSONMAP ) }\
ebusd/sc/GPSFailureDuringSafetyTime:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'GPSFailureDuringSafetyTime_', $JSONMAP ) }\
ebusd/sc/H2EmergencyOffFunction:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'H2EmergencyOffFunction_', $JSONMAP ) }\
ebusd/sc/Manufacturer1:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Manufacturer2:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/NoFlameFormation:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'NoFlameFormation_', $JSONMAP ) }\
ebusd/sc/NoGasPressureAvailable:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'NoGasPressureAvailable_', $JSONMAP ) }\
ebusd/sc/ProcessValues1:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues2:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues3:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues4:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues5:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/ProcessValues6:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/PWMPumpDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'PWMPumpDefective_', $JSONMAP ) }\
ebusd/sc/SetpointDHW:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'SetpointDHW_', $JSONMAP ) }\
ebusd/sc/SetpointTempSystem:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'SetpointTempSystem_', $JSONMAP ) }\
ebusd/sc/Statistic1:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic2:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic3:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic4:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic5:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/Statistic6:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/sc/StatisticUkn01:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn01_', $JSONMAP ) }\
ebusd/sc/StatisticUkn02:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn02_', $JSONMAP ) }\
ebusd/sc/StatisticUkn03:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn03_', $JSONMAP ) }\
ebusd/sc/StatisticUkn04:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn04_', $JSONMAP ) }\
ebusd/sc/StatisticUkn05:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StatisticUkn05_', $JSONMAP ) }\
ebusd/sc/WWTurbineDefective:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'WWTurbineDefective_', $JSONMAP ) }
attr MQTT2_ebusd_sc room MQTT2_DEVICE

setstate MQTT2_ebusd_hc1 2021-08-16 13:09:24 Action stopconsumer
setstate MQTT2_ebusd_hc1 2021-08-16 11:50:38 Adaption 32768
setstate MQTT2_ebusd_hc1 2021-08-16 11:52:03 DHWMode__16_DhwMode 32768
setstate MQTT2_ebusd_hc1 2021-08-16 13:09:24 DHWSetTemp 48.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:53:59 DHWSetValue__16_Temp10 48.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:53:49 DHWSetpoint__16_Temp10 48.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:54:03 DHWTemperature__16_Temp10 0.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:11 Day 25
setstate MQTT2_ebusd_hc1 2021-08-16 11:54:09 EndOfHoliday_Day__16_HolidayDay 4
setstate MQTT2_ebusd_hc1 2021-08-16 11:54:15 EndOfHoliday_Month__16_HolidayMonth September
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:23 ExternalTemperature 20.0
setstate MQTT2_ebusd_hc1 2021-08-16 12:41:40 Friday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:29 FrostProtection 4.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:38 Gradient 13.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:44 HeatDemand 5.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:53 HeatingDemand__8_Temp0 0
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:58 HolidayTemp__16_TempReduced 32768
setstate MQTT2_ebusd_hc1 2021-08-10 11:37:46 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1 2021-08-16 11:56:38 LegionnairesFunction__16_Legionnairesday 5
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:28 MaxSupplyTemperature 75.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:34 MinSupplyTemperature 25.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:39 MixedExternalTemperature 20.7
setstate MQTT2_ebusd_hc1 2021-08-16 12:15:17 Monday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:11 Month August
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:46 NormalSetTemp 22.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:53 ProgramChooseSwitch Sommer
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:59 ReducedSetTemp 19.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:09 Reduces Absenktemperatur
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:18 ReleaseDHW 0
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:18 ReleaseHC 0
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:13 RoomInfluence 32768
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:19 RoomSensorCorrection 0.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:29 RoomSetValue 4.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:32 RoomTemperature -100.0
setstate MQTT2_ebusd_hc1 2021-08-16 12:15:34 Saturday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 13:09:24 SetTemp 5.00
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:59 StartOfHoliday_Day__16_HolidayDay 25
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:04 StartOfHoliday_Month__16_HolidayMonth August
setstate MQTT2_ebusd_hc1 2021-08-16 13:09:24 Status hotwater
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:24 SuWiChangeOverTemperature 20.0
setstate MQTT2_ebusd_hc1 2021-08-16 12:15:54 Sunday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:30 SupplySetValueHC 5.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:48 SwitchOffSetting 32768
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:54 SwitchOnSetting 8
setstate MQTT2_ebusd_hc1 2021-08-16 12:14:31 Thursday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:18 TimeSinceLastCommand 0
setstate MQTT2_ebusd_hc1 2021-08-16 12:13:58 Tuesday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 12:00:04 TypeOfConstruction__16_Constructiontype Light
setstate MQTT2_ebusd_hc1 2021-08-16 12:14:59 Wednesday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-06 12:25:27 associatedWith MQTT2_ebusd_21.2_1,MQTT2_ebusd_hc1_HP2,MQTT2_ebusd_hc1_HP3,MQTT2_ebusd_hc1_WP,MQTT2_ebusd_hc1_ZP,MQTT2_ebusd_hc1_HP2,MQTT2_ebusd_hc1_HP3,MQTT2_ebusd_hc1_WP,MQTT2_ebusd_hc1_ZP
setstate MQTT2_ebusd_hc1 2021-08-06 12:25:27 attrTemplateVersion 2021-08-06 12:25:27 ##############################################

setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:46:05 Friday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-10 11:37:46 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:46:45 Monday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:47:01 Saturday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:47:20 Sunday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:45:45 Thursday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:45:25 Tuesday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:46:25 Wednesday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-06 12:25:27 associatedWith MQTT2_ebusd_hc1
setstate MQTT2_ebusd_hc1_HP2 2021-08-06 12:25:27 attrTemplateVersion 2021-08-06 12:25:27 ##############################################

setstate MQTT2_ebusd_hc1_HP3 2021-08-16 12:49:07 Friday 06:00;;08:00;;12:00;;22:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-08-10 11:37:46 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_HP3 2021-08-16 12:49:42 Monday 06:00;;08:00;;12:00;;22:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-08-16 12:49:56 Saturday 09:00;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-08-16 12:50:11 Sunday 09:00;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-08-16 12:48:07 Thursday 06:00;;08:00;;12:00;;22:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-08-16 12:47:52 Tuesday 06:00;;08:00;;12:00;;22:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-08-16 12:49:27 Wednesday 06:00;;08:00;;12:00;;22:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP3 2021-08-06 12:25:27 associatedWith MQTT2_ebusd_hc1
setstate MQTT2_ebusd_hc1_HP3 2021-08-06 12:25:27 attrTemplateVersion 2021-08-06 12:25:27 ##############################################

setstate MQTT2_ebusd_hc1_WP 2021-08-16 12:59:08 Friday 05:00;;21:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-08-10 11:37:46 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_WP 2021-08-16 12:59:42 Monday 05:00;;21:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-08-16 12:59:58 Saturday 06:00;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-08-16 13:00:13 Sunday 06:00;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-08-16 12:58:53 Thursday 05:00;;21:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-08-16 12:58:38 Tuesday 05:00;;21:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-08-16 12:59:25 Wednesday 05:00;;21:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_WP 2021-08-06 12:25:27 associatedWith MQTT2_ebusd_hc1
setstate MQTT2_ebusd_hc1_WP 2021-08-06 12:25:27 attrTemplateVersion 2021-08-06 12:25:27 ##############################################

setstate MQTT2_ebusd_hc1_ZP 2021-08-16 13:13:41 Friday 06:00;;07:00;;11:00;;13:00;;17:00;;19:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-08-10 11:37:46 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_ZP 2021-08-16 13:14:19 Monday 06:00;;07:00;;11:00;;13:00;;17:00;;19:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-08-16 13:14:37 Saturday 07:00;;08:00;;11:00;;13:00;;17:00;;19:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-08-16 13:14:52 Sunday 07:00;;08:00;;11:00;;13:00;;17:00;;19:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-08-16 13:13:24 Thursday 06:00;;07:00;;11:00;;13:00;;17:00;;19:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-08-16 13:13:07 Tuesday 06:00;;07:00;;11:00;;13:00;;17:00;;19:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-08-16 13:13:57 Wednesday 06:00;;07:00;;11:00;;13:00;;17:00;;19:00;;Mo-So
setstate MQTT2_ebusd_hc1_ZP 2021-08-06 12:25:27 associatedWith MQTT2_ebusd_hc1
setstate MQTT2_ebusd_hc1_ZP 2021-08-06 12:25:27 attrTemplateVersion 2021-08-06 12:25:27 ##############################################

setstate MQTT2_ebusd_sc 2021-08-16 13:23:41 ASTBShutdownTempFlueGas 15
setstate MQTT2_ebusd_sc 2021-08-16 13:27:55 BoilerSensorDefective 7936
setstate MQTT2_ebusd_sc 2021-08-16 13:27:10 BurnerOperationSinceLastService 256
setstate MQTT2_ebusd_sc 2021-08-16 13:17:49 BurnerOperationSinceLastService__16_Hours 256
setstate MQTT2_ebusd_sc 2021-08-16 13:23:41 BurnerOptions 49
setstate MQTT2_ebusd_sc 2021-08-16 13:19:31 Byte 18
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 Byte0 0
setstate MQTT2_ebusd_sc 2021-08-16 13:26:39 Byte1 154
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 Byte10 0
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 Byte11 0
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 Byte12 0
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 Byte2 77
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 Byte3 16
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 Byte4 47
setstate MQTT2_ebusd_sc 2021-08-16 13:27:58 Byte5 0
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 Byte6 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:58 Byte7 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:58 Byte8 0
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 Byte9 1
setstate MQTT2_ebusd_sc 2021-08-16 13:27:40 CRCErrorHeatingEngeneerParameter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:19:06 CRCErrorHeatingEngeneerParameter__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:40 CRCErrorManufacturerParameter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:19:25 CRCErrorManufacturerParameter__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:19:31 ChangeoverTempSummerWinter 20
setstate MQTT2_ebusd_sc 2021-08-16 13:27:55 DHWSensorDefective 0
setstate MQTT2_ebusd_sc 2021-08-16 13:19:25 DHWSensorDefective__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:19:31 DHWSetValueDay 50
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 DHWTemp 46.0
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 DayOperatingHours 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Error 0
setstate MQTT2_ebusd_sc 2021-08-16 13:19:39 ErrorHistory E1.DHWTemp: 0 - E1.ErrorCode: fehlerfrei - E1.ExternalTemp: 0 - E1.FlueGasTemp: 0 - E1.IonisationSignal: 0 - E1.LoadSetting: 0 - E1.OperatingPhase: BrennerAus - E1.SupplyTemp: 0 - E1.ThroughputValue: 3 - E1._8_SettingUV: HZ - E2.DHWTemp: 0 - E2.ErrorCode: 0 - E2.ExternalTemp: 0 - E2.FlueGasTemp: 0 - E2.IonisationSignal: 0 - E2.LoadSetting: 0 - E2.OperatingPhase: BrennerAus - E2.SupplyTemp: 0 - E2.ThroughputValue: 0 - E2._8_SettingUV: HZ - E3.DHWTemp: 0 - E3.ErrorCode: 0 - E3.ExternalTemp: 0 - E3.FlueGasTemp: 0 - E3.IonisationSignal: 42 - E3.LoadSetting: 15 - E3.OperatingPhase: BrennerAus - E3.SupplyTemp: 0 - E3.ThroughputValue: 0 - E3._8_SettingUV: HZ - E4.DHWTemp: 0 - E4.ErrorCode: 251 - E4.ExternalTemp: 0 - E4.FlueGasTemp: 3 - E4.IonisationSignal: 0 - E4.LoadSetting: 130 - E4.OperatingPhase: 251 - E4.SupplyTemp: 0 - E4.ThroughputValue: 0 - E4._8_SettingUV: 167 - E5.DHWTemp: -1 - E5.ErrorCode: Differenz Vorlauf- und Rücklauftemperatur zu groß - E5.ExternalTemp: -9 - E5.FlueGasTemp: -37 - E5.IonisationSignal: 238 - E5.LoadSetting: 120 - E5.OperatingPhase: 128 - E5.SupplyTemp: -62 - E5.ThroughputValue: 254 - E5._8_SettingUV: 160 - E6.DHWTemp: 64 - E6.ExternalTemp: -58 - E6.FlueGasTemp: -108 - E6.IonisationSignal: 229 - E6.LoadSetting: 241 - E6.OperatingPhase: 247 - E6.SupplyTemp: -21 - E6.ThroughputValue: 104 - E6._8_SettingUV: 235 - Offset: 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:10 ErrorSCOTCalibration4 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:09 ErrorSCOTCalibration4__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:10 ErrorSCOTCalibration5 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:20 ErrorSCOTCalibration5__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:10 ErrorSCOTCalibration6 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:20 ErrorSCOTCalibration6__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:10 ErrorSCOTCalibration8 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:25 ErrorSCOTCalibration8__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:40 ErrorSCOTControlInput 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:30 ErrorSCOTControlInput__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:40 ErrorSCOTIOControl 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:39 ErrorSCOTIOControl__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:44 ErrorVoltagSupply__16_Counter 256
setstate MQTT2_ebusd_sc 2021-08-16 13:27:40 ErrorVoltageSupply 256
setstate MQTT2_ebusd_sc 2021-08-16 13:27:55 ExternalSensorDefektive 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:49 ExternalSensorDefektive__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 ExternalTemp 20
setstate MQTT2_ebusd_sc 2021-08-16 13:26:16 FanControlActualSpeed 0
setstate MQTT2_ebusd_sc 2021-08-16 13:26:16 FanControlSetSpeed 0
setstate MQTT2_ebusd_sc 2021-08-16 13:23:49 FanControllerI 5
setstate MQTT2_ebusd_sc 2021-08-16 13:23:49 FanControllerP 5
setstate MQTT2_ebusd_sc 2021-08-16 13:27:46 FanFaultDuringOperation 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:54 FanFaultDuringOperation__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:40 FanFaultDuringShutdown 0
setstate MQTT2_ebusd_sc 2021-08-16 13:22:59 FanFaultDuringShutdown__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Flame 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:58 FlameFailureDuringOperation 0
setstate MQTT2_ebusd_sc 2021-08-16 13:23:05 FlameFailureDuringOperation__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:55 FlameSimulation 123
setstate MQTT2_ebusd_sc 2021-08-16 13:23:16 FlameSimulation__16_Counter 123
setstate MQTT2_ebusd_sc 2021-08-16 13:27:55 FlueGasSensorDefective 0
setstate MQTT2_ebusd_sc 2021-08-16 13:23:16 FlueGasSensorDefective__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:46 GPSFailureDuringSafetyTime 0
setstate MQTT2_ebusd_sc 2021-08-16 13:23:29 GPSFailureDuringSafetyTime__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 GasValve1 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 GasValve2 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:46 GasValveCycleV1V2Defective 0
setstate MQTT2_ebusd_sc 2021-08-16 13:23:24 GasValveCycleV1V2Defective__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:55 H2EmergencyOffFunction 55040
setstate MQTT2_ebusd_sc 2021-08-16 13:23:41 H2EmergencyOffFunction__16_Counter 55040
setstate MQTT2_ebusd_sc 2021-08-10 11:37:46 IODev myMQTT_Server
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Load 0
setstate MQTT2_ebusd_sc 2021-08-16 13:19:31 LoweringRoomTemp 15
setstate MQTT2_ebusd_sc 2021-08-16 13:19:31 LoweringTempSetValue 30
setstate MQTT2_ebusd_sc 2021-08-16 13:27:58 NoFlameFormation 0
setstate MQTT2_ebusd_sc 2021-08-16 13:23:54 NoFlameFormation__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:46 NoGasPressureAvailable 256
setstate MQTT2_ebusd_sc 2021-08-16 13:24:00 NoGasPressureAvailable__16_Counter 256
setstate MQTT2_ebusd_sc 2021-08-16 13:19:31 NormalRoomTemp 22
setstate MQTT2_ebusd_sc 2021-08-16 13:19:31 NormalTempSetValue 60
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 NumberMainsOn 18432
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Operatingphase BrennerAus
setstate MQTT2_ebusd_sc 2021-08-16 13:27:46 PWMPumpDefective 0
setstate MQTT2_ebusd_sc 2021-08-16 13:26:46 PWMPumpDefective__16_Counter 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Pump 0
setstate MQTT2_ebusd_sc 2021-08-16 13:23:49 S15 147
setstate MQTT2_ebusd_sc 2021-08-16 13:23:49 S16 55
setstate MQTT2_ebusd_sc 2021-08-16 13:23:41 S19 0
setstate MQTT2_ebusd_sc 2021-08-16 13:23:41 S20 151
setstate MQTT2_ebusd_sc 2021-08-16 13:23:41 STBShutdownTempBoiler 147
setstate MQTT2_ebusd_sc 2021-08-16 13:28:04 STWExcess 0
setstate MQTT2_ebusd_sc 2021-08-16 13:23:41 STWShutdownTempBoiler 95
setstate MQTT2_ebusd_sc 2021-08-16 13:26:55 SetpointDHW__8_Temp0 48
setstate MQTT2_ebusd_sc 2021-08-16 13:26:59 SetpointTempSystem__8_Temp0 68
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 SettingUV Heating
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 SoWi Summer
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Status1 1
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 SupplySetTemp 8
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 SupplyTemp 24.0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 TrendTemp 22.750
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Ukn2_1 1
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Ukn2_2 1
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Ukn2_3 1
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Ukn3_1 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Ukn3_3 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Ukn3_4 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Ukn3_5 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Ukn3_6 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 Ukn3_7 0
setstate MQTT2_ebusd_sc 2021-08-16 14:03:00 UknTemp 0.0
setstate MQTT2_ebusd_sc 2021-08-16 13:27:46 WWTurbineDefective 0
setstate MQTT2_ebusd_sc 2021-08-16 13:28:14 WWTurbineDefective__16_Counter 0
setstate MQTT2_ebusd_sc 2021-07-29 14:05:01 associatedWith MQTT2_ebusd_21.2_1
setstate MQTT2_ebusd_sc 2021-08-06 12:28:27 attrTemplateVersion 2021-08-06 12:28:27 ##############################################

So schaut es somit nach Anwendung des Analyzers aus. Ohne Modifikation, das folgt noch.

rob

Bzgl. setter im hc1: man könnte ja sachte mit dem Setzen der Urlaubszeit starten. Holen geht schonmal so:

ebusd/hc1/StartOfHoliday.Day/get
ebusd/hc1/StartOfHoliday.Month/get
ebusd/hc1/StartOfHoliday/get

ebusd/hc1/EndOfHoliday.Day/get
ebusd/hc1/EndOfHoliday.Month/get
ebusd/hc1/EndOfHoliday/get

Dabei sind aber "ebusd/hc1/StartOfHoliday/get" und "ebusd/hc1/EndOfHoliday/get" nur als getter sinnvoll, wei a) readonly und b) ohnehin das selbe drin steht, wenn ich z.B. "ebusd/hc1/EndOfHoliday.Day/get" mache.

Also als periodic getter:

ebusd/hc1/StartOfHoliday/get
ebusd/hc1/EndOfHoliday/get


und als setter

ebusd/hc1/StartOfHoliday.Day/set
ebusd/hc1/StartOfHoliday.Month/set
ebusd/hc1/EndOfHoliday.Day/set
ebusd/hc1/EndOfHoliday.Month/set


Damit das klappt, müsste jedoch die ReadingsList angepasst werden, weil "Day"+"Month" jeweils von Start und End überschrieben werden. Statt also:

...
ebusd/hc1/EndOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }
ebusd/hc1/StartOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }
...

könnte es so lauten:

ebusd/hc1/EndOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HolidayEnd_', $JSONMAP ) }
ebusd/hc1/StartOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HolidayStart_', $JSONMAP ) }


Das ergibt dann...

HolidayEnd_Day  4  2021-08-16 14:28:49
HolidayEnd_Month  September  2021-08-16 14:28:49
HolidayStart_Day  25  2021-08-16 14:28:20
HolidayStart_Month  August  2021-08-16 14:28:20


Also könnte die setlist so ergänzt werden:

HolidayEnd_Day ebusd/hc1/EndOfHoliday.Day/set
HolidayEnd_Month ebusd/hc1/EndOfHoliday.Month/set
HolidayStart_Day ebusd/hc1/StartOfHoliday.Day/set
HolidayStart_Month ebusd/hc1/StartOfHoliday.Month/set


Den Monat konnte ich jeweils so setzen. Die Tage nicht. Im cli heißt es

ebusctl write -c hc1 StartOfHoliday.Day 22
ERR: element not found


Warum? Weil im _template.csv die ganzen einzelnen Tage erst übersetzt reingehören. Aktuell steht da:

_16_HolidayDay UIN 0x0000=Off
_16_HolidayMonth UIN 0x0000=Off;0x0001=January;0x0002=February;0x0003=March;0x0004=April;0x0005=May;0x0006=June;0x0007=July;0x0008=August;0x0009=September;0x000A=October;0x000B=November;0x000C=December

draus werden muss aber...

_16_HolidayDay UIN 0x0000=Off;0x0001=1;0x0002=2; bla bla bla ;0x0031=31
_16_HolidayMonth UIN 0x0000=Off;0x0001=January;0x0002=February;0x0003=March;0x0004=April;0x0005=May;0x0006=June;0x0007=July;0x0008=August;0x0009=September;0x000A=October;0x000B=November;0x000C=December

Habe es testweise mit 5 gemacht → klappt. Also für mich was zu tun  ;)

rob

Arrgh! Der Holiday-Krams ist doch kein guter Einstieg. Ich kann alle Werte nun prima setzen und natürlich auslesen. OK. Aber meiner Therme ist das alles Wurscht! Habe Holidays gesetzt und geprüft, ob es auch gespeichert wurde - schaut via ebus alles gut aus. Am Gerät selbst jedoch ist davon NICHTS zu sehen. Keine Ahnung was die Therme damit macht. Kein Urlaubszeitraum gesetzt beim Aufruf und auch kein Urlaubsmodus aktiv. Klappt allein, wenn ich das direkt am Gerät eingebe, sonst nicht.

Wieder ein Use-Case weniger  :(  Mal schauen, ob etwas anderes eher passt.


Beta-User

Danke auf alle Fälle für die ganzen Status-Updates!

Was die holiday-Geschichte angeht, weiß ich nicht, ob das Problem nicht ggf. (auch) in der Konvertierung nach HEX liegt: 31 dezimal ist nicht 0x0031, sondern eher 0x001E ;) .

Ansonsten muss ich mal schauen, ob man Day/Month nicht auch irgendwie zusammengebastelt bekommt (aber: in welchem internationalen Format...?) oder wenigstens den passenden Prefix automatisiert finden kann.

Als setter für diese Sache finde ich eigentlich eine (einzige) "von - bis" Angabe am sinnvollsten, wobei es  viel einfacher wäre, wenn man mit nummerischen Monatswerten hantieren könnte...

Muss mir das mal etwas intensiver ansehen, wird aber vermutlich dauern.
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

rob

Zitat von: Beta-User am 22 August 2021, 09:23:37
...31 dezimal ist nicht 0x0031, sondern eher 0x001E ;) ...
Ooops. Das stimmt natürlich auffallend  ::) Sehr gut beobachtet.
Habe die Werte soeben angepasst und nochmals getestet. Diese müssten hoffentlich so stimmen:

0x0001=1;
0x0002=2;
0x0003=3;
0x0004=4;
0x0005=5;
0x0006=6;
0x0007=7;
0x0008=8;
0x0009=9;
0x000A=10;
0x000B=11;
0x000C=12;
0x000D=13;
0x000E=14;
0x000F=15;
0x0010=16;
0x0011=17;
0x0012=18;
0x0013=19;
0x0014=20;
0x0015=21;
0x0016=22;
0x0017=23;
0x0018=24;
0x0019=25;
0x001A=26;
0x001B=27;
0x001C=28;
0x001D=29;
0x001E=30;
0x001F=31

Eben getestet. Klappt leider auch nicht. Vielleicht gibt es einen Trick, welchen ich noch nicht gefunden habe. Im CSV sind zwei Write-Kommandos auskommentiert. Den Grund kenne ich nicht, aber vielleicht hatte Joker auch so seine Probleme damit.


Zitat von: Beta-User am 22 August 2021, 09:23:37
...wird aber vermutlich dauern...
Bin sehr froh um Deine Hilfe 8) und ich hab es nicht eilig.

Beta-User

Habe vorhin ein update in contrib eingecheckt (=> muss separat geholt werden).

Der Code sollte dann auch setList und getList erweitern, wenn es StartOf/EndOf-Topic-Anteile gibt, ob das immer sinnvoll ist oder paßt, sei mal dahingestellt. "Einheitsreadings" für day/month habe ich jetzt (noch) nicht erzeugt, sowas würde v.a. auch erfordern, dass was (halbwegs) einheitliches (Januar, January, 1, ... ?) als Wert gesendet wird.
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

rob

Habe ein generelles update gemacht. Die Files aus dem SVN geholt und anschl. den Analyzer auf das hc1-Device angewandt. Einen Unterschied hat es scheinbar noch nicht ergeben. Habe ich etwas vergessen?

define MQTT2_ebusd_hc1 MQTT2_DEVICE ebusd_hc1
attr MQTT2_ebusd_hc1 userattr weekprofile
attr MQTT2_ebusd_hc1 model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1 readingList ebusd/hc1/Set:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Adaption:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/DHWMin:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/DHWMode:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWMode_', $JSONMAP ) }\
ebusd/hc1/DHWSetpoint:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWSetpoint_', $JSONMAP ) }\
ebusd/hc1/DHWSetValue:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWSetValue_', $JSONMAP ) }\
ebusd/hc1/DHWTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'DHWTemperature_', $JSONMAP ) }\
ebusd/hc1/EndOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'EndOfHoliday_Day_', $JSONMAP ) }\
ebusd/hc1/EndOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'EndOfHoliday_Month_', $JSONMAP ) }\
ebusd/hc1/EndOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HolidayEnd_', $JSONMAP ) }\
ebusd/hc1/ExternalTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/FrostProtection:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Gradient:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/HeatDemand:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/HeatingDemand:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HeatingDemand_', $JSONMAP ) }\
ebusd/hc1/HolidayTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HolidayTemp_', $JSONMAP ) }\
ebusd/hc1/HP1.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }\
ebusd/hc1/LegionnairesFunction:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'LegionnairesFunction_', $JSONMAP ) }\
ebusd/hc1/MaxDHWTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/MaxSupplyTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/MinSupplyTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/MixedExternalTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/NormalSetTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/ProgramChooseSwitch:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/ReducedSetTemp:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/Reduces:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomInfluence:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomSensorCorrection:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomSetValue:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/RoomThermostat:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/StartOfHoliday.Day:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StartOfHoliday_Day_', $JSONMAP ) }\
ebusd/hc1/StartOfHoliday.Month:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'StartOfHoliday_Month_', $JSONMAP ) }\
ebusd/hc1/StartOfHoliday:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'HolidayStart_', $JSONMAP ) }\
ebusd/hc1/Status:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SummerWinterChangeOverTemperature:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SupplySetValueHC:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SupplyTemperatureHC:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SupplyTemperatureWTC:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SwitchOffSetting:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/SwitchOnSetting:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, '', $JSONMAP ) }\
ebusd/hc1/TypeOfConstruction:.* { FHEM::aTm2u_ebus::j2nv( $EVENT, 'TypeOfConstruction_', $JSONMAP ) }
attr MQTT2_ebusd_hc1 room MQTT2_DEVICE
attr MQTT2_ebusd_hc1 setList Sunday ebusd/hc1/HP1.So/set\
Monday ebusd/hc1/HP1.Mo/set\
Tuesday ebusd/hc1/HP1.Di/set\
Wednesday ebusd/hc1/HP1.Mi/set\
Thursday ebusd/hc1/HP1.Do/set\
Friday ebusd/hc1/HP1.Fr/set\
Saturday ebusd/hc1/HP1.Sa/set\
HolidayEnd_Day ebusd/hc1/EndOfHoliday.Day/set\
HolidayEnd_Month ebusd/hc1/EndOfHoliday.Month/set\
HolidayStart_Day ebusd/hc1/StartOfHoliday.Day/set\
HolidayStart_Month ebusd/hc1/StartOfHoliday.Month/set
attr MQTT2_ebusd_hc1 weekprofile MQTT2_ebusd_hc1

setstate MQTT2_ebusd_hc1 HolidayEnd_Day
setstate MQTT2_ebusd_hc1 2021-08-30 05:57:45 Action startconsumer
setstate MQTT2_ebusd_hc1 2021-08-16 11:50:38 Adaption 32768
setstate MQTT2_ebusd_hc1 2021-08-16 11:52:03 DHWMode__16_DhwMode 32768
setstate MQTT2_ebusd_hc1 2021-08-30 05:57:45 DHWSetTemp 48.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:53:59 DHWSetValue__16_Temp10 48.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:53:49 DHWSetpoint__16_Temp10 48.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:54:03 DHWTemperature__16_Temp10 0.0
setstate MQTT2_ebusd_hc1 2021-08-16 14:22:41 Day 25
setstate MQTT2_ebusd_hc1 2021-08-22 11:15:31 EndOfHoliday_Day__16_HolidayDay 5
setstate MQTT2_ebusd_hc1 2021-08-22 11:15:26 EndOfHoliday_Month__16_HolidayMonth November
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:23 ExternalTemperature 20.0
setstate MQTT2_ebusd_hc1 2021-08-16 12:41:40 Friday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:29 FrostProtection 4.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:38 Gradient 13.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:44 HeatDemand 5.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:53 HeatingDemand__8_Temp0 0
setstate MQTT2_ebusd_hc1 2021-08-16 14:57:21 HolidayEnd_Day 5
setstate MQTT2_ebusd_hc1 2021-08-16 14:57:21 HolidayEnd_Month November
setstate MQTT2_ebusd_hc1 2021-08-16 15:27:27 HolidayStart_Day 10
setstate MQTT2_ebusd_hc1 2021-08-16 15:27:27 HolidayStart_Month August
setstate MQTT2_ebusd_hc1 2021-08-16 11:55:58 HolidayTemp__16_TempReduced 32768
setstate MQTT2_ebusd_hc1 2021-08-27 13:51:28 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1 2021-08-16 11:56:38 LegionnairesFunction__16_Legionnairesday 5
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:28 MaxSupplyTemperature 75.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:34 MinSupplyTemperature 25.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:39 MixedExternalTemperature 20.7
setstate MQTT2_ebusd_hc1 2021-08-16 12:15:17 Monday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 14:22:41 Month August
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:46 NormalSetTemp 22.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:53 ProgramChooseSwitch Sommer
setstate MQTT2_ebusd_hc1 2021-08-16 11:57:59 ReducedSetTemp 19.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:09 Reduces Absenktemperatur
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:18 ReleaseDHW 0
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:18 ReleaseHC 0
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:13 RoomInfluence 32768
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:19 RoomSensorCorrection 0.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:29 RoomSetValue 4.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:58:32 RoomTemperature -100.0
setstate MQTT2_ebusd_hc1 2021-08-16 12:15:34 Saturday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-30 05:57:45 SetTemp 5.00
setstate MQTT2_ebusd_hc1 2021-08-22 11:15:22 StartOfHoliday_Day__16_HolidayDay 2
setstate MQTT2_ebusd_hc1 2021-08-22 11:15:12 StartOfHoliday_Month__16_HolidayMonth November
setstate MQTT2_ebusd_hc1 2021-08-30 05:57:45 Status hotwater
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:24 SuWiChangeOverTemperature 20.0
setstate MQTT2_ebusd_hc1 2021-08-16 12:15:54 Sunday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:30 SupplySetValueHC 5.0
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:48 SwitchOffSetting 32768
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:54 SwitchOnSetting 8
setstate MQTT2_ebusd_hc1 2021-08-16 12:14:31 Thursday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 11:59:18 TimeSinceLastCommand 0
setstate MQTT2_ebusd_hc1 2021-08-16 12:13:58 Tuesday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-16 12:00:04 TypeOfConstruction__16_Constructiontype Light
setstate MQTT2_ebusd_hc1 2021-08-16 12:14:59 Wednesday 07:30;;22:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1 2021-08-06 12:25:27 associatedWith MQTT2_ebusd_21.2_1,MQTT2_ebusd_hc1_HP2,MQTT2_ebusd_hc1_HP3,MQTT2_ebusd_hc1_WP,MQTT2_ebusd_hc1_ZP,MQTT2_ebusd_hc1_HP2,MQTT2_ebusd_hc1_HP3,MQTT2_ebusd_hc1_WP,MQTT2_ebusd_hc1_ZP
setstate MQTT2_ebusd_hc1 2021-08-30 07:49:43 attrTemplateVersion 2021-08-30 07:49:43 ##############################################
setstate MQTT2_ebusd_hc1 2021-08-22 11:15:31 state HolidayEnd_Day

Beta-User

Hmm, also...:
Etwas anders als das letzte Ergebnis sieht es schon aus, es gibt jetzt weitere Einträge in setList. Die Frage ist nur, warum das mit getList nicht geklappt hat - das war bei meinen Tests auch ok, und eben habe ich das mit der gestern als 24890 verteilten (und nur in der commandref geringfügig angepassten) auch nochmal gecheckt (mit deinen Alt-Daten). Dazu habe ich im Moment keine Idee.

_getVersion (für version) war kaputt, das werde ich bei Gelegenheit auch im svn fixen, hier mal vorab das Schnippsel dazu:

sub _getVersion {
    my $modpath = (exists($attr{global}{modpath}) ? $attr{global}{modpath} : "");
    my $fn = "$modpath/FHEM/99_attrTmqtt2_ebus_Utils.pm"; # configDB
    my ($ret, @content) = FileRead($fn);
    if ($ret) {
        Log3(undef, 1, "Error reading file $fn!") ;
        return 'unknown';
    }
    for (@content) {
        chomp;
        if ( m{#.*(\$Id\:[^\$\n\r].+)\$} ) {
            return $1;
        }
    }
    return 'unknown';
}
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

rob

Hallo Beta-User.

Zu der Fragestellung:
Zitat von: Beta-User am 22 Juli 2021, 10:59:45
Bleibt die Frage, warum überhaupt Klartext-Readings erstellt wurden (oder anders gesagt: warum jetzt zuerst die non-JSON Payload kam).
Eventuell ist da auch bei "getAll" irgendwas gespeichertes aberufen worden, und der letzte Wert scheint jeweils "leer" gewesen zu sein(?). Grundsätzlich bin ich der Meinung, man sollte das an john30 adressieren, das kommt mir unbeabsichtigt vor, dass da "leere" Payload und JSON im Wechsel kommen.
hat john30 dies aufgeklärt: Ist so gedacht und OK
(https://forum.fhem.de/index.php/topic,118143.msg1179978.html#msg1179978).

Viele Grüße
rob

Beta-User

Hmmm, tja, ... nicht schön...

Das Problem: Sind die Topics mal via "autocreate" im "nicht-JSON-Modus" in der readingList angelegt, ist es im Prinzip "zu spät" - auf die Schnelle sehe ich jedenfalls keine Möglichkeit, wie man das auf einfache Weise "reparieren" könnte (und es dann auch noch auf einfache Weise MQTT-Novizen erklären).
Einfach nur ein paar leere geschweifte Klammern würden uns auch nicht helfen, wir bräuchten schon einen "gültigen JSON" für autocreate. Aber es ist schon klar, dass es uU. an anderer Stelle Probleme machen würde, wenn man z.B. einen JSON mit {"novalues": true } oder so schicken würde.

Mißlich... Aber immerhin haben wir eine Erklärung, Danke!

(Muß mal darüber nachdenken).
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

rob

Ich glaub Du brauchst Dich da nicht allzu tief reinknien. Wenn man weiß, dass man zunächst ein GetAll macht, um die möglichen Readings zu holen, diese dann einzeln abholt und schließlich dann erst mit der eigentlichen Einrichtung weiter macht (split & Co), kommt man m.E. auch als Einsteiger gut klar.
Weishaupt-Nutzer scheinen eh eine seltene + scheue Spezies zu sein  ;D  Will sagen, der Nutzerkreis erscheint mir stark begrenzt

Beta-User

Na ja, das Thema ist ein generelles für ebus-MQTT und betrifft nicht nur "Freunde der Weishaupt"  ;D .
Was mich irritiert: Das ganze ebus-MQTT-Thema kommt mir (unabhängig von der Frage, welcher Hersteller mit seinem "flavour" über den Bus angesprochen wird) ziemlich steinig und unterentwickelt vor, und das, obwohl john30 schreibt, dass er das nutzt - aber dann in der Doku auf 00_MQTT.pm verlinkt  :o ... (was mit JSON ein ziemlicher Mist ist). Also entweder hat er eine andere Lösung als FHEM dahinter am Laufen, oder seine Implementierung in FHEM ist auch wieder sehr speziell... Aber vielleicht übersehe ich ja mal wieder was wichtiges...
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

rob

OK, so weitblickend habe ich es nicht betrachtet. Ich gebs zu  ;)

Schwer zu sagen, wie john30 das macht. Zumindest dürfte er für sich das Thema wesentlich leichter im Griff haben, im Vergleich zu mir. Was mir nicht machbar erscheint, erledigt er sicher mit zwei Handgriffen im Schlaf.
Vielleicht nutzt er selber MQTT insbes. mit JSON auch garnicht. Viele Entwickler bauen "Kundenwünsche" ein, ohne diese selbst einsetzen zu können. Wenn ihm dann Rückmeldungen fehlen, lässt sich schwer was an Bedarf erahnen und Dokus altern halt schnell.

Ich vermute ja immernoch, dass bei Vaillant & Co. einfach von vorn herein die Gräte gesprächiger sind. Und wenn mehr übern Bus kommt, klappt auch gleich getAll besser. Sind die Standard-Readings direkt brauchbar (was wesentlich von den CSV beeinflusst wird), braucht man nix weiter, auch kein JSON. Und ECMD geht alternativ auch.

Die auffindbaren Templates/ Graphen für Vaillant erscheinen mir schon recht ausgefeilt und nützlich - sind halt nur für Weishaupt nicht adaptierbar, was aber am Hersteller liegt (z.B. keine Vorlauf-/ Rücklauftemp.).

Beim Inbetriebnahme-Thread vom ebus-Adapter melden sich viele mit Fragen zu ioBroker usw. - weniger FHEM-User. Von den paar FHEM-Usern scheinen viele Vaillant/ Wolf zu haben und mit den MQTT/ECMD Beispielen gut zurecht zu kommen.
Als FHEM usender Weishaupt-Freund bin ich eben ein Exot  ;D




Wie hattest Du das weekprofile testweise angewandt (assoziiert/ frei)? Vielleicht macht es Sinn, an dieser Stelle wieder anzugreifen.

Beta-User

Zitat von: rob am 19 Oktober 2021, 08:43:50
Wie hattest Du das weekprofile testweise angewandt (assoziiert/ frei)? Vielleicht macht es Sinn, an dieser Stelle wieder anzugreifen.
Weiß ich grade nicht mehr, ist aber auch relativ unwichtig: Ob man das "set <m2d> weekprofile ..." verwendet, oder einen der setter in weekprofile unterscheidet sich nur in der Syntax und (nur für Topics) in den Voraussetzungen in der Konfiguration - funktional passiert am Ende immer das gleiche: M2D fragt das angegebene Profil ab, wandelt es um und publisht...

Damit weiterzumachen halte ich für eine gute Idee :) .

Zitat von: rob am 19 Oktober 2021, 08:43:50
Schwer zu sagen, wie john30 das macht. [...]
Vielleicht nutzt er selber MQTT insbes. mit JSON auch garnicht.
Na ja, soweit ich verstanden habe, ist MQTT immer mit JSON, und er hat irgendwo mal geschrieben, dass er MQTT nutzt. Von daher würde mich durchaus interessieren, wie genau.

Andere Lösungen verwerfen vermutlich "ungültige" Daten direkt, wenn sie JSON erwarten (was man FHEM erst sagen muss, nachdem die readingList angelegt ist, wenn keine passenden "Erstdaten" kommen), und behandeln JSON dann - soweit mein vermutlich sehr begrenztes Verständnis reicht - als komplettes "Objekt". Ist von der Methodik her ggf. anders anders, aber letztlich muss man das irgendwie nachbehandeln, wenn man z.B. einzelne Daten loggen will.
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

rob

Zitat von: Beta-User am 19 Oktober 2021, 09:49:30
Ob man das "set <m2d> weekprofile ..." verwendet, oder einen der setter in weekprofile unterscheidet sich nur in der Syntax und (nur für Topics) in den Voraussetzungen in der Konfiguration - funktional passiert am Ende immer das gleiche: M2D fragt das angegebene Profil ab, wandelt es um und publisht...
Ich schreibe das ungern, weil ich mir vorkomme, wie ein ewiger Anfänger. Habe mir die Cref + Wiki zu WeekProfile angesehen und leider nicht verstanden, was ich tun muss.

Ist irgendwie OT, ich schreib mal dennoch was ich rausgezogen habe. Comandref sagt:
Zitat
MQTT2_DEVICE (zusätzlicher Code erforderlich)
...
Hinweis: Geräte des Typs WeekdayTimer und MQTT2_DEVICE können nicht als 'Master-Gerät' verwendet werden.
...
   Wird kein 'Master-Geräte' angegeben, wird ein 'default' Profil angelegt.

Set
...
    Wird kein Gerät angegeben, wird das 'Master-Gerät' verwendet. 'Devices' ist eine kommagetrennte Auflistung von Geräten
...
?? Habs nicht verstanden. Als Master wollte ich schlicht das MQTT2-Device angeben. Das klappt natürlich nicht.
Im Wiki steht:
Zitat
WeekdayTimer (ermöglicht seit 12/2019 indirekt die Steuerung von anderen Device-Typen wie Z-Wave, MQTT2_DEVICE bzw. MQTT_DEVICE, ZigBee, ...)

Aha, also muss man auch ein Weekdaytimer-Device haben? Wiki sagt:
Zitat
Zusammenspiel mit weekprofile

Mit dem Modul weekprofile können Temperaturprofile erstellt werden und für verschiedene Anlässe vorbereitet werden. WeekdayTimer kann diese Temperaturlisten verwenden. Dazu ist Voraussetzung, dass in der Definition das weekprofile-Device angegeben wird. Einfaches Beispiel ohne $we-Berücksichtigung (myWeekprofiles ist der Name des weekprofile-Devices):
...
Dasselbe mit $we-Berücksichtigung:

define wd    Weekdaytimer  device weekprofile:myWeekprofiles:true

Nur wie verbinde ich das jetzt mit den MQTT2-Devices? Ich fand Dein Beispiel in diesem Fred hilfreich: https://forum.fhem.de/index.php?topic=122120.0
Schaut aber so aus, als würde erstmal alles im Zieldevice mit den beiden Profilen überschrieben werden. Ich möchte eher die schon vorhandenen Werte ins Weekprofile aus MQTT2 Device übernehmen, einzelne Einträge abändern und dann zum ebus schicken.

Den Code konnte ich nur per copy&paste übernehmen. Da wäre ich anhand Cref/Wiki nicht drauf gekommen, dass ich das so schreiben muss (heißt, ich müsste künftig immer die Profile mit so langen Klammer-Dingern abändern? - man kann das Widget anklicken, OK). Sicherheitshalber habe ich die Setter auf falsche geändert.

Schaut aktuell so aus:

define MQTT2_ebusd_hc1_HP2 MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP2 userattr weekprofile
attr MQTT2_ebusd_hc1_HP2 model ebus_analyzeReadingList
attr MQTT2_ebusd_hc1_HP2 readingList ebusd/hc1/HP2.*:.* { FHEM::aTm2u_ebus::upd_day_profile( $NAME, $TOPIC, $EVENT, 'So|Mo|Di|Mi|Do|Fr|Sa' ) }
attr MQTT2_ebusd_hc1_HP2 room 12_Heizraum,MQTT2_DEVICE
attr MQTT2_ebusd_hc1_HP2 setList Sunday Hebusd/hc1/HP2.So/set\
Monday Hebusd/hc1/HP2.Mo/set\
Tuesday Hebusd/hc1/HP2.Di/set\
Wednesday Hebusd/hc1/HP2.Mi/set\
Thursday Hebusd/hc1/HP2.Do/set\
Friday Hebusd/hc1/HP2.Fr/set\
Saturday Hebusd/hc1/HP2.Sa/set
attr MQTT2_ebusd_hc1_HP2 weekprofile MQTT2_ebusd_hc1_HP2

define myWeekProfile weekprofile
attr myWeekProfile room 12_Heizraum

define myWeekdaytimer WeekdayTimer device weekprofile:myWeekprofile:true
attr myWeekdaytimer userattr weekprofile
attr myWeekdaytimer commandTemplate set $NAME  $EVENT
attr myWeekdaytimer room 12_Heizraum

setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:46:05 Friday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-10-18 07:23:59 IODev myMQTT_Server
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:46:45 Monday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:47:01 Saturday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:47:20 Sunday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:45:45 Thursday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:45:25 Tuesday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:46:25 Wednesday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So
setstate MQTT2_ebusd_hc1_HP2 2021-08-06 12:25:27 associatedWith MQTT2_ebusd_hc1
setstate MQTT2_ebusd_hc1_HP2 2021-09-13 07:33:28 attrTemplateVersion 2021-09-13 07:33:28 $Id: 99_attrTmqtt2_ebus_Utils.pm 24899 2021-08-30 17:39:44Z Beta-User

setstate myWeekProfile created
setstate myWeekProfile 2021-10-20 08:24:30 profile_count 2
setstate myWeekProfile 2021-10-19 12:23:15 state created

Wie im Fred vorgeschlagen, schaue ich mir noch an wie das laut mosquitto_sub ankommt. Das Weekdaytimer-Device benötige ich dann also doch nicht?

Muss mich wohl noch deutlich mehr einlesen. Rund um den Ebus-Krams ist für mich wohl nix einfach  :-[

Beta-User

Zitat von: rob am 20 Oktober 2021, 08:56:41
Ich schreibe das ungern, weil ich mir vorkomme, wie ein ewiger Anfänger. Habe mir die Cref + Wiki zu WeekProfile angesehen und leider nicht verstanden, was ich tun muss.
[...]
Muss mich wohl noch deutlich mehr einlesen. Rund um den Ebus-Krams ist für mich wohl nix einfach  :-[
Vorab: Aus der commandref zu weekprofile bin ich damals auch erst mal nicht schlau geworden - man braucht nach meiner Erfahrung einfach erst mal ein, zwei Profile, um zu verstehen, was es überhaupt tut bzw. tun kann. Hat man Hardware, die verwertbare Profile per default mitbringt (wie MAX- oder Homematic-Thermostate), gibt man einen als "Master" an. Aus dem erstellt dann weekprofile das erste "Muster-Profil", und dann ist auch das Web-Interface besser zu verstehen. Das fehlt aber bei M2D bzw. WDT, weil es keinen "standardisierten Rückweg" gibt bzw. ein WDT erst mal gar nichts weiß.

Das alles ist an sich schon komplex und hat (mal wieder) nichts mit ebus zu tun

ZitatDas Weekdaytimer-Device benötige ich dann also doch nicht?
Nein, wird nicht benötigt.

Für die Steuerung einer M2D-Instanz mit Hilfe von weekprofile gibt es schlicht und ergreifend zwei Wege:
Will man das Profil letztendlich autonom auf der eigentlichen Hardware laufen haben, muss es umgewandelt und an die Hardware verschickt werden. Das ergibt dann weekprofile+M2D.
Will (oder kann) man das nicht, braucht man eine Timer-Funktionalität, die auf FHEM läuft und die passenden Schaltbefehle dann zum entsprechenden Zeitpunkt (ggf. etwas verzögert) raushaut - ob das Zielgerät dann eine M2D-Instanz ist oder was ganz anderes, ist dabei völlig egal... (es wäre da aber z.B. möglich, zwischen Betriebsmodi der Heizung umzuschalten, also etwa "Tagmodus" bzw. "Absenkmodus").

ZitatAls Master wollte ich schlicht das MQTT2-Device angeben. Das klappt natürlich nicht.
Einen master braucht man nicht, s.o.

Zitat
Nur wie verbinde ich das jetzt mit den MQTT2-Devices? Ich fand Dein Beispiel in diesem Fred hilfreich: https://forum.fhem.de/index.php?topic=122120.0
Danke, so war's gedacht. Habe noch den Hinweis ergänzt, dass man die weitere Konfiguration dann besser in FHEMWEB/weekprofile erledigt.

Zitat
Schaut aber so aus, als würde erstmal alles im Zieldevice mit den beiden Profilen überschrieben werden.
Den Satz verstehe ich nicht: Es ist immer nur ein Profil aktiv, und man muss die Überragung aktiv anschubsen - entweder aus weekprofile heraus, oder über das M2D

ZitatIch möchte eher die schon vorhandenen Werte ins Weekprofile aus MQTT2 Device übernehmen, einzelne Einträge abändern und dann zum ebus schicken.
Das wird nicht klappen, weil sonst zum einen "Rückwärtscode" für M2D bereit stehen müßte und zum anderen weekprofile eine Funktion haben müßte, das abzurufen. Das lohnt m.E. den Aufwand nicht, zumal ich gewisse Gefahren sehe, dass da was schief geht. Die diversen Profile sind ja dann auf Basis des Beispiels schnell erstellt bzw. angepaßt...

Du hast jetzt halt etwas das "Pech", dass die Doku noch ausbaufähig ist - aber immerhin scheint das Coding in FHEM schon mal soweit konsistent zu sein, dass was passendes rausgeht (auch wenn die Datenpunkte in der csv wohl noch angepaßt werden müssen).
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

rob

Vielen Dank für Deine abermals flinke Klarstellung (gib es zu, Du hast Dich geklont und bist deshalb so fix ;) )

Zitat von: Beta-User am 20 Oktober 2021, 10:19:41
ZitatNur wie verbinde ich das jetzt mit den MQTT2-Devices? Ich fand Dein Beispiel in diesem Fred hilfreich: https://forum.fhem.de/index.php?topic=122120.0
Den Satz verstehe ich nicht: Es ist immer nur ein Profil aktiv, und man muss die Überragung aktiv anschubsen - entweder aus weekprofile heraus, oder über das M2D
Sorry für die Verwirrung. Ich mein das so: im M2D steht drin, was aktuell in der Weishaupt gespeichert ist. z.B.
setstate MQTT2_ebusd_hc1_HP2 2021-08-16 12:46:05 Friday 19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So

Erstelle ich nun ein Weekprofile und sage send_to_device, dann dürfte im M2D nicht mehr "19:00;;23:00;;00:00;;00:00;;00:00;;00:00;;Mo-So" stehen, sondern das aus dem neuen Profile.
Wenn die Werte in der Therme also bereits meinen Vortsellungen entsprechen, müsste ich halt initial darauf achten, dass ich genau dieses Profil im WeekProfile-Device auch anlege und eben nicht per copy+paste einfüge, weil sonst meine Werte in der Therme überschrieben werden - nämlich mit den Werten aus dem copy+paste.





OK, ich habe noch ein wenig herum gespielt.
a) im M2D einfach mal den vorhandenen Wert "bestätigt":
set MQTT2_ebusd_hc1_HP2 Friday 19:00;23:00;00:00;00:00;00:00;00:00;Mo-So
Log:
2021.10.20 11:41:20 3: MQTT2_DEVICE set MQTT2_ebusd_hc1_HP2 Friday 19:00;23:00;00:00;00:00;00:00;00:00;Mo-So
mosquitto_sub:
Hebusd/hc1/HP2.Fr/set 19:00;23:00;00:00;00:00;00:00;00:00;Mo-So
Im myWeekProfile Device nun das Profil default leer (Profile count sagt noch =2; Profil mytest ist noch da).

ein
get myWeekProfile profile_data default
ergibt: " "

ein Klick auf das Widget sagt:

fhemweb_weekprofile.js line 559:
TypeError: widget.PROFILE[sday] is undefined

danach ist das Widget nicht mehr anklickbar, nur noch ein ° ist zu sehen; Taste F5 hilft

b) Testprofil an M2D senden
ich lasse folgendes los:

set myWeekProfile send_to_device mytest MQTT2_ebusd_hc1_HP2


Web-UI sagt:

Unknown argument weekprofile, choose one of Sunday Monday Tuesday Wednesday Thursday Friday Saturday attrTemplate


Log sagt:

2021.10.20 11:52:18 1: myWeekProfile(Set): Unknown argument weekprofile, choose one of Sunday Monday Tuesday Wednesday Thursday Friday Saturday attrTemplate:?,General_Info,MQTT2_CLIENT_general_bridge,MQTT2_IO_ignoreRegexp_basic,MQTT2_IO_ignoreRegexp_tasmota,MQTT2_IO_ignoreRegexp_shelly,MQTT2_IO_ignoreRegexp_homeassistant,tasmota_basic,tasmota_basic_state_power1,tasmota_3channel_input_shelly_i3,shelly1,ESPurna_single_relay,eBus_daemon_splitter,eBus_analyzeReadingList,ebus_update_files_from_svn,eBus_bai_jsonMap_Status01,eBus_bai_readingsgroup_Status01_Balken,eBus_bai_readingsgroup_Status02,eBus_bai_readingsgroup_Status02_Balken,eBus_bai_readingsgroup_eBusCounter,eBus_bai_readingsgroup_eBusPumpe,eBus_Calormatic_readingsgroup_Set_Hcurve_Hotwater,eBus_Calormatic_TimeProgramm,eBus_4xx_devStateIcon_HeatCurve_HwcTemp,eBus_430_devStateIcon_Pump_Fan_HeatCurve_HwcTemp,eBus_bai_devStateIcon_Fan_Pump,eBus_bai_devStateIcon_Flow_Return_Hotwater_Temp,eBus_bai_devStateIcon_Waterpressure,eBus_bai_Status01+Status02_HWC,eBus_SetMode,eBus_Hc1HeatCurve+HwcTempDesired,eBus_bai_readingsgroup_Status01,ems-esp_heater_device,ems-esp_boiler,ems-esp_thermostat_read-only,ems-esp_thermostat_simple,ems-esp_thermostat_RC35_type,zigbee2mqtt_bridge,sonos2mqtt_bridge,sonos2mqtt_speaker,sonos2mqtt_bridge_comfort,roon,InstarCam,wled_controller,go_eCharger,go_eCharger_old,8channel_ethernet_board_split,8channel_ethernet_board_unified,6channel_ethernet_board_6input_split,6channel_ethernet_board_6input_unified,esp_milight_hub_bridge,OpenMQTTGateway_MCU,worx_landroid,wallpanel_app,weewx_weather_station,McLighting

Bei mosquitto_sub kommt so noch nichts an.

Also fehlt mir in beiden Fällen noch etwas. In den M2D stehen nur die Zeiten drin, keine Temperaturen. Im Weekprofile werden Temp. mitgegeben. Wird nicht obiges Problem sein, dürfte aber trotzdem ein weiteres Puzzlestück sein.
Das userattr "weekprofile" habe ich im M2D drin. Hast Du eine Idee?

Beta-User

#93
...da fehlt am M2D ein setter für weekprofile (bitte ggf. in die commandref zu den ebus-utils sehen, nicht, dass sich die Syntax geändert hat; da steht auch was zum Zusammenhang zwischen Temperaturen und on/off-Zeiträumen):
weekprofile { FHEM::aTm2u_ebus::send_weekprofile($NAME, $EVTPART1, $EVTPART2) }\ (Der "analyzer-Code" sollte den automatisch anlegen).

Und irgendwelche Aktionen am M2D haben keine Rückwirkungen auf die weekprofile-Instanz; da ist irgendwas anderes in die Binsen gegangen.

Den "Kreis" zwischen Reading setzen und Rückmeldung vom ebus-Dämon haben wir noch nicht geschlossen, kann gut sein, dass man da eine Abfrage hinterherschicken muss, um die erneuerten Profile zu erhalten.
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

rob

Zum fehlenden Setter
OK. Den Setter habe ich im Device in die setList eingetragen und mir auch die commandref wie empfohlen angeschaut. Ob sich die Syntax geändert hat, konnte ich nicht wirklich ausmachen. Schaut so aus, als würde das passen.

Kurzerhand wieder ein Profil "mytest" angelegt (per copy aus default). Inhalt:

Mon 00:00-12:00 18.0 °C 12:00-16:00 23.5 °C 16:00-24:00 15.0 °C
Tue 00:00-12:00 18.0 °C 12:00-16:00 23.5 °C 16:00-24:00 15.0 °C
Wed 00:00-12:00 18.0 °C 12:00-16:00 23.5 °C 16:00-24:00 15.0 °C
Thu 00:00-12:00 18.0 °C 12:00-16:00 23.5 °C 16:00-24:00 15.0 °C
Fri 00:00-12:00 18.0 °C 12:00-16:00 23.5 °C 16:00-24:00 15.0 °C
Sat 00:00-11:30 18.0 °C 11:30-16:30 23.5 °C 16:30-24:00 20.0 °C
Sun 00:00-11:00 18.0 °C 11:00-15:00 23.5 °C 15:00-24:00 15.0 °C


Und so geschwind den Befehl abgesetzt:
set myWeekProfile mytest MQTT2_ebusd_hc1_HP2

Laut moqsuitto_sub kommt das an:

Hebusd/hc1/HP2.So/set 11:00;15:00;-,-;-,-;-,-;-,-;selected
Hebusd/hc1/HP2.Mo/set 12:00;16:00;-,-;-,-;-,-;-,-;Mo-Fr
Hebusd/hc1/HP2.Mo/set 12:00;16:00;-,-;-,-;-,-;-,-;Mo-Fr
Hebusd/hc1/HP2.Sa/set 11:30;16:30;16:30;24:00;-,-;-,-;selected


Und Log sagt:

2021.10.27 06:56:50 3: MQTT2_DEVICE set MQTT2_ebusd_hc1_HP2 weekprofile myWeekProfile default:mytest
2021.10.27 06:56:50 3: MQTT2_DEVICE set MQTT2_ebusd_hc1_HP2 Sunday 11:00;15:00;-,-;-,-;-,-;-,-;selected
2021.10.27 06:56:50 3: MQTT2_DEVICE set MQTT2_ebusd_hc1_HP2 Monday 12:00;16:00;-,-;-,-;-,-;-,-;Mo-Fr
2021.10.27 06:56:50 3: MQTT2_DEVICE set MQTT2_ebusd_hc1_HP2 Monday 12:00;16:00;-,-;-,-;-,-;-,-;Mo-Fr
2021.10.27 06:56:50 3: MQTT2_DEVICE set MQTT2_ebusd_hc1_HP2 Saturday 11:30;16:30;16:30;24:00;-,-;-,-;selected


Danach ist das Profil "mytest" wieder leer. Grundsätzlich kommen Einträge also an. Nur komischerweise unvollständig - in obigem Profil sind ja alle Tage mit je drei Uhrzeiten belegt.



Zum Reading Lesen

Laut CSV werden von-bis-Wertepaare zum jeweiligen Heizprogramm und Tag erwartet; Bsp. im cli:
ebusctl write -c hc1 HP2.Mo.2 "01:00;02:00"

Dazu passend habe ich eine simple getList erstellt:

Mo_Range1 Monday ebusd/hc1/HP2.Mo.1/get
Mo_Range2 Monday ebusd/hc1/HP2.Mo.2/get
Mo_Range3 Monday ebusd/hc1/HP2.Mo.3/get
Di_Range1 Tuesday ebusd/hc1/HP2.Di.1/get
Di_Range2 Tuesday ebusd/hc1/HP2.Di.2/get
Di_Range3 Tuesday ebusd/hc1/HP2.Di.3/get
Mi_Range1 Thursday ebusd/hc1/HP2.Mi.1/get
Mi_Range2 Thursday ebusd/hc1/HP2.Mi.2/get
Mi_Range3 Thursday ebusd/hc1/HP2.Mi.3/get
Do_Range1 Wednesday ebusd/hc1/HP2.Do.1/get
Do_Range2 Wednesday ebusd/hc1/HP2.Do.2/get
Do_Range3 Wednesday ebusd/hc1/HP2.Do.3/get
Fr_Range1 Friday ebusd/hc1/HP2.Fr.1/get
Fr_Range2 Friday ebusd/hc1/HP2.Fr.2/get
Fr_Range3 Friday ebusd/hc1/HP2.Fr.3/get
Sa_Range1 Saturday ebusd/hc1/HP2.Sa.1/get
Sa_Range2 Saturay ebusd/hc1/HP2.Sa.2/get
Sa_Range3 Saturay ebusd/hc1/HP2.Sa.3/get
So_Range1 Sunday ebusd/hc1/HP2.So.1/get
So_Range2 Sunday ebusd/hc1/HP2.So.2/get
So_Range3 Sunday ebusd/hc1/HP2.So.3/get


Readings werden brav abgeholt. Leider bekomme ich immer einen Hinweis, wenn ich z.B. "get MQTT2_ebusd_hc1_HP2 Mi_Range1" absetze:
Timeout reading answer for ebusd/hc1/HP2.Mi.1/get

Und moqsuitto_sub sagt:

ebusd/hc1/HP2.Mi.1/get (null)
ebusd/hc1/HP2.Mi.1 {
     "End": {"value": "23:00"},
     "Start": {"value": "19:00"}}


An der Weishaupt lassen sich auch Tagebereiche bspw. Mo-Fr eingeben. Aber per aktuellem Setter klappt das noch nicht.
Müsste die setList nicht auch die einzelnen Wertepaare ansteuern analog dem getList-Beispiel? Wenn ich aktuell ein "set MQTT2_ebusd_hc1_HP2 Monday 19:00;23:00;00:00;00:00;00:00;00:00;Mo-So" absetze, welches sich aus der Vorbelegung der Readings ergibt, kommt via MQTT:

ebusd/hc1/HP2.Mo/set 19:00;20:00;21:00;22:00;00:00;00:00;Mo-So


Damit wird jedoch nichts an der Weishaupt gesetzt. Setze ich jedoch explizit ab:

set myMQTT_Server publish ebusd/hc1/HP2.Mo.1/set 19:00;20:00


kommt via MQTT:

ebusd/hc1/HP2.Mo.1/set 19:00;20:00
ebusd/hc1/HP2.Mo.1 {
     "Start": {"value": "19:00"},
     "End": {"value": "20:00"}}
ebusd/hc1/HP2.Mo.1 {
     "Start": {"value": "19:00"},
     "End": {"value": "20:00"}}


Klappt grundsätzlich. Doof: an der Stelle wird schon wieder alles verdreht. Ein get Mo_Range1 holt das Wertepaar, aber es kam schon verdreht an:

ebusd/hc1/HP2.Mo.1/get (null)
ebusd/hc1/HP2.Mo.1 {
     "End": {"value": "19:00"},
     "Start": {"value": "20:00"}}
ebusd/hc1/HP2.Mo.1 {
     "End": {"value": "19:00"},
     "Start": {"value": "20:00"}}


Da muss ich nochmal schauen, wo das nun wieder herkommt - hatte ich doch eigentl. gefixt  :o

Beta-User

Zitat von: rob am 27 Oktober 2021, 08:31:27
Danach ist das Profil "mytest" wieder leer. Grundsätzlich kommen Einträge also an. Nur komischerweise unvollständig - in obigem Profil sind ja alle Tage mit je drei Uhrzeiten belegt.
Schon, aber Zeiträume mit <20°C (default) sind "off", und der ebus interessiert sich nur für die "on"-Zeiträume ;) . Alles andere wird daher schlicht ignoriert. Das paßt also m.E. so.

Zitat
An der Weishaupt lassen sich auch Tagebereiche bspw. Mo-Fr eingeben. Aber per aktuellem Setter klappt das noch nicht.
Das sind m.E. mehrere Themen:
- der Code ermittelt, welche Art Profil es ist. Sind an allen Tagen alle Schaltzeiten gleich, ist es "Mo-So". Das wird dann so in das Sendeformat übergeben, das Reinhart in seiner "dummy-Lösung" gewählt hatte. Die ebus-Seite sollte das also prinzipiell verstehen, wenn sowas via MQTT kommt, ich kann aber natürlich mangels anderweitiger Rückmeldung nicht sicher sagen, ob das bis dahin paßt oder noch buggy ist.
- Hier sieht es mir mehr danach aus, als hätte dann der ebus-Client-Code Schwierigkeiten, das (vermutlich mangels entsprechender Infos in den csv?) in passende ebus-Signale umzuwandeln.

- der timeout kommt vermutlich, weil es keinen rechtzeitigen update des Reading-Werts aus der getList gab, es müßte dafür einen passenden Eintrag in der readingList geben, der diese Zweige abboniert (mit dem entsprechenden myUtils-Code-Aufruf).
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