ZW_RoutingOptimizeNode führt zu TimeOut in Beta 4.0

Moin,

folgendes Skript läuft durch bis die 30 Sekunden Grenze erreicht ist und wird dann als Fehlerhaft (rotes !) in der Konsole angezeigt. Das Optimieren wird normal gestartet und beendet, nur der Befehl hängt sich auf.

<?

ZW_RoutingOptimizeNode(20353 /*[Z-WAVE Gateway (LAN)]*/,42);

?>
Warning:  Optimizing timed out! in /var/lib/symcon/scripts/51725.ips.php on line 3

Gruß,
Peter

IP-Symcon 4.00, 29.04.2016, 4ff1ad4a1d44

Moin Moin.

Könnte hierzu gehören:

https://www.symcon.de/forum/threads/30427-Z-Wave-Optimierung?p=284451#post284451

Fehler bis heute noch vorhanden…:frowning:

LG
lueralba

Im Log ist alles ok. Nur das Skript hängt 30 Sek. Hatte unter der 4.0 Stable keine Probleme beim optimieren.

Gesendet von iPhone mit Tapatalk

Hallo IPS Team! Habt ihr das hier mitbekommen?

Gesendet von iPhone mit Tapatalk

Wir haben dort definitiv nichts geändert von Stable auf Beta :slight_smile: Das Timeout beim Optimieren ist 60 Sek. und bei den PHP Skripten ist 30 Sek. Das erklärt, warum es als Fehlerhaft markiert wird. Erhöh mal bitte in der php.ini die max_execution_time auf z.B. 90 Sek, dann sollte das Problem nicht auftreten. Hast du ggf. auf deinem Stable System diesen Wert schon erhöht?

paresy

Ne… das Skript lief vorher keine 500ms! Jetzt kommt der Timeout und blockiert einen Thread.
Ich hab noch nie die execution_time erhöhen müssen.
Diese hohe Zeit würde für mich auch nur Sinn ergeben, wenn ich per echo Feedback über die Optimierung zurück bekommen würde, das ist ja aber nicht der Fall. Aber selbst dann, dürfte das Skript nur so lange laufen wie die Optimierung dauert.
Aber warum soll das Skript 30 oder gar 90 Sekunden Zeit bekommen, wenn mir die Optimierung nach 5 Sekunden als „Abgeschlossen“ angezeigt wird?

So… execution_time erhöht… Optimierung nach 5 Sekunden abgeschlossen… das Skript läuft weiter und blockiert den Thread jetzt für 60 Sekunden. Fehlermeldung:

Warning:  Optimizing timed out! in /var/lib/symcon/scripts/51725.ips.php on line 3

Jetzt aber ohne rotes Ausrufezeichen.

Du hast doch geschrieben das ihr was am Optimieren geändert habt, wegen der Geräte die plötzlich Batteriebetrieben angezeigt wurden und plötzlich neue Variablen hatten.

Ich hatte vor der Beta ein Skript, welches alle 15 Sekunden zufällig einen nicht-Batteriebetrieben-Node auswählt und optimiert. Das hat mir keine Threads blockiert und wurde mir nicht fehlerhaft angezeigt. Das Skript lief keine Sekunde.

Achso. Ne. Wir haben etwas am Handling der Z-Wave NodeClasses geändert, die beim Optimieren ggf. falsch gesendet werden. Hat sogesehen aber nichts mit der Optimierung zu tun. Ich schaue mal, ob ich den Fehler von dir nachstellen kann. Du sagst also, du siehst im Log nach 5 sek. dass die Optimierung abgeschlossen wurde, aber die Funktion merkt es nicht?

paresy

Jupp… das optimieren ist fertig, das Skript läuft bis zum Timeout durch.

Gesendet von iPhone mit Tapatalk

Vielleicht liegt es auch am LAN-Gateway von euch!? Ich habe 2 Tage a 6 Stunden alle Z-Wave Geräte auf LAN umgestellt. Hatte so die Schnauze voll. [emoji51]
Dann gleich auf von 3.4 -> 4.0 gewechselt.
Läuft bis jetzt super auf dem Pi!

Gesendet von iPhone mit Tapatalk

Ich denk das Problem gefunden zu haben. Im Testing Kanal gibt es eine neue Version :slight_smile:

paresy

Moin…

… gibt es die Funktion jetzt gar nicht mehr? Ich bin gerade bei Schwiegereltern und möchte einen ZW Rauchmelder manuel optimieren, nur finde ich keine Möglichkeit das zu tun?

Oder bin ich Blind? Ich hab jetzt im Konfigurator, der Instanz und in die Befehlsliste geschaut und nix gefunden.
Ich würde mich über ne Info freuen wie ich ein Batteriebetrieben-Node manuell optimieren kann.

Danke,
Peter

Hallo
Entweder so

ZW_Optimize(xxxxx);

oder Instanz oeffnen und mit Button Routing ( Optimieren ).
Wenn es bei 4.0 schon den Button gab?

Dank Dir für die schnelle Antwort. Ich dachte mit ZW_Optimize würde ich nur das ganze Netz optimieren können und der Button ist mehr eben unter Routing nicht aufgefallen. Hatte da zwar kurz rein geschaut, aber den Button komplett ignoriert.

Danke noch mal…

Peter

Normalerweise solltest du das auch nicht muessen. Optimierung wird automatisch zyklisch ausgefuehrt.
https://www.symcon.de/service/dokumentation/modulreferenz/z-wave/zw-optimize/

Ja, aber wenn ich ein Gerät installiere und an der Einbauposition habe, würde ich es gerne zumindest einmal manuell starten.
Ansonsten Optimiere ich auch nix mehr manuell.
Danke für den Link.
Grüße,
Peter

Gesendet von iPhone mit Tapatalk

Das Optimieren über die Konsole ist am einfachsten, da du ja einen WAKE_UP abwarten musst. Die Konsole macht das somit für dich, während in PHP dies nicht so einfach möglich wäre. Und du bekommst in der Konsole Feedback was alles passiert :slight_smile:

paresy