Nach FHEM-Neustart kein Kontakt mehr zu ZWave-Geräten

Begonnen von Ansgar Höber, 21 November 2020, 23:35:19

Vorheriges Thema - Nächstes Thema

Ansgar Höber

Hallo ins Forum!

Ich habe folgendes Problem:

Ich wollte meine Log-Dateien auf ein NAS verschieben. Dazu habe ich FHEM über den Befehl
sudo systemctl stop fhem.service
gestoppt, um zu verhindern, dass FHEM neue Logs anlegt und Ereignisse in diese reinschreibt, wenn die ursprünglichen Logs verschoben wurden. Dadurch wollte ich Datenverluste verhindern.
Nach dem ich FHEM gestoppt hatte, habe ich mit dem Befehl
sudo systemctl status fhem.service
kontrolliert, dass FHEM auch gestoppt wurde, und dann die Logs an den neuen Speicherort verschoben. Dann habe ich in der "fhem.cfg" die Pfade der Log-Dateien angepasst und fhem mit dem Befehl
sudo systemctl start fhem.service
neu gestartet. Seitdem habe ich das Problem, dass sämtliche ZWave-Geräte nicht mehr erreichbar sind  :(
Mein ZWave-USB-Dongle, ein "Z-Wave.Me UZB Smart Home Stick", wird jedoch vom System erkannt. Der Befehl "lsusb" liefert folgende Ausgabe:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive
Bus 001 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 006: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 001 Device 004: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 003: ID 24ae:2010 
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Er ist in FHEM folgendermaßen definiert:
define ZWave_USB_Dongle ZWDongle /dev/ttyACM0@115200
setuuid ZWave_USB_Dongle 5f80515c-f33f-a807-30a8-cd6bb1c799d20f9e
attr ZWave_USB_Dongle homeId f3e2d8e1
attr ZWave_USB_Dongle networkKey XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
attr ZWave_USB_Dongle room Steuerung

Ich kann Readings auslesen, aber er blinkt unaufhörlich. Und in den Readings der ZWave-Geräte werden drei Fragezeichen angezeigt ("? ? ?"). Befehle, die ich an die ZWave-Geräte sende, werden in deren Logs zwar dokumentiert, aber nicht ausgeführt.
Im Gegensatz dazu funktionieren meine angeschlossenen EnOcean-Geräte tadellos. Ich habe schon mehrfach meinen Raspberry 4B neugestartet, ebenso mein FHEM (wie beschrieben). Ich habe FHEM auch geupdated, aber keine dieser Maßnahmen führte dazu, dass meine ZWave-Geräte wieder erreichbar sind.

Hat hier jemand schon ein ähnliches Problem gehabt und dafür eine Lösung gefunden?

Viele Grüße

Ansgar
FHEM-Version: 6.0
FHEM-Server: RaspBerryPi 4, 8 GByte RAM
FHEM-Server-Betriebssystem: Raspbian Buster (32 Bit)
Hausautomationssysteme: EnOcean, ZWave, Netatmo; Philips Hue
Kommunikationsmodul: EnOcean USB-Dongle (USB 300 EnOcean Gateway), ZWave USB-Dongle (Z-Wave.Me UZB Smart Home Stick)

rudolfkoenig

Stehen Fehlermeldungen im FHEM-Log beim starten? Insb. sowas wie " ZWave_USB_Dongle: Can't open /dev/ttyACM0: No such file or directory" ?
Wie schauen die Internals von diesem Geraet aus? Was steht im STATE?

Ansgar Höber

Hallo Herr König,

der letzte Start von FHEM protokolloert im Log zu meinem ZWave-USB-Dongle folgendes:
2020.11.22 14:52:22 5: Cmd: >define ZWave_USB_Dongle ZWDongle /dev/ttyACM0@115200<
2020.11.22 14:52:22 5: Loading ./FHEM/00_ZWDongle.pm
2020.11.22 14:52:22 3: Opening ZWave_USB_Dongle device /dev/ttyACM0
2020.11.22 14:52:22 3: Setting ZWave_USB_Dongle serial parameters to 115200,8,N,1
2020.11.22 14:52:22 4: ZWDongle_ReadAnswer arg:Clear regexp:wontmatch
2020.11.22 14:52:23 5: ZWDongle_ReadAnswer: select timeout
2020.11.22 14:52:23 4: ZWDongle *** get ZWave_USB_Dongle caps
2020.11.22 14:52:23 5: ZWDongle_Write 0007 ()
2020.11.22 14:52:23 5: SW: 01030007fb
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer arg:caps regexp:^0107
2020.11.22 14:52:23 5: ACK received, removing 01030007fb from dongle sendstack
2020.11.22 14:52:23 4: ZWDongle_Read ZWave_USB_Dongle: rcvd 01070506011504000001fe83ff88cf1f0000fb9f7da067008080008086000000e87300000e0000401a00 (answer SERIAL_API_GET_CAPABILITIES), sending ACK
2020.11.22 14:52:23 5: SW: 06
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer for caps: 01070506011504000001fe83ff88cf1f0000fb9f7da067008080008086000000e87300000e0000401a00
2020.11.22 14:52:23 4: ZWDongle *** get ZWave_USB_Dongle ctrlCaps
2020.11.22 14:52:23 5: ZWDongle_Write 0005 ()
2020.11.22 14:52:23 5: SW: 01030005f9
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer arg:ctrlCaps regexp:^0105
2020.11.22 14:52:23 5: ACK received, removing 01030005f9 from dongle sendstack
2020.11.22 14:52:23 4: ZWDongle_Read ZWave_USB_Dongle: rcvd 01051c (answer ZW_GET_CONTROLLER_CAPABILITIES), sending ACK
2020.11.22 14:52:23 5: SW: 06
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer for ctrlCaps: 01051c
2020.11.22 14:52:23 4: ZWDongle *** get ZWave_USB_Dongle homeId
2020.11.22 14:52:23 5: ZWDongle_Write 0020 ()
2020.11.22 14:52:23 5: SW: 01030020dc
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer arg:homeId regexp:^0120
2020.11.22 14:52:23 5: ACK received, removing 01030020dc from dongle sendstack
2020.11.22 14:52:23 4: ZWDongle_Read ZWave_USB_Dongle: rcvd 0120f3e2d8e101 (answer MEMORY_GET_ID), sending ACK
2020.11.22 14:52:23 5: SW: 06
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer for homeId: 0120f3e2d8e101
2020.11.22 14:52:23 4: ZWDongle *** get ZWave_USB_Dongle sucNodeId
2020.11.22 14:52:23 5: ZWDongle_Write 0056 ()
2020.11.22 14:52:23 5: SW: 01030056aa
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer arg:sucNodeId regexp:^0156
2020.11.22 14:52:23 5: ACK received, removing 01030056aa from dongle sendstack
2020.11.22 14:52:23 4: ZWDongle_Read ZWave_USB_Dongle: rcvd 015601 (answer ZW_GET_SUC_NODE_ID), sending ACK
2020.11.22 14:52:23 5: SW: 06
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer for sucNodeId: 015601
2020.11.22 14:52:23 4: ZWDongle *** get ZWave_USB_Dongle random 32
2020.11.22 14:52:23 5: ZWDongle_Write 001c20 ()
2020.11.22 14:52:23 5: SW: 0104001c20c7
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer arg:random regexp:^011c
2020.11.22 14:52:23 5: ACK received, removing 0104001c20c7 from dongle sendstack
2020.11.22 14:52:23 4: ZWDongle_Read ZWave_USB_Dongle: rcvd 011c0120ce717cd3fd76f43ea70acf3acf11e80eff9203d2115bf6aac4af994ac6c4d865 (answer ZW_GET_RANDOM), sending ACK
2020.11.22 14:52:23 5: SW: 06
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer for random: 011c0120ce717cd3fd76f43ea70acf3acf11e80eff9203d2115bf6aac4af994ac6c4d865
2020.11.22 14:52:23 4: ZWDongle *** set ZWave_USB_Dongle timeouts 100 15
2020.11.22 14:52:23 5: ZWDongle_Write 0006640f ()
2020.11.22 14:52:23 5: SW: 01050006640f97
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer arg:timeouts regexp:^0106
2020.11.22 14:52:23 5: ACK received, removing 01050006640f97 from dongle sendstack
2020.11.22 14:52:23 4: ZWDongle_Read ZWave_USB_Dongle: rcvd 0106640f (answer SERIAL_API_SET_TIMEOUTS), sending ACK
2020.11.22 14:52:23 5: SW: 06
2020.11.22 14:52:23 4: ZWDongle_ReadAnswer for timeouts: 0106640f
2020.11.22 14:52:23 4: ZWDongle *** set ZWave_USB_Dongle setNIF 1 2 1 0
2020.11.22 14:52:23 5: ZWDongle_Write 000301020100 ()
2020.11.22 14:52:23 5: SW: 0107000301020100f9
2020.11.22 14:52:23 3: ZWave_USB_Dongle device opened
2020.11.22 14:52:23 5: Starting notify loop for ZWave_USB_Dongle, 1 event(s), first is CONNECTED
2020.11.22 14:52:23 5: createNotifyHash
2020.11.22 14:52:23 5: End notify loop for ZWave_USB_Dongle

Und die Internals lauten:
CallbackNr              0
Clients                 :ZWave:
DEF                     /dev/ttyACM0@115200
DeviceName              /dev/ttyACM0@115200
FD                      15
FUUID                   5f80515c-f33f-a807-30a8-cd6bb1c799d20f9e
MaxSendRetries          3
NAME                    ZWave_USB_Dongle
NR                      85
PARTIAL
RAWMSG                  000400110a988051fe1ca91c8cb690
ReadTime                1606049516.29533
STATE                   Initialized
SendRetries             0
SendTime                1606049515.02971
TYPE                    ZWDongle
WaitForAck              0
ZWave_USB_Dongle_MSGCNT 928
ZWave_USB_Dongle_TIME   2020-11-22 13:51:56
homeId                  f3e2d8e1
nodeIdHex               01
nrNAck                  0

Die Readings nahch dem Neustart lauten:
caps      Vers:5 Rev:6 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 ZW_NVR_GET_VALUE 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
          ZW_FIRMWARE_UPDATE_NVM 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 ZW_SET_ROUTING_MAX UNKNOWN_ef ZME_FREQ_CHANGE ZME_BOOTLOADER_FLASH ZME_CAPABILITIES                 2020-11-22 14:52:23
ctrlCaps  MEMBER PRIMARY SUC                                                                                                                                      2020-11-22 14:52:23
homeId    HomeId:f3e2d8e1 CtrlNodeIdHex:01                                                                                                                        2020-11-22 14:52:23
random    ce717cd3fd76f43ea70acf3acf11e80eff9203d2115bf6aac4af994ac6c4d865                                                                                        2020-11-22 14:52:23
state     Initialized                                                                                                                                             2020-11-22 14:52:23
sucNodeId 1                                                                                                                                                       2020-11-22 14:52:23

Meiner Meinung nach müsste der Stick daher eigentlich ordnungsgemäß funktionieren...
FHEM-Version: 6.0
FHEM-Server: RaspBerryPi 4, 8 GByte RAM
FHEM-Server-Betriebssystem: Raspbian Buster (32 Bit)
Hausautomationssysteme: EnOcean, ZWave, Netatmo; Philips Hue
Kommunikationsmodul: EnOcean USB-Dongle (USB 300 EnOcean Gateway), ZWave USB-Dongle (Z-Wave.Me UZB Smart Home Stick)

rudolfkoenig

Die Verbindung zum Stick-Controller via USB funktioniert schonmal.
Evtl. ist die Antenne beschaedigt, oder die Position hat sich unguenstig geaendert, da reichen manchmal ein par cm aus.
Was sagt "get ZWave_USB_Dongle nodeList"?

Eigentlich funktioniert das Senden einfacher Kommandos selbst nach einem Firmware-Reset, solange homeId sich nicht geaendert hat. Es geht "nur" die Routing-Information verloren, und es gibt Chaos beim Neuanlernen. Sowas kann man aber mit einem Firmware-Backup vermeiden.

FunkOdyssey

Ich habe Ähnliches auch ganz selten. Dann starte ich die Hardware neu und danach klappt es wieder.

Ansgar Höber

Hallo Herr König,
der Befehl "get ZWave_USB_Dongle nodeList" liefert folgendes Ergebnis:

ZWave_USB_Dongle nodeList => ZWave_USB_Dongle UNKNOWN_2 ZWave_Rauchmelder_1 ZWave_Rauchmelder_3 ZWave_Rauchmelder_4 ZWave_Rauchmelder_2 ZWave_Rauchmelder_5 ZWave_Thermostatventil_1 ZWave_Thermostatventil_2 UNKNOWN_24 ZWave_SmartImplant_1 ZWave_Thermostatventil_5 ZWave_Thermostatventil_4 ZWave_Thermostatventil_3 ZWave_Tuerkontakt_1 ZWave_RGBW_Controller_1 ZWave_Tuerschloss_1

So, wie es sein soll. Die "UNKNOWN_xx" sind ok, die habe ich nicht ordnungsgemäß exkludiert...
Schlagen Sie also vor, einen Werksreset durchzuführen und dann das Backup wieder einzuspielen?

@FunkOdyssey:

Wie führt man einen Hardwarereset durch? Ist das auch ein Werksreset des ZWave-USB-Dongles?
FHEM-Version: 6.0
FHEM-Server: RaspBerryPi 4, 8 GByte RAM
FHEM-Server-Betriebssystem: Raspbian Buster (32 Bit)
Hausautomationssysteme: EnOcean, ZWave, Netatmo; Philips Hue
Kommunikationsmodul: EnOcean USB-Dongle (USB 300 EnOcean Gateway), ZWave USB-Dongle (Z-Wave.Me UZB Smart Home Stick)

schnakker

Zitat von: Ansgar Höber am 22 November 2020, 20:08:53
Hallo Herr König,
der Befehl "get ZWave_USB_Dongle nodeList" liefert folgendes Ergebnis:

ZWave_USB_Dongle nodeList => ZWave_USB_Dongle UNKNOWN_2 ZWave_Rauchmelder_1 ZWave_Rauchmelder_3 ZWave_Rauchmelder_4 ZWave_Rauchmelder_2 ZWave_Rauchmelder_5 ZWave_Thermostatventil_1 ZWave_Thermostatventil_2 UNKNOWN_24 ZWave_SmartImplant_1 ZWave_Thermostatventil_5 ZWave_Thermostatventil_4 ZWave_Thermostatventil_3 ZWave_Tuerkontakt_1 ZWave_RGBW_Controller_1 ZWave_Tuerschloss_1


Ich habe das Phänomen, dass sich nach einem Neustart die HomeID des Dongles ändert. Prüfe bitte, ob die HomeID des Z-Wave Dongels mit dem der ZWave Devices identisch sind.

FunkOdyssey

auf keinen Fall einen Reset durchführen!
Ich habe NUR die Hardware neu gestartet. Power Off und Power On.
Aber mein Problem muss nicht ihr Problem sein.

Ansgar Höber

@Schnakker:

Die homeID ist, wenn ich der "fhem.cfg" glauben darf, bei allen Devices identisch...
FHEM-Version: 6.0
FHEM-Server: RaspBerryPi 4, 8 GByte RAM
FHEM-Server-Betriebssystem: Raspbian Buster (32 Bit)
Hausautomationssysteme: EnOcean, ZWave, Netatmo; Philips Hue
Kommunikationsmodul: EnOcean USB-Dongle (USB 300 EnOcean Gateway), ZWave USB-Dongle (Z-Wave.Me UZB Smart Home Stick)