Z-Wave Debugging: "Lesen" des Gateway-Log's

Guten Morgen Zusammen,

seit 2 Tagen gibt es mal wieder Netzwerk-Probleme, die Z-Wave Geräte schalten wieder stark verzögert und teilweise gehen Status-Informationen verloren bzw. Geräte sind nicht mehr erreichbar.

Im Gateway-Log seh ich verstärkt folgendes „Sägezahnmuster“:

TXT: 17.01.2018 08:10:45.00 | Wait for response... | <SOH><HT>
HEX: 17.01.2018 08:10:45.00 | Wait for response... | 01 09 
TXT: 17.01.2018 08:10:45.00 | Wait for response... | <SOH><HT><NUL><EOT>
HEX: 17.01.2018 08:10:45.00 | Wait for response... | 01 09 00 04 
TXT: 17.01.2018 08:10:45.00 | Wait for response... | <SOH><HT><NUL><EOT><NUL>
HEX: 17.01.2018 08:10:45.00 | Wait for response... | 01 09 00 04 00 
TXT: 17.01.2018 08:10:45.00 | Wait for response... | <SOH><HT><NUL><EOT><NUL><ENQ>
HEX: 17.01.2018 08:10:45.00 | Wait for response... | 01 09 00 04 00 05 
TXT: 17.01.2018 08:10:45.00 | Wait for response... | <SOH><HT><NUL><EOT><NUL><ENQ><ETX>
HEX: 17.01.2018 08:10:45.00 | Wait for response... | 01 09 00 04 00 05 03 
TXT: 17.01.2018 08:10:45.00 | Wait for response... | <SOH><HT><NUL><EOT><NUL><ENQ><ETX>'
HEX: 17.01.2018 08:10:45.00 | Wait for response... | 01 09 00 04 00 05 03 27 
TXT: 17.01.2018 08:10:45.00 | Wait for response... | <SOH><HT><NUL><EOT><NUL><ENQ><ETX>'<ETX>
HEX: 17.01.2018 08:10:45.00 | Wait for response... | 01 09 00 04 00 05 03 27 03 
TXT: 17.01.2018 08:10:45.00 | Wait for response... | <SOH><HT><NUL><EOT><NUL><ENQ><ETX>'<ETX><NUL>
HEX: 17.01.2018 08:10:45.00 | Wait for response... | 01 09 00 04 00 05 03 27 03 00 
TXT: 17.01.2018 08:10:45.00 |           REQUEST 04 | <NUL><ENQ><ETX>'<ETX><NUL>
HEX: 17.01.2018 08:10:45.00 |           REQUEST 04 | 00 05 03 27 03 00 
TXT: 17.01.2018 08:10:46.00 | (RF Node 5) Waiting for transmit... | `&lt;CR&gt;&lt;NUL&gt;&lt;STX&gt;%&lt;STX&gt;
HEX: 17.01.2018 08:10:46.00 | (RF Node 5) Waiting for transmit... | 60 0D 00 02 25 02 
TXT: 17.01.2018 08:10:46.00 | Waiting for transmit... | &lt;DC3&gt;&lt;ENQ&gt;&lt;ACK&gt;`<CR><NUL><STX>%<STX>$<ENQ>
HEX: 17.01.2018 08:10:46.00 | Waiting for transmit... | 13 05 06 60 0D 00 02 25 02 24 05 
TXT: 17.01.2018 08:10:46.00 |          Transmitted | <SOH><CR><NUL><DC3><ENQ><ACK>`&lt;CR&gt;&lt;NUL&gt;&lt;STX&gt;%&lt;STX&gt;$&lt;ENQ&gt;?
HEX: 17.01.2018 08:10:46.00 |          Transmitted | 01 0D 00 13 05 06 60 0D 00 02 25 02 24 05 8B 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;EOT&gt;&lt;SOH&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 04 01 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;EOT&gt;&lt;SOH&gt;&lt;DC3&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 04 01 13 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;EOT&gt;&lt;SOH&gt;&lt;DC3&gt;&lt;SOH&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 04 01 13 01 
TXT: 17.01.2018 08:10:46.00 |          RESPONSE 13 | &lt;SOH&gt;
HEX: 17.01.2018 08:10:46.00 |          RESPONSE 13 | 01 
TXT: 17.01.2018 08:10:46.00 |          Received OK | &lt;SOH&gt;&lt;CR&gt;&lt;NUL&gt;&lt;DC3&gt;&lt;ENQ&gt;&lt;ACK&gt;`<CR><NUL><STX>%<STX>$<ENQ>?
HEX: 17.01.2018 08:10:46.00 |          Received OK | 01 0D 00 13 05 06 60 0D 00 02 25 02 24 05 8B 
TXT: 17.01.2018 08:10:46.00 | (RF Node 5) Transmitted | `&lt;CR&gt;&lt;NUL&gt;&lt;STX&gt;%&lt;STX&gt;
HEX: 17.01.2018 08:10:46.00 | (RF Node 5) Transmitted | 60 0D 00 02 25 02 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;BEL&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 07 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;BEL&gt;&lt;NUL&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 07 00 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;BEL&gt;&lt;NUL&gt;&lt;DC3&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 07 00 13 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;BEL&gt;&lt;NUL&gt;&lt;DC3&gt;&lt;ENQ&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 07 00 13 05 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;BEL&gt;&lt;NUL&gt;&lt;DC3&gt;&lt;ENQ&gt;&lt;NUL&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 07 00 13 05 00 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;BEL&gt;&lt;NUL&gt;&lt;DC3&gt;&lt;ENQ&gt;&lt;NUL&gt;&lt;NUL&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 07 00 13 05 00 00 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;BEL&gt;&lt;NUL&gt;&lt;DC3&gt;&lt;ENQ&gt;&lt;NUL&gt;&lt;NUL&gt;&lt;STX&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 07 00 13 05 00 00 02 
TXT: 17.01.2018 08:10:46.00 |           REQUEST 13 | &lt;ENQ&gt;&lt;NUL&gt;&lt;NUL&gt;&lt;STX&gt;
HEX: 17.01.2018 08:10:46.00 |           REQUEST 13 | 05 00 00 02 
TXT: 17.01.2018 08:10:46.00 | (RF Node 5) Received OK | `<CR><NUL><STX>%<STX>
HEX: 17.01.2018 08:10:46.00 | (RF Node 5) Received OK | 60 0D 00 02 25 02 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | <SOH><CR>
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 0D 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | <SOH><CR><NUL><EOT>
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 0D 00 04 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | <SOH><CR><NUL><EOT><NUL>
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 0D 00 04 00 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | <SOH><CR><NUL><EOT><NUL><ENQ>
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 0D 00 04 00 05 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | <SOH><CR><NUL><EOT><NUL><ENQ><BEL>`&lt;CR&gt;
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 0D 00 04 00 05 07 60 0D 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;CR&gt;&lt;NUL&gt;&lt;EOT&gt;&lt;NUL&gt;&lt;ENQ&gt;&lt;BEL&gt;`<CR><STX><NUL>
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 0D 00 04 00 05 07 60 0D 02 00 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | <SOH><CR><NUL><EOT><NUL><ENQ><BEL>`&lt;CR&gt;&lt;STX&gt;&lt;NUL&gt;%
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 0D 00 04 00 05 07 60 0D 02 00 25 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | &lt;SOH&gt;&lt;CR&gt;&lt;NUL&gt;&lt;EOT&gt;&lt;NUL&gt;&lt;ENQ&gt;&lt;BEL&gt;`<CR><STX><NUL>%<ETX>
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 0D 00 04 00 05 07 60 0D 02 00 25 03 
TXT: 17.01.2018 08:10:46.00 | Wait for response... | <SOH><CR><NUL><EOT><NUL><ENQ><BEL>`&lt;CR&gt;&lt;STX&gt;&lt;NUL&gt;%&lt;ETX&gt;ÿ
HEX: 17.01.2018 08:10:46.00 | Wait for response... | 01 0D 00 04 00 05 07 60 0D 02 00 25 03 FF 
TXT: 17.01.2018 08:10:46.00 |           REQUEST 04 | &lt;NUL&gt;&lt;ENQ&gt;&lt;BEL&gt;`<CR><STX><NUL>%<ETX>ÿ
HEX: 17.01.2018 08:10:46.00 |           REQUEST 04 | 00 05 07 60 0D 02 00 25 03 FF 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH>
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL>
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT>
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL>
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 00 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK>
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 00 06 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 00 06 06 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 00 06 06 31 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ>
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ><EOT>
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 04 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ><EOT>"
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 04 22 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ><EOT>"<NUL>
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 04 22 00 
TXT: 17.01.2018 08:10:59.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ><EOT>"<NUL>2
HEX: 17.01.2018 08:10:59.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 04 22 00 32 
TXT: 17.01.2018 08:10:59.00 |           REQUEST 04 | <NUL><ACK><ACK>1<ENQ><EOT>"<NUL>2
HEX: 17.01.2018 08:10:59.00 |           REQUEST 04 | 00 06 06 31 05 04 22 00 32 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH>
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF>
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL>
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL>
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 04 00 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK>
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 04 00 06 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 04 00 06 06 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 04 00 06 06 31 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ>
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ><EOT>
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 04 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ><EOT>"
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 04 22 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ><EOT>"<NUL>
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 04 22 00 
TXT: 17.01.2018 08:11:00.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><ACK><ACK>1<ENQ><EOT>"<NUL>&
HEX: 17.01.2018 08:11:00.00 | Wait for response... | 01 0C 00 04 00 06 06 31 05 04 22 00 26 
TXT: 17.01.2018 08:11:00.00 |           REQUEST 04 | <NUL><ACK><ACK>1<ENQ><EOT>"<NUL>&
HEX: 17.01.2018 08:11:00.00 |           REQUEST 04 | 00 06 06 31 05 04 22 00 26 
TXT: 17.01.2018 08:11:02.00 | Wait for response... | <SOH><FF>
HEX: 17.01.2018 08:11:02.00 | Wait for response... | 01 0C 
TXT: 17.01.2018 08:11:02.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL>
HEX: 17.01.2018 08:11:02.00 | Wait for response... | 01 0C 00 04 00 
TXT: 17.01.2018 08:11:02.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><US><ACK>1
HEX: 17.01.2018 08:11:02.00 | Wait for response... | 01 0C 00 04 00 1F 06 31 
TXT: 17.01.2018 08:11:02.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><US><ACK>1<ENQ><SOH>
HEX: 17.01.2018 08:11:02.00 | Wait for response... | 01 0C 00 04 00 1F 06 31 05 01 
TXT: 17.01.2018 08:11:02.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><US><ACK>1<ENQ><SOH>"
HEX: 17.01.2018 08:11:02.00 | Wait for response... | 01 0C 00 04 00 1F 06 31 05 01 22 
TXT: 17.01.2018 08:11:02.00 | Wait for response... | <SOH><FF><NUL><EOT><NUL><US><ACK>1<ENQ><SOH>"<NUL>?
HEX: 17.01.2018 08:11:02.00 | Wait for response... | 01 0C 00 04 00 1F 06 31 05 01 22 00 97 
TXT: 17.01.2018 08:11:02.00 |           REQUEST 04 | <NUL><US><ACK>1<ENQ><SOH>"<NUL>?
HEX: 17.01.2018 08:11:02.00 |           REQUEST 04 | 00 1F 06 31 05 01 22 00 97 

Was fange ich mit der Info an? Ist das die Kommunikation zum Gateway oder zu einem / mehreren Devices? Kann man daraus Rückschlüsse ziehen, wo der instabile Punkt im Netz ist?

Viele Grüße & Danke für die Hilfe,
Markus

razberry_gateway_log.txt (109 KB)

Das wirkt, als wenn das Gateways die Daten nur sehr langsam versendet. Löst ein Neustart vom ganzen System das Problem?

paresy

Nein, ein Restart hilft leider nicht - habe ich eben getestet…

Gruß,
Markus

Ist das Problem noch vorhanden? Wie hast du es sonst lösen können?

paresy

Hi Paresy,

ja - prinzipiell ist das Problem noch vorhanden, allerdings kann man vermutlich nicht von „dem einen“ Problem reden… Mein aktueller Analyse-Stand hat gezeigt, dass

[ul]
[li]die Verwendung von „Secure Inclusions“ fehleranfällig ist. Geräte die über IP-Symcon mit Security angelernt wurden, zeigen eher ein Fehlverhalten wie Geräte die herkömmlich angelernt wurden
[/li][li]NodON Micro Wall Plugs (Z-Wave Plus) scheinen einen Bug in der Firmware zu haben, diese führt unter bislang unbekannten Umständen zu einem Z-Wave „Flooding“. Die Stromverbrauchs-Werte werden hierbei 2-3x pro Sekunde gesendet - über einen unbegrenzten Zeitraum. Folge: Das Netz wird immer langsamer, Signale gehen verloren und Schaltzeiten werden verlängert. Ein Powercycle (Aus- und wieder Einstecken) löst das Problem, eine Supportanfrage an NodON wurde erstellt
[/li][li]Die Kommunikation erfolgte von einem Raspberry im Serverschrank per Ser2Net mit einem weiteren Raspberry mit verbautem Razberry2. Zum Ausschluss von Netzwerkproblemen wurde dies nun umgebaut, verwendet wird nun ein Razberry2 direkt am IPS-Raspberry in einem Kunststoff-Gehäuse mit zentraler Plazierung (weniger Sprünge im Netz)
[/li][li]Des Weiteren habe ich beobachtet, das beim Auslesen der Z-Wave-Geräte über den Z-Wave-Konfigurator per „Aktualisieren“ gelegentlich ein Timeout auftritt und die Liste leer ist. --> Kommunikations-Problem?
[/li]Diese Aussetzer könnten auch meine Z-Wave Probleme erklären, allerdings stehe ich hier noch ganz am Anfang mit der Analyse. Razberry2-Selbsttest ist unauffällig, Raspberry-Neuinstallation steht noch aus
[li]Ungültige Assoziationen: Können nicht gelöscht werden & werden in Z-Way nicht angezeigt. Auswirkungen auf IPS noch nicht geklärt
[/li][/ul]

Alles in Allem: Bei mir läuft Z-Wave nach wie vor eher bescheiden & unzuverlässig, das Razberry-Modul wurde getestet also scheint das „Problem“ entweder innerhalb der Z-Wave-Geräte, der IP-Symcon Implementierung oder dem Raspberry zu liegen. Aus diesem Grund habe ich aktuell bei euch eine Anfrage bezüglich der SymboxNEO am Laufen, allerdings ist gemäß der heutigen Antwort von Michael ein Umstieg ebenfalls nicht wirklich vielversprechend (was meine Probleme betrifft)…

Z-Way bietet mit der aktuellen Möglichkeit einen Z-Wave-Sniffer, über den super gezeigt wird welche Node mit welcher Kommuniziert - hierdurch bekommt man mögliche „Übeltäter“ gefunden…

Viele Grüße,
Markus

so ein Phänomen hatte ich mit meinem Razberry auch mal (Wars nach nem Stromausfall oder einem Raspbian Update? - keine Ahnung)

Obwohl ich die Z-Way Dienste dauerhaft deaktiviert hatte, lief z-way parallel zu IP-Symcon.
Dabei kam es zu Verzögerungen, nicht ausgeführten Befehlen etc… da beide auf das Serielle Interface zugegriffen haben.

Ich würde daher schauen ob aus Versehen z-way gestartet ist.

Bitte den namen „z-way“ noch prüfen. Ich glaub der Name hat sich je nach Version mal leicht verändert.

Stoppen:
sudo /etc/init.d/z-way-server stop

Deaktivieren:
sudo update-rc.d z-way-server disable

Hi,

vielen Dank für den Hinweis - ich prüfe das noch mal zu Hause nach.
Wie gesagt, vielleicht installiere ich auch einfach mal auf einer frischen SD-Karte ein frisches Raspbian & starte quasi „auf der grünen Wiese“ neu.

Aktuell steuere ich die Verwendung von Z-Way per Symcon über folgendes Script, daher sollte eigentlich bzgl. Z-Way sich da nichts in die Quere kommen. Was ich allerdings bereits mehrfach gelesen hatte, das beim Raspberry Pi 3 Bluetooth auf dem gleichen Port bereitgestellt wird… Somit könnte es auch sein, das ein anderer Raspbian-Dienst uns in Bezug auf Z-Wave „in die Suppe spuckt“. Daher hatte ich ja die Anfrage bzgl. der Symbox gestellt… Im Netz gibt es diverse Anleitungen wie man Bluetooth & Co ummappen oder deaktivieren kann - das hab ich bereits alles hinter mir aber nicht gerade mit großem Erfolg.

Weiterer Verdacht: Das Z-Wave Fehlerbild hat sich mit dem Razberry2 auf jeden Fall mit dem letzten Firmware-Update (der Aufsteck-Platine!) geändert: Die ungültigen Assoziationen (Falsche (zusätzliche) Assoziationen in IPS-Nodes) sind erst mit dem letzten Update bei mir aufgefallen genauso wie die Timeouts im Konfigurator. Vielleicht ein Zufall - oder wie bereits dort im Thread erwähnt eine mögliche „Inkompatibilität“ in der Serial-API…???

Wie greifst du denn aktuell auf dein Z-Wave zu? Noch immer über den Razberry?

Gruß,
Markus

<? 
$Razberry_SerialPort = 16761 /*[Serial Port (Z-Wave Gateway #47185)]*/;

if (GetValueBoolean(10292 /*[_System\Schicht 1:Aktoren & Interfaces\AB_Interfaces\Z-Way\Z-Way Management\Z-Way Aktiv / Inaktiv]*/) == TRUE)
{
	//Port zum RazBerry freigeben
	IPS_SetProperty($Razberry_SerialPort, "Open", false); //I/O Instanz soll aktiviert sein.
	IPS_ApplyChanges($Razberry_SerialPort); //Neue Konfiguration übernehmen
	IPS_Sleep(1000);
	
	exec('sudo /etc/init.d/zbw_connect start');
	exec('sudo /etc/init.d/z-way-server start');
	IPS_Sleep(10000);
	IPS_SetEventActive(58776 /*[_System\Schicht 1:Aktoren & Interfaces\AB_Interfaces\Z-Way\Scripts\Control-Scripts\Get Devices\Täglich alle 60 Sekunden]*/, true);
	IPS_SetScriptTimer(15500 /*[_System\Schicht 1:Aktoren & Interfaces\AB_Interfaces\Z-Way\Z-Way Management\Z-Way Aktiv / Inaktiv\Z-Way Watchdog]*/, 300);
}
else
{
	IPS_SetEventActive(58776 /*[_System\Schicht 1:Aktoren & Interfaces\AB_Interfaces\Z-Way\Scripts\Control-Scripts\Get Devices\Täglich alle 60 Sekunden]*/, false);
	IPS_Sleep(1000);
	exec('sudo /etc/init.d/zbw_connect stop');
	exec('sudo /etc/init.d/z-way-server stop');
	exec('sudo update-rc.d z-way-server disable');
	IPS_Sleep(10000);
	
	//Port zum RazBerry freigeben
	IPS_SetProperty($Razberry_SerialPort, "Open", true); //I/O Instanz soll aktiviert sein.
	IPS_ApplyChanges($Razberry_SerialPort); //Neue Konfiguration übernehmen
}
?>

Hallo Markus,

was passiert, wenn Du z-way NICHT parallel zu IPS betreibst? Ich habe mir 2 Shell-Scripte angelegt, um z.B. IPS anzuhalten und z-way zu stoppen und umgekehrt. Ich glaube nicht, dass beide zusammen betrieben werden können.

Grüße, Gerhard

Hallo Gerhard,

ich bin ziemlich sicher, dass nur der Razberry-Zugriff von IP-Symcon und Z-Way nicht zeitgleich erfolgen darf. Wie du meinem Script im vorherigen Post entnehmen kannst, wird

[ol]
[li]Das Serial-Interface beendet / geschlossen
[/li][li]Z-Way aktiviert
[/li][/ol]

und im anderen Falle:

[ol]
[li]Z-Way beendet und deaktiviert
[/li][li]laaaaaaange gewartet
[/li][li]das Z-Wave Serial-Interface geöffnet
[/li][/ol]

Unabhängig davon wird Z-Way nicht automatisch gestartet, d.H. immer nach dem Neustart sollte es ja eigentlich passen :-). Ich vermute eher, dass z.B. Bluetooth oder eine Kernel-Funktion (Remote-Konsole / Shell über Serial) zwischen rein quatscht… Oder die Schnittstelle hat einen Defekt :eek::confused:

Gruß,
Markus

N Abend.

Ich verstehe den Sinn der „Umschalterei“ zwischen zWay und IPS nicht !?!
IPS ist damit in keinem Fall auf dem aktuellen Stand des zWave Netzes …

Gruß
lueralba

So… nach langem mal ein kleines Status-Update - auch als Doku für mich selber falls in Zukunft ich noch mal über derartige Probleme stolper. Was hab ich getan? Eigentlich einiges:

[ul]
[li]Raspberry Pi 3 ist unverändert, allerdings habe ich gesehen das (bei Verwendung eines Monitors) sporadisch der Blitz in der Konsole angezeigt wurde --> Stromversorgung nicht ausreichend
[/li][li]Implementierung eines IPS-Script zum Monitoring der Spannungsversorgung (Auswertung des RPI-Flags welche bei Verwendung eines Monitors das Blitz-Symbol triggert)
[/li]

<? 
$var_State = IPS_Execute('vcgencmd', "get_throttled", true, true);
$var_RPIState = 56067 /*[_System\Schicht 4: Monitoring & Überwachung\IP-Symcon\Gewerke\SYS: Power Supply\IPS_PowerSupply]*/;

$var_State2 = intval(str_replace("throttled=0x", "", $var_State));
if (GetValueInteger($var_RPIState) <> $var_State2) SetValueInteger($var_RPIState, $var_State2);
?>

[li] Austausch der RPI Stromversorgung
[/li][li] Wechsel auf den aktuellen Razberry2
[/li][li] Neuinstallation von einem aktuellen Raspbian und Restore des Symcon Backups
[/li][li] Deaktivierung der Seriellen Konsole über Raspi-Config sowie per
[/li]

$ sudo systemctl stop serial-getty@ttyS0.service
$ sudo systemctl disable serial-getty@ttyS0.service
$ sudo systemctl stop serial-getty@ttyAMA0.service
$ sudo systemctl disable serial-getty@ttyAMA0.service

(Trouble using serial via GPIO - Raspberry Pi Forums)
[li] Konfiguration des GPIO Serial Ports auf den performanteren ttyAMA0 (Configuring The GPIO Serial Port On Raspbian Jessie Including Pi 3 - Spell Foundry)
[/li][li] Austausch der kritischen Geräte (NodON Wall Plug)
[/li][/ul]

Gefühlt ist das Netz besser geworden - dennoch werde ich das Gefühl nicht los das die Implementierung des Z-Wave Protokolls in IP-Symcon noch nicht ganz sauber ist:

[ul]
[li] seltsame Assoziationen
[/li][li] seltsame Status / Wert-Variablen
[/li][li] komische Log-Einträge (Kann Daten nicht zur Instanz #41664 weiterleiten: Schlecht programmiert. Nur Größen und 1, 2 und 4 sind zulässig). Ist ja schön wenn im Log schon „schlecht programmiert“ drin steht - die Frage ist nur: wie lang bleibt das so?
[/li][/ul]

Gruß,
Markus

seltsame Assoziationen

Das tracken wir hier: Falsche (zusätzliche) Assoziationen in IPS-Nodes

seltsame Status / Wert-Variablen

Ich ging davon aus, dass wir dieses Problem gelöst haben. Sofern du nicht Geräte „Lädst“ werden keine Variablen erstellt.

komische Log-Einträge (Kann Daten nicht zur Instanz #41664 weiterleiten: Schlecht programmiert. Nur Größen und 1, 2 und 4 sind zulässig). Ist ja schön wenn im Log schon „schlecht programmiert“ drin steht - die Frage ist nur: wie lang bleibt das so?

Dies passiert nur, wenn beim Senden/Empfangen Daten „kaputt“ gehen. Denn laut Protokoll sind nur die angegebenen Größen erlaubt. Wie oft passiert diese Fehlermeldung denn bei dir? Programmierst du Geräte über PHP um?

paresy