Ankündigung: Update auf MySensors 2.0 API - alive usw. geändert!

Begonnen von Beta-User, 04 Januar 2019, 13:05:24

Vorheriges Thema - Nächstes Thema

Beta-User

Zur Info @all:

Habe eben ein "größeres" update ins svn geschoben, das die Änderung in 00_MYSENSORS bzgl. des heartbeat-forwardings sowie der automatischen Anlage mehrerer 0-er-Nodes bringt.

Dazu "kann" 10_MYSENSORS_DEVICE jetzt attrTemplate, eine kleine template-file habe ich auch mal dazu gepackt, mit deren Hilfe einige der Standard-Sketche mit einem Text-stateFormat versehen werden können.

Wenn es klappt, würde ich demnächst gerne noch die Umstellung der heartbeat-Geschichte auf "nur" ein eigenes Reading am WE machen und hier mal vorab posten, danach soll es dann auch ein paar templates geben, die den Heartbeat-Status besser visualisieren und mit Symbolen bei devStateIcon arbeiten, das ist dann hübscher und das eigentliche Etappenziel. Danach würde ich dann auch eine etwas prominentere "Ankündigung" dazu posten...

Warum die heartbeat-Infos raus aus dem state?
Ich würde mittelfristig gerne die setExtensions wenigstens für einen Aktorkanal in MySensors-Device direkt verfügbar machen, was aber potentiell in Konflikt gerät mit heartbeat-Aktualisierungen. Es sollte außer ein paar kleineren Anpassungen, die ihr als User dann vornehmen müßtet keine größeren Auswirkungen haben. Mit Anpassungen ist sowas gemeint wie Ziel bei Readingsgroup-Anweisungen anpassen, ggf. Event-Handler und Abfragen auf heartbeat statt state umbiegen. Was sinnvollerweise wohl weiter im state bleiben sollte, wären NACK-Meldungen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

SirBen

Moin,
ich habe heute das MYSENSOR_0 und MYSENSOR_1 gelöscht und auf die automatische Einrichtung gewartet. Als Attribut wieder timeoutAlive auf 605 gestellt. Hier das automatisch angelegte Device:
Internals:
   CFGFN     
   DEF        0
   FUUID      5ca62a70-f33f-2b06-a313-a10c52bccf0d14eb
   IODev      MySensorsGateway
   NAME       MYSENSOR_0
   NR         226
   STATE      dead
   TYPE       MYSENSORS_DEVICE
   ack        0
   radioId    0
   repeater   0
   timeoutAlive 1
   version    2.3.1
   Helper:
     DBLOG:
       humidity1:
         TH_DbLog_Kind1:
           TIME       1554402204.38678
           VALUE      42.5
       humidity10:
         TH_DbLog_Kind1:
           TIME       1554402204.60256
           VALUE      43.3
         TH_DbLog_Schlafzimmer:
           TIME       1554402204.60727
           VALUE      43.3
       humidity13:
         TH_DbLog_Badezimmer:
           TIME       1554402204.66337
           VALUE      43.9
         TH_DbLog_Kind1:
           TIME       1554402204.66587
           VALUE      43.9
       humidity4:
         TH_DbLog_Kind2:
           TIME       1554402204.46458
           VALUE      44.4
       humidity7:
         TH_DbLog_Kind3:
           TIME       1554402204.54396
           VALUE      44.4
       status12:
         TH_DbLog_Schlafzimmer:
           TIME       1554402204.59002
           VALUE      off
       status15:
         TH_DbLog_Badezimmer:
           TIME       1554402204.64784
           VALUE      off
       status3:
         TH_DbLog_Kind1:
           TIME       1554402204.36693
           VALUE      on
       status6:
         TH_DbLog_Kind2:
           TIME       1554402204.44486
           VALUE      on
       status9:
         TH_DbLog_Kind3:
           TIME       1554402204.5282
           VALUE      off
       temperature11:
         TH_DbLog_Schlafzimmer:
           TIME       1554402204.56022
           VALUE      21.8
       temperature14:
         TH_DbLog_Badezimmer:
           TIME       1554402204.61813
           VALUE      21.9
       temperature2:
         TH_DbLog_Kind1:
           TIME       1554402204.31536
           VALUE      20.4
       temperature5:
         TH_DbLog_Kind2:
           TIME       1554402204.4079
           VALUE      20.9
       temperature8:
         TH_DbLog_Kind3:
           TIME       1554402204.4848
           VALUE      21.7
   READINGS:
     2019-04-04 20:23:24   humidity1       42.5
     2019-04-04 20:23:24   humidity10      43.3
     2019-04-04 20:23:24   humidity13      43.9
     2019-04-04 20:23:24   humidity4       44.4
     2019-04-04 20:23:24   humidity7       44.4
     2019-04-04 20:23:24   hvacsetpointheat12 22.0
     2019-04-04 20:23:24   hvacsetpointheat15 22.0
     2019-04-04 20:23:24   hvacsetpointheat3 22.0
     2019-04-04 20:23:24   hvacsetpointheat6 22.0
     2019-04-04 20:23:24   hvacsetpointheat9 22.0
     2019-04-04 18:07:20   state           dead
     2019-04-04 20:23:24   status12        off
     2019-04-04 20:23:24   status15        off
     2019-04-04 20:23:24   status3         on
     2019-04-04 20:23:24   status6         on
     2019-04-04 20:23:24   status9         off
     2019-04-04 20:23:24   temperature11   21.8
     2019-04-04 20:23:24   temperature14   21.9
     2019-04-04 20:23:24   temperature2    20.4
     2019-04-04 20:23:24   temperature5    20.9
     2019-04-04 20:23:24   temperature8    21.7
   gets:
   readingMappings:
     1:
       1:
         name       humidity1
     10:
       1:
         name       humidity10
     11:
       0:
         name       temperature11
       42:
         name       id11
     12:
       0:
         name       temperature12
       2:
         name       status12
       21:
         name       hvacflowstate12
       45:
         name       hvacsetpointheat12
     13:
       1:
         name       humidity13
     14:
       0:
         name       temperature14
       42:
         name       id14
     15:
       0:
         name       temperature15
       2:
         name       status15
       21:
         name       hvacflowstate15
       45:
         name       hvacsetpointheat15
     2:
       0:
         name       temperature2
       42:
         name       id2
     3:
       0:
         name       temperature3
       2:
         name       status3
       21:
         name       hvacflowstate3
       45:
         name       hvacsetpointheat3
     4:
       1:
         name       humidity4
     5:
       0:
         name       temperature5
       42:
         name       id5
     6:
       0:
         name       temperature6
       2:
         name       status6
       21:
         name       hvacflowstate6
       45:
         name       hvacsetpointheat6
     7:
       1:
         name       humidity7
     8:
       0:
         name       temperature8
       42:
         name       id8
     9:
       0:
         name       temperature9
       2:
         name       status9
       21:
         name       hvacflowstate9
       45:
         name       hvacsetpointheat9
   sensorMappings:
     0:
       receives:
       sends:
         16
         15
     1:
       receives:
       sends:
         16
         15
     10:
       receives:
       sends:
         6
         7
     11:
       receives:
       sends:
         11
     12:
       receives:
       sends:
         12
         14
     13:
       receives:
         24
       sends:
         17
         18
         54
         55
         56
         24
     14:
       receives:
       sends:
         45
         21
         0
         2
     15:
       receives:
       sends:
         13
         43
     16:
       receives:
       sends:
         23
         37
     17:
       receives:
       sends:
     18:
       receives:
       sends:
     19:
       receives:
         36
       sends:
         36
     2:
       receives:
       sends:
         16
         15
     20:
       receives:
         32
       sends:
         33
         50
         32
     21:
       receives:
         24
       sends:
         34
         35
         24
     22:
       receives:
       sends:
         37
         43
     23:
       receives:
         24
         25
         26
         27
         28
       sends:
         24
         25
         26
         27
         28
     24:
       receives:
       sends:
         37
         43
     25:
       receives:
       sends:
         19
         20
     26:
       receives:
         40
         17
         3
       sends:
         40
         17
         3
     27:
       receives:
         41
         17
         3
       sends:
         41
         17
         3
     28:
       receives:
         40
       sends:
         40
     29:
       receives:
       sends:
         2
         0
         45
         44
         21
         46
         22
     3:
       receives:
         2
         17
       sends:
         2
         17
     30:
       receives:
       sends:
         38
         39
         14
     31:
       receives:
       sends:
         2
         16
     32:
       receives:
       sends:
         16
         15
     33:
       receives:
       sends:
         37
         16
         15
     34:
       receives:
       sends:
         37
         16
         15
     35:
       receives:
       sends:
         37
         16
         15
     36:
       receives:
         47
       sends:
         47
     37:
       receives:
       sends:
         34
         35
     38:
       receives:
       sends:
         49
     39:
       receives:
       sends:
         0
         51
         52
         53
         2
     4:
       receives:
         2
         3
         17
       sends:
         2
         3
         17
     5:
       receives:
         29
         30
         31
         3
       sends:
         29
         30
         31
         3
     6:
       receives:
       sends:
         0
         42
     7:
       receives:
       sends:
         1
     8:
       receives:
       sends:
         4
         5
     9:
       receives:
       sends:
         8
         9
         10
   sets:
     clear      noArg
     flash      noArg
     fwType     
     reboot     noArg
     time       noArg
   typeMappings:
     0:
       type       temperature
     1:
       type       humidity
     10:
       type       direction
     11:
       type       uv
     12:
       type       weight
     13:
       type       distance
     14:
       type       impedance
     15:
       type       armed
       val:
         0          off
         1          on
     16:
       type       tripped
       val:
         0          off
         1          on
     17:
       type       power
     18:
       type       energy
     19:
       type       button_on
     2:
       type       status
       val:
         0          off
         1          on
     20:
       type       button_off
     21:
       type       hvacflowstate
     22:
       type       hvacspeed
     23:
       type       brightness
       range:
         max        100
         min        0
         step       1
     24:
       type       value1
     25:
       type       value2
     26:
       type       value3
     27:
       type       value4
     28:
       type       value5
     29:
       type       up
     3:
       type       percentage
       range:
         max        100
         min        0
         step       1
     30:
       type       down
     31:
       type       stop
     32:
       type       ir_send
     33:
       type       ir_receive
     34:
       type       flow
     35:
       type       volume
     36:
       type       lockstatus
       val:
         0          off
         1          on
     37:
       type       level
     38:
       type       voltage
     39:
       type       current
     4:
       type       pressure
     40:
       type       rgb
     41:
       type       rgbw
     42:
       type       id
     43:
       type       unitprefix
     44:
       type       hvacsetpointcool
     45:
       type       hvacsetpointheat
     46:
       type       hvacflowmode
     47:
       type       text
     48:
       type       custom
     49:
       type       position
     5:
       type       forecast
       val:
         0          stable
         1          sunny
         2          cloudy
         3          unstable
         4          thunderstorm
         5          unknown
     50:
       type       ir_record
     51:
       type       ph
     52:
       type       orp
     53:
       type       ec
     54:
       type       value
     55:
       type       va
     56:
       type       power_factor
     6:
       type       rain
     7:
       type       rainrate
     8:
       type       wind
     9:
       type       gust
Attributes:
   IODev      MySensorsGateway
   mapReading_humidity1 1 humidity
   mapReading_humidity10 10 humidity
   mapReading_humidity13 13 humidity
   mapReading_humidity4 4 humidity
   mapReading_humidity7 7 humidity
   mapReading_hvacflowstate12 12 hvacflowstate
   mapReading_hvacflowstate15 15 hvacflowstate
   mapReading_hvacflowstate3 3 hvacflowstate
   mapReading_hvacflowstate6 6 hvacflowstate
   mapReading_hvacflowstate9 9 hvacflowstate
   mapReading_hvacsetpointheat12 12 hvacsetpointheat
   mapReading_hvacsetpointheat15 15 hvacsetpointheat
   mapReading_hvacsetpointheat3 3 hvacsetpointheat
   mapReading_hvacsetpointheat6 6 hvacsetpointheat
   mapReading_hvacsetpointheat9 9 hvacsetpointheat
   mapReading_id11 11 id
   mapReading_id14 14 id
   mapReading_id2 2 id
   mapReading_id5 5 id
   mapReading_id8 8 id
   mapReading_status12 12 status
   mapReading_status15 15 status
   mapReading_status3 3 status
   mapReading_status6 6 status
   mapReading_status9 9 status
   mapReading_temperature11 11 temperature
   mapReading_temperature12 12 temperature
   mapReading_temperature14 14 temperature
   mapReading_temperature15 15 temperature
   mapReading_temperature2 2 temperature
   mapReading_temperature3 3 temperature
   mapReading_temperature5 5 temperature
   mapReading_temperature6 6 temperature
   mapReading_temperature8 8 temperature
   mapReading_temperature9 9 temperature
   mode       node
   room       Heizung
   timeoutAlive 1


Kein Heartbeat :-/

Mit MYSController habe ich mal eine Verbindung aufgebaut und ein I_HEARTBEAT_REQUEST gesendet. Hier das Ergebnis:

04.04.2019 20:27:47 INFO Connected to 192.168.0.50:5003
04.04.2019 20:27:50 TX 0;0;3;0;18;
04.04.2019 20:27:50 RX 0;255;3;0;14;Gateway startup complete.
04.04.2019 20:27:50 RX 0;255;0;0;17;2.3.1
04.04.2019 20:27:50 DEBUG Update child id=255, type=S_ARDUINO_NODE
04.04.2019 20:27:50 RX 0;255;3;0;11;Heizungssteuerung OG
04.04.2019 20:27:50 RX 0;255;3;0;12;1.0
04.04.2019 20:27:50 RX 0;1;0;0;7;
04.04.2019 20:27:50 DEBUG Update child id=1, type=S_HUM
04.04.2019 20:27:50 RX 0;2;0;0;6;
04.04.2019 20:27:50 DEBUG Update child id=2, type=S_TEMP
04.04.2019 20:27:50 RX 0;3;0;0;14;
04.04.2019 20:27:50 DEBUG Update child id=3, type=S_HEATER
04.04.2019 20:27:50 RX 0;4;0;0;7;
04.04.2019 20:27:50 DEBUG Update child id=4, type=S_HUM
04.04.2019 20:27:50 RX 0;5;0;0;6;
04.04.2019 20:27:50 DEBUG Update child id=5, type=S_TEMP
04.04.2019 20:27:50 RX 0;6;0;0;14;
04.04.2019 20:27:50 DEBUG Update child id=6, type=S_HEATER
04.04.2019 20:27:50 RX 0;7;0;0;7;
04.04.2019 20:27:50 DEBUG Update child id=7, type=S_HUM
04.04.2019 20:27:50 RX 0;8;0;0;6;
04.04.2019 20:27:50 DEBUG Update child id=8, type=S_TEMP
04.04.2019 20:27:50 RX 0;9;0;0;14;
04.04.2019 20:27:50 DEBUG Update child id=9, type=S_HEATER
04.04.2019 20:27:50 RX 0;10;0;0;7;
04.04.2019 20:27:50 DEBUG Update child id=10, type=S_HUM
04.04.2019 20:27:50 RX 0;11;0;0;6;
04.04.2019 20:27:50 DEBUG Update child id=11, type=S_TEMP
04.04.2019 20:27:50 RX 0;12;0;0;14;
04.04.2019 20:27:50 DEBUG Update child id=12, type=S_HEATER
04.04.2019 20:27:50 RX 0;13;0;0;7;
04.04.2019 20:27:50 DEBUG Update child id=13, type=S_HUM
04.04.2019 20:27:50 RX 0;14;0;0;6;
04.04.2019 20:27:50 DEBUG Update child id=14, type=S_TEMP
04.04.2019 20:27:50 RX 0;15;0;0;14;
04.04.2019 20:27:50 DEBUG Update child id=15, type=S_HEATER

Passt die Antwort vom Gateway zu dem Mysensors-code in FHEM?

Habe auch noch ein weiteres mal die 00_MYSENSORS.pm runtergeladen und überschrieben.
Rechte und Besitzer passen alle.

Kann ich noch etwas ausprobieren?

Vielen Dank und LG

EDIT: Habe gerade gemerkt, dass timeoutAlive die 605 nicht gefressen hat, stand eine "1" drin... Habe das Attribut gerade auf 605 geändert.
Parallel habe ich die DHT Lib auf meinem Gateway geändert. Sonst nichts. Das state Reading ist leider weiterhin dead...

Beta-User

Kannst du einfach mal ein update machen, dann sollten wir (im wesentlichen) auf demselben Stand sein.

Ich hatte nach dem darauf folgenden Neustart den Effekt, dass ich für eines der GW's eine neue Node erhalten habe, die dann eine "alte" 0-er auf "dead" geschoben hat (vermute: weil der Name nicht gepaßt hat). Aber an sich klappt das zumindest dann, wenn die Node den "richtigen Namen" hat; da landen dann auch heartbeat-Antworten, die ich von der "dead"-None aus anfordere....
Ist alles noch etwas "speziell" :o .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

SirBen

Moin @Beta-User
Habe heute morgen ein Update gemacht. Leider weiterhin kein heartbeat oder alive zu finden. Bei ,,Everything" unter ,,MYSENSOR_DEVICES" habe ich nur MYSENSOR_0. Kein weiteres Device.
Würdest du mir deine 10_MYSENSOR_DEVICE.pm zur Verfügung stellen, um das auch ausschließen zu können? Oder ist die mit dem Update schon aktuell auf dem richtigen Stand?
Hast du sonst noch eine Idee?
LG
Edit: Nur um das noch gesagt zu haben: Nach einem reconnect seitens FHEM zum Gateway (zB wegen Verbindungsverlust) wechselt das Reading state auf Alive, bis die 605 Sekunden überschritten sind. Dann wechselt es auf dead. Vielleicht hilft das noch?

Beta-User

Kannst du mal von MYSENSOR_0 aus einen heartbeat anfordern (get...)?

Die -Device ist nicht schuld, da bin ich sehr sicher. Ich werde es mir am WE aber auch nochmal ansehen, da will ich eh' das "last" durch "alive"/"dead" ersetzen, dann können alle schon mal damit arbeiten.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

SirBen

Ja, habe ich gemacht. Keine Änderung. state bleibt dead und kein neuer Timestamp. Kein neues Device wurde angelegt. Im Log keine Mitteilung (verbose 3).

Beta-User

Hmmm, wenn das richtige IO bei dem neuen Device eingetragen ist (was es aufgrund des umgestellten Automatismus auch dann sein sollte, wenn später ein anderes MYSENSORS-IO definiert wurde), ist das anders, als sich meine hier verhalten (ich habe aktuell 3 neugestartete GW's mit je eigener Node, und da paßt die Zurdnung der heartbeats....

Wei gesagt, ich will am WE eh' noch ein paar Kleinigkeiten umstellen, dann kommen wir auch wieder alle auf den gleichen Stand.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

#52
Hallo zusammen,

anbei ein weiteres update für MySensors_DEVICE mdB. um allgemeines Testen und feedback.

Folgendes ist dabei umgestellt:
- die heartbeat-messages wirken sich nicht mehr auf den "state" aus, sondern werden rein intern in dem heartbeat-Reading verwaltet, dafür wird jetzt bei jeder Aktualisierung getriggert (das stelle ich bei entsprechendem Bedarf auch wieder um, man kann es aber auch über event-on... rausfiltern). Wer mag, kann stateFormat nutzen, tendenziell wäre es besser, dann für Benachrichtigungsmechanismen usw. das Reading direkt auszulesen.
- die internen Timer werden etwas anders verwaltet, das sollte aber an sich keine wesentliche Änderung der Funktionsweise mitbringen.

Der eigentliche Benefit:
Wer bei schaltbaren Nodes "setCommands" nutzt (z.B. für eine typische Relay-Node mit "on:status1:on off:status1:off"), sollte jetzt so ziemlichen den vollen Support durch die SetExtensions haben, einschließlich der Anzeige des on-for-timer usw.. im STATE.

Ist noch nicht heavily tested, also Mutige bitte voran, wäre schön, ich könnte das einigermaßen zeitnah einchecken und die mysensors.template entsprechend ergänzen...

Viel Spaß damit,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

SirBen

Moin,
ich habe ein bisschen Fehlersuche betrieben und herausgefunden, dass mein GW keinen heartbeat sendet trotz code. Ist anscheinend ein Bug. Hier die Referenz zum Mysensors Forum:
https://forum.mysensors.org/topic/10314/heartbeat-gateway
und zu Github:
https://github.com/mysensors/MySensors/pull/1273

Mit der Modifikation von der 10_MYSENSORS_DEVICE.pm erhalte ich ein heartbeat Reading. Nach dem reconnect von meinem GW wird dies auch als alive angezeigt. Funktioniert also.  ;)
stateFormat mit heartbeat ändert wie gewohnt den STATE. Passt bisher alles.
Den Rest (setCommands etc.) habe ich bisher nicht genutzt.
LG und Danke für die Mühe!

Beta-User

@tmandel:
Gibt es im Vorgriff auf den von dir bei MySensors eingereichten Patch irgendwas, was man schon vorbereiten kann? Ich habe leider nicht so ganz verstanden, ob es jetzt ab 2.3.2 neue Message-Types geben soll oder nicht.

@SirBen:
Danke für die Rückmeldung zu unserem Problem, ich war zugegebenermaßen schon etwas ratlos.

@all:
Meine eigene Überwachung im übrigen FHEM-Code (ReadingsGroup und devStateIcon-Code) habe ich auch umgestellt, das war eigentlich eine Kleinigkeit, es mußte nur an einigen wenigen Stellen das angezogene Reading von "state" auf "heartbeat" umgestellt werden.

Ich habe noch ein paar Kleinigkeiten im Handling der SetExtensions (Canceln und Auswirkungen auf "state") geändert und will das dann wieder hier posten, wenn ich es mit ACK-Nodes selbst getestet habe. Sind nur Feinheiten (hoffe ich zumindest), das kann aber trotzdem noch etwas dauern.

Ansonsten hoffe ich, dass wir damit wieder einigermaßen up-to-date wären, und dann wieder das Aufhübschen auf der Tagesordnung stehen kann?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

SirBen

@Beta-User
Kleine Rückmeldung noch:
Die MySensorsCore.cpp habe ich entsprechend modifiziert wie es auf Github bereits von tekka in die Beta eingepflegt wurde.
Jetzt funktioniert das heartbeat-Reading wie erhofft.
Danke nochmal!
LG