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. [gelöst]Shelly RGBW Steuern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst]Shelly RGBW Steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Croix-aigle last edited by

      der Split ist durch das Bild mit der Trennung "," verständlich, wo trage ich den code ein? muss ich den code eintragen oder kann ich das einfach im switch definieren? und wie?

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

        Wenn Du einfach den JSON Node nimmst wird das direkt in Java Objekte konvertiert und Du kannst direkt darauf zugreifen.
        Dieses Objekt schickst Du komplett an jeden Regler und modifizierst dann nur den Wert, den Du möchtest - also msg.payload.red - anschliessend nimmst wieder den JSON Node - der konvertiert Dir das wieder in den String und schreibst ihn direkt wieder zurück.

        1 Reply Last reply Reply Quote 0
        • C
          Croix-aigle last edited by Croix-aigle

          Wenn ich jetzt her gehe, wie von t-master beschrieben, bekomme ich nach dem Split das Angezeigt: ```
          24.3.2020, 19:14:30node: 6ac80576.7ef93c

          shellies/shellyrgbw2-6EAF7E/color/0/status : msg : Object
          object
          topic: "shellies/shellyrgbw2/color/0/status"
          payload: ""gain":17"
          qos: 1
          retain: false
          _topic: "shellies/shellyrgbw2/color/0/status"
          parts: object
          _msgid: "b2b14ee3.3250d"
          

          Dann ist die Frage wie ich den Switch Einstellung vornehme?
          switch.JPG

          Ich bekomme nur mit != die ganze Anfrage hier raus.

          Wenn ich das von mickym mache, bekomme ich die Antwort nach den json:

          Object

          object
          topic: "shellies/shellyrgbw2/color/0/status"
          payload: object
          ison: true
          mode: "color"
          red: 255
          green: 107
          blue: 74
          white: 0
          gain: 17
          effect: 0
          power: 3.42
          overpower: false
          

          `

          Dann ist die Frage wie ich das im switch Eintrage, auch wie Beschrieben, bekomme ich mehrere oder keine Werte nach dem Switch

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Croix-aigle last edited by mickym

            @Croix-aigle Du brauchst die Nachricht nicht aufteilen und switchen - sondern hängst vor jeden Regel einen Change Node, indem Du den Wert selektierst den Du brauchst.

            java objekt.png

            Ist zwar jetzt bei mir ein anderer Flow - aber Du siehst wie es geht.

            Nach dem Json Node - einen Change Node, wo Du einfach msg.payload nach msg.payload.red festlegst und diesen Wert kannst direkt zu Deinem Regler schicken.
            Für Deinen grünen Regler - klemmst Du nach dem Json Node - einen Change-Node mit msg.payload nach msg.payload.green an usw.

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

              @Croix-aigle said in Shelly RGBW Steuern:

              "{"ison":true,"mode":"color","red":254,"green":158,"blue":91,"white":0,"gain":4,"effect":0,"power":0.46,"overpower":false}"

              Ich habe mal den ganzen Flow für Dich implementiert - musst nur noch verfeinern und bei Dir importieren - also in Zwischenablage und Flow importieren. Statt der Inject-Node - nimmst natürlich Deinen mqtt-in Node und den ersten Json Node um es in eine Java-Objekt zu wandeln, wie ich Dir eben vorgeschlagen habe. 😉

              und wie versprochen ohne Funktion - braucht man wirklich nicht oft - auch wenn manche das Gegenteil behaupten 😉

              [
                  {
                      "id": "3830bf94.4817e",
                      "type": "inject",
                      "z": "6e170384.60c96c",
                      "name": "Objekt",
                      "topic": "",
                      "payload": "{\"ison\":true,\"mode\":\"color\",\"red\":254,\"green\":158,\"blue\":91,\"white\":0,\"gain\":4,\"effect\":0,\"power\":0.46,\"overpower\":false}",
                      "payloadType": "json",
                      "repeat": "",
                      "crontab": "",
                      "once": false,
                      "onceDelay": 0.1,
                      "x": 190,
                      "y": 3420,
                      "wires": [
                          [
                              "8b0a970c.1b38d8",
                              "e02931c5.85468",
                              "6a06c3af.5aa0fc"
                          ]
                      ]
                  },
                  {
                      "id": "8b0a970c.1b38d8",
                      "type": "change",
                      "z": "6e170384.60c96c",
                      "name": "rot",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload",
                              "pt": "msg",
                              "to": "payload.red",
                              "tot": "msg"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 410,
                      "y": 3340,
                      "wires": [
                          [
                              "f0321cab.0adaa"
                          ]
                      ]
                  },
                  {
                      "id": "e02931c5.85468",
                      "type": "change",
                      "z": "6e170384.60c96c",
                      "name": "grün",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload",
                              "pt": "msg",
                              "to": "payload.green",
                              "tot": "msg"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 410,
                      "y": 3480,
                      "wires": [
                          [
                              "17d1ea55.024256"
                          ]
                      ]
                  },
                  {
                      "id": "f0321cab.0adaa",
                      "type": "ui_slider",
                      "z": "6e170384.60c96c",
                      "name": "Roter Regler",
                      "label": "Rot",
                      "tooltip": "",
                      "group": "b38597db.715cf8",
                      "order": 0,
                      "width": 0,
                      "height": 0,
                      "passthru": true,
                      "outs": "all",
                      "topic": "",
                      "min": 0,
                      "max": "255",
                      "step": 1,
                      "x": 610,
                      "y": 3340,
                      "wires": [
                          [
                              "c9c8c934.43d1c8"
                          ]
                      ]
                  },
                  {
                      "id": "17d1ea55.024256",
                      "type": "ui_slider",
                      "z": "6e170384.60c96c",
                      "name": "Grüner Regler",
                      "label": "Grün",
                      "tooltip": "",
                      "group": "b38597db.715cf8",
                      "order": 0,
                      "width": 0,
                      "height": 0,
                      "passthru": true,
                      "outs": "all",
                      "topic": "",
                      "min": 0,
                      "max": "255",
                      "step": 1,
                      "x": 620,
                      "y": 3480,
                      "wires": [
                          [
                              "785a8552.a5585c"
                          ]
                      ]
                  },
                  {
                      "id": "6a06c3af.5aa0fc",
                      "type": "change",
                      "z": "6e170384.60c96c",
                      "name": "",
                      "rules": [
                          {
                              "t": "set",
                              "p": "fobject",
                              "pt": "flow",
                              "to": "payload",
                              "tot": "msg"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 430,
                      "y": 3620,
                      "wires": [
                          []
                      ]
                  },
                  {
                      "id": "c9c8c934.43d1c8",
                      "type": "change",
                      "z": "6e170384.60c96c",
                      "name": "",
                      "rules": [
                          {
                              "t": "set",
                              "p": "fobject.red",
                              "pt": "flow",
                              "to": "payload",
                              "tot": "msg"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 840,
                      "y": 3340,
                      "wires": [
                          [
                              "aa46c4cf.934fa8"
                          ]
                      ]
                  },
                  {
                      "id": "785a8552.a5585c",
                      "type": "change",
                      "z": "6e170384.60c96c",
                      "name": "",
                      "rules": [
                          {
                              "t": "set",
                              "p": "fobject.green",
                              "pt": "flow",
                              "to": "payload",
                              "tot": "msg"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 850,
                      "y": 3480,
                      "wires": [
                          [
                              "aa46c4cf.934fa8"
                          ]
                      ]
                  },
                  {
                      "id": "aa46c4cf.934fa8",
                      "type": "change",
                      "z": "6e170384.60c96c",
                      "name": "",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload",
                              "pt": "msg",
                              "to": "fobject",
                              "tot": "flow"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 1100,
                      "y": 3400,
                      "wires": [
                          [
                              "3cd610b9.19a05"
                          ]
                      ]
                  },
                  {
                      "id": "24c16160.799c8e",
                      "type": "debug",
                      "z": "6e170384.60c96c",
                      "name": "Json String",
                      "active": true,
                      "tosidebar": true,
                      "console": false,
                      "tostatus": false,
                      "complete": "payload",
                      "targetType": "msg",
                      "x": 1250,
                      "y": 3540,
                      "wires": []
                  },
                  {
                      "id": "51f0fe94.f0705",
                      "type": "json",
                      "z": "6e170384.60c96c",
                      "name": "",
                      "property": "payload",
                      "action": "",
                      "pretty": false,
                      "x": 1390,
                      "y": 3460,
                      "wires": [
                          [
                              "24c16160.799c8e"
                          ]
                      ]
                  },
                  {
                      "id": "3cd610b9.19a05",
                      "type": "trigger",
                      "z": "6e170384.60c96c",
                      "op1": "",
                      "op2": "",
                      "op1type": "nul",
                      "op2type": "payl",
                      "duration": "1",
                      "extend": true,
                      "units": "s",
                      "reset": "",
                      "bytopic": "all",
                      "name": "",
                      "x": 1290,
                      "y": 3400,
                      "wires": [
                          [
                              "51f0fe94.f0705",
                              "f3af5049.4cc4b"
                          ]
                      ]
                  },
                  {
                      "id": "f3af5049.4cc4b",
                      "type": "debug",
                      "z": "6e170384.60c96c",
                      "name": "Objekt",
                      "active": true,
                      "tosidebar": true,
                      "console": false,
                      "tostatus": false,
                      "complete": "payload",
                      "targetType": "msg",
                      "x": 1520,
                      "y": 3380,
                      "wires": []
                  },
                  {
                      "id": "b38597db.715cf8",
                      "type": "ui_group",
                      "z": "",
                      "name": "Default",
                      "tab": "dc25fe35.866f",
                      "disp": true,
                      "width": "6",
                      "collapse": false
                  },
                  {
                      "id": "dc25fe35.866f",
                      "type": "ui_tab",
                      "z": "",
                      "name": "Test",
                      "icon": "dashboard",
                      "disabled": false,
                      "hidden": false
                  }
              ]
              

              Das ganze sieht dann so aus:

              NR Flow.png

              Ganz easy. 😉

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

                Gelöscht. 😉

                1 Reply Last reply Reply Quote 0
                • C
                  Croix-aigle last edited by Croix-aigle

                  Vielen Dank für die Hilfe, jetzt hab ich es sogar komplett Fertig, wie man auf dem Bild sieht.

                  !rgb-tisch.JPG

                  Das ich den code über Import (Zwischenablage) eintragen muss und dann einfügen, war mir bis hier noch nicht klar.

                  Hatte dann noch ein kleines Problem mit dem MQTT nach dem json. Nach dem ich dann den passenden Topic "shellies/shellyrgbw2/color/0/set" eingegeben habe, Funktioniert jetzt alles wie es soll.

                  ich habe jetzt noch mal von @t-master sein code eingefügt, das mit dem switch will nicht so funktionieren.

                  Was mir noch einfällt:
                  Was brauche ich für eine Node, das ich im Dashboard das sehe:
                  0 = off
                  1 = Meteor Shower red
                  2 = Gradual Change
                  3 = Flash

                  mickym 2 Replies Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Croix-aigle last edited by

                    @Croix-aigle Freut mich - Ja über die Zwischenablage Flows zu importieren ist echt genial - dieses Node-Red. 😉
                    Ich liebe es - da man viel leichter sieht was passiert und in der Regel auch ohne Programmierung ausgeht.

                    Das mit dem Dashboard - da darfst Du nicht zu viele Ansprüche stellen, aber ich kann Dir ein paar Tipps geben, wie ich das gemacht habe. Für mich war erst mal die Funktionalität wichtig und das ich schalten kann, was ich will - jetzt beschäftige ich mich mit vis - benutzte aber Node-Red weiterhin als meine Logikmaschine.

                    Dann noch etwas grundsätzliches - was ich gestern wieder gelöscht habe. Aber ein Switch nimmst Du nur wenn Du bei einem Wert unterschiedlich behandeln möchtest. Mit einem Split Objekte auseinanderzureißen ist schade und bringt in meiner Augen nur Nachteile.

                    Deine letzte Frage habe ich aber nicht verstanden -

                    Was brauche ich für eine Node, das ich im Dashboard das sehe:
                    0 = off
                    1 = Meteor Shower red
                    2 = Gradual Change
                    3 = Flash

                    sind das Zustände, Icons oder wie soll was aussehen?

                    1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Croix-aigle last edited by mickym

                      @Croix-aigle Falls das eine Werteliste für Deinen Effekt ist, die Du im Dashboard als Auswahl haben möchtest, dann nimmst Du einen "dropdown" node - anstelle Deines sliders. Als Input zeigt er Dir dann auch immer die aktuelle Einstellung an. Value ist dann 0,1,2,3 und label ist dann der zugehörige Text

                      1 Reply Last reply Reply Quote 0
                      • C
                        Croix-aigle last edited by

                        ja, genau. Der dropdown ist der passende, jetzt bin ich mit dem RGB zufrieden. Hab das was ich machen wollte. Jetzt kann ich weiter basteln und erweitern. Meine nächste Frage mache ich in einen neuen Beitrag auf.

                        t-master 1 Reply Last reply Reply Quote 0
                        • t-master
                          t-master @Croix-aigle last edited by

                          @Croix-aigle
                          Schön das es jetzt so geht wie du möchtest. Man lernt auch immer dazu wenn man sich damit beschäftigt. Die Vorgehensweise von @mickym kannte ich so auch noch nicht.

                          Setze die Frage doch bitte als gelöst (im ersten Post rechts auf die 3 Punkte klicken und dann Edit)

                          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
                          13
                          2244
                          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