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. Extra Warmwasser mit PV Überschuss

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Extra Warmwasser mit PV Überschuss

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

      Ansonsten nimm halt nochmal den Flow - und schau, ob der funktioniert:

      deb7da60-3175-432a-819c-5d96eba815d0-image.png

      Du musst halt die Zeiten und die Datenpunkte nochmal ändern:

      [
         {
             "id": "78ea932b6144ea56",
             "type": "switch",
             "z": "c7454c976ad86c7e",
             "name": "PV Überschuss",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "lt",
                     "v": "2.4",
                     "vt": "num"
                 },
                 {
                     "t": "gte",
                     "v": "2.4",
                     "vt": "num"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 2,
             "x": 360,
             "y": 680,
             "wires": [
                 [
                     "45c84f129773d19b"
                 ],
                 [
                     "0478f81a30fe3639",
                     "e4a8735798502e7c"
                 ]
             ],
             "outputLabels": [
                 "Brauchwasser AUS",
                 "Brauchwasser EIN"
             ],
             "info": "Ich würde hier eine Hysterese einbauen. \r\n\r\nDie Ausgänge kannst Du auch beschreiben, wenn Du mit der Maus drüber gehst."
         },
         {
             "id": "0423db8ebd88425a",
             "type": "debug",
             "z": "c7454c976ad86c7e",
             "name": "Brauchwasser EIN (Shelly)",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": true,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "payload",
             "statusType": "auto",
             "x": 2040,
             "y": 960,
             "wires": []
         },
         {
             "id": "7e029bf35fe30f0c",
             "type": "debug",
             "z": "c7454c976ad86c7e",
             "name": "Brauchwasser AUS (Shelly)",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": true,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "payload",
             "statusType": "auto",
             "x": 2060,
             "y": 540,
             "wires": []
         },
         {
             "id": "490f9fe9d29ac5c8",
             "type": "delay",
             "z": "c7454c976ad86c7e",
             "name": "20 Minuten verzögern",
             "pauseType": "rate",
             "timeout": "20",
             "timeoutUnits": "seconds",
             "rate": "1",
             "nbRateUnits": "20",
             "rateUnits": "second",
             "randomFirst": "1",
             "randomLast": "5",
             "randomUnits": "seconds",
             "drop": true,
             "allowrate": false,
             "outputs": 1,
             "x": 1180,
             "y": 920,
             "wires": [
                 [
                     "467fd83885fcecf0",
                     "c9f79effc6659927"
                 ]
             ]
         },
         {
             "id": "467fd83885fcecf0",
             "type": "trigger",
             "z": "c7454c976ad86c7e",
             "name": "30 Minuten MinON",
             "op1": "true",
             "op2": "false",
             "op1type": "bool",
             "op2type": "bool",
             "duration": "30",
             "extend": true,
             "overrideDelay": false,
             "units": "s",
             "reset": "",
             "bytopic": "all",
             "topic": "topic",
             "outputs": 1,
             "x": 1430,
             "y": 1020,
             "wires": [
                 [
                     "43d93b25398134f9"
                 ]
             ]
         },
         {
             "id": "43d93b25398134f9",
             "type": "ioBroker out",
             "z": "c7454c976ad86c7e",
             "name": "Brauchwasser_AKTIV (MinOn)",
             "topic": "0_userdata.0.Test.Brauchwasser.Brauchwasser_AKTIV",
             "ack": "true",
             "autoCreate": "false",
             "stateName": "",
             "role": "",
             "payloadType": "",
             "readonly": "",
             "stateUnit": "",
             "stateMin": "",
             "stateMax": "",
             "x": 1710,
             "y": 1020,
             "wires": []
         },
         {
             "id": "0a9ff9331c1b8e3c",
             "type": "ioBroker get",
             "z": "c7454c976ad86c7e",
             "name": "Hole Brauchwasser_AKTIV (MinOn)",
             "topic": "0_userdata.0.Test.Brauchwasser.Brauchwasser_AKTIV",
             "attrname": "payload",
             "payloadType": "value",
             "errOnInvalidState": "nothing",
             "x": 1210,
             "y": 580,
             "wires": [
                 [
                     "265413e346c4ce5d"
                 ]
             ]
         },
         {
             "id": "265413e346c4ce5d",
             "type": "switch",
             "z": "c7454c976ad86c7e",
             "name": "MinOn = false?",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "false"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 1,
             "x": 1480,
             "y": 580,
             "wires": [
                 [
                     "0befa3eabb32d9fe"
                 ]
             ]
         },
         {
             "id": "0b8b63c145022cf3",
             "type": "ioBroker out",
             "z": "c7454c976ad86c7e",
             "d": true,
             "name": "Shelly Brauchwasser AUS",
             "topic": "",
             "ack": "false",
             "autoCreate": "false",
             "stateName": "",
             "role": "",
             "payloadType": "",
             "readonly": "",
             "stateUnit": "",
             "stateMin": "",
             "stateMax": "",
             "x": 2050,
             "y": 580,
             "wires": []
         },
         {
             "id": "3ed7efab20047cb6",
             "type": "ioBroker out",
             "z": "c7454c976ad86c7e",
             "d": true,
             "name": "Shelly Brauchwasser EIN",
             "topic": "",
             "ack": "false",
             "autoCreate": "false",
             "stateName": "",
             "role": "",
             "payloadType": "",
             "readonly": "",
             "stateUnit": "",
             "stateMin": "",
             "stateMax": "",
             "x": 2030,
             "y": 920,
             "wires": []
         },
         {
             "id": "495778e29bdffe0d",
             "type": "switch",
             "z": "c7454c976ad86c7e",
             "name": "Wassertemperatur",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "gte",
                     "v": "57",
                     "vt": "num"
                 },
                 {
                     "t": "lte",
                     "v": "54",
                     "vt": "num"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 2,
             "x": 890,
             "y": 800,
             "wires": [
                 [
                     "5a258f3309617617"
                 ],
                 [
                     "afc867f18b037b22"
                 ]
             ],
             "outputLabels": [
                 "Brauchwasser AUS",
                 "Brauchwasser EIN"
             ],
             "info": "Ich würde hier eine Hysterese einbauen. \r\n\r\nDie Ausgänge kannst Du auch beschreiben, wenn Du mit der Maus drüber gehst."
         },
         {
             "id": "8c82cfd59b96688d",
             "type": "comment",
             "z": "c7454c976ad86c7e",
             "name": "Brauchwasser EIN",
             "info": "",
             "x": 1750,
             "y": 840,
             "wires": []
         },
         {
             "id": "59b342efc4818a85",
             "type": "trigger",
             "z": "c7454c976ad86c7e",
             "name": "Mindestens 2 Min < 2.4",
             "op1": "",
             "op2": "true",
             "op1type": "nul",
             "op2type": "bool",
             "duration": "2",
             "extend": false,
             "overrideDelay": false,
             "units": "s",
             "reset": "",
             "bytopic": "all",
             "topic": "topic",
             "outputs": 1,
             "x": 870,
             "y": 580,
             "wires": [
                 [
                     "0a9ff9331c1b8e3c"
                 ]
             ]
         },
         {
             "id": "0478f81a30fe3639",
             "type": "change",
             "z": "c7454c976ad86c7e",
             "name": "reset",
             "rules": [
                 {
                     "t": "set",
                     "p": "reset",
                     "pt": "msg",
                     "to": "true",
                     "tot": "bool"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 650,
             "y": 640,
             "wires": [
                 [
                     "59b342efc4818a85"
                 ]
             ]
         },
         {
             "id": "c0daa92ca05b87f7",
             "type": "ioBroker in",
             "z": "c7454c976ad86c7e",
             "name": "Meter.Active_Power",
             "topic": "0_userdata.0.Huawei.Meter.Active_Power",
             "payloadType": "value",
             "onlyack": "",
             "func": "all",
             "gap": "",
             "fireOnStart": "false",
             "outFormat": "MQTT",
             "x": 150,
             "y": 680,
             "wires": [
                 [
                     "78ea932b6144ea56"
                 ]
             ]
         },
         {
             "id": "6fc8e8c3b2da9141",
             "type": "ioBroker in",
             "z": "c7454c976ad86c7e",
             "d": true,
             "name": "Warmwassertemperatur",
             "topic": "alias.0.Warmwassertemperatur",
             "payloadType": "value",
             "onlyack": "",
             "func": "all",
             "gap": "",
             "fireOnStart": "true",
             "outFormat": "MQTT",
             "x": 660,
             "y": 840,
             "wires": [
                 [
                     "495778e29bdffe0d"
                 ]
             ]
         },
         {
             "id": "e4a8735798502e7c",
             "type": "ioBroker get",
             "z": "c7454c976ad86c7e",
             "name": "Hole Wassertemperatur",
             "topic": "alias.0.Warmwassertemperatur",
             "attrname": "payload",
             "payloadType": "value",
             "errOnInvalidState": "nothing",
             "x": 650,
             "y": 780,
             "wires": [
                 [
                     "495778e29bdffe0d"
                 ]
             ]
         },
         {
             "id": "58f585b8cb128cf9",
             "type": "ioBroker in",
             "z": "c7454c976ad86c7e",
             "name": "Manuell",
             "topic": "0_userdata.0.Manuell",
             "payloadType": "value",
             "onlyack": "",
             "func": "all",
             "gap": "",
             "fireOnStart": "false",
             "outFormat": "MQTT",
             "x": 1150,
             "y": 720,
             "wires": [
                 [
                     "ad3e4cfa3268f4c3"
                 ]
             ]
         },
         {
             "id": "ad3e4cfa3268f4c3",
             "type": "switch",
             "z": "c7454c976ad86c7e",
             "name": "Ein-/Ausschalten",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "false"
                 },
                 {
                     "t": "true"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 2,
             "x": 1350,
             "y": 720,
             "wires": [
                 [
                     "693f0ce1d455c24d"
                 ],
                 [
                     "c9f79effc6659927"
                 ]
             ]
         },
         {
             "id": "3777b383486653c4",
             "type": "change",
             "z": "c7454c976ad86c7e",
             "name": "Brauchwasser EIN",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "true",
                     "tot": "bool"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1770,
             "y": 920,
             "wires": [
                 [
                     "3ed7efab20047cb6",
                     "0423db8ebd88425a"
                 ]
             ]
         },
         {
             "id": "0befa3eabb32d9fe",
             "type": "trigger",
             "z": "c7454c976ad86c7e",
             "name": "Brauchwasser AUS",
             "op1": "true",
             "op2": "0",
             "op1type": "bool",
             "op2type": "str",
             "duration": "0",
             "extend": false,
             "overrideDelay": false,
             "units": "ms",
             "reset": "",
             "bytopic": "all",
             "topic": "topic",
             "outputs": 1,
             "x": 1750,
             "y": 560,
             "wires": [
                 [
                     "0b8b63c145022cf3",
                     "7e029bf35fe30f0c"
                 ]
             ]
         },
         {
             "id": "8f14a89a639ef9ce",
             "type": "ioBroker in",
             "z": "c7454c976ad86c7e",
             "name": "Meter.Active_Power",
             "topic": "0_userdata.0.Huawei.Meter.Active_Power",
             "payloadType": "value",
             "onlyack": "",
             "func": "all",
             "gap": "",
             "fireOnStart": "false",
             "outFormat": "MQTT",
             "x": 1190,
             "y": 500,
             "wires": [
                 [
                     "b9773c301b25d80b"
                 ]
             ]
         },
         {
             "id": "b9773c301b25d80b",
             "type": "switch",
             "z": "c7454c976ad86c7e",
             "name": "nur <= 0.1",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "lte",
                     "v": "0.1",
                     "vt": "num"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 1,
             "x": 1390,
             "y": 500,
             "wires": [
                 [
                     "8dbc2ceaa816df43"
                 ]
             ]
         },
         {
             "id": "8dbc2ceaa816df43",
             "type": "change",
             "z": "c7454c976ad86c7e",
             "name": "reset",
             "rules": [
                 {
                     "t": "set",
                     "p": "reset",
                     "pt": "msg",
                     "to": "true",
                     "tot": "bool"
                 },
                 {
                     "t": "delete",
                     "p": "payload",
                     "pt": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1550,
             "y": 500,
             "wires": [
                 [
                     "0befa3eabb32d9fe"
                 ]
             ]
         },
         {
             "id": "afc867f18b037b22",
             "type": "junction",
             "z": "c7454c976ad86c7e",
             "x": 1040,
             "y": 840,
             "wires": [
                 [
                     "490f9fe9d29ac5c8"
                 ]
             ]
         },
         {
             "id": "45c84f129773d19b",
             "type": "junction",
             "z": "c7454c976ad86c7e",
             "x": 600,
             "y": 580,
             "wires": [
                 [
                     "59b342efc4818a85"
                 ]
             ]
         },
         {
             "id": "8441b30f28e429c3",
             "type": "junction",
             "z": "c7454c976ad86c7e",
             "x": 980,
             "y": 800,
             "wires": [
                 []
             ]
         },
         {
             "id": "5a258f3309617617",
             "type": "junction",
             "z": "c7454c976ad86c7e",
             "x": 1040,
             "y": 640,
             "wires": [
                 [
                     "693f0ce1d455c24d"
                 ]
             ]
         },
         {
             "id": "693f0ce1d455c24d",
             "type": "junction",
             "z": "c7454c976ad86c7e",
             "x": 1600,
             "y": 640,
             "wires": [
                 [
                     "0befa3eabb32d9fe"
                 ]
             ]
         },
         {
             "id": "c9f79effc6659927",
             "type": "junction",
             "z": "c7454c976ad86c7e",
             "x": 1580,
             "y": 920,
             "wires": [
                 [
                     "3777b383486653c4"
                 ]
             ]
         }
      ]
      

      P 1 Reply Last reply Reply Quote 0
      • P
        Peter666666 @mickym last edited by

        @mickym mach ich. Kann ich wie in Blockly wo Zeiten eingeben zu welchen der Flow läuft? Also die Trigger verarbeitet werden?

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

          @peter666666 Ja Du kannst Zeiten filtern etc. Wenn Du in der Schedules in der Woche haben will, empfehle ich Dir zu Einfachheit Dir die Light Scheduler Nodes zu installieren:

          https://flows.nodered.org/node/node-red-contrib-light-scheduler

          Damit kannst Du dann so Zeitfenster grafisch filtern.
          e749cad0-e94f-4e59-8a38-90bb9dc179e0-image.png

          Wenn Du anspruchsvoller Scheduler Aufgaben haben willst, dann kannst Du auch die Cron-Plus Node verwenden. Wenn Du zu bestimmten Zeiten triggern willst - kannst Du auch die Inject node verwenden.

          Ich würde aber dann wenn Du weitere Nodes installierst - in der Adapterkonfig erlauben, dass Du den Paletten-Manager in Node-Red nutzen kannst. Wenn Du hier Hilfe brauchst - melde Dich nochmal.

          P 1 Reply Last reply Reply Quote 0
          • P
            Peter666666 @mickym last edited by

            @mickym Ok danke. An was liegt das wenn ich im Auswahlfenster nicht alle DP sehe welche ich aber im ioBroker sehe? Habe einen erstellt "Poolpumpe Automatik EIN" welchen ich nicht auswählen kann

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

              @peter666666 Das ist leider ein Bug im NodeRed Adapter - die Datenpunkte werden nur einmal beim Adapterstart eingelesen.

              Am Besten ist immer Du kopierst das topic direct aus dem Admin des iobrokers:

              de11f7cb-a864-459f-9c9e-28115f3480b1-image.png
              74b2087f-0496-4f5a-9349-05cc3341df06-image.png
              und dann in das Topic in der Node einfügen. Die Behebung dieses Bugs im iobroker ist anscheinend nicht so einfach.

              P 1 Reply Last reply Reply Quote 1
              • P
                Peter666666 @mickym last edited by

                @mickym wie schaffe ich es das ich die AUTOMATIK EIN richtig verknüpfe das das ganze nur läuft wenn diese TRUE ist? Steh auf dem Schlauch 😞

                Bild 27.05.23 um 15.43.jpeg

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

                  @peter666666 Nun Du willst wenn die Automatik nicht eingeschaltet ist - der ganze Flow unterbrochen wird. Deshalb einfach hinter die 1. iobroker-IN Node schalten. Damit Du Dir nicht die payload von Active Power überschreibst, musst Du Dir die Automatic einer anderen Nachrichteneigenschaft zuweisen:

                  Also in der GetNode von der Poolpumpe Automatik zum Beispiel einer anderen Eigenschaft zuweisen, damit Du die payload nicht überschreibst.
                  279fc560-d24c-44d9-bcda-e4e2fe76e95d-image.png

                  2c42a4d3-60d9-4d4b-bcdf-ced2d25a5f83-image.png

                  dann prüfst Du bei Automatik EIN - nicht die payload - sondern die Nachrichteneigenschaft auto - die Du über die get Node gesetzt hast:

                  ad9e04dc-ecdb-4a3a-bf0c-ff4c39afdb33-image.png

                  Hier zum Import:

                  [
                     {
                         "id": "b0a8505dd5617639",
                         "type": "ioBroker get",
                         "z": "c7454c976ad86c7e",
                         "name": "Pool Automatik ein",
                         "topic": "",
                         "attrname": "auto",
                         "payloadType": "value",
                         "errOnInvalidState": "nothing",
                         "x": 1490,
                         "y": 1240,
                         "wires": [
                             [
                                 "777c9b81a9f769ae"
                             ]
                         ]
                     },
                     {
                         "id": "777c9b81a9f769ae",
                         "type": "switch",
                         "z": "c7454c976ad86c7e",
                         "name": "Automatik EIN",
                         "property": "auto",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "true"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 1700,
                         "y": 1240,
                         "wires": [
                             [
                                 "7581e414c1f002b5"
                             ]
                         ]
                     }
                  ]
                  

                  Damit wird die Inverter Active Power payload nicht von der iobroker GET node überschrieben.

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    Peter666666 @mickym last edited by

                    @mickym danke. werd ich gleich mal versuchen

                    P 1 Reply Last reply Reply Quote 0
                    • P
                      Peter666666 @Peter666666 last edited by

                      @peter666666 ich bin zu blöd für NR...

                      AUTOMATIK ist false und bekomm jetzt die Inverterwerte nicht mehr weg auf bool...

                      Bild 27.05.23 um 16.34.jpeg

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

                        @peter666666 na im oberen Ast setzt du nichts, sondern filterst aus. Bin aber unterwegs. Vielleicht beschreibst du halt die Aufgabenstellung. Im Prinzip musst du Dich doch nur an jedem Kabel entlang hangeln und bei jeder Node prüfen was mit dem Nachrichtenobjekt passiert

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

                          @peter666666 und mach debug nodes hinter jede Node damit du siehst was wo rauskommt

                          Und steuere halt erst die Datenpunkte an, wenn das Ergebnis passt.

                          Ansonsten mach ein Screenshot von deinem Blockly und ich versuche es umzusetzen und wir diskutieren anschließend

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          953
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

                          3
                          51
                          2679
                          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