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. Node Red Optimierung PV Überschuss für Anfänger

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Node Red Optimierung PV Überschuss für Anfänger

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Harry_vlbg last edited by mickym

      @harry_vlbg Nein - ich mache das meist hier im Thread. Ich finde dazu ist so ein Forum da, damit auch andere profitieren können.

      Als allererstes aber nochmal die Frage, warum schaltest Du die Shelly über http, wenn Du die Shelly Nodes hast?

      H 1 Reply Last reply Reply Quote 0
      • H
        Harry_vlbg @mickym last edited by

        @mickym aber kannst du hier auf mein PC Zugreifen das wir das gemeinsam machen können oder wie stellst du dir das vor?

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

          @harry_vlbg sagte in Node Red Optimierung PV Überschuss für Anfänger:

          @mickym aber kannst du hier auf mein PC Zugreifen das wir das gemeinsam machen können oder wie stellst du dir das vor?

          Nun Du kannst Deinen Flow exportieren und dann kann ich den importieren - ansonsten meist über Screenshots und halt schreiben. Solche Projekte habe ich schon mehrfach gemacht. Nur nochmal die Frage, warum Shelly Nodes UND http`?

          H 2 Replies Last reply Reply Quote 0
          • H
            Harry_vlbg @mickym last edited by

            @mickym den Shelly Node habe ich halt hier im Node Red und damit kann ich mittels http den Shelly ein und ausschalten.
            war für mich der erste Ansatz und hat geklappt

            ok dann werde ich mal das unnutze Zeugs löschen und dir die Json daten hier reinstellen

            1 Reply Last reply Reply Quote 0
            • H
              Harry_vlbg @mickym last edited by Homoran

              @mickym
              dann ist das der Stand wie beim letzten Bild.
              Also das mit den 12 Stunden passt so für mich. Wenn in der Nacht geheizt wird soll er dennoch am Tag bei den richtigen Bedingungen nachfeuern.

              [
                  {
                      "id": "0be53785c72fb931",
                      "type": "tab",
                      "label": "Flow 1",
                      "disabled": false,
                      "info": "",
                      "env": []
                  },
                  {
                      "id": "cf09bc5276f7be79",
                      "type": "shelly-gen2",
                      "z": "0be53785c72fb931",
                      "hostname": "192.168.178.54",
                      "description": "Boiler_Bad",
                      "mode": "polling",
                      "verbose": false,
                      "server": "",
                      "outputmode": "event",
                      "uploadretryinterval": 5000,
                      "pollinginterval": "6000",
                      "pollstatus": false,
                      "getstatusoncommand": true,
                      "devicetype": "SNSW-001P16EU",
                      "devicetypemustmatchexactly": true,
                      "captureblutooth": false,
                      "outputs": 1,
                      "x": 950,
                      "y": 240,
                      "wires": [
                          [
                              "aa58cc0f316c4f70"
                          ]
                      ],
                      "inputLabels": [
                          "payload.switch0.id"
                      ],
                      "outputLabels": [
                          "1"
                      ]
                  },
                  {
                      "id": "8fab423dfb34e072",
                      "type": "switch",
                      "z": "0be53785c72fb931",
                      "name": "Ladezustand Batterie > 95%",
                      "property": "payload",
                      "propertyType": "msg",
                      "rules": [
                          {
                              "t": "gte",
                              "v": "95",
                              "vt": "num"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 1,
                      "x": 160,
                      "y": 240,
                      "wires": [
                          [
                              "93e2aa46a4a02ee0"
                          ]
                      ]
                  },
                  {
                      "id": "0b247bc8d9ca735e",
                      "type": "victron-input-battery",
                      "z": "0be53785c72fb931",
                      "service": "com.victronenergy.battery/512",
                      "path": "/Capacity",
                      "serviceObj": {
                          "service": "com.victronenergy.battery/512",
                          "name": "Pytes battery"
                      },
                      "pathObj": {
                          "path": "/Capacity",
                          "type": "float",
                          "name": "Capacity (Ah)"
                      },
                      "name": "",
                      "onlyChanges": true,
                      "roundValues": "no",
                      "x": 140,
                      "y": 60,
                      "wires": [
                          [
                              "8fab423dfb34e072"
                          ]
                      ]
                  },
                  {
                      "id": "b2a7ee2ce7767b6b",
                      "type": "http request",
                      "z": "0be53785c72fb931",
                      "name": "Shelly Befehl Boiler ein",
                      "method": "GET",
                      "ret": "txt",
                      "paytoqs": "ignore",
                      "url": "http://192.168.178.54/relay/0?turn=on",
                      "tls": "",
                      "persist": false,
                      "proxy": "",
                      "insecureHTTPParser": false,
                      "authType": "",
                      "senderr": false,
                      "headers": [],
                      "x": 670,
                      "y": 140,
                      "wires": [
                          [
                              "cf09bc5276f7be79",
                              "bc55c22dbd242ea5"
                          ]
                      ]
                  },
                  {
                      "id": "bc55c22dbd242ea5",
                      "type": "delay",
                      "z": "0be53785c72fb931",
                      "name": "",
                      "pauseType": "delay",
                      "timeout": "45",
                      "timeoutUnits": "minutes",
                      "rate": "1",
                      "nbRateUnits": "1",
                      "rateUnits": "second",
                      "randomFirst": "1",
                      "randomLast": "5",
                      "randomUnits": "seconds",
                      "drop": false,
                      "allowrate": false,
                      "outputs": 1,
                      "x": 490,
                      "y": 240,
                      "wires": [
                          [
                              "a8814585a8e2257f"
                          ]
                      ]
                  },
                  {
                      "id": "a8814585a8e2257f",
                      "type": "http request",
                      "z": "0be53785c72fb931",
                      "name": "Boiler aus nach 45 Min",
                      "method": "GET",
                      "ret": "txt",
                      "paytoqs": "ignore",
                      "url": "http://192.168.178.54/relay/0?turn=off",
                      "tls": "",
                      "persist": false,
                      "proxy": "",
                      "insecureHTTPParser": false,
                      "authType": "",
                      "senderr": false,
                      "headers": [],
                      "x": 720,
                      "y": 240,
                      "wires": [
                          [
                              "cf09bc5276f7be79"
                          ]
                      ]
                  },
                  {
                      "id": "93e2aa46a4a02ee0",
                      "type": "delay",
                      "z": "0be53785c72fb931",
                      "name": "1 Message pro 12 H",
                      "pauseType": "rate",
                      "timeout": "5",
                      "timeoutUnits": "seconds",
                      "rate": "1",
                      "nbRateUnits": "12",
                      "rateUnits": "hour",
                      "randomFirst": "1",
                      "randomLast": "5",
                      "randomUnits": "seconds",
                      "drop": false,
                      "allowrate": false,
                      "outputs": 1,
                      "x": 380,
                      "y": 140,
                      "wires": [
                          [
                              "b2a7ee2ce7767b6b"
                          ]
                      ],
                      "info": "1 Message pro 12 Stunden um dem Boiler nicht mehrmals im tag einzuschalten.\n"
                  },
                  {
                      "id": "aa58cc0f316c4f70",
                      "type": "change",
                      "z": "0be53785c72fb931",
                      "name": "Boiler geheizt",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload",
                              "pt": "msg",
                              "to": "boiler geheizt",
                              "tot": "str"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 1200,
                      "y": 240,
                      "wires": [
                          []
                      ]
                  }
              ]
              

              **MOD-EDIT: Code in code-tags gesetzt!*ĺ

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

                @harry_vlbg Ja aber so kann man das nicht importieren.

                Du musst das ganze in CodeTags packen und dann kannst Du das ganze noch mit einem Spoiler klein machen.

                Also erst das Auge:

                code_text
                

                36947db1-d12d-4c58-856e-0b65530b052a-image.png

                dann den Codecs in den Spoiler

                dd66e987-f045-40c6-ad57-598cd8395e06-image.png

                und dann immer halb des Auges die CodeTags

                und dann innerhalb der CodeTags den Code des Exports den "code_text" überschreiben

                Code-Tags.gif

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

                  Also ändere Deinen Post nochmal . so dass der Export entsprechend importierbar ist.

                  Und dann werden wir uns um die Shelly Nodes kümmern - denn es macht keinen Sinn, dass Du HTTP und die Shelly Nodes verwendest.

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    Harry_vlbg @mickym last edited by

                    @mickym

                    [
                       {
                           "id": "0be53785c72fb931",
                           "type": "tab",
                           "label": "Flow 1",
                           "disabled": false,
                           "info": "",
                           "env": []
                       },
                       {
                           "id": "cf09bc5276f7be79",
                           "type": "shelly-gen2",
                           "z": "0be53785c72fb931",
                           "hostname": "192.168.178.54",
                           "description": "Boiler_Bad",
                           "mode": "polling",
                           "verbose": false,
                           "server": "",
                           "outputmode": "event",
                           "uploadretryinterval": 5000,
                           "pollinginterval": "6000",
                           "pollstatus": false,
                           "getstatusoncommand": true,
                           "devicetype": "SNSW-001P16EU",
                           "devicetypemustmatchexactly": true,
                           "captureblutooth": false,
                           "outputs": 1,
                           "x": 950,
                           "y": 240,
                           "wires": [
                               [
                                   "aa58cc0f316c4f70"
                               ]
                           ],
                           "inputLabels": [
                               "payload.switch0.id"
                           ],
                           "outputLabels": [
                               "1"
                           ]
                       },
                       {
                           "id": "8fab423dfb34e072",
                           "type": "switch",
                           "z": "0be53785c72fb931",
                           "name": "Ladezustand Batterie > 95%",
                           "property": "payload",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "gte",
                                   "v": "95",
                                   "vt": "num"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 1,
                           "x": 160,
                           "y": 240,
                           "wires": [
                               [
                                   "93e2aa46a4a02ee0"
                               ]
                           ]
                       },
                       {
                           "id": "0b247bc8d9ca735e",
                           "type": "victron-input-battery",
                           "z": "0be53785c72fb931",
                           "service": "com.victronenergy.battery/512",
                           "path": "/Capacity",
                           "serviceObj": {
                               "service": "com.victronenergy.battery/512",
                               "name": "Pytes battery"
                           },
                           "pathObj": {
                               "path": "/Capacity",
                               "type": "float",
                               "name": "Capacity (Ah)"
                           },
                           "name": "",
                           "onlyChanges": true,
                           "roundValues": "no",
                           "x": 140,
                           "y": 60,
                           "wires": [
                               [
                                   "8fab423dfb34e072"
                               ]
                           ]
                       },
                       {
                           "id": "b2a7ee2ce7767b6b",
                           "type": "http request",
                           "z": "0be53785c72fb931",
                           "name": "Shelly Befehl Boiler ein",
                           "method": "GET",
                           "ret": "txt",
                           "paytoqs": "ignore",
                           "url": "http://192.168.178.54/relay/0?turn=on",
                           "tls": "",
                           "persist": false,
                           "proxy": "",
                           "insecureHTTPParser": false,
                           "authType": "",
                           "senderr": false,
                           "headers": [],
                           "x": 670,
                           "y": 140,
                           "wires": [
                               [
                                   "cf09bc5276f7be79",
                                   "bc55c22dbd242ea5"
                               ]
                           ]
                       },
                       {
                           "id": "bc55c22dbd242ea5",
                           "type": "delay",
                           "z": "0be53785c72fb931",
                           "name": "",
                           "pauseType": "delay",
                           "timeout": "45",
                           "timeoutUnits": "minutes",
                           "rate": "1",
                           "nbRateUnits": "1",
                           "rateUnits": "second",
                           "randomFirst": "1",
                           "randomLast": "5",
                           "randomUnits": "seconds",
                           "drop": false,
                           "allowrate": false,
                           "outputs": 1,
                           "x": 490,
                           "y": 240,
                           "wires": [
                               [
                                   "a8814585a8e2257f"
                               ]
                           ]
                       },
                       {
                           "id": "a8814585a8e2257f",
                           "type": "http request",
                           "z": "0be53785c72fb931",
                           "name": "Boiler aus nach 45 Min",
                           "method": "GET",
                           "ret": "txt",
                           "paytoqs": "ignore",
                           "url": "http://192.168.178.54/relay/0?turn=off",
                           "tls": "",
                           "persist": false,
                           "proxy": "",
                           "insecureHTTPParser": false,
                           "authType": "",
                           "senderr": false,
                           "headers": [],
                           "x": 720,
                           "y": 240,
                           "wires": [
                               [
                                   "cf09bc5276f7be79"
                               ]
                           ]
                       },
                       {
                           "id": "93e2aa46a4a02ee0",
                           "type": "delay",
                           "z": "0be53785c72fb931",
                           "name": "1 Message pro 12 H",
                           "pauseType": "rate",
                           "timeout": "5",
                           "timeoutUnits": "seconds",
                           "rate": "1",
                           "nbRateUnits": "12",
                           "rateUnits": "hour",
                           "randomFirst": "1",
                           "randomLast": "5",
                           "randomUnits": "seconds",
                           "drop": false,
                           "allowrate": false,
                           "outputs": 1,
                           "x": 380,
                           "y": 140,
                           "wires": [
                               [
                                   "b2a7ee2ce7767b6b"
                               ]
                           ],
                           "info": "1 Message pro 12 Stunden um dem Boiler nicht mehrmals im tag einzuschalten.\n"
                       },
                       {
                           "id": "aa58cc0f316c4f70",
                           "type": "change",
                           "z": "0be53785c72fb931",
                           "name": "Boiler geheizt",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "boiler geheizt",
                                   "tot": "str"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1200,
                           "y": 240,
                           "wires": [
                               []
                           ]
                       }
                    ]
                    

                    1 Reply Last reply Reply Quote 0
                    • H
                      Harry_vlbg @mickym last edited by

                      @mickym hat das jetzt so geklappt?
                      funktioniert aber hervorragend mit http
                      Ist halte ein Gen2

                      mickym 2 Replies Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Harry_vlbg last edited by

                        @harry_vlbg Ja der import hat soweit funktioniert.

                        7014aa6b-ed0c-4e26-b82d-67935bbd1541-image.png

                        Das Victron Teil habe ich nicht, aber das kann ich mit Inject Nodes simulieren.

                        H 1 Reply Last reply Reply Quote 0
                        • H
                          Harry_vlbg @mickym last edited by

                          @mickym bin ich schon froh das ich das soweit geschafft habe 😉

                          wäre einfacher auf meinem PC.

                          also du machst jetzt diesen Change Note mit der Variable Boiler geheizt und startest um 1 Uhr morgens am nächsten Tag den Boiler wenn er die letzten 12 Stunden nicht geheizt hat?

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

                            @harry_vlbg sagte in Node Red Optimierung PV Überschuss für Anfänger:

                            Ist halte ein Gen2

                            Ja aber es macht keinen Sinn. Schau mal die Shelly Nodes bringen Beispiele mit. Als erstes probiere mal die Beispiele.

                            Also erstes gehst Du unter import

                            b0049d7e-1824-45c6-8b28-5be4560c4f4d-image.png

                            und unter Beispiele siehst Du die Beispiele, die Shelly mitliefert.

                            Dann importierst Du mal das Beispiel mit dem switch:

                            7d72ded2-048f-46f3-ae01-ac3f5f0cf743-image.png

                            Als Hostname gibst mal Deinen Boiler IP-Adresse ein und schaust mal - ob Du mit dem Flow den Boiler schalten und auslesen kannst.

                            Mit diesen Inject Nodes kannst Du ein- und ausschalten bzw. den Status abrufen.

                            f7aa20dc-a52c-46fa-938c-b7a9c04149cf-image.png

                            Schau mal ob das klappt.

                            Ansonsten, wenn Du lieber über Http schalten willst - dann kannst Dir die Shelly Nodes wieder deinstallieren - weil die sonst überflüssig sind. Da kann man dann später auch Http nehmen.

                            Er schaltet den Boiler aber nur für 2 Sekunden. Schau einfach mal, ob Du die Config auslesen kannst.

                            Wir werden das ohne function Nodes machen

                            69047608-fd86-419a-9dd3-84e49028d37c-image.png

                            und dieses toggle ausschalten. Aber wie gesagt wir können auch einfach anfangen - aber dann lösche die Shelly Nodes aus Deinem Flow - die dürfen NICHT dazwischenfunken. Wenn Du rein über HTTP schalten willst, dann verwende die erst mal nicht in Deinem Flow.

                            H 3 Replies Last reply Reply Quote 0
                            • H
                              Harry_vlbg @mickym last edited by

                              @mickym
                              also ich bekomme fehlermeldungen

                              20.1.2025, 20:12:02node: 4ec3bc22e66b23bf
                              msg : string[39]
                              "Wrong node type. Please use shelly-gen2"

                              kann aber auch den shelly plus nicht auswählen. allerdings hat er eingeschaltet

                              mickym 1 Reply Last reply Reply Quote 0
                              • H
                                Harry_vlbg @mickym last edited by

                                @mickym der richtige wäre shelly plus 1 PM also bleiben wir beim alten

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

                                  @harry_vlbg
                                  Wie gesagt, dann stelle mal in der Node - auf Deinen Typ um:

                                  5db35501-8d76-4ae8-b5ea-61240d9b18f2-image.png

                                  Also wie gesagt, wir können ja erstmal bei Deinem Schalten bleiben - ABER dann mach den Shelly Node aus Deinem Flow.

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Harry_vlbg @mickym last edited by

                                    @mickym ich verwende eh nur den normalen http request.
                                    heißt nur bei mir shelly befehl das ich mich auskenne.
                                    bin hier ganz neu und auch nicht vom fach

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

                                      @harry_vlbg Ja wir machen es nur mit den HTTP Request Nodes erst mal.

                                      77543f88-404f-4144-a883-f2ab9585df87-image.png

                                      Deine Shelly Node würde ich dann löschen

                                      In der 1. Change Node setzen wird die Flow Variable boiler auf true und dann nach dem Ausschalten auf false.

                                      30a05502-47d7-4269-bd58-43f31885407a-image.png

                                      [
                                         {
                                             "id": "b2a7ee2ce7767b6b",
                                             "type": "http request",
                                             "z": "0be53785c72fb931",
                                             "name": "Shelly Befehl Boiler ein",
                                             "method": "GET",
                                             "ret": "txt",
                                             "paytoqs": "ignore",
                                             "url": "http://192.168.178.54/relay/0?turn=on",
                                             "tls": "",
                                             "persist": false,
                                             "proxy": "",
                                             "insecureHTTPParser": false,
                                             "authType": "",
                                             "senderr": false,
                                             "headers": [],
                                             "x": 630,
                                             "y": 140,
                                             "wires": [
                                                 [
                                                     "bc55c22dbd242ea5",
                                                     "e2954a89ed9e7e6e"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "bc55c22dbd242ea5",
                                             "type": "delay",
                                             "z": "0be53785c72fb931",
                                             "name": "",
                                             "pauseType": "delay",
                                             "timeout": "45",
                                             "timeoutUnits": "minutes",
                                             "rate": "1",
                                             "nbRateUnits": "1",
                                             "rateUnits": "second",
                                             "randomFirst": "1",
                                             "randomLast": "5",
                                             "randomUnits": "seconds",
                                             "drop": false,
                                             "allowrate": false,
                                             "outputs": 1,
                                             "x": 930,
                                             "y": 140,
                                             "wires": [
                                                 [
                                                     "a8814585a8e2257f"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "a8814585a8e2257f",
                                             "type": "http request",
                                             "z": "0be53785c72fb931",
                                             "name": "Boiler aus nach 45 Min",
                                             "method": "GET",
                                             "ret": "txt",
                                             "paytoqs": "ignore",
                                             "url": "http://192.168.178.54/relay/0?turn=off",
                                             "tls": "",
                                             "persist": false,
                                             "proxy": "",
                                             "insecureHTTPParser": false,
                                             "authType": "",
                                             "senderr": false,
                                             "headers": [],
                                             "x": 1160,
                                             "y": 140,
                                             "wires": [
                                                 []
                                             ]
                                         },
                                         {
                                             "id": "e2954a89ed9e7e6e",
                                             "type": "change",
                                             "z": "0be53785c72fb931",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "boiler",
                                                     "pt": "flow",
                                                     "to": "true",
                                                     "tot": "bool"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 860,
                                             "y": 200,
                                             "wires": [
                                                 []
                                             ]
                                         }
                                      ]
                                      

                                      Wenn Du dann in das Kontextmenu gehst, solltest Du unter Flow eine Variable boiler haben, der signalisiert dass der Boiler angeschaltet wurde.

                                      H 1 Reply Last reply Reply Quote 0
                                      • H
                                        Harry_vlbg @mickym last edited by

                                        @mickym soweit so gut - habe ich

                                        mickym 2 Replies Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @Harry_vlbg last edited by

                                          @harry_vlbg sagte in Node Red Optimierung PV Überschuss für Anfänger:

                                          @mickym soweit so gut - habe ich

                                          Ja diese 2. Change Node kannst wieder löschen, weil wir wollen ja nur einmal prüfen, ob der Boiler eingeschaltet wurde.

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

                                            @harry_vlbg sagte in Node Red Optimierung PV Überschuss für Anfänger:

                                            @mickym soweit so gut - habe ich

                                            So nun müssen wir also jede Nacht um 1:00 Uhr prüfen, ob der Boiler eingeschaltet wurde.

                                            Wir nehmen einfach eine InjectNode:

                                            fbfd4af6-af68-40af-b6da-8447f5f3e397-image.png

                                            H mickym 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            804
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            73
                                            2607
                                            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