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
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. :(
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?
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.
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.
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.
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.
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.
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.
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
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.
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>
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.
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.