Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Nur eine Lampe ein- und ausschalten...

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Nur eine Lampe ein- und ausschalten...

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

      Ich habe den Titel geändert, die restliche Diskussion war wegen einer alten Doku.

      Ich arbeite zwar schon länger mit Node Red, habe aber erst vorgestern mit ioBroker und Node Red begonnen. Also eine Anfänger-Frage.

      Ich will eine Lampe über inject ansteuern. Der Flow hat zwei Einträge. inject und ioBroker out.

      Ohne ioBroker habe ich bisher in inject unter msg.payload den JSON-Wert {"state":"toggle"} geschrieben.

      Mit ioBroker:
      In ioBroker out steht als Topic zigbee.0.a4c1386b06b043b6
      Die Lampe lässt sich über die Zigbee-Instanz von Hand ein- und ausschalten. Was muss in inject eingetragen werden?

      Danke im Voraus!

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @gregor37 last edited by

        @gregor37 diese Doku ist seit 2018 vom Netz

        G 1 Reply Last reply Reply Quote 1
        • G
          gregor37 @Homoran last edited by

          @homoran
          Danke - ich habe node red iobroker in Google eingegeben und bin als Erstes auf diese Seite gekommen.

          Ich arbeite zwar schon länger mit Node Red, habe aber erst vorgestern mit ioBroker und Node Red begonnen,
          Wo finde ich denn etwas aktuelles?

          Die eigentliche Frage lautet:
          Ich will eine Lampe über inject ansteuern. Der Flow hat zwei Einträge. inject und ioBroker out.

          Ohne ioBroker habe ich bisher in inject unter msg.payload den JSON-Wert {"state":"toggle"} geschrieben.

          Mit ioBroker:
          In ioBroker out steht als Topic zigbee.0.a4c1386b06b043b6
          Die Lampe lässt sich über die Zigbee-Instanz von Hand ein- und ausschalten. Wo finde ich Hinweise, wie ich jetzt vorzugehen habe?

          Danke im voraus!

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @gregor37 last edited by

            @gregor37 sagte in Node red doku: jpeg-Files nicht erreichbar:

            als Erstes auf diese Seite gekommen.

            und einen Beitrag von

            @gregor37 sagte in Node red doku: jpeg-Files nicht erreichbar:

            uploads/2015/04/iobroker

            solltest du sowieso nicht mehr anwenden.
            Da sind inzwischen Welten zwischen.

            @gregor37 sagte in Node red doku: jpeg-Files nicht erreichbar:

            Wo finde ich denn etwas aktuelles?

            hier in der Menüleiste ist ein Link zur Doku

            @gregor37 sagte in Node red doku: jpeg-Files nicht erreichbar:

            Die eigentliche Frage lautet:
            Ich will eine Lampe über inject ansteuern. Der Flow hat zwei Einträge. inject und ioBroker out.

            dann bist du hier aber vollkommen falsch!
            hier meldet man sich wenn man an der Doku mitschreiben will

            ich verschiebe das mal, damit man das auch findet.

            G 1 Reply Last reply Reply Quote 1
            • G
              gregor37 @Homoran last edited by

              @homoran
              Danke sehr. Vielleicht lässt sich der alte ungültige Beitrag entfernen oder mit einer Warnung versehen?

              1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active last edited by mickym

                Wenn Du den zigbee Adapter nutzt dann siehst Du ja über welchen Datenpunkt Du das ansteuerst also einen Boolean im state Datenpunkt. Ich denke da hast Du noch weitere Datenpunkte drunter. Erst wenn Du weißt wie Du im iobroker schaltest nimmst Du die iobroker out node und schickst die gleiche payload als command an den Datenpunkt.

                Also erst mal überprüfen bzw. screenshot welchen Datenpunkt Du im iobroker schaltest.

                1 Reply Last reply Reply Quote 1
                • G
                  gregor37 last edited by

                  @mickym
                  Danke, der Hinweis auf "Boolean" hat es geklärt. Funktioniert jetzt.

                  Für alle, die wie ich bei den ersten Versuchen mit ioBroker und node red sind:

                  • 2 injects einrichten, einer für on und liefert über msg.payload den Boolean-Wert true, der andere für off mit dem Wert false.

                  • Im ioBroker out als Topic zigbee.0.a4c1xxxxxx.state eintragen.

                  toggle geht anscheinend nur mit einer Funktion - oder geht es doch einfacher? Egal, funktioniert jetzt auch.

                  Ich habe in der Docu nach node red gesucht und keinen Eintrag gefunden - gibt es da wirklich keinen?

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @gregor37 last edited by mickym

                    @gregor37 sagte in Nur eine Lampe ein- und ausschalten...:

                    zigbee.0.a4c1xxxxxx.state

                    Wenn Du togglen willst musst halt einfach den state Datenpunkt auslesen und den Boolean verneinen:

                    cc9af0bf-a629-4721-918c-6e384743b123-image.png

                    [
                       {
                           "id": "66e6bf3fa4d19235",
                           "type": "inject",
                           "z": "289f539dcc33814e",
                           "name": "",
                           "props": [
                               {
                                   "p": "trigger",
                                   "v": "true",
                                   "vt": "bool"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "x": 170,
                           "y": 3100,
                           "wires": [
                               [
                                   "7b674066a65ea083"
                               ]
                           ]
                       },
                       {
                           "id": "7b674066a65ea083",
                           "type": "ioBroker get",
                           "z": "289f539dcc33814e",
                           "name": "zigbee.0.a4c1xxxxxx.state",
                           "topic": "0_userdata.0.Switch",
                           "attrname": "payload",
                           "payloadType": "value",
                           "errOnInvalidState": "nothing",
                           "x": 370,
                           "y": 3100,
                           "wires": [
                               [
                                   "61ac4e9258432bdb"
                               ]
                           ]
                       },
                       {
                           "id": "61ac4e9258432bdb",
                           "type": "change",
                           "z": "289f539dcc33814e",
                           "name": "",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "$not(payload)\t",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 610,
                           "y": 3100,
                           "wires": [
                               [
                                   "ce0734438b7e0e05",
                                   "612f24b0e4b3f696"
                               ]
                           ]
                       },
                       {
                           "id": "612f24b0e4b3f696",
                           "type": "debug",
                           "z": "289f539dcc33814e",
                           "name": "toggle",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 810,
                           "y": 3160,
                           "wires": []
                       },
                       {
                           "id": "ce0734438b7e0e05",
                           "type": "ioBroker out",
                           "z": "289f539dcc33814e",
                           "name": "zigbee.0.a4c1xxxxxx.state",
                           "topic": "0_userdata.0.Switch",
                           "ack": "false",
                           "autoCreate": "false",
                           "stateName": "",
                           "role": "",
                           "payloadType": "",
                           "readonly": "",
                           "stateUnit": "",
                           "stateMin": "",
                           "stateMax": "",
                           "x": 850,
                           "y": 3100,
                           "wires": []
                       }
                    ]
                    

                    G 1 Reply Last reply Reply Quote 1
                    • G
                      gregor37 @mickym last edited by

                      @mickym
                      Ja, ist soweit klar. Aber die Lampe selbst versteht toggle.

                      8d3c1c2a-def7-4135-9e68-ebebf8d35d2a-image.png
                      Mit zigbee2mqtt kann ich {state:"toggle"} direkt senden, ohne get und change. Geht offenbar hier nicht direkt - oder habe ich etwas übersehen?

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @gregor37 last edited by mickym

                        @gregor37 Ja wenn Du zigbee2mqtt nehmen würdest, dann ging das - aber Du verwendest ja den zigbee Adapter. 😉 Der interpretiert und übersetzt. Des einen Fluch des anderen Freud. Deswegen nutze ich diese Adapter alle nicht. 😉

                        G 1 Reply Last reply Reply Quote 1
                        • G
                          gregor37 @mickym last edited by

                          @mickym Danke - mir geht es darum, die Zusammenhänge und Unterschiede zu klären.

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @gregor37 last edited by mickym

                            @gregor37 Wenn Du reines mqtt mit dem zigbee-Adapter verwendest, dann setzt Du eben auch Objekte wie

                            {"state":"on"}, der zigbee-Adapter macht daraus aber ein true und ein false:

                            95412227-56dd-426c-b7ad-65f9a8c23663-image.png

                            Ich nutze eben reines mqtt und zigbee2mqtt, dann sieht das so aus, wie Du beschrieben hast.

                            Ich nutze auch keinen Shelly oder Sonoff Adapter, da ich alle Geräte die mqtt sprechen lieber gemäß der Originaldokumentation anspreche.

                            G 1 Reply Last reply Reply Quote 1
                            • G
                              gregor37 @mickym last edited by

                              @mickym said in Nur eine Lampe ein- und ausschalten...:

                              @gregor37 Wenn Du reines mqtt mit dem zigbee-Adapter verwendest, dann setzt Du eben auch Objekte wie

                              {"state":"on"}, der zigbee-Adapter macht daraus aber ein true und ein false:

                              95412227-56dd-426c-b7ad-65f9a8c23663-image.png

                              Ich nutze eben reines mqtt und zigbee2mqtt, dann sieht das so aus, wie Du beschrieben hast.

                              Ich nutze auch keinen Shelly oder Sonoff Adapter, da ich alle Geräte die mqtt sprechen lieber gemäß der Originaldokumentation anspreche.

                              Ich denke, ich werde das auch so machen. zigbee2mqtt kenne ich ja schon. Interessant wäre, welche der Varianten (ioBroker in, ioBroker out oder zigbee2mqtt) effizienter sind.

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @gregor37 last edited by mickym

                                @gregor37 Das eine hat mit dem anderen nichts zu tun.

                                Du kannst über Node-Red mit den iobroker-IN und iobroker-OUT Nodes die Datenpunkte im iobroker beschreiben egal wo.

                                Das zigbee2mqtt hängt nun davon ab, wie Du es verwendest zusammen mit dem iobroker:

                                1. Wenn Du einen externen mqtt-broker verwendest (zum Beispiel) mosquitto bekommst Du die Datenpunkte in den iobroker mit dem mqtt-Adapter als Client konfiguriert. (so habe ich es gemacht).
                                2. Wenn Du den mqtt-Adapter als Broker definierst, dann hast Du die datenpunkte direkt und kannst den Broker auch direkt ansprechen.

                                Aus Node-Red kannst Du alle (fast) Datenpunkte im iobroker, via der iobroker Nodes ansprechen, bei mqtt (als zigbee2mqtt) auch noch mit den mqtt-Nodes.

                                Es gibt auch noch einen neuen zigbee2mqtt Adapter, der entweder selbst als mqtt-Broker agiert oder (vorbildlich !) auch einen externen mqtt-Broker nutzen kann. Damit werde die Datenpunkte wieder interpretiert, man kann aber ggf. auch direkt via mqtt zugreifen.

                                Die Fragen stellt sich also nicht, welche Nodes Du verwendest, sondern eher ob Du lieber den zigbee-Adapter oder zigbee2mqtt verwenden willst. Ich bin aus mehrfach schon erwähnten Gründen auf zigbee2mqtt umgestiegen, da ich auch den Conbee2 Stick als Koordinator verwende, der von den zigbee Adapter Entwicklern anfangs nicht voll unterstützt wurde. Inzwischen mag das besser sein.

                                Der zigbee-Adapter greift aber letztlich anscheinend auch nur auf das zurück, was zigbee2mqtt anbietet. Aber wie gesagt, das hat alles nichts mit den Nodes bzw. NodeRed zu tun. NodeRed spielt hier was die Effizienz betrifft gar keine Rolle, sondern eher die ausführende Schickt (zigbee-Adapter oder zigbee2mqtt Service).

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                1.0k
                                Online

                                31.7k
                                Users

                                79.7k
                                Topics

                                1.3m
                                Posts

                                3
                                14
                                480
                                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