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

SirBen

@Beta-User
Natürlich stelle ich mich als Tester zur Verfügung.  ;)
Habe die 00_MYSENSORS.pm überschrieben. Jetzt erhalte ich folgende Fehlermeldung in MYSENSOR_0:
jquery.min.js line 2:
Error: Syntax error, unrecognized expression: a[name=mapReadingType_\.+]
Das Attribut mapNode0Id habe ich nicht gefunden.
Muss ich noch mehr machen außer die .pm zu überschreiben?

Weitere Tests kann ich morgen vormittag vornehmen, muss gleich zur Arbeit.

Beta-User

Ähm, doofe Frage: Welches Modul hast du überschrieben?

Das von heute morgen sollte das gleichnamige IO-Modul ersetzen, anschließend sollte dann auch wieder die Zeile in 10_MYSENSORS_DEVICE.pm wieder deaktiviert werden, sonst sieht man keine Änderung.

Und das Attribut sollte dann am Gateway erscheinen, nicht an der Node, der Code von 10_... ist ja "unverändert" (so funktionierte das jedenfalls bei meinem Test heute morgen).
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

Ah, die Zeile in der 10_MYSENSORS habe ich nicht wieder deaktiviert. Überschrieben habe ich natürlich die gleichnamige Datei 00_MYSENSORS.
Vielleicht schaffe ich das ja heute Abend noch auszuprobieren. Ansonsten morgen früh.

ZitatDie Idee mit dem Mapping will sagen: Neues Device, in dem dann (exklusiv) alle Infos landen, die diese GW-Node betreffen; MYSENSOR_0 bliebe dann z.B. einem anderen GW überlassen.
So könnte man mehrere "aktive" GW's haben (sonst landet halt alles in der einen Node, und man kann nur eine Node steuern, also irgendwas anschalten oder Informationen hinsenden).
Ich hatte vor ein paar Wochen zum testen einen zweiten GW ins Netzwerk eingebunden. Hatte natürlich eine andere IP und MAC Adresse. In FHEM habe ich das zweite GW manuell angelegt und es MYSENSOR_1 genannt. Die Readings kamen von beiden GWs sauber getrennt an. Habe natürlich darauf geachtet, dass bei beiden GWs die Child_IDs einzigartig sind. Ich konnte sogar Werte an die jeweiligen GWs senden. Auch hier wieder auf die Child_IDs geachtet.
Wäre das nicht schon die Funktion des Mappings?
Ist natürlich recht umständlich und du würdest bestimmt davon abraten... ;D

Beta-User

Hmm,

klingt eventuell nach einem interessanten Ansatz, vielleicht geht das alles einfacher als ich dachte (und mit optionaler "Doppelverwendung" von ChildIDs). Kannst du mal lists von deinen 4 Geräten (2 GW's, 2 Nodes) zeigen?
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

Hier die List von MYSENSOR_0:
Internals:
   DEF        0
   FUUID      5c850f3f-f33f-2b06-4f48-5915a744b62b080b
   IODev      MySensorsGateway
   NAME       MYSENSOR_0
   NR         73
   STATE      alive
   TYPE       MYSENSORS_DEVICE
   ack        0
   protocol   2.3.1
   radioId    0
   repeater   0
   timeoutAlive 605
   version    2.3.1
   Helper:
     DBLOG:
       humidity1:
         TH_DbLog_Kind1:
           TIME       1553806321.0515
           VALUE      44.0
       humidity10:
         TH_DbLog_Kind1:
           TIME       1553806321.23268
           VALUE      47.7
         TH_DbLog_Schlafzimmer:
           TIME       1553806321.23715
           VALUE      47.7
       humidity13:
         TH_DbLog_Badezimmer:
           TIME       1553806321.29488
           VALUE      46.2
         TH_DbLog_Kind1:
           TIME       1553806321.29744
           VALUE      46.2
       humidity4:
         TH_DbLog_Kind2:
           TIME       1553806321.11838
           VALUE      45.9
       humidity7:
         TH_DbLog_Kind3:
           TIME       1553806321.17723
           VALUE      48.1
       status12:
         TH_DbLog_Schlafzimmer:
           TIME       1553806321.21789
           VALUE      off
       status15:
         TH_DbLog_Badezimmer:
           TIME       1553806321.27698
           VALUE      on
       status3:
         TH_DbLog_Kind1:
           TIME       1553806321.02956
           VALUE      on
       status6:
         TH_DbLog_Kind2:
           TIME       1553806321.10037
           VALUE      off
       status9:
         TH_DbLog_Kind3:
           TIME       1553806321.1591
           VALUE      on
       temperature11:
         TH_DbLog_Schlafzimmer:
           TIME       1553806321.1962
           VALUE      20.6
       temperature14:
         TH_DbLog_Badezimmer:
           TIME       1553806321.25524
           VALUE      21.5
       temperature2:
         TH_DbLog_Kind1:
           TIME       1553806320.99839
           VALUE      20.3
       temperature5:
         TH_DbLog_Kind2:
           TIME       1553806321.07517
           VALUE      20.9
       temperature8:
         TH_DbLog_Kind3:
           TIME       1553806321.13725
           VALUE      21.4
   READINGS:
     2019-03-28 21:52:01   humidity1       44.0
     2019-03-28 21:52:01   humidity10      47.7
     2019-03-28 21:52:01   humidity13      46.2
     2019-03-28 21:52:01   humidity4       45.9
     2019-03-28 21:52:01   humidity7       48.1
     2019-03-28 21:52:01   hvacsetpointheat12 20.0
     2019-03-28 21:52:01   hvacsetpointheat15 25.0
     2019-03-28 21:52:01   hvacsetpointheat3 21.0
     2019-03-28 21:52:01   hvacsetpointheat6 21.0
     2019-03-28 21:52:01   hvacsetpointheat9 22.0
     2019-03-28 21:47:29   state           alive
     2019-03-28 21:52:01   status12        off
     2019-03-28 21:52:01   status15        on
     2019-03-28 21:52:01   status3         on
     2019-03-28 21:52:01   status6         off
     2019-03-28 21:52:01   status9         on
     2019-03-28 21:52:01   temperature11   20.6
     2019-03-28 21:52:01   temperature14   21.5
     2019-03-28 21:52:00   temperature2    20.3
     2019-03-28 21:52:01   temperature5    20.9
     2019-03-28 21:52:01   temperature8    21.4
   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     
     hvacsetpointheat12 slider,18,0.5,26,1
     hvacsetpointheat15 slider,18,0.5,26,1
     hvacsetpointheat3 slider,18,0.5,26,1
     hvacsetpointheat6 slider,18,0.5,26,1
     hvacsetpointheat9 slider,18,0.5,26,1
     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
   event-min-interval humidity1:3600,humidity4:3600,humidity7:3600,humidity10:3600,humidity13:3600,temperature2:3600,temperature5:3600,temperature8:3600,temperature11:3600,temperature14:3600,status3:3600,status6:3600,status9:3600,status12:3600,status15:3600
   event-on-change-reading humidity1,humidity4,humidity7,humidity10,humidity13,temperature2,temperature5,temperature8,temperature11,temperature14,status3,status6,status9,status12,status15
   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
   setReading_hvacsetpointheat12 slider,18,0.5,26,1
   setReading_hvacsetpointheat15 slider,18,0.5,26,1
   setReading_hvacsetpointheat3 slider,18,0.5,26,1
   setReading_hvacsetpointheat6 slider,18,0.5,26,1
   setReading_hvacsetpointheat9 slider,18,0.5,26,1
   timeoutAlive 605
   version    2.3.1


Hier von MYSENSOR_1:
Internals:
   DEF        0
   FUUID      5c850f3e-f33f-2b06-0f81-259df9d5adc1b2c1
   IODev      MySensorsGateway2
   NAME       MYSENSOR_1
   NR         65
   STATE      alive
   TYPE       MYSENSORS_DEVICE
   ack        0
   protocol   2.3.1
   radioId    0
   repeater   0
   timeoutAlive 610
   READINGS:
     2019-02-26 09:37:41   humidity11      29.4
     2019-02-26 09:37:40   humidity8       29.2
     2019-02-26 09:37:40   hvacsetpointheat10 20.0
     2019-02-26 09:37:41   hvacsetpointheat13 21.5
     2019-03-28 21:47:22   state           alive
     2019-02-26 09:37:40   status10        off
     2019-02-26 09:37:41   status13        off
     2019-02-26 09:37:41   temperature12   22.0
     2019-02-26 09:37:40   temperature9    22.1
   readingMappings:
     10:
       0:
         name       temperature10
       2:
         name       status10
       21:
         name       hvacflowstate10
       45:
         name       hvacsetpointheat10
     11:
       1:
         name       humidity11
     12:
       0:
         name       temperature12
       42:
         name       id12
     13:
       0:
         name       temperature13
       2:
         name       status13
       21:
         name       hvacflowstate13
       45:
         name       hvacsetpointheat13
     8:
       1:
         name       humidity8
     9:
       0:
         name       temperature9
       42:
         name       id9
   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     
     hvacsetpointheat10 slider,18,0.5,24,1
     hvacsetpointheat13 slider,18,0.5,24,1
     reboot     noArg
     status10   off,on
     status13   off,on
     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      MySensorsGateway2
   mapReading_humidity11 11 humidity
   mapReading_humidity8 8 humidity
   mapReading_hvacflowstate10 10 hvacflowstate
   mapReading_hvacflowstate13 13 hvacflowstate
   mapReading_hvacsetpointheat10 10 hvacsetpointheat
   mapReading_hvacsetpointheat13 13 hvacsetpointheat
   mapReading_id12 12 id
   mapReading_id9 9 id
   mapReading_status10 10 status
   mapReading_status13 13 status
   mapReading_temperature10 10 temperature
   mapReading_temperature12 12 temperature
   mapReading_temperature13 13 temperature
   mapReading_temperature9 9 temperature
   mode       node
   room       Heizung
   setReading_hvacsetpointheat10 slider,18,0.5,24,1
   setReading_hvacsetpointheat13 slider,18,0.5,24,1
   setReading_status10 off,on
   setReading_status13 off,on
   timeoutAlive 610
   version    2.3.1


Hier von MySensorsGateway:
Internals:
   DEF        192.168.0.50:5003
   DeviceName 192.168.0.50:5003
   FD         5
   FUUID      5c850f3d-f33f-2b06-b021-f289e17a43432868
   NAME       MySensorsGateway
   NOTIFYDEV  global
   NR         59
   NTFY_ORDER 50-MySensorsGateway
   PARTIAL   
   STATE      startup complete
   TYPE       MYSENSORS
   ack        0
   inclusion-mode 1
   outstandingAck 0
   version    2.3.1
   READINGS:
     2019-03-28 21:47:29   connection      startup complete
     2019-03-28 21:47:25   state           opened
Attributes:
   autocreate 1
   mapNode0Id 0
   stateFormat connection


Hier von MySensorsGateway2:
Internals:
   DEF        192.168.0.51:5003
   DeviceName 192.168.0.51:5003
   FUUID      5c850f3d-f33f-2b06-ce47-163b763899562dd6
   NAME       MySensorsGateway2
   NEXT_OPEN  1553806549
   NOTIFYDEV  global
   NR         64
   NTFY_ORDER 50-MySensorsGateway2
   PARTIAL   
   STATE      disconnected
   TYPE       MYSENSORS
   READINGS:
     2019-02-26 09:19:31   connection      startup complete
     2019-03-28 21:54:49   state           disconnected
Attributes:
   autocreate 1
   stateFormat connection





Das neue Attribut wird im Übrigen angezeigt. Habe es, wie du sagtest, auf "0" gesetzt. Das Reading "state" ist aber wieder auf dead gewechselt.
Muss im Mysensors Sketch auf ein Heartbeat request reagiert werden? Das ist momentan nicht der Fall in meinem Sketch...

P.S.: Bei MYSENSOR_1 sind die Child_IDs veraltet und es würde so nicht funktionieren. Bis 15 belegt MYSENSOR_0 die IDs, ab 16 wäre frei für MYSENSOR_1.

Beta-User

Hmm,

man sieht in der zweiten Node bis auf state nur veraltete Readings, aber immerhin sieht das irgendwie nach einer Trennung aus. In jedem Fall scheinen beide aktualisiert zu werden, wenn es das betreffende Reading gibt (muß mal nachsehen, aber heatbeats sind da nicht anders als andere Messages, meine ich).

Bezgl. des GW-heartbeats: Der wird vom 00-er-Modul angefordert, der Arduino antwortet intern automatisch, ohne dass man das gesondert vercoden müßte. Auf dieser Basis arbeitet bereits seit längerem der Code für automatische Reconnects bei (WLAN-)Gateways.

Werde mal testen, ob ich die "Verteilung" der Node-0-Infos nicht besser über den Namen des MYSENSORS_DEVICE-Geräts machen will. Dann blieben alle "0"-er in der DEF. Sollte eigentlich einfach sein. Danke für den Schubs. Code dazu: Muß mal sehen...
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

#36
Zitat von: Beta-User am 29 März 2019, 07:18:45
Werde mal testen, ob ich die "Verteilung" der Node-0-Infos nicht besser über den Namen des MYSENSORS_DEVICE-Geräts machen will. Dann blieben alle "0"-er in der DEF.
Hmm, bei näherem Nachdenken ist das irgendwie doch nochmal anders; eigentlich müßte es reichen, einfach generell die heartbeats durchzulassen, ganz ohne Attribut usw...
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

So, zu guter letzt anbei eine Testversion, die folgendes macht:
Hat man nur ein GW, wird Node 0 ganz normal als MYSENSOR_0 angelegt (jetzt aber im room MYSENSORS_DEVICE).
Hat man ein weitere, wird jede "0"-er-Node als eigene Node angelegt, allerdings logischerweise mit einem anderen Namen, der vom Namen des GW abgeleitet wird; hier wird auch gleich das richtige IO zugewiesen. Das heartbeat-Reading im GW hat jetzt den Inhalt "alive" statt "last" (das will ich bei den Nodes auch noch umbauen, was aber etwas dauern wird...).

Wenn ich nichts nachteiliges höre, checke ich das vermutlich am WE ein; wenn es klappt, gibt's dann auch ein update bei DEVICE, das attrTemplate verfügbar macht.
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,
Messages collected while initializing FHEM:
configfile: MySensorsGateway: unknown attribute mapNode0Id. Type 'attr MySensorsGateway ?' for a detailed list.

Autosave deactivated

Ist das schlimm?

Ein Reading "heartbeat" habe ich nicht. State geht nach der eingestellten Zeit auf dead.
Muss ich noch was konfigurieren?
LG

Beta-User

Da alle heartbeats weitergeleitet werden, braucht es das Attribut nicht, ergo ist das rausgeflogen. Daher (einmalig) die Fehlermeldung dazu.

Ich lag auch nicht ganz richtig damit, dass ein GW immer vom Modul angepingt wird für einen heartbeat. Das stimmt mind. im laufenden Betrieb dann nicht mehr, wenn innerhalb von 5 Minuten gar keine Messages kommen, also auch keine Messdaten. Daher muß doch der code auf der Node im loop() eine aktive heartbeat-Sendung vorsehen.

Ich hatte gestern auch sowohl am GW (ich habe aber mit einem bestehenden GW getestet) wie an der neuen Node "heartbeat"-Readings. Die tauchen ggf. als neue Readings aber erst nach einem refresh des Browserfensters auf, und die Aktualisierung ist auch nicht-triggernd.

Zusammengefaßt: heartbeat-messages am GW aktivieren und wie üblich timeout an der Node setzen, das sollte es gewesen sein...
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

Habe gestern Abend noch im Code am Gateway geschaut, der heartbeat wird immer dann gesendet, wenn auch alle Werte übertragen werden. Ein neues Reading habe ich allerdings nicht erhalten.
TimeoutAlive steht weiterhin auf 605. Die readings kommen alle 5 Min.
Ich könnte nachher/heute Abend mal im Log Verbose 5 gucken ob da was von heartbeat ankommt.
Kann das sonst noch daran liegen, dass ich das Gateway nicht neu angelegt habe? Ein neues Reading sollte normalerweise doch von alleine auftauchen...
LG

Beta-User

Hmm, kannst du nochmal lists liefern?

(Ich habe da keine großen verbose-Ausgaben reingebastelt, ob "5" da was bringt?).
Neu ist halt, dass ggf. eine neue Node angelegt wird, das war bisher manchmal etwas unübersichtlich, weil immer wieder dieselbe Node angelegt wurde (was dann oft nicht zu erkennen war). Die neue beginnt dann nicht unbedingt mit MYSENSOR_, sondern hat den GW-Namen vorneweg (wenn es MYSENSOR_0 schon gibt mit einem anderen IO). Da du bisher 2 GW's genutzt hast, ist evtl. das das Problem, dass du an der falschen Stelle suchst?

Ansonsten sollten eigentlich auch vorhandene Devices funktionieren.
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

Ich schaue mir das heute Abend noch mal genau an. Komme da vorher leider nicht ran.
Melde mich dann.
LG

SirBen

Soooo,
hier mal die Lists von meinen Geräten:
Internals:
   DEF        192.168.0.50:5003
   DeviceName 192.168.0.50:5003
   FD         5
   FUUID      5c850f3d-f33f-2b06-b021-f289e17a43432868
   NAME       MySensorsGateway
   NOTIFYDEV  global
   NR         59
   NTFY_ORDER 50-MySensorsGateway
   PARTIAL   
   STATE      startup complete
   TYPE       MYSENSORS
   ack        0
   inclusion-mode 1
   outstandingAck 0
   version    2.3.1
   READINGS:
     2019-04-03 18:46:30   connection      startup complete
     2019-04-03 18:46:30   state           opened
Attributes:
   autocreate 1
   stateFormat connection


Internals:
   DEF        0
   FUUID      5c850f3f-f33f-2b06-4f48-5915a744b62b080b
   IODev      MySensorsGateway
   NAME       MYSENSOR_0
   NR         73
   STATE      dead
   TYPE       MYSENSORS_DEVICE
   ack        0
   protocol   2.3.1
   radioId    0
   repeater   0
   timeoutAlive 605
   version    2.3.1
   Helper:
     DBLOG:
       humidity1:
         TH_DbLog_Kind1:
           TIME       1554313261.10394
           VALUE      44.1
       humidity10:
         TH_DbLog_Kind1:
           TIME       1554313261.1843
           VALUE      44.3
         TH_DbLog_Schlafzimmer:
           TIME       1554313261.19059
           VALUE      44.3
       humidity13:
         TH_DbLog_Badezimmer:
           TIME       1554313261.22324
           VALUE      42.9
         TH_DbLog_Kind1:
           TIME       1554313261.22622
           VALUE      42.9
       humidity4:
         TH_DbLog_Kind2:
           TIME       1554312962.47954
           VALUE      43.7
       humidity7:
         TH_DbLog_Kind3:
           TIME       1554312664.58355
           VALUE      -999.0
       status12:
         TH_DbLog_Schlafzimmer:
           TIME       1554312366.66757
           VALUE      off
       status15:
         TH_DbLog_Badezimmer:
           TIME       1554312366.7039
           VALUE      on
       status3:
         TH_DbLog_Kind1:
           TIME       1554313261.08119
           VALUE      off
       status6:
         TH_DbLog_Kind2:
           TIME       1554312366.57138
           VALUE      off
       status9:
         TH_DbLog_Kind3:
           TIME       1554312664.56087
           VALUE      on
       temperature11:
         TH_DbLog_Schlafzimmer:
           TIME       1554312366.64005
           VALUE      21.7
       temperature14:
         TH_DbLog_Badezimmer:
           TIME       1554311472.68491
           VALUE      22.7
       temperature2:
         TH_DbLog_Kind1:
           TIME       1554313261.05211
           VALUE      21.8
       temperature5:
         TH_DbLog_Kind2:
           TIME       1554312366.54376
           VALUE      21.8
       temperature8:
         TH_DbLog_Kind3:
           TIME       1554312664.53324
           VALUE      -999.0
   READINGS:
     2019-04-03 19:41:01   humidity1       44.1
     2019-04-03 19:41:01   humidity10      44.3
     2019-04-03 19:41:01   humidity13      42.9
     2019-04-03 19:41:01   humidity4       43.7
     2019-04-03 19:41:01   humidity7       -999.0
     2019-04-03 19:41:01   hvacsetpointheat12 20.0
     2019-04-03 19:41:01   hvacsetpointheat15 25.0
     2019-04-03 19:41:01   hvacsetpointheat3 21.0
     2019-04-03 19:41:01   hvacsetpointheat6 20.5
     2019-04-03 19:41:01   hvacsetpointheat9 22.0
     2019-04-03 18:56:35   state           dead
     2019-04-03 19:41:01   status12        off
     2019-04-03 19:41:01   status15        on
     2019-04-03 19:41:01   status3         off
     2019-04-03 19:41:01   status6         off
     2019-04-03 19:41:01   status9         on
     2019-04-03 19:41:01   temperature11   21.7
     2019-04-03 19:41:01   temperature14   22.7
     2019-04-03 19:41:01   temperature2    21.8
     2019-04-03 19:41:01   temperature5    21.8
     2019-04-03 19:41:01   temperature8    -999.0
   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
   retainedMessagesForRadioId:
   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
   setcommands:
   sets:
     clear      noArg
     flash      noArg
     fwType     
     hvacsetpointheat12 slider,18,0.5,26,1
     hvacsetpointheat15 slider,18,0.5,26,1
     hvacsetpointheat3 slider,18,0.5,26,1
     hvacsetpointheat6 slider,18,0.5,26,1
     hvacsetpointheat9 slider,18,0.5,26,1
     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
   event-min-interval humidity1:3600,humidity4:3600,humidity7:3600,humidity10:3600,humidity13:3600,temperature2:3600,temperature5:3600,temperature8:3600,temperature11:3600,temperature14:3600,status3:3600,status6:3600,status9:3600,status12:3600,status15:3600
   event-on-change-reading humidity1,humidity4,humidity7,humidity10,humidity13,temperature2,temperature5,temperature8,temperature11,temperature14,status3,status6,status9,status12,status15,hvacsetpointheat3,hvacsetpointheat6,hvacsetpointheat9,hvacsetpointheat12,hvacsetpointheat15
   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
   setReading_hvacsetpointheat12 slider,18,0.5,26,1
   setReading_hvacsetpointheat15 slider,18,0.5,26,1
   setReading_hvacsetpointheat3 slider,18,0.5,26,1
   setReading_hvacsetpointheat6 slider,18,0.5,26,1
   setReading_hvacsetpointheat9 slider,18,0.5,26,1
   timeoutAlive 605
   version    2.3.1


Bei MysensorsGateway2 ist alles beim Alten. MYSENSORS_1 hat ebenfalls kein Heartbeat Reading bekommen.
Hmmmm...

LG

Beta-User

Irgendwas ist da schräg...

Ich habe eben mal die von mir aktuell verwendete 00_MYSENSORS.pm auf meine svn-Basis gezogen und ein diff gemacht. Mit der erhalte ich zum einen am GW ein heartbeat-Reading, wenn ich an einer Node, die als 0-er-Node das betreffende GW eingestellt ist (vorausgesetzt, es wird eine heartbeat-Message gesendet, was bei mir die aktive Anfrage benötigt bzw. bei einem GW, das grad gar keine weiteren Nodes zu empfangen hat).

Die Code-Änderung ist auch so minimal, dass ich mir das nicht recht erklären kann, das diff anbei...
Ich verwende zwar eine ebenfalls geringfügig modifizierte 10-er-Device-pm, aber daran kann es eigentlich kaum liegen und v.a. müßte trotzdem schon aufgrund des 00-er-Codes immer das Reading am GW vorhanden sein, wenn ein heartbeat ankommt (wenn er vom GW gesendet wird, sei es wegen harter codierung in der loop(), sei es aufgrund Anfrage seitens FHEM).
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