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
      also es sind %

      somit müsste ich wieder so einen flow. Akku setzten
      c6f5f1c2-d3b5-4250-bd7e-fe0c984c20fe-image.png

      und dann am switch node umstellen
      e5eecf94-bee9-4149-97b5-12e3282f6efc-image.png

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

        @harry_vlbg Nein - lasss doch alles wie es ist. Es gibt keine flow.Akku. Es ist einfach die payload - da musst du doch nichts ändern.

        2cda136c-593b-40d1-8f52-de44df48b8f2-image.png

        Die payload aus der blauen Node wird untersucht und die switch Node vergleicht die payload mit dem Vorgängerwert und damit wird doch automatisch ermittelt, ob der Wert steigt oder fällt.

        Hänge einfach Deine blaue Node, anstelle meiner Inject Nodes vor die Switch Node, die ich erstellt habe. Dann siehst Du anhand der Debug Nodes was geschaltet wird bzw. schaltest direkt mit den HTTP Request Nodes.

        d2950cb9-f27b-47cc-a0bc-a82a807480a3-image.png

        Durchgestrichen LÖSCHEN, die blaue Node mit der Switch Node verbinden - ohne was zu ändern - und gut ist.

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

          @mickym
          ohhh man - da habe ich wieder um die Kurve gedacht.
          das kann ich machen

          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:

            @mickym
            ah - jetzt ist es mir geschossen. Macht nur mit 2 Sinn

            Stimmt auch nicht - mit einer Switch Node kann man auch Filtern, wie beim Urlaub - aber dann hast Du auch nur eine Bedingung und einen Ausgang.

            Aber wenn Du an einen Ausgang macht - ich bin im Urlaub - und an den anderen ich bin nicht im Urlaub - und behandelst dann beides anschließend gleich, dann kann man sich diese Abfrage auch sparen. Wenn es egal ist, ob Du im Urlaub bist oder nicht, da Du dann mit der gleichen Bearbeitung weiter verfährst, dann ist diese Abfrage sinnlos.

            Logisch?

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

              @mickym
              logisch - jetzt jedenfalls.
              Habe die Funktion definitiv falsch interpretiert

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

                @mickym
                HI - ich bin noch etwas am optimieren für die "schlechen" Sonnentage. Aber irgendwie hat es mir gestern nicht abgeschaltet obwohl es von mir erwartet wurde.

                den Flow.Boiler ist hier nicht ersichtlich damit es nicht ein zu großer Durcheinander gibt. Das funktioniert ja dank dir hervorragend.

                Ziel ist bei Sunset die Variable nachtabschaltung und um 23 uhr dies abfragen und umsetzten.
                mit 4 wird der Victron abgeschaltet und mit 3 dann wieder eingeschalten.

                0862d2b5-2e00-477d-8680-e83c8e1c15f6-image.png

                code:

                [
                   {
                       "id": "4d648bd1ec0fc1eb",
                       "type": "tab",
                       "label": "Flow 1",
                       "disabled": false,
                       "info": "",
                       "env": []
                   },
                   {
                       "id": "95942d289e2311d1",
                       "type": "victron-input-ess",
                       "z": "4d648bd1ec0fc1eb",
                       "service": "com.victronenergy.system/0",
                       "path": "/Control/ActiveSocLimit",
                       "serviceObj": {
                           "service": "com.victronenergy.system/0",
                           "name": "Venus system"
                       },
                       "pathObj": {
                           "path": "/Control/ActiveSocLimit",
                           "type": "integer",
                           "name": "Active SOC limit (%)"
                       },
                       "name": "",
                       "onlyChanges": false,
                       "x": 240,
                       "y": 340,
                       "wires": [
                           [
                               "0e2a88ab0952c1fc"
                           ]
                       ]
                   },
                   {
                       "id": "0e2a88ab0952c1fc",
                       "type": "function",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "Activ sock",
                       "func": "flow.set('activ_soc', msg.payload);\nreturn msg;",
                       "outputs": 1,
                       "timeout": "",
                       "noerr": 0,
                       "initialize": "",
                       "finalize": "",
                       "libs": [],
                       "x": 500,
                       "y": 340,
                       "wires": [
                           []
                       ]
                   },
                   {
                       "id": "02aabb2d5a8bcd69",
                       "type": "function",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "State of charge",
                       "func": "flow.set('state_of_charge', msg.payload);\nreturn msg;",
                       "outputs": 1,
                       "timeout": "",
                       "noerr": 0,
                       "initialize": "",
                       "finalize": "",
                       "libs": [],
                       "x": 520,
                       "y": 280,
                       "wires": [
                           []
                       ]
                   },
                   {
                       "id": "21b9289b8a0d8d4f",
                       "type": "chronos-switch",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "sunset",
                       "config": "532a95bedeae68c9",
                       "baseTime": "",
                       "baseTimeType": "msgIngress",
                       "conditions": [
                           {
                               "operator": "equal",
                               "label": "== Bürgerliche Abenddämmerung",
                               "operands": {
                                   "type": "sun",
                                   "value": "dusk",
                                   "offset": 0,
                                   "random": false,
                                   "precision": "millisecond"
                               }
                           }
                       ],
                       "stopOnFirstMatch": false,
                       "outputs": 1,
                       "x": 150,
                       "y": 440,
                       "wires": [
                           [
                               "check-conditions"
                           ]
                       ]
                   },
                   {
                       "id": "6d370b95d9c02804",
                       "type": "victron-input-battery",
                       "z": "4d648bd1ec0fc1eb",
                       "service": "com.victronenergy.battery/512",
                       "path": "/Soc",
                       "serviceObj": {
                           "service": "com.victronenergy.battery/512",
                           "name": "Pytes battery"
                       },
                       "pathObj": {
                           "path": "/Soc",
                           "type": "float",
                           "name": "State of charge (%)"
                       },
                       "name": "",
                       "onlyChanges": true,
                       "x": 240,
                       "y": 280,
                       "wires": [
                           [
                               "02aabb2d5a8bcd69"
                           ]
                       ]
                   },
                   {
                       "id": "check-conditions",
                       "type": "function",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "Check Conditions",
                       "func": "let activ_soc = flow.get('activ_soc');\nlet state_of_charge = flow.get('state_of_charge');\nlet boiler = flow.get('boiler');\n\nif (boiler === true && state_of_charge >= activ_soc + 20) {\n    flow.set('nachtabschaltung', false);\n} else {\n    flow.set('nachtabschaltung', true);\n}\nreturn msg;",
                       "outputs": 1,
                       "timeout": "",
                       "noerr": 0,
                       "initialize": "",
                       "finalize": "",
                       "libs": [],
                       "x": 390,
                       "y": 440,
                       "wires": [
                           []
                       ]
                   },
                   {
                       "id": "timer-node",
                       "type": "inject",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "23 Uhr",
                       "props": [
                           {
                               "p": "payload",
                               "v": "",
                               "vt": "date"
                           },
                           {
                               "p": "topic",
                               "v": "",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "0 23 * * *",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "",
                       "payloadType": "date",
                       "x": 160,
                       "y": 500,
                       "wires": [
                           [
                               "retrieve-nachtabschaltung"
                           ]
                       ]
                   },
                   {
                       "id": "retrieve-nachtabschaltung",
                       "type": "function",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "Retrieve Nachtabschaltung",
                       "func": "msg.payload = flow.get('nachtabschaltung');\nreturn msg;",
                       "outputs": 1,
                       "noerr": 0,
                       "x": 420,
                       "y": 500,
                       "wires": [
                           [
                               "a1091abadb4c529d"
                           ]
                       ]
                   },
                   {
                       "id": "a1091abadb4c529d",
                       "type": "switch",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "",
                       "property": "nachtabschaltung",
                       "propertyType": "flow",
                       "rules": [
                           {
                               "t": "true"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 1,
                       "x": 630,
                       "y": 500,
                       "wires": [
                           [
                               "db5d1fe2433cb8a8"
                           ]
                       ]
                   },
                   {
                       "id": "1c02f205392a324c",
                       "type": "delay",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "Verezögerung 6 Stunden",
                       "pauseType": "delay",
                       "timeout": "6",
                       "timeoutUnits": "hours",
                       "rate": "1",
                       "nbRateUnits": "1",
                       "rateUnits": "second",
                       "randomFirst": "1",
                       "randomLast": "5",
                       "randomUnits": "seconds",
                       "drop": false,
                       "allowrate": false,
                       "outputs": 1,
                       "x": 190,
                       "y": 660,
                       "wires": [
                           [
                               "3e3309acb01e7e5f"
                           ]
                       ]
                   },
                   {
                       "id": "b0d0d38a8880ee0f",
                       "type": "victron-output-vebus",
                       "z": "4d648bd1ec0fc1eb",
                       "service": "com.victronenergy.vebus/276",
                       "path": "/Mode",
                       "serviceObj": {
                           "service": "com.victronenergy.vebus/276",
                           "name": "MultiPlus-II 48/3000/35-32"
                       },
                       "pathObj": {
                           "path": "/Mode",
                           "type": "enum",
                           "name": "Switch Position",
                           "remarks": "<p>Note that <tt>/ModeIsAdjustable</tt> needs to be set to 1.</p> ",
                           "enum": {
                               "1": "Charger Only",
                               "2": "Inverter Only",
                               "3": "On",
                               "4": "Off"
                           },
                           "writable": true
                       },
                       "initial": "",
                       "name": "",
                       "onlyChanges": false,
                       "x": 810,
                       "y": 660,
                       "wires": []
                   },
                   {
                       "id": "db5d1fe2433cb8a8",
                       "type": "change",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "Schalter",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "4",
                               "tot": "num"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 780,
                       "y": 500,
                       "wires": [
                           [
                               "1c02f205392a324c",
                               "b0d0d38a8880ee0f"
                           ]
                       ]
                   },
                   {
                       "id": "e2d72c437587dd5d",
                       "type": "inject",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "",
                       "payloadType": "date",
                       "x": 140,
                       "y": 560,
                       "wires": [
                           [
                               "retrieve-nachtabschaltung"
                           ]
                       ]
                   },
                   {
                       "id": "3e3309acb01e7e5f",
                       "type": "change",
                       "z": "4d648bd1ec0fc1eb",
                       "name": "Schalter EIN",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "3",
                               "tot": "num"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 450,
                       "y": 660,
                       "wires": [
                           [
                               "b0d0d38a8880ee0f"
                           ]
                       ]
                   },
                   {
                       "id": "532a95bedeae68c9",
                       "type": "chronos-config",
                       "name": "",
                       "latitudeType": "num",
                       "longitudeType": "num",
                       "timezone": "",
                       "sunPositions": []
                   }
                ]
                

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

                  @harry_vlbg Also - warum Du generell immer noch so gerne mit function Nodes "programmierst" - erschließt sich mir zwar nicht, aber das ist nicht Dein Problem. Im Grunde

                  Das Du, die von mir empfohlenen Chronos-Nodes verwendest ist eine gute Entscheidung.

                  So nun also zu Deinem Flow.

                  1. Zu Deiner Check Conditions Node:

                  den Flow.Boiler ist hier nicht ersichtlich damit es nicht ein zu großer Durcheinander gibt. Das funktioniert ja dank dir hervorragend.

                  Die Flowvariable wird aber in diesem Flow gar nicht gesetzt.

                  2c0447e6-7d1f-42b5-bc5a-06cb9ca6c728-image.png

                  Wenn Du Ihn in einem anderen Flow setzt, dann benötigst du GLOBALE Variablen - da Flowvariablen immer nur innerhalb EINES Flows Gültigkeit haben.

                  Deshalb wird bei Deiner Prüfung immer der "else" Zweig eintreten und die Nachtabschaltung auf "aktiv" setzen.

                  Also:
                  Korrektur: Entweder Du kopierst den Flow wieder in den Boiler Flow ODER Du setzt im Boilerflow - die Kontextvariable "boiler" GLOBAL. Wenn Du also im Boiler Flow die Variable "boiler" GLOBAL gesetzt hast, dann musst Du den Code natürlich auch ändern.

                  Das Problem ist aber, dass Dein Code - bei Sonnenuntergang AUCH setzt, wenn der Boiler NICHT true war, wenn Du NodeRed oder den Flow NEU gestartet hast, da Deine Variablen nicht initialisierst.

                  In diesem Fall kann man der Variablen "boiler" mit einem Wert vorbelegen, wenn die Kontextvariable noch nicht belegt ist.

                  488e4d31-7b69-4e1c-8409-bb6d8eda84be-image.png

                  Also 2 Pipesymbole und ich habe mal "boiler" auf true gesetzt, wenn die Variable NICHT existiert.

                  Zusammenfassend:

                  1. Die Kontextvariable "boiler" aus dem anderen Flow musst Du "global" setzen. Dann musst Du natürlich überall, wo du in diesem Flow die Variable "boiler" abfragst auch auf "global" ändern.
                  2. Die globale Variable "boiler" solltest Du vorbelegen, da wenn diese nicht gesetzt ist, immer die Nachtabschaltung true wird, da immer der "else" Ast wahr wird.

                  Also hier ein Vorschlag zur Korrektur Deiner Check Conditions Node (Warum auch immer Du denkst, dass Du hier mit JS programmieren musst).

                  let activ_soc = flow.get('activ_soc');
                  let state_of_charge = flow.get('state_of_charge');
                  let boiler = global.get('boiler')|| true;
                  
                  if (boiler === true && state_of_charge >= activ_soc + 20) {
                      flow.set('nachtabschaltung', false);
                  } else {
                      flow.set('nachtabschaltung', true);
                  }
                  return msg;
                  
                  1. So nun Dein 2. Problem mit dem sunset. Die Cronos Nodes sind toll - Du hast hier aber einen "Switch" genommen. Ein Switch kann aber nur bestehende Nachrichtenfiltern - aber da wird ja gar nichts getriggert, da am Eingang gar keine Nachrichten eingehen.

                  19d5a237-4ad6-4ad5-af5b-6263009586e7-image.png

                  Wenn Du willst, das eine Chronos zum Sonnenuntergang triggert, dann musst Du den Scheduler nehmen und nicht einen Switch, der durch eine vorhandene Nachricht getriggert wird.

                  7a0cd838-5d6b-4e89-a698-5db0aee2ecc9-image.png

                  6b4351f1-1874-4115-918a-8b8ec1bb237d-image.png

                  Der Scheduler zeigt Dir dann auch automatisch im Status, wann das nächste Ereignis eintritt.

                  1. Wenn Du schon die Chronos Nodes installiert hast, dann kann man im selben Flow auch diese Nodes ggf. anstelle der Inject Nodes verwenden, das ergibt dann etwas mehr Übersichtlichkeit.

                  4ad7ed01-f0fb-4565-9298-1388fd038954-image.png


                  Wenn Dir das mit den Chronos Nodes zu komplizert ist, dann gibts noch eine weitere sehr mächtig Scheduler Node und die kann ich Dir auch wärmstens empfehlen

                  2d2f2803-6ad0-46c9-a8d9-29b1e715fd9e-image.png

                  Hier kannst Du auch mehrere Ereignisse definieren und auch Sonnensstandsereignisse.

                  Diese Nodes kannst Du Dir also alternativ zu den chronos Nodes installieren:

                  https://flows.nodered.org/node/node-red-contrib-cron-plus

                  ==================================================================================

                  So hier mal die "neuen" bzw. korrigierten Nodes zum Import:

                  [
                     {
                         "id": "b2a53b5b0a28831f",
                         "type": "chronos-scheduler",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "Trigger Sonnenuntergang",
                         "config": "532a95bedeae68c9",
                         "schedule": [
                             {
                                 "trigger": {
                                     "type": "sun",
                                     "value": "dusk",
                                     "offset": 0,
                                     "random": false
                                 },
                                 "output": {
                                     "type": "msg",
                                     "property": {
                                         "name": "payload",
                                         "type": "str",
                                         "value": ""
                                     }
                                 }
                             }
                         ],
                         "disabled": false,
                         "multiPort": false,
                         "nextEventPort": false,
                         "delayOnStart": true,
                         "onStartDelay": 0.1,
                         "outputs": 1,
                         "x": 270,
                         "y": 440,
                         "wires": [
                             [
                                 "check-conditions"
                             ]
                         ]
                     },
                     {
                         "id": "check-conditions",
                         "type": "function",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "Check Conditions",
                         "func": "let activ_soc = flow.get('activ_soc');\nlet state_of_charge = flow.get('state_of_charge');\nlet boiler = flow.get('boiler');\n\nif (boiler === true && state_of_charge >= activ_soc + 20) {\n    flow.set('nachtabschaltung', false);\n} else {\n    flow.set('nachtabschaltung', true);\n}\nreturn msg;",
                         "outputs": 1,
                         "timeout": "",
                         "noerr": 0,
                         "initialize": "",
                         "finalize": "",
                         "libs": [],
                         "x": 550,
                         "y": 440,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "e46d2c234b1e6cc0",
                         "type": "chronos-scheduler",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "",
                         "config": "532a95bedeae68c9",
                         "schedule": [
                             {
                                 "trigger": {
                                     "type": "time",
                                     "value": "23:00",
                                     "offset": 0,
                                     "random": false
                                 },
                                 "output": {
                                     "type": "msg",
                                     "property": {
                                         "name": "payload",
                                         "type": "str",
                                         "value": ""
                                     }
                                 }
                             }
                         ],
                         "disabled": false,
                         "multiPort": false,
                         "nextEventPort": false,
                         "delayOnStart": true,
                         "onStartDelay": 0.1,
                         "outputs": 1,
                         "x": 160,
                         "y": 600,
                         "wires": [
                             [
                                 "retrieve-nachtabschaltung"
                             ]
                         ]
                     },
                     {
                         "id": "532a95bedeae68c9",
                         "type": "chronos-config",
                         "name": "Testkonfiguration",
                         "latitudeType": "num",
                         "longitudeType": "num",
                         "timezone": "",
                         "sunPositions": []
                     }
                  ]
                  

                  und hier die grafische Vorlage:
                  4e794cf3-58e6-4a73-a858-0e96746fc7ac-image.png

                  Und nochmals - versuche auf function Nodes zu verzichten - Du willst doch grafisch sehen, was Dein Flow macht und Dich nicht durch Code quälen.

                  Hier auch nochmal mein Testflow - da ich ja keine Victron Nodes habe 😉

                  [
                     {
                         "id": "0e2a88ab0952c1fc",
                         "type": "function",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "Activ sock",
                         "func": "flow.set('activ_soc', msg.payload);\nreturn msg;",
                         "outputs": 1,
                         "timeout": "",
                         "noerr": 0,
                         "initialize": "",
                         "finalize": "",
                         "libs": [],
                         "x": 500,
                         "y": 340,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "02aabb2d5a8bcd69",
                         "type": "function",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "State of charge",
                         "func": "flow.set('state_of_charge', msg.payload);\nreturn msg;",
                         "outputs": 1,
                         "timeout": "",
                         "noerr": 0,
                         "initialize": "",
                         "finalize": "",
                         "libs": [],
                         "x": 520,
                         "y": 280,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "check-conditions",
                         "type": "function",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "Check Conditions",
                         "func": "let activ_soc = flow.get('activ_soc');\nlet state_of_charge = flow.get('state_of_charge');\nlet boiler = flow.get('boiler');\n\nif (boiler === true && state_of_charge >= activ_soc + 20) {\n    flow.set('nachtabschaltung', false);\n} else {\n    flow.set('nachtabschaltung', true);\n}\nreturn msg;",
                         "outputs": 1,
                         "timeout": "",
                         "noerr": 0,
                         "initialize": "",
                         "finalize": "",
                         "libs": [],
                         "x": 550,
                         "y": 440,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "retrieve-nachtabschaltung",
                         "type": "function",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "Retrieve Nachtabschaltung",
                         "func": "msg.payload = flow.get('nachtabschaltung');\nreturn msg;",
                         "outputs": 1,
                         "timeout": "",
                         "noerr": 0,
                         "initialize": "",
                         "finalize": "",
                         "libs": [],
                         "x": 440,
                         "y": 600,
                         "wires": [
                             [
                                 "a1091abadb4c529d"
                             ]
                         ]
                     },
                     {
                         "id": "a1091abadb4c529d",
                         "type": "switch",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "",
                         "property": "nachtabschaltung",
                         "propertyType": "flow",
                         "rules": [
                             {
                                 "t": "true"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 650,
                         "y": 600,
                         "wires": [
                             [
                                 "db5d1fe2433cb8a8"
                             ]
                         ]
                     },
                     {
                         "id": "1c02f205392a324c",
                         "type": "delay",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "Verezögerung 6 Stunden",
                         "pauseType": "delay",
                         "timeout": "6",
                         "timeoutUnits": "hours",
                         "rate": "1",
                         "nbRateUnits": "1",
                         "rateUnits": "second",
                         "randomFirst": "1",
                         "randomLast": "5",
                         "randomUnits": "seconds",
                         "drop": false,
                         "allowrate": false,
                         "outputs": 1,
                         "x": 210,
                         "y": 760,
                         "wires": [
                             [
                                 "3e3309acb01e7e5f"
                             ]
                         ]
                     },
                     {
                         "id": "db5d1fe2433cb8a8",
                         "type": "change",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "Schalter",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "4",
                                 "tot": "num"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 800,
                         "y": 600,
                         "wires": [
                             [
                                 "1c02f205392a324c",
                                 "bdd5a2f2d1718a26"
                             ]
                         ]
                     },
                     {
                         "id": "e2d72c437587dd5d",
                         "type": "inject",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             },
                             {
                                 "p": "topic",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "",
                         "payloadType": "date",
                         "x": 160,
                         "y": 660,
                         "wires": [
                             [
                                 "retrieve-nachtabschaltung"
                             ]
                         ]
                     },
                     {
                         "id": "3e3309acb01e7e5f",
                         "type": "change",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "Schalter EIN",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "3",
                                 "tot": "num"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 470,
                         "y": 760,
                         "wires": [
                             [
                                 "bdd5a2f2d1718a26"
                             ]
                         ]
                     },
                     {
                         "id": "bdd5a2f2d1718a26",
                         "type": "debug",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "victron-output-vebus",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1000,
                         "y": 780,
                         "wires": []
                     },
                     {
                         "id": "2af9f056aeeec679",
                         "type": "inject",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             },
                             {
                                 "p": "topic",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "victron-input-battery",
                         "payload": "54",
                         "payloadType": "num",
                         "x": 300,
                         "y": 280,
                         "wires": [
                             [
                                 "02aabb2d5a8bcd69"
                             ]
                         ]
                     },
                     {
                         "id": "a10fac8e5f58ae09",
                         "type": "inject",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             },
                             {
                                 "p": "topic",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "victron-input-ess",
                         "payload": "55",
                         "payloadType": "num",
                         "x": 290,
                         "y": 340,
                         "wires": [
                             [
                                 "0e2a88ab0952c1fc"
                             ]
                         ]
                     },
                     {
                         "id": "b2a53b5b0a28831f",
                         "type": "chronos-scheduler",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "Trigger Sonnenuntergang",
                         "config": "532a95bedeae68c9",
                         "schedule": [
                             {
                                 "trigger": {
                                     "type": "sun",
                                     "value": "dusk",
                                     "offset": 0,
                                     "random": false
                                 },
                                 "output": {
                                     "type": "msg",
                                     "property": {
                                         "name": "payload",
                                         "type": "str",
                                         "value": ""
                                     }
                                 }
                             }
                         ],
                         "disabled": false,
                         "multiPort": false,
                         "nextEventPort": false,
                         "delayOnStart": true,
                         "onStartDelay": 0.1,
                         "outputs": 1,
                         "x": 270,
                         "y": 440,
                         "wires": [
                             [
                                 "check-conditions"
                             ]
                         ]
                     },
                     {
                         "id": "e46d2c234b1e6cc0",
                         "type": "chronos-scheduler",
                         "z": "4d648bd1ec0fc1eb",
                         "name": "",
                         "config": "532a95bedeae68c9",
                         "schedule": [
                             {
                                 "trigger": {
                                     "type": "time",
                                     "value": "23:00",
                                     "offset": 0,
                                     "random": false
                                 },
                                 "output": {
                                     "type": "msg",
                                     "property": {
                                         "name": "payload",
                                         "type": "str",
                                         "value": ""
                                     }
                                 }
                             }
                         ],
                         "disabled": false,
                         "multiPort": false,
                         "nextEventPort": false,
                         "delayOnStart": true,
                         "onStartDelay": 0.1,
                         "outputs": 1,
                         "x": 160,
                         "y": 600,
                         "wires": [
                             [
                                 "retrieve-nachtabschaltung"
                             ]
                         ]
                     },
                     {
                         "id": "532a95bedeae68c9",
                         "type": "chronos-config",
                         "name": "Testkonfiguration",
                         "latitudeType": "num",
                         "longitudeType": "num",
                         "timezone": "",
                         "sunPositions": []
                     }
                  ]
                  

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

                    @mickym
                    Danke - den Boiler habe ich jetzt mal überall auf Global. umgestellt.
                    Dann kann ich auf dem anderen Blatt löschen und werklen wie ich will.
                    Sheduler auch in Verwendung gebracht.
                    Jetzt kann ich mal testen was heute so geschieht 😉

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

                      @mickym

                      jetzt mit mehr Sonne zeigt sich doch noch ein Thema das nicht so tut wie es soll.
                      Der erste Behfehl um den Boiler zu heizen klappt gut. Auch das dann nachher 12 Stunden nichts passiert. Da ich jetzt aber wieder an die 95% Grenze komme wird das Einschaltsignal zwar zurückgehalten, dafür dann aber nach 12 Stunden nochmals gesendet. Somit läuft der Boiler auch zur falschen Zeit.

                      Irgendwie sollte ich nach 11 Stunden das Signal doch löschen können?
                      Hat jemand ein Tipp für mich?

                      Danke

                      79414f7a-a438-4706-8683-b3fe2490b229-image.png

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

                        @harry_vlbg
                        oh - habe gerade gesehen das ich die Zwischennachrichten löschen kann.
                        Ist das schon die Lösung für mein Problem?

                        dacfad71-7715-44c1-b71e-53fd65161b54-image.png

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

                          @harry_vlbg Na ja ich hätte das Ganze, bei der Aufgabenstellung zeitgesteuert gemacht und nicht mit einer Verzögerung. Aber wenn es tut dann ist ja gut.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          765
                          Online

                          31.7k
                          Users

                          79.7k
                          Topics

                          1.3m
                          Posts

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