Autor Thema: ebus Weishaupt MQTT im Zusammenspiel  (Gelesen 5717 mal)

Offline rob

  • Full Member
  • ***
  • Beiträge: 493
ebus Weishaupt MQTT im Zusammenspiel
« am: 13 Juli 2021, 17:33:38 »
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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #1 am: 14 Juli 2021, 07:40:20 »
    ...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

    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #2 am: 14 Juli 2021, 08:12:54 »
    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:
    ebusd/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...

    ...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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #3 am: 14 Juli 2021, 10:01:52 »
    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 :)

    - 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.

    @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?

    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).

    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 :)

    ...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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rudolfkoenig

    • Administrator
    • Hero Member
    • *****
    • Beiträge: 24914
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #4 am: 14 Juli 2021, 10:23:40 »
    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.

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #5 am: 14 Juli 2021, 11:29:53 »
    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?

    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).



    Zitat
    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 :)
    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"...

    Zitat
    Woher 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:
    Zitat
    setstate 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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #6 am: 14 Juli 2021, 11:54:49 »
    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")

    ...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.
    « Letzte Änderung: 14 Juli 2021, 12:40:29 von rob »
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #7 am: 14 Juli 2021, 12:24:29 »
    (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?
    Zitat
    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.
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #8 am: 14 Juli 2021, 12:59:56 »
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline beaune

    • Full Member
    • ***
    • Beiträge: 111
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #9 am: 14 Juli 2021, 13:05:08 »
    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...

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #10 am: 14 Juli 2021, 13:18:41 »
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #11 am: 14 Juli 2021, 13:31:02 »
    @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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #12 am: 14 Juli 2021, 13:50:00 »
    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.

    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

    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rudolfkoenig

    • Administrator
    • Hero Member
    • *****
    • Beiträge: 24914
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #13 am: 14 Juli 2021, 13:57:23 »
    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.

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #14 am: 14 Juli 2021, 14:09:11 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #15 am: 14 Juli 2021, 14:28:25 »
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams
    Gefällt mir Gefällt mir x 1 Liste anzeigen

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #16 am: 14 Juli 2021, 14:46:17 »
    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).

    Zitat
    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.). [...]
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #17 am: 14 Juli 2021, 15:03:28 »
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rudolfkoenig

    • Administrator
    • Hero Member
    • *****
    • Beiträge: 24914
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #18 am: 14 Juli 2021, 15:31:03 »
    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


    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #19 am: 14 Juli 2021, 15:53:07 »
    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.
    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.

    Zitat
    Bei 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...

    Zitat
    Vielleicht 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.

    Zitat
    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.
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rudolfkoenig

    • Administrator
    • Hero Member
    • *****
    • Beiträge: 24914
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #20 am: 14 Juli 2021, 16:16:03 »
    Zitat
    Folgendes 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

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #21 am: 14 Juli 2021, 16:20:55 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #22 am: 14 Juli 2021, 16:29:14 »
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #23 am: 14 Juli 2021, 16:41:49 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rudolfkoenig

    • Administrator
    • Hero Member
    • *****
    • Beiträge: 24914
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #24 am: 14 Juli 2021, 17:20:52 »
    Zitat
    Die 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.

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #25 am: 14 Juli 2021, 17:34:50 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #26 am: 14 Juli 2021, 18:12:50 »
    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.
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #27 am: 15 Juli 2021, 07:17:59 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #28 am: 15 Juli 2021, 09:23:52 »
    Das ging wirklich schnell  8)

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

    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #29 am: 15 Juli 2021, 11:32:23 »
    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}_") }
    « Letzte Änderung: 15 Juli 2021, 12:01:49 von Beta-User »
    Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #30 am: 15 Juli 2021, 12:53:53 »
    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"

    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?
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #31 am: 15 Juli 2021, 13:40:32 »
    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 ;) .

    Zitat
    Was 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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline TomLee

    • Hero Member
    • *****
    • Beiträge: 3903
    • ... wer sät, der erntet ...
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #32 am: 15 Juli 2021, 13:40:50 »
    Zitat
    Fü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 ?

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #33 am: 15 Juli 2021, 13:54:19 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #34 am: 15 Juli 2021, 15:46:42 »
    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...

    ...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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #35 am: 15 Juli 2021, 19:12:55 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #36 am: 15 Juli 2021, 21:37:12 »
    ...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:
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #37 am: 16 Juli 2021, 07:33:52 »
    @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...)

    - 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...)

    Zitat
    An 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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #38 am: 16 Juli 2021, 09:50:44 »
    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.

    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
     
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #39 am: 16 Juli 2021, 10:39:56 »
    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:
    Zitat
    Saturday 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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #40 am: 16 Juli 2021, 13:54:36 »
    ...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...
    « Letzte Änderung: 16 Juli 2021, 14:48:37 von Beta-User »
    Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rudolfkoenig

    • Administrator
    • Hero Member
    • *****
    • Beiträge: 24914
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #41 am: 17 Juli 2021, 12:49:30 »
    Zitat
    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.
    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.

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #42 am: 18 Juli 2021, 15:45:21 »
    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.

    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #43 am: 19 Juli 2021, 07:42:40 »
    Hallo.

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

    Den Hinweis hatte ich noch nicht verstanden:
    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:FrostProtectionHatte damit noch nichts weiter gemacht, weil ich erst alle Topic + Readings in Erfahrung bringen wollte.
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #44 am: 19 Juli 2021, 08:10:14 »
    ...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.
    « Letzte Änderung: 19 Juli 2021, 08:43:00 von rob »
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #45 am: 19 Juli 2021, 08:35:36 »
    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"}}
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #46 am: 19 Juli 2021, 08:58:23 »
    ...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...
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #47 am: 19 Juli 2021, 09:11:02 »
    ...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.
    « Letzte Änderung: 19 Juli 2021, 09:27:57 von rob »
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #48 am: 19 Juli 2021, 09:44:35 »
     :) 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:
    Zitat
    A 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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #49 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  :-[

    Das selected kommt aus dem hier:
    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 ;)


    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #50 am: 19 Juli 2021, 10:46:50 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #51 am: 19 Juli 2021, 10:54:00 »
    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.
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #52 am: 19 Juli 2021, 11:33:46 »
    Zitat
    Brauchen 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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #53 am: 19 Juli 2021, 11:36:22 »
    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?  ???
    « Letzte Änderung: 19 Juli 2021, 11:38:18 von rob »
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #54 am: 19 Juli 2021, 11:57:35 »
    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;
    « Letzte Änderung: 19 Juli 2021, 12:33:19 von Beta-User »
    Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #55 am: 19 Juli 2021, 12:29:04 »
    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.
    « Letzte Änderung: 19 Juli 2021, 12:57:45 von rob »
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #56 am: 19 Juli 2021, 12:58:31 »
    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.
    « Letzte Änderung: 19 Juli 2021, 13:01:57 von rob »
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #57 am: 19 Juli 2021, 14:20:53 »
    @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.)

    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.

    Zitat
    OK, 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...?
    « Letzte Änderung: 21 Juli 2021, 17:14:44 von Beta-User »
    Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rudolfkoenig

    • Administrator
    • Hero Member
    • *****
    • Beiträge: 24914
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #58 am: 19 Juli 2021, 15:24:56 »
    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.

    Zitat
    warum "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.

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #59 am: 19 Juli 2021, 15:48:15 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #60 am: 19 Juli 2021, 16:26:12 »
    @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.
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #61 am: 19 Juli 2021, 16:37:38 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #62 am: 19 Juli 2021, 16:54:14 »
    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


    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #63 am: 21 Juli 2021, 08:32:21 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #64 am: 21 Juli 2021, 10:33:23 »
    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.


    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...
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #65 am: 21 Juli 2021, 10:35:53 »
    Bilder vergessen ...  :P
    « Letzte Änderung: 21 Juli 2021, 10:38:57 von rob »
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #66 am: 21 Juli 2021, 14:43:47 »
    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...

    Zitat
    Der 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...

    Zitat
    Im 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.

    Zitat
    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...
    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 ;) .
    « Letzte Änderung: 23 Juli 2021, 15:28:45 von Beta-User »
    Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #67 am: 21 Juli 2021, 16:06:27 »
    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?

    ...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.
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #68 am: 21 Juli 2021, 16:22:47 »
    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 ;) .
    Zitat
    Wollte 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)

    Zitat
    Wegen 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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #69 am: 22 Juli 2021, 10:18:33 »
    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 $

    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #70 am: 22 Juli 2021, 10:59:45 »
    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)
    « Letzte Änderung: 23 Juli 2021, 15:28:17 von Beta-User »
    Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #71 am: 26 Juli 2021, 10:47:54 »
    ...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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #72 am: 26 Juli 2021, 10:59:55 »
    ...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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #73 am: 04 August 2021, 21:23:31 »
    ...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 .
    « Letzte Änderung: 04 August 2021, 21:25:28 von rob »
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #74 am: 05 August 2021, 10:38:51 »
    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};
    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) ?

    Zitat
    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.
    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...

    Zitat
    Die 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...).

    Zitat
    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.
    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.).

    Zitat
    Mein 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
    « Letzte Änderung: 06 August 2021, 08:46:07 von Beta-User »
    Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #75 am: 06 August 2021, 12:54:09 »
    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.
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #76 am: 16 August 2021, 15:07:13 »
    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.
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #77 am: 16 August 2021, 15:09:34 »
    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  ;)
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #78 am: 17 August 2021, 18:39:06 »
    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.

    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #79 am: 22 August 2021, 09:23:37 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #80 am: 22 August 2021, 11:26:46 »
    ...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.

    ...wird aber vermutlich dauern...
    Bin sehr froh um Deine Hilfe 8) und ich hab es nicht eilig.
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #81 am: 26 August 2021, 11:56:26 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #82 am: 30 August 2021, 08:01:26 »
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #83 am: 30 August 2021, 11:51:38 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #84 am: 18 Oktober 2021, 14:28:27 »
    Hallo Beta-User.

    Zu der Fragestellung:
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #85 am: 18 Oktober 2021, 14:53:48 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #86 am: 18 Oktober 2021, 16:07:08 »
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #87 am: 18 Oktober 2021, 16:17:44 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #88 am: 19 Oktober 2021, 08:43:50 »
    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.
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #89 am: 19 Oktober 2021, 09:49:30 »
    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 :) .

    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #90 am: 20 Oktober 2021, 08:56:41 »
    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  :-[
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #91 am: 20 Oktober 2021, 10:19: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

    Zitat
    Das 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").

    Zitat
    Als 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

    Zitat
    Ich 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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #92 am: 20 Oktober 2021, 12:03:31 »
    Vielen Dank für Deine abermals flinke Klarstellung (gib es zu, Du hast Dich geklont und bist deshalb so fix ;) )

    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
    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-SoLog:
    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-Somosquitto_sub:
    Hebusd/hc1/HP2.Fr/set 19:00;23:00;00:00;00:00;00:00;00:00;Mo-SoIm myWeekProfile Device nun das Profil default leer (Profile count sagt noch =2; Profil mytest ist noch da).

    ein
    get myWeekProfile profile_data defaultergibt: " "

    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?
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #93 am: 20 Oktober 2021, 12:31:41 »
    ...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.
    « Letzte Änderung: 20 Oktober 2021, 12:34:13 von Beta-User »
    Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

    Offline rob

    • Full Member
    • ***
    • Beiträge: 493
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #94 am: 27 Oktober 2021, 08:31:27 »
    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
    fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee2MQTT@ZigStarGW-LAN | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino | Dockerkrams

    Offline Beta-User

    • Developer
    • Hero Member
    • ****
    • Beiträge: 16894
    Antw:ebus Weishaupt MQTT im Zusammenspiel
    « Antwort #95 am: 27 Oktober 2021, 12:45:16 »
    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-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

     

    decade-submarginal