Wie PHP Skript beschleunigen - Aeon MUltisensor vs. Fibaro Relay Switch?

Wir haben eine Kombination aus einem batteriebetriebenen Aeon Multisensor (Bewegungsmelder) und einem Fibaro Relay Switch - der bei Dunkelheit eine LED Hoflampe einschaltet bei Bewegung.

Leider läuft die Schaltung bei Bewegung stark zeitversetzt ab.

Ein Nützung der Alarmklasse funktioniert nicht, da der Bewegungsmelder über diese Alarmklasse die Hoflampe auch tagsüber einschaltet…

Gibt es in meinem IPS Skript Potential zur Beschleunigung?
die Test „echos“ habe ich schon mal auskommentiert. Dadurch ist es gefühlt schon ein Tick schneller geworden.

<?
$bewegung=GetValueBoolean(36209 /*[Haus\Licht\Bewegungsmelder aussen\Data (Boolean)]*/);
$dunkelheit=GetValueInteger(15871 /*[Haus\Licht\Bewegungsmelder aussen\Value\Helligkeit]*/);

if ($bewegung == true and ($dunkelheit <= 100)) {
   // Auf Basis der Helligkeit unter 100 Lx
       IPS_SetScriptTimer($IPS_SELF, 4 * 60);   // 4 x 60 Sekunden = 4 Minuten
       ZW_SwitchMode(10762 /*[Haus\Licht\Schalter Aussenlampe]*/, true);
		 //echo "durchlaufen";
		 //echo "bewegung $bewegung";
		 //echo "dunkelheit $dunkelheit";
	 }

if ($IPS_SENDER == "TimerEvent") {
    IPS_SetScriptTimer($IPS_SELF, 0);
    ZW_SwitchMode(10762 /*[Haus\Licht\Schalter Aussenlampe]*/, false);
	 }
?>

Ist hier noch Potential? Ansonsten bleibt mir nur noch die Idee, dass ich den Bewegungsmelder auf Stromversorgung per Netzteil umrüste…

Hast du mal geschaut, was so lange dauert? Ob es das Empfangen, oder das Senden ist?

paresy

Danke für den Tipp.
Wie kann ich das messtechnisch erfassen/eingrenzen/prüfen?

Wenn ich den zwave schaltaktor direkt schalte gibt es keine Verzögerung… also gehe ich davon aus das das Problem beim aeon bewegungsmelder zu suchen ist …

Beim Bewegungsmelder müsstest du leider das Teil in der Hand mitnehmen und vor dem Bildschirm auslösen. Dann schauen wie lange es dauert, bis IPS dies mitbekommt. Wird vielleicht der Status irgendwo geroutet?

paresy

Vielen Dank Paresy.

Es kann durchaus sein, dass der AEON BWM einen „Hop“ macht.
Ich hab erst jetzt gelernt, dass man batteriebetriebene ZWAVE Devices im Idealfall an dem endgültigen Standort anlernt.

Die Optimierung funktioniert im Zusammenhang mit Batteriebetriebenen Zwave Geräten scheinbar nicht oder nicht richtig.

In meinem Fall, warte ich jetzt auf das bestellte 5V Netzteil und einem wasserdichten Gehäuse für das Netzteil.
Dann lerne ich denn Aeon Multisensor ab und lerne ihn netzbetrieben wieder an.

Damit sollte auch eine Zeitverzögerung durchs Routing ausgeschlossen sein.

@IPS
Das sollte man evtl. mal ins IPS Wiki mit aufnehmen.

„Batteriebetriebene Zwave Aktoren immer am späteren Standort anlernen um Zeitverzögerungen durch ein etwaiges falsches Routing auszuschliessen. Eine nachträgliche Netzoptimierung funktioniert bei batteriebetriebenen Aktoren nicht“

Hi!

Eine nachträgliche Optimierung funktioniert sehr wohl. Allerdings muss man die Batteriebetriebenen Aktoren dazu von Hand aufwecken (bei Fibaro z.B. 3x B-Button drücken // steht normal in der Anleitung, wie man die Aktoren händisch wecken kann), wenn die Optimierung am jeweiligen Knoten angekommen. Nervt mich auch bei Z-Wave, ist einfach nur doof und umständlich. Aber wenn man es, je nach Aktoren-Verteilung, mit mindestens 2 Personen durchführt, dann klappts :smiley: Oder einem Laptop/Tablet/… :wink:

Grüße,
Chris

Das wird aber nur bedingt funktionieren , das Gerät am finalen Standort anzulernen.
Ich habe da nur schlechte Erfahrungen gemacht.
Ich optimiere meine batteriebetriebenen Geräte per Skript sobald die etwas senden. Das funktioniert sehr gut.
Peter

Ich optimiere meine batteriebetriebenen Geräte per Skript

Magst du verraten, wie du das per Skript optimierst? Würde mich sehr interessieren :slight_smile:

Danke und Grüße,
Chris

Du kannst einzelne Nodes per PHP Befehl optimieren.
Da die Batterie betrieben Geräte ja wach sind (wenn auch nur kurz )sobald sie etwas senden ( z.B. ein BM bei Bewegung) triggere ich per Ereignis das Optimierungsskript.
Ebenso können so Parameter geändert werden.
Die Geräte gehen nicht sofort wieder in den Schlaf.
Gruß,
Peter

Du kannst einzelne Nodes per PHP Befehl optimieren.

> Dieser Teil war/ist mir nicht bekannt, dazu bräuchte ich den Code :slight_smile: Den Rest hattest du ja schon an anderer Stelle beschrieben.

Danke und Grüße,
Chris

Das Skript kann ich dir aber erst heute Abend liefern.
Ist aber eher ein 1-Zeiler.
Nicht das du da jetzt ein riesen Skript erwartest!?

Zw_OptimizeNode…, das Gateway und die NodeID angeben und dann durch eine Ereignis triggern lassen.

In meinem Skript deaktiviere ich das Ereignis am Ende noch, damit die Optimierung nur 1x ausgeführt wird.
Thats it…

Mir ging es nur um den Befehl „Zw_OptimizeNode“, der war mir unbekannt :slight_smile: Das reicht schon :slight_smile:

Danke!

Das verhalten kann ich übrigens auch bestätigen…

Wieder was dazugelernt. Klasse.

D.h. einfach bei Aktualisierung einer variable “Zw_OptimizeNode(id)“ ausführen - fertig.

Ich probiere es heute Abend gleich mal aus…

Das kann ich für meinen fibaro fenstersensor auch gleich anwenden.

Offtopic… Aber hier der Nachfolger:

Z-Wave motion sensor and MultiSensor

Gesendet von meinem S208

Jupp… Genau so! Ist auch gut um Parameter zu ändern oder andere Nodes einzutragen in Gruppe 1 und 2.
Gruß,
Peter

Moin!

Fatal error:  Call to undefined function Zw_OptimizeNode() in C:\IP-Symcon\scripts\12345.ips.php on line 4

Kann es sein, dass es diesen Befehl unter Windows nicht gibt? :confused:

Grüße,
Chris

Es müsste ZW_RoutingOptimizeNode heißen.

paresy

Danke dir!

Leider klappt es weder mit der ID vom Aktor selbst, noch vom Konfigurator, noch von der IO-Instanz.

Warning: ZW_RoutingOptimizeNode: Instance #56789 does not implement this function! in C:\IP-Symcon\scripts\12345.ips.php on line 5

Habe auch verschiedene ausprobiert, bei keinem Aktor funktionert es. Weder die Fibaro mit Stromanschluss, noch sonstige Aktoren.

Edit: In der „normalen“ Optimierung werden diese Aktoren aber optimiert. Nur einzeln optimieren klappt bei keinem.
Edit2: Auch bei „ZW_GetDevices(12345);“ kommt die Meldung. Kann es sein, dass da einige nicht/nicht mehr funktionieren? Welche sollten denn funktionieren?

Grüße,
Chris

ID ist auch Falsch… Du musst die Node Nummer nehmen!

Find ich persönlich auch ungünstig und sollte geändert werden!!!

@paresy: warum ist das so?! Warum wird nicht die ID der Instanz des Gerätes genommen?