Reichweiten / Netzwerk / Routing Problem mit Northq NQ-9121-EU

Begonnen von T3mplate, 08 November 2017, 20:21:54

Vorheriges Thema - Nächstes Thema

T3mplate

Ich teste gerade einen Gaszähler von Northq.
Das Gerät funktioniert grundsätzlich.
Sobald ich das Gerät aber in den Keller schaffe verliert es seine Verbindung.

Damit habe ich zwar gerechnet, aber ich auch nach mehreren Stunden habe ich es nicht geschafft.
Mein Netz besteht aus 13 AKTIVEN ZWave Geräten, davon 2 im Keller. Ich kann ohne Übertreibung sagen, dass mein ZWave Netz stabil läuft. Ich habe sonst keine erkennbaren Ausfälle und meine Geräte reagieren schnell. Auch in den Logs ist nichts auffällig.

Was ich probiert habe:
- zahlreiche Neighbor Updates an verschiedenen Stellen. Ich habe auch versucht mich immer mehr der endgültigen Position zu nähern. Hinter der Kellertür ist aber immer Schluss
- mittels ,,routefor" eine Standardroute ergänzt: ,,routeFor_28 ZWaveStick Licht_Kinderzimmer Licht_Keller at 40kbps"

Hat jemand eine Idee für mich? Es handelt sich um ein batteriebetriebenes Gerät.
Anbei noch das List vom Node und vom Gaszähler:

Internals:
   CallbackNr 11
   Clients    :ZWave:
   DEF        /dev/ttyACM0@115200
   DeviceName /dev/ttyACM0@115200
   FD         11
   MaxSendRetries 3
   NAME       ZWaveStick
   NR         31
   PARTIAL
   RAWMSG     0004001b0a32022174000000000000
   ReadTime   1510168386.38854
   STATE      Initialized
   SendRetries 0
   SendTime   1510167901.29657
   TYPE       ZWDongle
   WaitForAck 0
   ZWaveStick_MSGCNT 5105
   ZWaveStick_TIME 2017-11-08 20:13:06
   homeId     f9713a89
   nodeIdHex  01
   nrNAck     0
   MatchList:
     1:ZWave    .*
   READINGS:
     2017-11-08 06:51:55   caps            Vers:5 Rev:2 ManufID:0115 ProductType:0400 ProductID:0001 SERIAL_API_GET_INIT_DATA SERIAL_API_APPL_NODE_INFORMATION APPLICATION_COMMAND_HANDLER ZW_GET_CONTROLLER_CAPABILITIES SERIAL_API_SET_TIMEOUTS SERIAL_API_GET_CAPABILITIES SERIAL_API_SOFT_RESET UNKNOWN_09 UNKNOWN_0a ZW_SET_R_F_RECEIVE_MODE ZW_SET_SLEEP_MODE ZW_SEND_NODE_INFORMATION ZW_SEND_DATA ZW_SEND_DATA_MULTI ZW_GET_VERSION ZW_SEND_DATA_ABORT ZW_R_F_POWER_LEVEL_SET ZW_SEND_DATA_META ZW_GET_RANDOM MEMORY_GET_ID MEMORY_GET_BYTE MEMORY_PUT_BYTE MEMORY_GET_BUFFER MEMORY_PUT_BUFFER FLASH_AUTO_PROG_SET UNKNOWN_28 NVM_GET_ID NVM_EXT_READ_LONG_BUFFER NVM_EXT_WRITE_LONG_BUFFER NVM_EXT_READ_LONG_BYTE NVM_EXT_WRITE_LONG_BYTE ZW_GET_NODE_PROTOCOL_INFO ZW_SET_DEFAULT ZW_REPLICATION_COMMAND_COMPLETE ZW_REPLICATION_SEND_DATA ZW_ASSIGN_RETURN_ROUTE ZW_DELETE_RETURN_ROUTE ZW_REQUEST_NODE_NEIGHBOR_UPDATE ZW_APPLICATION_UPDATE ZW_ADD_NODE_TO_NETWORK ZW_REMOVE_NODE_FROM_NETWORK ZW_CREATE_NEW_PRIMARY ZW_CONTROLLER_CHANGE ZW_SET_LEARN_MODE ZW_ASSIGN_SUC_RETURN_ROUTE ZW_REQUEST_NETWORK_UPDATE ZW_SET_SUC_NODE_ID ZW_DELETE_SUC_RETURN_ROUTE ZW_GET_SUC_NODE_ID ZW_SEND_SUC_ID ZW_EXPLORE_REQUEST_INCLUSION ZW_REQUEST_NODE_INFO ZW_REMOVE_FAILED_NODE_ID ZW_IS_FAILED_NODE ZW_REPLACE_FAILED_NODE UNKNOWN_66 UNKNOWN_67 UNKNOWN_78 GET_ROUTING_TABLE_LINE LOCK_ROUTE_RESPONSE ZW_GET_PRIORITY_ROUTE ZW_SET_PRIORITY_ROUTE UNKNOWN_98 ZW_SET_WUT_TIMEOUT ZW_WATCHDOG_ENABLE ZW_WATCHDOG_DISABLE ZW_WATCHDOG_CHECK ZW_SET_EXT_INT_LEVEL ZW_RF_POWERLEVEL_GET ZW_TYPE_LIBRARY ZW_SEND_TEST_FRAME ZW_GET_PROTOCOL_STATUS WATCHDOG_START WATCHDOG_STOP UNKNOWN_d4 UNKNOWN_ef ZME_FREQ_CHANGE ZME_BOOTLOADER_FLASH UNKNOWN_f5
     2017-11-07 17:18:54   ctrlCaps        PRIMARY
     2017-11-07 17:18:54   homeId          HomeId:xxxxxxx CtrlNodeIdHex:01
     2017-11-08 06:52:20   neighborList_0  empty
     2017-11-08 06:52:37   neighborList_09 ZWaveStick ZW_Rolladen1 ZWave_Sensor Keller_WallPlug Licht_Kinderzimmer WZ_Taster WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZW_Eingangstuer ZWave_WallPlug1 Licht_Wohnzimmer_Modul ZWave_Garage ZW_Kueche_Modul Gaszaehler
     2017-11-08 08:39:39   neighborList_10 ZWaveStick ZW_Rolladen1 ZWave_Sensor Keller_WallPlug ZWave_Sensor_aussen Licht_Keller DG_Rolladen_rechts WZ_Taster WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZW_Eingangstuer Licht_Wohnzimmer_Modul ZWave_Garage ZW_Kueche_Modul pump Gaszaehler
     2017-11-08 17:49:40   neighborList_11 ZW_Rolladen1 DG_Rolladen_rechts ZWave_Garage pump Gaszaehler
     2017-11-08 17:49:52   neighborList_12 ZW_Rolladen1 Licht_Kinderzimmer DG_Rolladen_links ZW_Eingangstuer pump Gaszaehler
     2017-11-08 06:58:21   neighborList_16 empty
     2017-11-08 17:47:53   neighborList_19 ZWaveStick ZW_Rolladen1 ZWave_Sensor ZWave_Sensor_aussen Licht_Keller Licht_Kinderzimmer WZ_Taster WZ_Rolladen_gross WZ_Rolladen_Haupt ZW_Eingangstuer ZWave_WallPlug1 Licht_Wohnzimmer_Modul ZWave_Garage ZW_Kueche_Modul pump Gaszaehler
     2017-11-08 08:36:31   neighborList_1b UNKNOWN_4 ZW_Rolladen1 ZWave_Sensor ZWave_Sensor_aussen Licht_Keller Licht_Kinderzimmer WZ_Taster WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZW_Eingangstuer Licht_Wohnzimmer_Modul ZW_Kueche_Modul pump Gaszaehler
     2017-11-08 17:46:18   neighborList_21 ZW_Rolladen1 Keller_WallPlug Licht_Keller Licht_Kinderzimmer DG_Rolladen_rechts WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZWave_WallPlug1 Licht_Wohnzimmer_Modul ZW_Kueche_Modul pump
     2017-11-08 08:37:03   neighborList_22 ZW_Rolladen1 ZWave_Sensor Licht_Keller Licht_Kinderzimmer WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZW_Eingangstuer Licht_Wohnzimmer_Modul ZWave_Garage ZW_Kueche_Modul Gaszaehler
     2017-11-08 17:48:48   neighborList_24 ZWaveStick ZW_Rolladen1 ZWave_Sensor Keller_WallPlug ZWave_Sensor_aussen Licht_Keller Licht_Kinderzimmer WZ_Taster WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZW_Eingangstuer ZWave_WallPlug1 ZWave_Garage ZW_Kueche_Modul Gaszaehler
     2017-11-08 17:46:02   neighborList_25 Licht_Keller Licht_Kinderzimmer DG_Rolladen_links WZ_Rolladen_links ZWave_WallPlug1 Licht_Wohnzimmer_Modul ZW_Kueche_Modul
     2017-11-08 08:55:34   neighborList_27 ZWaveStick ZW_Rolladen1 ZWave_Sensor_aussen Licht_Kinderzimmer DG_Rolladen_links DG_Rolladen_rechts WZ_Rolladen_gross WZ_Rolladen_links ZW_Kueche_Modul Gaszaehler
     2017-11-08 08:42:55   neighborList_28 ZWaveStick ZW_Rolladen1 Keller_WallPlug Licht_Keller Licht_Kinderzimmer DG_Rolladen_links DG_Rolladen_rechts WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZWave_WallPlug1 Licht_Wohnzimmer_Modul ZW_Kueche_Modul pump
     2017-11-08 17:47:12   neighborList_6  ZWaveStick ZW_Rolladen1 Licht_Keller Licht_Kinderzimmer WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZWave_WallPlug1 Licht_Wohnzimmer_Modul ZW_Kueche_Modul
     2017-11-08 19:38:00   neighborList_7  Licht_Kinderzimmer ZW_Eingangstuer Licht_Wohnzimmer_Modul ZW_Kueche_Modul Gaszaehler
     2017-11-08 19:37:50   neighborList_9  ZWaveStick ZW_Rolladen1 ZWave_Sensor Licht_Kinderzimmer WZ_Taster WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZW_Eingangstuer ZWave_WallPlug1 Licht_Wohnzimmer_Modul ZWave_Garage ZW_Kueche_Modul pump Gaszaehler
     2017-11-07 22:05:34   nodeInfo_07     ProtocolVers:SDK4.5x+6.0x listening routing maxBaud:40kbps SpecificDev RoutingSlave BeamCap OptFunc RoleType:N/A BasicDevClass:ROUTING_SLAVE GenericDevClass:SWITCH_BINARY
     2017-11-07 22:05:26   nodeInfo_09     ProtocolVers:SDK4.5x+6.0x listening routing maxBaud:40kbps SpecificDev RoutingSlave BeamCap OptFunc RoleType:N/A BasicDevClass:ROUTING_SLAVE GenericDevClass:SWITCH_BINARY SpecificDevClass:01
     2017-11-08 06:52:52   nodeInfo_16     node 16 is not present
     2017-11-07 22:05:14   nodeInfo_18     ProtocolVers:SDK4.5x+6.0x listening routing maxBaud:40kbps SpecificDev RoutingSlave BeamCap OptFunc RoleType:N/A BasicDevClass:ROUTING_SLAVE GenericDevClass:SWITCH_MULTILEVEL SpecificDevClass:06
     2017-11-07 22:05:06   nodeInfo_1c     ProtocolVers:SDK4.5x+6.0x listening maxBaud:40kbps Controller SpecificDev BeamCap SpeedExt:100kbps RoleType:N/A BasicDevClass:STATIC_CONTROLLER GenericDevClass:STATIC_CONTROLLER SpecificDevClass:01
     2017-11-08 08:30:23   nodeInfo_22     ProtocolVers:SDK4.5x+6.0x listening routing maxBaud:40kbps SpecificDev RoutingSlave BeamCap OptFunc SpeedExt:100kbps RoleType:N/A BasicDevClass:ROUTING_SLAVE GenericDevClass:SWITCH_BINARY SpecificDevClass:01
     2017-11-08 08:42:46   nodeInfo_28     ProtocolVers:SDK5.0x+4.2x sleeping routing maxBaud:40kbps SpecificDev RoutingSlave BeamCap OptFunc RoleType:N/A BasicDevClass:ROUTING_SLAVE GenericDevClass:METER SpecificDevClass:01
     2017-11-08 19:38:33   nodeInfo_29     node 29 is not present
     2017-11-07 21:52:25   nodeInfo_4      ProtocolVers:SDK4.5x+6.0x listening routing maxBaud:40kbps SpecificDev RoutingSlave BeamCap OptFunc RoleType:N/A BasicDevClass:ROUTING_SLAVE GenericDevClass:SWITCH_BINARY
     2017-11-08 19:38:46   nodeInfo_7      ProtocolVers:SDK4.5x+6.0x listening routing maxBaud:40kbps SpecificDev RoutingSlave BeamCap OptFunc RoleType:N/A BasicDevClass:ROUTING_SLAVE GenericDevClass:SWITCH_BINARY
     2017-11-07 21:52:41   nodeInfo_8      ProtocolVers:SDK4.5x+6.0x sleeping routing maxBaud:40kbps SpecificDev RoutingSlave BeamCap OptFunc RoleType:N/A BasicDevClass:ROUTING_SLAVE GenericDevClass:SENSOR_BINARY SpecificDevClass:01
     2017-11-07 21:53:30   nodeInfo_ff     node ff is not present
     2017-11-08 06:50:10   nodeList        ZWaveStick UNKNOWN_4 ZW_Rolladen1 ZWave_Sensor Keller_WallPlug ZWave_Sensor_aussen Licht_Keller Licht_Kinderzimmer DG_Rolladen_links DG_Rolladen_rechts WZ_Taster WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZW_Eingangstuer ZWave_WallPlug1 Licht_Wohnzimmer_Modul ZWave_Garage ZW_Kueche_Modul pump Gaszaehler 
     2017-11-07 21:57:53   routeFor_09     ZWaveStick Licht_Wohnzimmer_Modul at 40kbps 
     2017-11-08 08:42:30   routeFor_28     ZWaveStick Licht_Kinderzimmer Licht_Keller at 40kbps
     2017-11-07 17:18:55   state           Initialized
     2017-11-07 17:18:54   sucNodeId       no
   SendStack:
   addCL:
     Authenticated 0
     BUF
     LASTACCESS 1510088343
     NAME       WEB_10.0.0.xx_xxxxx
     NR         2669
     PEER       10.0.0.xx
     PORT       Xxxxx
     SNAME      WEB
     SSL
     STATE      Connected
     TEMPORARY  1
     TYPE       FHEMWEB
     helper:
       bm:
         FW_Read:
           cnt        1
           dmx        0
           mTS        07.11. 21:59:03
           max        19
           tot        19
           mAr:
             HASH(0x9da4640)
   helper:
     bm:
       ZWDongle_Attr:
         cnt        5
         dmx        0
         mAr
         mTS
         max        0
         tot        0
       ZWDongle_Define:
         cnt        1
         dmx        0
         mTS        07.11. 17:18:55
         max        1097
         tot        1097
         mAr:
           HASH(0x40be148)
           ZWaveStick ZWDongle /dev/ttyACM0@115200
       ZWDongle_Get:
         cnt        108
         dmx        0
         mTS        07.11. 22:02:03
         max        1011
         tot        1681
         mAr:
           HASH(0x40be148)
           ZWaveStick
           nodeInfo
           1802
       ZWDongle_Read:
         cnt        6423
         dmx        0
         mTS        07.11. 19:04:00
         max        2039
         tot        165751
         mAr:
           HASH(0x40be148)
       ZWDongle_Set:
         cnt        190
         dmx        0
         mTS        07.11. 18:53:39
         max        3
         tot        44
         mAr:
           HASH(0x40be148)
           ZWaveStick
           addNode
           on

Gaszähler

Internals:
   CFGFN
   DEF        Xxxxxxx 28
   IMAGE      /fhem/deviceimages/zwave/1255d421e6b81a052b01c0153701f5b8a1eaae26.jpg
   IODev      ZWaveStick
   LASTInputDev ZWaveStick
   MSGCNT     108
   NAME       Gaszaehler
   NR         1145
   STATE      wakeupInterval 86400 1
   TYPE       ZWave
   ZWaveStick_MSGCNT 108
   ZWaveStick_RAWMSG 0004001c08700609040019c224
   ZWaveStick_TIME 2017-11-08 19:28:31
   ZWaveSubDevice no
   cmdsPending 0
   homeId     Xxxxxxx
   isWakeUp   1
   lastMsgSent 1510165713.23382
   nodeIdHex  1c
   READINGS:
     2017-11-08 18:29:58   CMD             ZW_APPLICATION_UPDATE
     2017-11-07 19:05:27   battery         100 %
     2017-11-07 19:46:58   configCalibrationStatus 9022464
     2017-11-07 19:46:58   configDebug     LEDBlinksAtPulseCounting
     2017-11-07 19:46:58   configIRListenPeriod 0
     2017-11-07 19:46:58   configIRPulseWidth 0
     2017-11-07 19:46:58   configKeepAlivePeriod 60
     2017-11-07 19:46:58   configPollWakeUpFrequency 0
     2017-11-08 19:28:31   configPulseCount 1688100
     2017-11-07 19:46:58   configPulseFactor 1000
     2017-11-08 18:45:04   configRealTimeMode 0
     2017-11-07 19:46:58   configSensorType MagneticContactMeter
     2017-11-07 19:46:58   configserialNumber 10353
     2017-11-07 19:05:29   model           NorthQ NQ-9121 Gas Meter
     2017-11-07 19:05:29   modelConfig     northq/nq9121.xml
     2017-11-07 19:05:29   modelId         0096-0010-0001
     2017-11-08 18:31:40   neighborList    ZWaveStick ZW_Rolladen1 Keller_WallPlug Licht_Keller Licht_Kinderzimmer WZ_Rolladen_gross WZ_Rolladen_links WZ_Rolladen_Haupt ZWave_WallPlug1 Licht_Wohnzimmer_Modul ZW_Kueche_Modul pump
     2017-11-08 18:30:01   neighborUpdate  done
     2017-11-07 19:03:57   state           wakeupInterval 86400 1
     2017-11-08 19:28:33   timeToAck       0.195
     2017-11-08 19:28:33   transmit        OK
     2017-11-08 19:28:31   wakeup          notification
   helper:
     bm:
       ZWave_Attr:
         cnt        2
         dmx        0
         mAr
         mTS
         max        0
         tot        0
       ZWave_Define:
         cnt        1
         dmx        0
         mTS        07.11. 19:03:55
         max        12
         tot        12
         mAr:
           HASH(0x3190380)
           ZWave_METER_28 ZWave xxxxxxx 28 xxxxxxxxxxxxxxx
       ZWave_Get:
         cnt        64
         dmx        0
         mTS        07.11. 20:29:19
         max        35
         tot        306
         mAr:
           HASH(0x3190380)
           Gaszaehler
           neighborList
       ZWave_Set:
         cnt        187
         dmx        0
         mTS        07.11. 19:32:12
         max        3
         tot        301
         mAr:
           HASH(0x3190380)
           Gaszaehler
           configPulseCount
           1688083
Attributes:
   IODev      ZWaveStick
   classes    BASIC BATTERY WAKE_UP FIRMWARE_UPDATE_MD TIME_PARAMETERS METER CRC_16_ENCAP CONFIGURATION MANUFACTURER_SPECIFIC VERSION METER_TBL_MONITOR
   room       Keller,Test,ZWave
   vclasses   BASIC:1 BATTERY:1 CONFIGURATION:1 CRC_16_ENCAP:1 FIRMWARE_UPDATE_MD:2 MANUFACTURER_SPECIFIC:2 METER:2 METER_TBL_MONITOR:2 TIME_PARAMETERS:1 VERSION:1 WAKE_UP:1

krikan

2017-11-08 08:42:46   nodeInfo_28     ProtocolVers:SDK5.0x+4.2x sleeping routing maxBaud:40kbps SpecificDev RoutingSlave BeamCap OptFunc RoleType:N/A BasicDevClass:ROUTING_SLAVE GenericDevClass:METER SpecificDevClass:01
Der 3er Chipsatz hat schon keine große Reichweite.  In Verbindung mit dem hier verwendeten SDK 5, das Routenprobleme mMn nicht vernünftig und vor allem anwenderfreundlich löst, verstehe ich die Probleme.

Theoretisch kann helfen:
- manuelles, mehrfaches neigborUpdate,
- Setzen statischer Routen zum Controller (returnRouteAdd)
- SUC-Einrichtung und sucRouteAdd

Ob das praktisch zu einer nutzbaren und dauerhaft stabilen Route führt: ?

Würde Dir am liebsten ein anderes ZWave-Device mit aktuellem Chip+SDK empfehlen, kenne aber keins.  :(

T3mplate

#2
Zitat von: krikan am 08 November 2017, 21:51:32
Der 3er Chipsatz hat schon keine große Reichweite.  In Verbindung mit dem hier verwendeten SDK 5, das Routenprobleme mMn nicht vernünftig und vor allem anwenderfreundlich löst, verstehe ich die Probleme.
Woran erkennst du das es ein 3er Chipsatz ist?
Zitat von: krikan am 08 November 2017, 21:51:32
Theoretisch kann helfen:
- manuelles, mehrfaches neigborUpdate,
- Setzen statischer Routen zum Controller (returnRouteAdd)
- SUC-Einrichtung und sucRouteAdd
Ein paar Rückfragen:
NeighborUpdate:
- muss ich da etwas beachten? Bei allen Geräten oder nur denen auf dem logischen Pfad? Muss ich danach auf dem Controller noch get neighborlist durchführen? Einfach immer und immer wieder durchführen oder woran erkenne ich wenn die richtigen Nachbarn drinnen sind?

Route zum Controller
- wie genau geht das?
Aus der Doku
,,returnRouteAdd <decimal nodeId> Assign up to 4 static return routes to the routing/enhanced slave to allow direct communication to <decimal nodeId>. (experts only)"
werde ich nicht schlau. Welchen Knoten gebe ich da genau ein?

Suc route
- gleiche Frage. Und was genau macht der Befehl?

krikan

Zitat von: T3mplate am 08 November 2017, 22:09:06
Woran erkennst du das es ein 3er Chipsatz ist?
Weil SDK 5 nur auf 3er Chipsatz zur Verwendung kam/kommt -> https://web.archive.org/web/20160319202135/http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames

ZitatNeighborUpdate:
- muss ich da etwas beachten? Bei allen Geräten oder nur denen auf dem logischen Pfad?
alle; Befehl dazu siehe in https://wiki.fhem.de/wiki/Z-Wave#Hinzuf.C3.BCgen_eines_neuen_Z-Wave_Ger.C3.A4ts_.2F_Inklusion unter Hinweise

ZitatMuss ich danach auf dem Controller noch get neighborlist durchführen?
Afaik Nein. Dient vermutlich nur der Userinfo.

ZitatEinfach immer und immer wieder durchführen oder woran erkenne ich wenn die richtigen Nachbarn drinnen sind?
Warten bis alle Geraete aktualisiert haben und dann erst naechsten Durchlauf starten;
Genaue Anzahl ist unklar; würde mindestens 3 machen
Erkennen, ob die richtigen Nachbarn drin sind, kann man nicht wirklich; nur erahnen

Zitat
Route zum Controller
- wie genau geht das?
NodeId ist (typischerweise) Controller
Macht erst Sinn, wenn neigborUpdate mit halbwegs Erfolg durch ist.

ZitatSuc route
- gleiche Frage. Und was genau macht der Befehl?
Erst den SUC einrichten
Dann allen Nodes den Weg zum SUC mitteilen mit sucRouteAdd
mehr zum Thema SUC auch unter https://web.archive.org/web/20160319202135/http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames

Kann Dir auch nicht genaue Details liefern, da Sigma sich bei den Controllerfunktionen immer noch in Schweigen hüllt. Vieles ist Stückwissen aus diversen veröffentlichten Haeppchen. Gerade beim SDK 5 ist das doof. Bei den neueren SDKs mit Explorer Frames ist das nicht so schlimm, da die "Selbstheilung" recht gut funktioniert.

T3mplate

So.
Nach insgesamt 17 Neighbor Updates und dem setzen von returnrouteadd funktioniert es jetzt.
Auf den ersten Blick gibt es keine Aussetzer.

Aus dem ,,get Routefor" erkenne ich zwar, dass sich das Netz einen sehr weiten aktiven Punkt heraussucht.
So lange es aber geht soll mir das egal sein.

Danke für deine Hilfe.

krikan

Glückwunsch für die Ausdauer!

Wenn noch nicht passiert, würde ich wegen des Gerätes mit dem "kaputten" SDK unbedingt kurzfristig einen SUC einrichten.

A.Harrenberg

Hi,

problematisch ist es den "Routenden Devices" beizubringen das er einen neuen (batteriebetriebenen) Nachbarn hat. Dazu muss man normalerweise an dem Gerät was routen soll ein "neighborUpdate" starten WÄHREND das batteriebetriebene Gerät wach ist, da es sonst nicht selbständig gefunden wird... Da die Geräte überlicherweise innerhalb von 1-2 Sekunden wieder einschlafen hat das so ein wenig den Charm von alten jump & run spielen bei denen es extrem auf das Timing der Aktionen ankam ;-)

Gruß,
Andreas.

FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

#7
Zitat von: A.Harrenberg am 10 November 2017, 20:20:43
problematisch ist es den "Routenden Devices" beizubringen das er einen neuen (batteriebetriebenen) Nachbarn hat. Dazu muss man normalerweise an dem Gerät was routen soll ein "neighborUpdate" starten WÄHREND das batteriebetriebene Gerät wach ist, da es sonst nicht selbständig gefunden wird... Da die Geräte überlicherweise innerhalb von 1-2 Sekunden wieder einschlafen hat das so ein wenig den Charm von alten jump & run spielen bei denen es extrem auf das Timing der Aktionen ankam ;-)
Ist das überhaupt notwendig? Genügt nicht die Kenntnis des Controllers über die Nachbarn des batteriebetriebenen Geraetes?
Diese Info hat der Controller nach einem neighborUpdate am batteriebetriebenen Geraet. Daraus kann er die Routen zum batteriebetriebenen Geraet ermitteln und diesem per returnRouteAdd mitteilen. Damit kennt das batteriebetriebene Geraet den Weg zum Controller.

A.Harrenberg

Hi Krikan,

hmm, so gesehen müsste das eigentlich reichen...
Bei mir hat es aber erst ein Routing zu meinem RFID-Keypad gegegeben nachdem ich der Steckdose beigebracht hatte das da ein batteriebetriebenes Gerät daneben ist. Allerdings habe ich das "Problem" das es meist ohne Routing klappt, was dann zu keinem dauerhaften Routing führt.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

Zitat
Bei mir hat es aber erst ein Routing zu meinem RFID-Keypad gegegeben nachdem ich der Steckdose beigebracht hatte das da ein batteriebetriebenes Gerät daneben ist. Allerdings habe ich das "Problem" das es meist ohne Routing klappt, was dann zu keinem dauerhaften Routing führt.
Gut möglich und schwer zu analysieren.

Habe gestern noch mal versucht über das Thema Routenaktualiserung und -pflege anhand der spärlichen Dokus einen Überblick zu bekommen. Interpretiere daraus, dass ein neigbhorUpdate und anschließende manuelle Verteilung der Routen reichen könnte.

Wesentliche (neue?) Erkenntnis ist aber, dass ich die Bedeutung des SUCs wohl unterschätzt habe. Eventuell. weil ich in meinen Tests nie SUC-Nachrichten loggen konnte. Habe aber auch keine SDK5-Devices. Bei SDK5-Geräten und/oder bei weiteren Controllern im Netz ist er quasi zwingend für eine automatische Routenaktualisierung. Wenn man den SUC direkt vor der ersten Inklusion am Primärcontroller einrichtet, kümmert sich das API automatisch um die komplette Abwicklung. Richtet man den SUC erst nachträglich ein, dann muss man allen bereits inkludierten Geräten den Weg zum SUC per sucRouteAdd mitteilen. Nur bei neuen Inklusionen nach SUC-Aktivierung wird das automatisch abgewickelt.

Wenn keine Gegenargumente kommen, nehme ich SUC-Aktivierung bei der Gateway-Einbindung als Todo für einen Wiki-Hinweis auf.

Gruß, Christian

A.Harrenberg

Hi Christian,

puh, das Thema ist für mich echt noch "Bahnhof"...
Ich entnehme dem aber das der Controller normalerweise NICHT als SUC fungiert und man ihm das erst noch sagen muss, oder?

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

Zitat von: A.Harrenberg am 11 November 2017, 11:30:21
Ich entnehme dem aber das der Controller normalerweise NICHT als SUC fungiert und man ihm das erst noch sagen muss, oder?
SUC ist standardmäßig nicht immer eingerichtet/eingeschaltet und man muss es dann manuell machen.
UZB1 und Razberry sind im Auslieferungszustand als SUC eingerichtet, wenn ich mich nicht irre.

Ob er aktiviert ist, sieht man im ZWDongle-Device am Reading sucNodeId, dass mit ZWDongle_DoInit($) gesetzt wird. Wenn im Reading eine Nummer steht, ist SUC aktiviert und die Nummer ist die SUC-NodeId.

Aktiveren kann man ihn mit
set <ZWDongle> sucNodeId <decimal ControllerNodeId> 1 <capabilities>

A.Harrenberg

Hi Christian,

anscheinend ist der UZB1 nicht standardmäßig als SUC eingerichtet:

Internals:
   CallbackNr 0
   Clients    :ZWave:
   DEF        /dev/serial/by-id/usb-0658_0200_12345678-9012-3456-7890-123456789012-if00@115200
   DeviceName /dev/serial/by-id/usb-0658_0200_12345678-9012-3456-7890-123456789012-if00@115200
   FD         41
   MaxSendRetries 3
   NAME       ZWDongle_0
   NR         324
   PARTIAL
   RAWMSG     001308000004
   ReadTime   1510391854.70022
   STATE      Initialized
   SendRetries 0
   SendTime   1510391854.65584
   TYPE       ZWDongle
   WaitForAck 0
   ZWDongle_0_MSGCNT 24
   ZWDongle_0_TIME 2017-11-11 10:17:34
   homeId     e173b78d
   nodeIdHex  01
   nrNAck     0
   MatchList:
     1:ZWave    .*
   READINGS:
     2017-11-10 22:10:11   caps            Vers:5 Rev:1 ManufID:0115 ProductType:0400 ProductID:0001 SERIAL_API_GET_INIT_DATA SERIAL_API_APPL_NODE_INFORMATION APPLICATION_COMMAND_HANDLER ZW_GET_CONTROLLER_CAPABILITIES SERIAL_API_SET_TIMEOUTS SERIAL_API_GET_CAPABILITIES SERIAL_API_SOFT_RESET UNKNOWN_09 UNKNOWN_0a ZW_SET_R_F_RECEIVE_MODE ZW_SET_SLEEP_MODE ZW_SEND_NODE_INFORMATION ZW_SEND_DATA ZW_SEND_DATA_MULTI ZW_GET_VERSION ZW_SEND_DATA_ABORT ZW_R_F_POWER_LEVEL_SET ZW_SEND_DATA_META ZW_GET_RANDOM MEMORY_GET_ID MEMORY_GET_BYTE MEMORY_PUT_BYTE MEMORY_GET_BUFFER MEMORY_PUT_BUFFER FLASH_AUTO_PROG_SET UNKNOWN_28 NVM_GET_ID NVM_EXT_READ_LONG_BUFFER NVM_EXT_WRITE_LONG_BUFFER NVM_EXT_READ_LONG_BYTE NVM_EXT_WRITE_LONG_BYTE ZW_GET_NODE_PROTOCOL_INFO ZW_SET_DEFAULT ZW_REPLICATION_COMMAND_COMPLETE ZW_REPLICATION_SEND_DATA ZW_ASSIGN_RETURN_ROUTE ZW_DELETE_RETURN_ROUTE ZW_REQUEST_NODE_NEIGHBOR_UPDATE ZW_APPLICATION_UPDATE ZW_ADD_NODE_TO_NETWORK ZW_REMOVE_NODE_FROM_NETWORK ZW_CREATE_NEW_PRIMARY ZW_CONTROLLER_CHANGE ZW_SET_LEARN_MODE ZW_ASSIGN_SUC_RETURN_ROUTE ZW_REQUEST_NETWORK_UPDATE ZW_SET_SUC_NODE_ID ZW_DELETE_SUC_RETURN_ROUTE ZW_GET_SUC_NODE_ID ZW_SEND_SUC_ID ZW_EXPLORE_REQUEST_INCLUSION ZW_REQUEST_NODE_INFO ZW_REMOVE_FAILED_NODE_ID ZW_IS_FAILED_NODE ZW_REPLACE_FAILED_NODE UNKNOWN_66 UNKNOWN_67 UNKNOWN_78 GET_ROUTING_TABLE_LINE LOCK_ROUTE_RESPONSE ZW_GET_PRIORITY_ROUTE ZW_SET_PRIORITY_ROUTE UNKNOWN_98 ZW_SET_WUT_TIMEOUT ZW_WATCHDOG_ENABLE ZW_WATCHDOG_DISABLE ZW_WATCHDOG_CHECK ZW_SET_EXT_INT_LEVEL ZW_RF_POWERLEVEL_GET ZW_TYPE_LIBRARY ZW_SEND_TEST_FRAME ZW_GET_PROTOCOL_STATUS WATCHDOG_START WATCHDOG_STOP UNKNOWN_d4 UNKNOWN_ef ZME_FREQ_CHANGE ZME_BOOTLOADER_FLASH UNKNOWN_f5
     2017-11-10 22:10:11   ctrlCaps        PRIMARY
     2017-11-10 22:10:11   homeId          HomeId:e173b78d CtrlNodeIdHex:01
     2017-10-24 19:15:24   nodeList        ZWDongle_0 UNKNOWN_2 UNKNOWN_3 Zipato_EC ZWave_SW_Flur
     2017-11-10 22:10:11   random          3b4ef466c0f28f2506ca4b8a533db93c1a1d9b4fcba677490affb83932e2c71b
     2017-11-10 22:10:11   state           Initialized
     2017-11-10 22:10:11   sucNodeId       no
   SendStack:
Attributes:
   homeId     e173b78d
   neighborListPos 74,130
   room       ZWave
   verbose    5


Sieht bei meinem Testsystem genauso aus, "sucNodeId no"... ;-(

Werde ich dann wohl mal einrichten müssen.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

Beim Firmwareupdate meines UZB1, der kein SUC war, hat z-way automatisch den SUC aktiviert.
Sehe ich als weiteres Indiz für die Empfehlung: SUC beim statischen Controller immer sofort aktivieren.
Nachteile fallen mir keine ein.