[Modul] XBee Serie 2 - ZigBee Netzwerk

Reset sollte gehen. Haben aber die API gerade nicht griffbereit.
Eine Instanz vom Typ Device anlegen und direkt als übergeordnete Instanz das Gateway auswählen.
Dann kannst du mit XBEE_WriteParameter auch direkt auf den Coordinator zugreifen.
Ändert sich den der ModemStatus vom Coordinator? Der sollte regelmäßig abgefragt werden.
Michael

Hallo Michael,

danke für die sschnelle Antwort an einem sehr heißen Sonntag.

Habe ein Test Device angelegt und versucht folgenden Befehl abzusetzten (NR=1)

XBEE_WriteParameter(37791 /*[Test Device]*/, 'NR',"\x1");

Klappt leider nicht wie gewünscht und wirft folgende Nachricht:


Notice: exception 'Exception' with message 'Unknown Parameter: NR' in /var/lib/symcon/modules/IPSXBeeZigBee/XBeeZBDevice/module.php:343 Stack trace: #0 /var/lib/symcon/scripts/__generated.inc.php(37): XBZBDevice->WriteParameter('NR', '\x1') #1 /var/lib/symcon/scripts/13173.ips.php(4): XBee_WriteParameter(37791, 'NR', '\x1') #2 {main} in /var/lib/symcon/modules/IPSXBeeZigBee/XBeeZBDevice/module.php on line 355

Was genau bedeutet das jetzt?

Dein Beispiel

echo XBEE_ReadParameter(12345, 'NI');  // Gibt den NodeIdent aus (z.B. MS35_5)

hingegen spuckt bei mir die korrekte Node ID aus.

NR habe ich dann aktuell nicht berücksichtigt.
Ich fixe das gleich.
Michael
PS: Im hohen Norden eher leicht bewölkt und angenehm warm aber nicht heiß :wink:

Edit: Update online, habe es aber nicht getestet ob der Befehl so korrekt ist.

Michael - ganz herzlichen Dank - der NR-Befehl wird jetzt akzeptiert und ausgeführt, hat aber leider nicht unser Problem gelöst.
Ist halt blöd, wer man nur ‚remotely‘ agieren kann - die Werksatt ist ganau am anderen Ende von Wiesbaden.

Gruß
Dieter

Grad noch ne kurze Frage - Du hast erwähnt: „Ändert sich denn ModemStatus vom Coordinator“
Was genau wird denn da angezeigt und welche Zustände gibt es?

Da sollte eigentlich eine Variable sein unter der Instanz.
Ist eine Integer mit VariablenProfil.
Die Zuordnung habe ich nicht im Kopf, kannst aber im Profil nachschauen.
Gibt dort z.B. Network went to sleep oder Invalid channel.
Michael

Hallo Michael,

leider muss ich mal wieder nerven.

In unserem Verein (makerspace-wi.de) sind wir heute auf einen neuen Raspi und SYMCON 5.x umgestiegen.

Hat auch weitestgehend funktioniert, bis auf eine ständig wiederkehrende Nachricht:

15.02.2019, 22:50:24 | FlowHandler | Kann Daten nicht zur Instanz #45244 weiterleiten: <br />
<b>Warning</b>: A non-numeric value encountered in <b>/var/lib/symcon/modules/IPSXBeeZigBee/XBeeZBGateway/module.php</b> on line <b>566</b><br />

Bei der Instanz #45244 handelt es sich um das XBee ZBee Gateway Module, dass die Daten vom XBee ZBee Coordinator Serial Port erhält. Es sieht allerdings so aus, als ob die verschiedenen Messages in die korrekten Splitter weitergeleitet werden.
Mit SYMCON 4.x gab es diese Meldungen nicht und ich wollte mal fragen, ob Dir dazu was einfällt.

Gruß aus Wiesbaden
Dieter

PHP 7 ist da jetzt sehr streng.
Muss ich mir ansehen.
Michael

Moin Michael,

habe gleich mal auf GitHub nachgeschaut und es handelt sich dabei um folgendes:

Also es handelt sich um die Zeilen 566 und 570 in /modules/IPSXBeeZigBee/XBeeZBGateway/module.php - angeblich wird dort Arithmetik mit einem String angewendet.
Ist vielleicht der Ausdruck ‚strlen($packet) - 3‘ problematisch?

Gruß
Dieter

Ja
Pack das mal in eine Klammer. Das sollte dann gehen.

(strlen($packet) - 3)

Hat das geholfen?
Ich habe die Geräte aktuell nicht in Betrieb und müsste die erst aufbauen um das zu testen.
Michael

Moin Michael, moin 1007,

JA - das war’s - alle Fehlermeldungen ‚are gone‘

Danke an 1007

Grüße aus Wiesbaden
Dieter

Danke :slight_smile:
Dann geht nachher ein Update online und wird auch gleich als IPS4 Zweig archiviert.
Muss aber irgendwann noch Mal alles aufbauen und testen, wenn ich den neuen master exklusiv für IPS5 anbiete.
Michael

Moin Michael,

habe gerade mein Heimsystem mal auf 5.1 Testing umgestellt und festgestellt, dass Du anscheinend vergessen hast, die kleine Änderung einzupflegen. Habe es gerade noch mal manuell geändert.

Gruß
Dieter

Geändert hatte ich es.
Nur nicht auf GitHub gepusht :smiley:
Ist jetzt online.
Michael