NEWS
MySensors Adapter SERIAL and Ethernet (TCP and UDP) ist DA!!!!!
-
Hallo zusammen,
habe mir ein serial gateway gebaut (Arduino uno) und diesen per USB mit meinem Cubietruck mit IObroker verbunden. Die Installation des Adapters läuft ohne Probleme und startet auch. Im Config habe ich alles auf serial gestellt und (hoffentlich) den richtigen port ausgesucht. Beim Starten meldet das log folgendes:
` > mysensors-0 2016-04-05 18:40:23 info disconnected
mysensors-0 2016-04-05 18:39:23 info Received INTERNAL message: I_GATEWAY_READY: Gateway startup complete.
mysensors-0 2016-04-05 18:39:23 warn Serial data received: 0;0;3;0;14;Gateway startup complete.
mysensors-0 2016-04-05 18:39:23 info Log :gateway started, id=0, parent=0, distance=0
mysensors-0 2016-04-05 18:39:23 warn Serial data received: 0;0;3;0;9;gateway started, id=0, parent=0, distance=0
mysensors-0 2016-04-05 18:39:23 info Connected
mysensors-0 2016-04-05 18:39:22 error Serial error: Error: Serialport not open.
mysensors-0 2016-04-05 18:39:21 info starting. Version 0.1.10 in /opt/iobroker/node_modules/iobroker.mysensors
host-cubietruck 2016-04-05 18:39:18 info instance system.adapter.mysensors.0 started with pid 13587
host-cubietruck 2016-04-05 18:39:16 info instance system.adapter.mysensors.0 terminated with code 0 (OK)
host-cubietruck 2016-04-05 18:39:16 info stopInstance system.adapter.mysensors.0 killing pid 13457 `
Habt ihr einen Tipp was falsch läuft?
Des Weiteren ist mir nicht klar, wie ich neue MySensor Sensoren hinzufüge…
Viele Grüße und danke für die Entwicklung!
Trident
-
Hallo zusammen,
habe mir ein serial gateway gebaut (Arduino uno) und diesen per USB mit meinem Cubietruck mit IObroker verbunden. Die Installation des Adapters läuft ohne Probleme und startet auch. Im Config habe ich alles auf serial gestellt und (hoffentlich) den richtigen port ausgesucht. Beim Starten meldet das log folgendes:
` > mysensors-0 2016-04-05 18:40:23 info disconnected
mysensors-0 2016-04-05 18:39:23 info Received INTERNAL message: I_GATEWAY_READY: Gateway startup complete.
mysensors-0 2016-04-05 18:39:23 warn Serial data received: 0;0;3;0;14;Gateway startup complete.
mysensors-0 2016-04-05 18:39:23 info Log :gateway started, id=0, parent=0, distance=0
mysensors-0 2016-04-05 18:39:23 warn Serial data received: 0;0;3;0;9;gateway started, id=0, parent=0, distance=0
mysensors-0 2016-04-05 18:39:23 info Connected
mysensors-0 2016-04-05 18:39:22 error Serial error: Error: Serialport not open.
mysensors-0 2016-04-05 18:39:21 info starting. Version 0.1.10 in /opt/iobroker/node_modules/iobroker.mysensors
host-cubietruck 2016-04-05 18:39:18 info instance system.adapter.mysensors.0 started with pid 13587
host-cubietruck 2016-04-05 18:39:16 info instance system.adapter.mysensors.0 terminated with code 0 (OK)
host-cubietruck 2016-04-05 18:39:16 info stopInstance system.adapter.mysensors.0 killing pid 13457 `
Habt ihr einen Tipp was falsch läuft?
Des Weiteren ist mir nicht klar, wie ich neue MySensor Sensoren hinzufüge…
Viele Grüße und danke für die Entwicklung!
Trident `
Danke für Fehlermeldung.Ich habe neue Version gemacht. Fehler sollte jetzt nicht auftauchen.
-
Hi bluefox,
danke für die schnelle Reaktion. Es funktioniert nun auch für kurze Zeit. Dann disconnected der Adapter wieder. Siehe Log:
` > mysensors.0 2016-04-05 21:45:51 info mysensors.0 disconnectedmysensors.0 2016-04-05 21:44:51 info mysensors.0 Received INTERNAL message: I_GATEWAY_READY: Gateway startup complete.
mysensors.0 2016-04-05 21:44:51 warn mysensors.0 Serial data received: 0;0;3;0;14;Gateway startup complete.
mysensors.0 2016-04-05 21:44:51 info mysensors.0 Log :gateway started, id=0, parent=0, distance=0
mysensors.0 2016-04-05 21:44:51 warn mysensors.0 Serial data received: 0;0;3;0;9;gateway started, id=0, parent=0, distance=0
mysensors.0 2016-04-05 21:44:51 info mysensors.0 Connected
mysensors.0 2016-04-05 21:44:49 info mysensors.0 Serial port opened
mysensors.0 2016-04-05 21:44:49 info mysensors.0 starting. Version 0.2.0 in /opt/iobroker/node_modules/iobroker.mysensors
cubietruck 2016-04-05 21:44:46 info host.cubietruck instance system.adapter.mysensors.0 started with pid 4800 `
Es scheint immer genau eine Minute zu sein…
Viele Grüße
Trident
-
Hi bluefox,
danke für die schnelle Reaktion. Es funktioniert nun auch für kurze Zeit. Dann disconnected der Adapter wieder. Siehe Log:
` > mysensors.0 2016-04-05 21:45:51 info mysensors.0 disconnectedmysensors.0 2016-04-05 21:44:51 info mysensors.0 Received INTERNAL message: I_GATEWAY_READY: Gateway startup complete.
mysensors.0 2016-04-05 21:44:51 warn mysensors.0 Serial data received: 0;0;3;0;14;Gateway startup complete.
mysensors.0 2016-04-05 21:44:51 info mysensors.0 Log :gateway started, id=0, parent=0, distance=0
mysensors.0 2016-04-05 21:44:51 warn mysensors.0 Serial data received: 0;0;3;0;9;gateway started, id=0, parent=0, distance=0
mysensors.0 2016-04-05 21:44:51 info mysensors.0 Connected
mysensors.0 2016-04-05 21:44:49 info mysensors.0 Serial port opened
mysensors.0 2016-04-05 21:44:49 info mysensors.0 starting. Version 0.2.0 in /opt/iobroker/node_modules/iobroker.mysensors
cubietruck 2016-04-05 21:44:46 info host.cubietruck instance system.adapter.mysensors.0 started with pid 4800 `
Es scheint immer genau eine Minute zu sein…
Viele Grüße
Trident `
Es ist folgendes, wenn adapter keine Meldungen innerhalb von eine Minute bekommt, denkt er, dass Serial Gateway nicht da ist und meldet disconnected.Falls jetzt Serial Gateway was sendet, dann ändert sich den Zustand wieder auf connected.
-
Ah ok - ich habe im Moment auch noch keinen Sensor und daher keine Aktivität auf dem Gateway! Wie würde ich denn nun Sensoren hinzufügen? Laut mysensors-Homepage über den Controller - also den iobroker Adapter, oder? Steh da irgendwie auf dem Schlauch ..
-
Ah ok - ich habe im Moment auch noch keinen Sensor und daher keine Aktivität auf dem Gateway! Wie würde ich denn nun Sensoren hinzufügen? Laut mysensors-Homepage über den Controller - also den iobroker Adapter, oder? Steh da irgendwie auf dem Schlauch .. `
Wenn ioBroker gestartet ist, sendet er ein I_GATEWAY_READY Kommando, danach I_FORCE_PRESENTATION und danach I_REBOOT (falls immer noch keine Kommunikation). Dabei erwartet ioBroker, dass Serial Gateway mit Presentation anfängt und lernt dabei alle Eingänge und Ausgänge. Anwender sollte nichts machen. -
Nimm doch mein Sketch zum probieren…
-
Hi,
Wenn ich das richtig verstanden habe, dann kann mysensors ja auch UDP Protokolle verarbeiten.
Ich beachtsichtige einen Fingerabdrucksensor zu verwenden, der die Zutritte logged. Habe ich beschrieben hier:
http://forum.iobroker.com/viewtopic.php … ffa#p23345
Das system bietet einen UDP Konverter. Ich stelle mir das so vor, dass ich den sendenden Port einfach dem Adapter mitteile und die Messages werden empfangen. Würde das gehen ?
und wenn ja, wie würde das logging passieren ? - innerhalb eines Datenpunkts ?
vG Looxer
-
Es scheint mir, als ob bei dem Adapter die Möglichkeit fehlt den inclusion-Mode zu aktivieren. Dieser verbindet neue Sensoren mit dem Gateway. Es gibt die Möglichkeit diesen per Knopf am Gateway zu aktivieren (wenn man ihn anlötet) oder dies aus dem Controller zu machen (Vera kann das offensichtlich).
` > Including New Sensor(s)
To add one or more new sensors to your Vera, follow the steps below:
Start inclusion mode on the Arduino Vera device by pressing the "Start" button. Inclusion mode is normally active for 1 minute.
While the inclusion mode is active, restart each new sensor that you want to include to ensure that it sends the special presentation message to the Vera. Once the inclusion mode ends, you should see something like "2 new sensors found" in the Arduino Vera device.
Once inclusion mode ends, your Vera will automatically reload the luup engine if it detected any new sensor nodes. Once the Vera reload completes (1-3 minutes), you should see your new Arduino sensor devices on the dashboard.
Restart you sensor again. This create all necessary variables for the new device and will update the sketch name and version information for the sensor node.
Finally, reload the browser tab. Congratulations! Your new Arduino sensor devices should be on-line, connected and reporting data to your Vera! `
Ich werde mal den Hardware weg testen und berichten. Es wäre aber aus meiner Sicht ein Must-have Feature diesen Modus über iobroker zu aktivieren.
-
Meiner Meinung nach ist es immer ein Hardware weg…
Bitte schicke den link oder die Stelle wo auf der mysensor Homepage beschrieben wird, wie man es ohne den Knopf aktiviert...
Danke.
-
Hi,
das Thema ist auf der mysensor page nur schlecht bis gar nicht beschrieben, da es wohl Aufgabe des jeweiligen Controllers ist dieses umzusetzen. Ich habe bin nur anhand dieser Videoszene zum Thema gekommen:
https://youtu.be/2bc27dpof04?t=5m37s
Ich hab mir nun einen Kopf gebaut, um den Inclusionmode so zu aktivieren. Es scheint mir aber so, als das der sensor keine ID bekommt
Hier ein Auszug aus dem Serialmonitors meines Sensors:
` > send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,st=ok:req id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,st=ok:
req id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,st=ok:
100
req id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,st=ok: `
Und hier das Log aus ioBroker: (man erkennt glaube ich das aktivieren des inclusionmodes am Punkt STARTED)
` > mysensors-0 2016-04-10 13:35:49 warn Serial data received: 0;0;3;0;9;read: 255-255-0 s=255,c=3,t=3,pt=0,l=0,sg=0:mysensors-0 2016-04-10 13:35:47 info Received INTERNAL message: I_ID_REQUEST:
mysensors-0 2016-04-10 13:35:47 warn Serial data received: 255;255;3;0;3;
mysensors-0 2016-04-10 13:35:47 info Log :read: 255-255-0 s=255,c=3,t=3,pt=0,l=0,sg=0:
mysensors-0 2016-04-10 13:35:47 warn Serial data received: 0;0;3;0;9;read: 255-255-0 s=255,c=3,t=3,pt=0,l=0,sg=0:
mysensors-0 2016-04-10 13:35:45 info Received INTERNAL message: I_ID_REQUEST:
mysensors-0 2016-04-10 13:35:45 warn Serial data received: 255;255;3;0;3;
mysensors-0 2016-04-10 13:35:45 info Log :read: 255-255-0 s=255,c=3,t=3,pt=0,l=0,sg=0:
mysensors-0 2016-04-10 13:35:45 warn Serial data received: 0;0;3;0;9;read: 255-255-0 s=255,c=3,t=3,pt=0,l=0,sg=0:
mysensors-0 2016-04-10 13:35:43 info Received INTERNAL message: I_ID_REQUEST:
mysensors-0 2016-04-10 13:35:43 warn Serial data received: 255;255;3;0;3;
mysensors-0 2016-04-10 13:35:43 info Log :read: 255-255-0 s=255,c=3,t=3,pt=0,l=0,sg=0:
mysensors-0 2016-04-10 13:35:43 warn Serial data received: 0;0;3;0;9;read: 255-255-0 s=255,c=3,t=3,pt=0,l=0,sg=0:
mysensors-0 2016-04-10 13:35:28 info STARTED `
Laut Serial-API von MySensors sollte auf ein I_ID_REQUEST der Controller mit einer I_ID_RESPONSE antworten (vgl.: https://www.mysensors.org/download/serial_api_15)
` > I_ID_REQUEST 3 Use this to request a unique node id from the controller.
I_ID_RESPONSE 4 Id response back to node. Payload contains node id.
I_INCLUSION_MODE 5 Start/stop inclusion mode of the Controller (1=start, 0=stop). `
Hier kann dann auch der inclusionmode über eine Messerage "I_INCLUSION_MODE" per Controller aktiviert werden.
Aber es wird scheinbar keine Id vergeben und unter Objekte tauchen auch keine Daten auf… Vielleicht mache ich ja auch noch was falsch....
Danke für eure Hilfe!!!
Viele Grüße
Trident
-
Es scheint mir, als ob bei dem Adapter die Möglichkeit fehlt den inclusion-Mode zu aktivieren. Dieser verbindet neue Sensoren mit dem Gateway. Es gibt die Möglichkeit diesen per Knopf am Gateway zu aktivieren (wenn man ihn anlötet) oder dies aus dem Controller zu machen (Vera kann das offensichtlich).
` > Including New Sensor(s)
To add one or more new sensors to your Vera, follow the steps below:
Start inclusion mode on the Arduino Vera device by pressing the "Start" button. Inclusion mode is normally active for 1 minute.
While the inclusion mode is active, restart each new sensor that you want to include to ensure that it sends the special presentation message to the Vera. Once the inclusion mode ends, you should see something like "2 new sensors found" in the Arduino Vera device.
Once inclusion mode ends, your Vera will automatically reload the luup engine if it detected any new sensor nodes. Once the Vera reload completes (1-3 minutes), you should see your new Arduino sensor devices on the dashboard.
Restart you sensor again. This create all necessary variables for the new device and will update the sketch name and version information for the sensor node.
Finally, reload the browser tab. Congratulations! Your new Arduino sensor devices should be on-line, connected and reporting data to your Vera! `
Ich werde mal den Hardware weg testen und berichten. Es wäre aber aus meiner Sicht ein Must-have Feature diesen Modus über iobroker zu aktivieren. `
Ich habe mit mySensors nicht so lange her angefangen und hab selbst nicht mal einen Sensor :).Es ist wichtig, dass die Anwender berichten, was noch fehlt. Aus den Meldungen kann ich folgende fehlende Features anmerken:
-
inclusion mode
-
broadcast
-
firmware update
-
-
Moin moin,
als Verbesserungsvorschlag habe ich noch die Idee das empfangene Nachrichten eines Clients an alle weiteren verbundenen Cliens weiter gereicht werden, ähnlich dem MQTT Broker.
Beine bissherigen Tests haben gezeit dass die Verbindungen veschiedener Clients zum Controller sich gegenseitig nicht sehen können.
Mein Ziel ist ein OTA Update der Nodes über einen zweiten verbundenen Client (in dem Fall MyController).
Hierfür ist es allerdings erforderlich dass der zweite client über den ersten mit den Nodes kommunizieren kann.
Grüße MP `
Wie sollte das funktionieren?- Einstellbar und falls enabled, dann werden alle Meldungen von allen Sensoren an alle weiter geleitet (außer initial Sensor) ?
oder muss es selektiv sein? Nur von bestimmten Sensoren? Nur an bestimmte Sensore?
-
Hi Bluefox,
ich helfe gerne und habe mir auch schonmal die main.js des adapter angeschaut. Leider sind meine JS Kenntnisse nahe null. Ich tue mich noch schwer nachzuvollziehen, wo die IDs der bekannten Sensoren abgelegt werden (in iobroker). Die Struktur sieht derzeit keine Antwort auf Nachrichten mit
-typ: INTERNAL
-subtyp: I_ID_REQUEST
vor. daher bekommt mein Sensor auch keine ID zugewiesen (vgl. Zeile 319 abwärts in main.js). Dieses "Management" der bekannten Sensoren scheint nach gänzlich zu fehlen, oder ich verstehe den Code nicht genug, um es zu erkennen :).
Meine Idee wäre: Für jeden Sensor-Node wird eine Sub-Struktur in der ioBroker Objekte-Struktur aufgebaut, welche die ID des Sensor-Nodes enthält. die Child-Sensor-Ids sind dann Unter-Strukturen des jeweiligen Sensor-Nodes. Ist diese Liste bekannt, könnte ioBroker schauen, welche Sensor-Node-IDs die derzeit größte ist, diese um eins erhöhen und dem Sensor über "I_ID_RESPONSE" diese mitteilen. Danach sendet der Sensor aus meinem Verständnis die Presentation Nachricht (falls nicht triggered der Controller - diese Funktion ist glaub ich bereits im Code) und ergänzt die neuen Informationen (TYP des Sensors, Sketch Id, u.a.) in den ioBroker-Strukturen.
Ich bin im Moment leider etwas ratlos, wie ich dir weiter zu Hand gehen kann… was brauchst du? Helfe gerne!
-
Ich habe mal eine Bildchen gemalt, wie aus meinem Verständnis der Ablauf sein könnte:
-
Ich habe mal eine Bildchen gemalt, wie aus meinem Verständnis der Ablauf sein könnte:
filename="Struktur.jpg" index="0">~~ `
Eigentlich meine Frage war bezüglich broadcast.Aber trotzdem danke für Diagram.
-
Ich habe mal eine Bildchen gemalt, wie aus meinem Verständnis der Ablauf sein könnte:
filename="Struktur.jpg" index="0">~~ `
Jetzt aber eine Frage zu Inclusion-Mode:Ich bin nicht ganz einverstanden, dass Presentation nur in AnlernenModus ausgewertet wird. Sollte es nicht immer ausgewertet sein?
-
Ich bin mir auch nicht zu hundert Prozent sicher, das Thema wird meiner Meinung nach in der API Beschreibung auf Mysensors.org nur unzureichend beschrieben. Der VERA Controller wird durch das Team von MySensors direkt gepflegt. Daher hatte ich mich an dem orientiert.
Hier steht:
> When a sensor sends its presentation during inclusion mode, the Vera will add it as a new device on the Vera dashboard. Sensors send their presentation information from the setup() method whenever the sensor node's Arduino is reset or power-cycled so you will need to reset your sensor node once you have click the Start button.
Daher habe ich das Diagramm so dargestellt… Sollte der Adapter immer die Presentation Messages auswerten und Objekte in ioBroker erzeugen, könnten doch ohne weiteres auch die Sensoren der Nachbarn bei mir auftauchen... oder? Daher dachte ich, es wäre gut dieses nur auszuwerten wenn inclusion mode an ist.
-
Habe jetzt versucht auf github Inclusion-Mode zu implementieren. Ist ziemlich einfach.
Es gibt Zustand mysensors.X.inclusionOn. Wenn der true ist, dann funktioniert Anlernen. Modus geht automatisch aus nach 60 Sekunden (Einstellbar).
Ich selbst habe keine MySensors. Wenn jemand ausprobieren konnte, währe das toll.
cd /opt/iobroker iobroker stop mysensors npm install https://github.com/ioBroker/ioBroker.mysensors/tarball/master --production iobroker upload mysensors iobroker start mysensors
-
Vergibst du dann auch die Sensor IDs? - Siehe Diagramm?
Hab es schon im Code gesehen - Teste es und melde mich wieder