Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MySensors Adapter SERIAL and Ethernet (TCP and UDP) ist DA!!!!!

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    MySensors Adapter SERIAL and Ethernet (TCP and UDP) ist DA!!!!!

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Trident last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • M
        Maxtox last edited by

        @Trident:

        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.

        1 Reply Last reply Reply Quote 0
        • T
          Trident last edited by

          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

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @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

            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              @mp84:

              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?

              1 Reply Last reply Reply Quote 0
              • T
                Trident last edited by

                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!

                1 Reply Last reply Reply Quote 0
                • T
                  Trident last edited by

                  Ich habe mal eine Bildchen gemalt, wie aus meinem Verständnis der Ablauf sein könnte:
                  146_struktur.jpg

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @Trident:

                    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. 🙂

                    1 Reply Last reply Reply Quote 0
                    • Bluefox
                      Bluefox last edited by

                      @Trident:

                      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?

                      1 Reply Last reply Reply Quote 0
                      • T
                        Trident last edited by

                        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.

                        1 Reply Last reply Reply Quote 0
                        • Bluefox
                          Bluefox last edited by

                          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
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • T
                            Trident last edited by

                            Vergibst du dann auch die Sensor IDs? - Siehe Diagramm?

                            Hab es schon im Code gesehen - Teste es und melde mich wieder

                            1 Reply Last reply Reply Quote 0
                            • Bluefox
                              Bluefox last edited by

                              @Trident:

                              Vergibst du dann auch die Sensor IDs? - Siehe Diagramm?

                              Ich update das gleich mal und gebe Feedback `
                              Ja, aber Presentation ist immer aktiv. (Müssen noch diskutieren)

                              1 Reply Last reply Reply Quote 0
                              • Bluefox
                                Bluefox last edited by

                                Habe noch das Kommando:

                                iobroker upload mysensors
                                

                                hinzugefügt.

                                1 Reply Last reply Reply Quote 0
                                • T
                                  Trident last edited by

                                  ok - aktueller Stand sieht aber schon sehr gut aus! Der Node wurde erkannt und hat eine ID bekommen!

                                  Die Werte kommen auch schon an!

                                  Wie das Verhalten bei mehreren Nodes ist kann ich leider mangels eines zweiten Nodes (Hardware) nicht testen. Werde aber mal weitere ChildIDs hinzufügen und berichten!

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    Trident last edited by

                                    Hallo zusammen,

                                    es scheint noch ein Problem bei der Zuordnung zu geben, wenn mehrere Child_sensors-ID an einem Knoten vergeben sind. Es werden zwar alle benötigten Sub-Strukturen in ioBroker richtig erkannt und angelegt, aber leider wird der Wert des zweiten Sensors am Node nicht richtig in ioBroker geschrieben.

                                    Anbei das Log aus ioBroker:
                                    ` > mysensors-0 2016-04-10 21:46:37 warn Serial data received: 1;1;1;0;16;0

                                    mysensors-0 2016-04-10 21:46:37 info Log :read: 1-1-0 s=1,c=1,t=16,pt=2,l=2,sg=0:0

                                    mysensors-0 2016-04-10 21:46:37 warn Serial data received: 0;0;3;0;9;read: 1-1-0 s=1,c=1,t=16,pt=2,l=2,sg=0:0

                                    mysensors-0 2016-04-10 21:46:37 warn Serial data received: 1;0;1;0;35;436

                                    mysensors-0 2016-04-10 21:46:37 info Log :read: 1-1-0 s=0,c=1,t=35,pt=2,l=2,sg=0:436

                                    mysensors-0 2016-04-10 21:46:37 warn Serial data received: 0;0;3;0;9;read: 1-1-0 s=0,c=1,t=35,pt=2,l=2,sg=0:436

                                    mysensors-0 2016-04-10 21:46:06 warn Serial data received: 1;0;1;0;35;430

                                    mysensors-0 2016-04-10 21:46:06 info Log :read: 1-1-0 s=0,c=1,t=35,pt=2,l=2,sg=0:430

                                    mysensors-0 2016-04-10 21:46:06 warn Serial data received: 0;0;3;0;9;read: 1-1-0 s=0,c=1,t=35,pt=2,l=2,sg=0:430

                                    mysensors-0 2016-04-10 21:45:36 warn Serial data received: 1;1;1;0;16;1

                                    mysensors-0 2016-04-10 21:45:36 info Log :read: 1-1-0 s=1,c=1,t=16,pt=2,l=2,sg=0:1 `

                                    Und der Auszug aus dem Serial-Monitor des Sensor-Nodes:

                                    ` > end: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:439

                                    439

                                    436

                                    send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:436

                                    436

                                    432

                                    send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:432

                                    432

                                    429

                                    send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:429

                                    429

                                    425

                                    send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:425

                                    425

                                    431

                                    send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:431

                                    431

                                    429

                                    send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:429

                                    429

                                    434

                                    send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:434

                                    434

                                    433

                                    send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:433

                                    433 `

                                    Es hängt ein analoger Füllstandssensor am Node (1. Child-Sensor-ID) und ein Regensensor (digital) als zweiter Child_Sensor am Node. Die beiden unterschiedlichen Messages sind gut zu erkennen, sowohl im LOG von ioBroker als auch im Serial-Monitor des Nodes (der digitale Output wird in der Nachricht invertiert). Leider ändert sich nur der Wert des ersten Child-Id-Sensors in den ioBroker Objekten. Wie gesagt, beide wurden richtig erkannt und angelegt. Die Interpretation der Presentation Message klappt also schon wunderbar! Auch das Anlernen geht nun perfekt und ohne Probleme. Einmal angelernt connected der Node auch nach einen Neustart direkt und ohne Probleme.

                                    @Bluefox: Ich bin aber weiterhin der Meinung, dass die Presentation-Messages nur im Anlernmodus ausgewertet werden sollten. Was hindert denn sonst den Adapter auch Sensoren der Nachbarn in meine Daten aufzunehmen? Jeder Mysensors-Node sendet ja beim Power-Cylclen immer diese Nachricht. Das könnte schon zu Problemen führen.

                                    Ich hoffe die Logs helfen… Ich unterstütze gerne weiter, sagt mir einfach was ich testen soll!

                                    Viele Grüße

                                    Trident

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Maxtox last edited by

                                      Welche Version von mysensor nutzt du? 1.5 oder 2.0?

                                      1 Reply Last reply Reply Quote 0
                                      • Bluefox
                                        Bluefox last edited by

                                        @Trident:

                                        Hallo zusammen,

                                        es scheint noch ein Problem bei der Zuordnung zu geben, wenn mehrere Child_sensors-ID an einem Knoten vergeben sind. Es werden zwar alle benötigten Sub-Strukturen in ioBroker richtig erkannt und angelegt, aber leider wird der Wert des zweiten Sensors am Node nicht richtig in ioBroker geschrieben.

                                        Anbei das Log aus ioBroker:
                                        ` > mysensors-0 2016-04-10 21:46:37 warn Serial data received: 1;1;1;0;16;0

                                        mysensors-0 2016-04-10 21:46:37 info Log :read: 1-1-0 s=1,c=1,t=16,pt=2,l=2,sg=0:0

                                        mysensors-0 2016-04-10 21:46:37 warn Serial data received: 0;0;3;0;9;read: 1-1-0 s=1,c=1,t=16,pt=2,l=2,sg=0:0

                                        mysensors-0 2016-04-10 21:46:37 warn Serial data received: 1;0;1;0;35;436

                                        mysensors-0 2016-04-10 21:46:37 info Log :read: 1-1-0 s=0,c=1,t=35,pt=2,l=2,sg=0:436

                                        mysensors-0 2016-04-10 21:46:37 warn Serial data received: 0;0;3;0;9;read: 1-1-0 s=0,c=1,t=35,pt=2,l=2,sg=0:436

                                        mysensors-0 2016-04-10 21:46:06 warn Serial data received: 1;0;1;0;35;430

                                        mysensors-0 2016-04-10 21:46:06 info Log :read: 1-1-0 s=0,c=1,t=35,pt=2,l=2,sg=0:430

                                        mysensors-0 2016-04-10 21:46:06 warn Serial data received: 0;0;3;0;9;read: 1-1-0 s=0,c=1,t=35,pt=2,l=2,sg=0:430

                                        mysensors-0 2016-04-10 21:45:36 warn Serial data received: 1;1;1;0;16;1

                                        mysensors-0 2016-04-10 21:45:36 info Log :read: 1-1-0 s=1,c=1,t=16,pt=2,l=2,sg=0:1 `

                                        Und der Auszug aus dem Serial-Monitor des Sensor-Nodes:

                                        ` > end: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:439

                                        439

                                        436

                                        send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:436

                                        436

                                        432

                                        send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:432

                                        432

                                        429

                                        send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:429

                                        429

                                        425

                                        send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:425

                                        425

                                        431

                                        send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:431

                                        431

                                        429

                                        send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:429

                                        429

                                        434

                                        send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:434

                                        434

                                        433

                                        send: 1-1-0-0 s=0,c=1,t=35,pt=2,l=2,sg=0,st=ok:433

                                        433 `

                                        Es hängt ein analoger Füllstandssensor am Node (1. Child-Sensor-ID) und ein Regensensor (digital) als zweiter Child_Sensor am Node. Die beiden unterschiedlichen Messages sind gut zu erkennen, sowohl im LOG von ioBroker als auch im Serial-Monitor des Nodes (der digitale Output wird in der Nachricht invertiert). Leider ändert sich nur der Wert des ersten Child-Id-Sensors in den ioBroker Objekten. Wie gesagt, beide wurden richtig erkannt und angelegt. Die Interpretation der Presentation Message klappt also schon wunderbar! Auch das Anlernen geht nun perfekt und ohne Probleme. Einmal angelernt connected der Node auch nach einen Neustart direkt und ohne Probleme.

                                        @Bluefox: Ich bin aber weiterhin der Meinung, dass die Presentation-Messages nur im Anlernmodus ausgewertet werden sollten. Was hindert denn sonst den Adapter auch Sensoren der Nachbarn in meine Daten aufzunehmen? Jeder Mysensors-Node sendet ja beim Power-Cylclen immer diese Nachricht. Das könnte schon zu Problemen führen.

                                        Ich hoffe die Logs helfen… Ich unterstütze gerne weiter, sagt mir einfach was ich testen soll!

                                        Viele Grüße

                                        Trident `
                                        Ich habe Zweifel, dass wenn dein Nachbar in dein Netzwerk kommen kann, ob du alles richtig gemacht hast. 😄 Noch schlimmer wenn Nachbar auch zu serielle Kommunikation sich anschließen kann. :lol:

                                        Lass uns Klarheit schaffen. Du hast ein multisensor mit ID 1. Da gibt es zwei children 0 - Füllstandssensor und 1 - boolean Regensensor.

                                        Und Regensensor geht nicht. Wie sieht dein Objekt baumeln an dieser Stelle?

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          Trident last edited by

                                          Hi bluefox,

                                          Ich habe da gar keine Zweifel. Wir sprechen hier ja NICHT von meinem WLAN. Der Sensor Node kommuniziert ja über eine 2,4 ghz Funkverbindung (ähnlich homematic) mit dem serial Gateway (vgl. http://www.mysensors.org/about/network). Die Sensoren sind ja nicht am Gateway angeschlossen. Dies wurde komplett dem Konzept von mysensors widersprechen und wird explizit nicht empfohlen. Die Sensoren bilden ein einfaches Funk-Netzwerk, man kann dieses zwar verschlüsseln ähnlich wie die homematic Geräte - muss man aber nicht. Insofern kann der Nachbar sehr wohl in meiner datenhaltung auftauche - was würde iobroker davon abhalten die empfangene Presentation Nachricht zu interpretieren? Und klar an die serial Verbindung kommt mein Nachbar nicht 🙂

                                          Zu deiner Frage: die Auflistung stimmt und genau das spiegelt auch mein Objekt Baum wieder. Die Struktur wird korrekt aufgebaut inkl. Ids. Danke für deine Unterstützung!

                                          Viele Grüße

                                          Trident

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            Trident last edited by

                                            hi zusammen,

                                            ich habe mir den code des adapters nochmal angesehen. Ich bin kein js-kenner und habe daher die eine oder andere Frage. Der Ablauf der Daten Verarbeitung kommt mir etwas komisch vor, hier ist ein Ausschnitt der main.js des Adapters:

                                            `mySensorsInterface.on('data', function (data, ip, port) {
                                                            var result = processPresentation(data, ip, port); // update configuration if presentation received
                                            
                                                            if (!result) return;
                                            
                                                            for (var i = 0; i < result.length; i++) {
                                                                if (result[i].type === 'set') {
                                                                    // If set quality
                                                                    if (result[i].subType == 77) {
                                                                        for (var id in devices) {
                                                                            if (devices[id].native &&
                                                                                (!ip || ip == devices[id].native.ip) &&
                                                                                devices[id].native.id      == result[i].id &&
                                                                                devices[id].native.childId == result[i].childId) {
                                                                                adapter.log.debug('Set quality of ' + (devices[id].common.name || id) + ' ' + result[i].childId + ': ' + result[i].payload + ' ' + typeof result[i].payload);
                                                                                adapter.setState(id, {q: typeof result[i].payload}, true);
                                                                            }
                                                                        }
                                                                    } else {
                                                                        if (result[i].subType === 'V_LIGHT')  result[i].subType = 'V_STATUS';
                                                                        if (result[i].subType === 'V_DIMMER') result[i].subType = 'V_PERCENTAGE';
                                            
                                                                        for (var id in devices) {
                                                                            //adapter.log.info(devices[id].native.varType + ' /// ' + result[i].subType);
                                                                            if (devices[id].native &&
                                                                                (!ip || ip == devices[id].native.ip) &&
                                                                                devices[id].native.id      == result[i].id &&
                                                                                devices[id].native.childId == result[i].childId &&
                                                                                devices[id].native.varType == result[i].subType) {
                                            
                                                                                if (devices[id].common.type == 'boolean') result[i].payload = !!result[i].payload;
                                                                                adapter.log.debug('Set value ' + (devices[id].common.name || id) + ' ' + result[i].childId + ': ' + result[i].payload + ' ' + typeof 				   result[i].payload);
                                                                                adapter.setState(id, result[i].payload, true);
                                                                                break;
                                                                            }
                                                                        }
                                                                    }
                                                                } else if(result[i].type === 'internal') {`
                                            
                                            Wie ich es verstehe werden die empfangenen Daten von der Funktion "processPresentation" geparsed und als result zurückgegeben. Wäre es nicht sinniger das parsen in der main zu erledigen? Es werden nach meinem Verständnis alle empfangen Nachrichten immer durch diese Funktion geschleust. Ist aber mehr eine Frage der Struktur - funktionieren tut es so ja. 
                                            
                                            Die Verarbeitung der Sub-Typen der "Set"-Typ Nachrichten in der main machte mich stutzig. Ich vermute hier auch den Grund der fehlenden Datenupdates. Es wird hier zum einen in der API von mysensors nicht definierter Sub-Typ abgefragt (77 - vgl. [http://www.mysensors.org/download/serial_api_15](http://www.mysensors.org/download/serial_api_15)). Dieser Sub-Typ der Nachrichten Typ SET ist laut API 1.5 nicht definiert. Den Kommentar mit "if set quality" verstehe ich auch nicht... 
                                            
                                            Im else-Teil dieser Abfrage werden dann Subtypen abgeändert: 
                                             ` ~~[quote]~~ if (result_~~[i]~~.subType === 'V_LIGHT')  result_~~[i]~~.subType = 'V_STATUS';
                                            
                                                                        if (result_~~[i]~~.subType === 'V_DIMMER') result_~~[i]~~.subType = 'V_PERCENTAGE';____ `  ____Auch hier erschließt sich mir der Sinn nicht wirklich... Vielleicht verstehe ich aber auch den Code nicht... Der letzte Teil des Code Auszugs entzieht sich dann meinem Verständnis :) . Da die Struktur meines Sensor-Nodes in ioBroker stimmt und die erste Sensor-Child-ID auch geupdated wird, kann der Grund doch nur in der Behandlung der Sub-Typs des Nachrichtentyps "SET" liegen, oder?
                                            
                                            Vielleicht hilft uns die Diskussion ja auf den Bug zu kommen... Ich unterstütze gerne mit Tests, meldet euch einfach - habe ja zumindest einen Sensor-Node mit 2 Child-Sensors hier :) 
                                            
                                            VG
                                            
                                            Trident____[/i][/i][/i][/i] ` [/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            730
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            57
                                            9579
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo