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.
    • 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
                                          • H
                                            Harry_vlbg @mickym last edited by

                                            @mickym also boiler hat eingeschaltet - musste noch zuerst den Ladeszustand ändern aber geht.
                                            Kontektmenü finde ich keines

                                            mickym 1 Reply 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