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 @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.1k
                        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