Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. bshb - Rollladensteuerung mit yhka Homekit

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

bshb - Rollladensteuerung mit yhka Homekit

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
121 Beiträge 2 Kommentatoren 10.4k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

    Mit der API Node + Funktion hattest Du vollkommen Recht, das war nichts. Die Reaktion der testweise angeschlossenen Fenster war total sporadisch. Ich habe sie erst einmal wieder rausgenommen - total frustierend so etwas.

    Na deswegen war ich da auch raus - wenn jemand meint mit einem API Call, dasselbe zu erreichen. Wie gesagt, das hättest Du direkt auch mit der API Node machen können und ich hab Dir ja beschrieben, wie man sowas dann macht. Und wenn man mit der API arbeitet, dann gehört etwas mehr dazu, als nur den Request abzusetzen, das können die API Nodes auch.

    Lies mal aus der API Doku ab seite 95

    5fd6fb3b-a247-486c-bab5-f9dabc88c08a-image.png

    Ich hätte also zumindest erwartet, dass diese Function zurückgibt, ob der Request akzeptiert wurde oder nicht und das hat der alles nicht gemacht. Deswegen war das für mich gleich alles für die Tonne, zudem Du ja die API Node hast, um sowas zu machen.

    Aber für Dich ist es wahrscheinlich wirklich besser, Du nimmst den iobroker Adapter wieder in Betrieb und reagierst erst mal auf Fehlersituationen im Log, als Dich mit diesen Problemen rumzuschlagen.

    Es wäre was anderes wenn ich auch so KLF Gateway hätte, dann könnte ich Dich hier ganz anders unterstützen, da ich die Dinge ja selbst ausprobieren könnte, aber nach dem nicht der Fall ist, geht das leider nicht. Auch das ich generell den Vorschlag gemacht habe, es mit den Velux Nodes es zu versuchen, war ja nur der Versuch, ob Du damit etwas mehr Stabilität bekommst. Wie Du an dem Flow mit der Befehlsqueue siehst, hat man halt ggf. mehr Möglichkeiten durch direktes Zurückmelden einer Fehlersituation eben schneller zu reagieren, als über den Adapter.

    Wie gesagt, nimm den Adapter wieder in Betrieb und installiere Dir die von mir empfohlene Tailnode. Ich habe die jetzt 1-2 Wochen in Betrieb und die kommt nun mit dem Wechsel des iobroker Log Files gut zu Recht.

    S Offline
    S Offline
    sascho
    schrieb am zuletzt editiert von
    #100

    @mickym

    Dieses Schaubbild von Velux hat mich überzeugt, es mal verstärkt mit den Scenes zu versuchen. Ich habe ganz stark die Vermutung, dass das KLF200 gut damit zurecht kommt, aus einem User-Szenenbefehl mehrere Aktuatoren sauber anzusteuern. Nicht gut zurecht kommt es mit Situationen, wo mehrere User-Befehle mit mehreren Aktuatoren verheiratet werden müssen.
    Auch mit fast zeitgleich ausgelösten Szenen kommt es gut zurecht. Seit zwei Tagen läuft der Adapter durch und nichts vom Adapter ist im Log aufgetaucht. Das ist doch schon mal super.

    Und realistischerweise - ich habe hier im Haus noch so viele Sachen zu erledigen - da mache ich mich an das Nodes Thema lieber später noch mal dran. Evtl. hat es ja noch ein paar Vorteile ggü. dem Adapter.
    Ich hoffe, dass der Adapter jetzt mal sauber durchläuft - beim ersten Crash baue ich dann noch die Tail-Node ein.
    Als nächstes muss aber auf jeden Fall noch die PV Anlage eingebunden werden :-). Du bist aber eine ganz große Hilfe in der Lage! Wirklich noch einmal großen Dank und meine aufrichtige Hochachtung vor Deinen Fähigkeiten!

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      sascho
      schrieb am zuletzt editiert von sascho
      #101

      @mickym Kurze Frage, ich wollte gerade noch mal den Restart der Instanz einbauen, wenn der Adapter die Verbindung zum KLF200 verliert.
      Trigger für den Restart ist, wenn der Connection Datenpunkt auf False springt.
      Ich bekomme aber den Trigger für den Instanz-Restart nicht hin. Es kommt immer folgende Fehlermeldung.


      [
      {
      "id": "b75d7881.80f448",
      "type": "tab",
      "label": "KLF200_Adapter",
      "disabled": false,
      "info": ""
      },
      {
      "id": "1269b93.a703647",
      "type": "exec",
      "z": "b75d7881.80f448",
      "command": "iobroker restart klf200.0",
      "addpay": "",
      "append": "",
      "useSpawn": "false",
      "timer": "",
      "oldrc": false,
      "name": "iobroker restart klf200.0",
      "x": 650,
      "y": 140,
      "wires": [
      [
      "e778d2c7.a6621"
      ],
      [
      "e778d2c7.a6621"
      ],
      [
      "e778d2c7.a6621"
      ]
      ]
      },
      {
      "id": "c4ee8035.cdf36",
      "type": "inject",
      "z": "b75d7881.80f448",
      "name": "",
      "props": [
      {
      "p": "payload"
      }
      ],
      "repeat": "",
      "crontab": "",
      "once": false,
      "onceDelay": 0.1,
      "topic": "",
      "payload": "false",
      "payloadType": "bool",
      "x": 170,
      "y": 220,
      "wires": [
      [
      "9b67467.79a76b8"
      ]
      ]
      },
      {
      "id": "1281ff6c.19b101",
      "type": "ioBroker in",
      "z": "b75d7881.80f448",
      "name": "KLF200_Connection_Status",
      "topic": "klf200.0.info.connection",
      "payloadType": "value",
      "onlyack": "",
      "func": "rbe",
      "gap": "",
      "fireOnStart": "false",
      "x": 160,
      "y": 140,
      "wires": [
      [
      "9b67467.79a76b8"
      ]
      ]
      },
      {
      "id": "9b67467.79a76b8",
      "type": "switch",
      "z": "b75d7881.80f448",
      "name": "",
      "property": "payload",
      "propertyType": "msg",
      "rules": [
      {
      "t": "false"
      },
      {
      "t": "true"
      }
      ],
      "checkall": "true",
      "repair": false,
      "outputs": 2,
      "x": 420,
      "y": 220,
      "wires": [
      [
      "1269b93.a703647"
      ],
      []
      ]
      },
      {
      "id": "e778d2c7.a6621",
      "type": "debug",
      "z": "b75d7881.80f448",
      "name": "",
      "active": true,
      "tosidebar": true,
      "console": false,
      "tostatus": false,
      "complete": "false",
      "statusVal": "",
      "statusType": "auto",
      "x": 900,
      "y": 220,
      "wires": []
      }
      ]

      07c5cc88-d8fa-416c-836a-581d0eb35d32-image.png

      mickymM 1 Antwort Letzte Antwort
      0
      • S sascho

        @mickym Kurze Frage, ich wollte gerade noch mal den Restart der Instanz einbauen, wenn der Adapter die Verbindung zum KLF200 verliert.
        Trigger für den Restart ist, wenn der Connection Datenpunkt auf False springt.
        Ich bekomme aber den Trigger für den Instanz-Restart nicht hin. Es kommt immer folgende Fehlermeldung.


        [
        {
        "id": "b75d7881.80f448",
        "type": "tab",
        "label": "KLF200_Adapter",
        "disabled": false,
        "info": ""
        },
        {
        "id": "1269b93.a703647",
        "type": "exec",
        "z": "b75d7881.80f448",
        "command": "iobroker restart klf200.0",
        "addpay": "",
        "append": "",
        "useSpawn": "false",
        "timer": "",
        "oldrc": false,
        "name": "iobroker restart klf200.0",
        "x": 650,
        "y": 140,
        "wires": [
        [
        "e778d2c7.a6621"
        ],
        [
        "e778d2c7.a6621"
        ],
        [
        "e778d2c7.a6621"
        ]
        ]
        },
        {
        "id": "c4ee8035.cdf36",
        "type": "inject",
        "z": "b75d7881.80f448",
        "name": "",
        "props": [
        {
        "p": "payload"
        }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "false",
        "payloadType": "bool",
        "x": 170,
        "y": 220,
        "wires": [
        [
        "9b67467.79a76b8"
        ]
        ]
        },
        {
        "id": "1281ff6c.19b101",
        "type": "ioBroker in",
        "z": "b75d7881.80f448",
        "name": "KLF200_Connection_Status",
        "topic": "klf200.0.info.connection",
        "payloadType": "value",
        "onlyack": "",
        "func": "rbe",
        "gap": "",
        "fireOnStart": "false",
        "x": 160,
        "y": 140,
        "wires": [
        [
        "9b67467.79a76b8"
        ]
        ]
        },
        {
        "id": "9b67467.79a76b8",
        "type": "switch",
        "z": "b75d7881.80f448",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
        {
        "t": "false"
        },
        {
        "t": "true"
        }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 420,
        "y": 220,
        "wires": [
        [
        "1269b93.a703647"
        ],
        []
        ]
        },
        {
        "id": "e778d2c7.a6621",
        "type": "debug",
        "z": "b75d7881.80f448",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 900,
        "y": 220,
        "wires": []
        }
        ]

        07c5cc88-d8fa-416c-836a-581d0eb35d32-image.png

        mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #102

        @sascho Hallo ;) - wäre toll wenn Du den Code für den Flow in CodeTags packen würdest.

        Ich habe den klf200 Adapter ja leider nicht installiert - aber ich fürchte ich kann Dir nicht helfen. Weil ich hab einfach mal einen anderen Adapter mit Deinem Flow genommen und der funktioniert:

        Ich hab mal den Info Adapter neu gestartet.

        072935f6-009b-482b-9472-cd339f2d7e7c-image.png

        Schau mal ob Du andere Adapter neu starten kannst - ansonsten hast Du im System ggf. ein Berechtigungsproblem.

        Irgendwie als ob Dein NodeRed Adapter unter einer anderen Kennung läuft keine Ahnung.

        Eigentlich muss es so funktionieren. Evtl. ist an Deinem System was schief - da müsste ggf. unser Linux Guru helfen => @Thomas-Braun

        HIer gabs mal ein ähnliches Problem: https://forum.iobroker.net/topic/40916/docker-container-restart-iobroker-per-script/42?_=1632433048127

        Du kannst also mal probieren:

        sudo -u iobroker iobroker restart info.0
        

        funktioniert bei mir jedenfalls auch:

        14c8ad0b-be3c-49b1-9a29-b26553b2ecae-image.png

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        S 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @sascho Hallo ;) - wäre toll wenn Du den Code für den Flow in CodeTags packen würdest.

          Ich habe den klf200 Adapter ja leider nicht installiert - aber ich fürchte ich kann Dir nicht helfen. Weil ich hab einfach mal einen anderen Adapter mit Deinem Flow genommen und der funktioniert:

          Ich hab mal den Info Adapter neu gestartet.

          072935f6-009b-482b-9472-cd339f2d7e7c-image.png

          Schau mal ob Du andere Adapter neu starten kannst - ansonsten hast Du im System ggf. ein Berechtigungsproblem.

          Irgendwie als ob Dein NodeRed Adapter unter einer anderen Kennung läuft keine Ahnung.

          Eigentlich muss es so funktionieren. Evtl. ist an Deinem System was schief - da müsste ggf. unser Linux Guru helfen => @Thomas-Braun

          HIer gabs mal ein ähnliches Problem: https://forum.iobroker.net/topic/40916/docker-container-restart-iobroker-per-script/42?_=1632433048127

          Du kannst also mal probieren:

          sudo -u iobroker iobroker restart info.0
          

          funktioniert bei mir jedenfalls auch:

          14c8ad0b-be3c-49b1-9a29-b26553b2ecae-image.png

          S Offline
          S Offline
          sascho
          schrieb am zuletzt editiert von
          #103

          @mickym

          Ich habs mal mit dem info Adapter probiert. Das funktioniert auch nicht, sieht so aus als wenn ich tatsächlich ein Berechtigungsproblem habe. Soll ich dann mal den Kollegen anklingeln? Die verlinkte Lösung sieht sehr kompliziert aus.

          b49e239b-2ee5-4d00-bf66-dd863573b205-image.png

          mickymM 1 Antwort Letzte Antwort
          0
          • S sascho

            @mickym

            Ich habs mal mit dem info Adapter probiert. Das funktioniert auch nicht, sieht so aus als wenn ich tatsächlich ein Berechtigungsproblem habe. Soll ich dann mal den Kollegen anklingeln? Die verlinkte Lösung sieht sehr kompliziert aus.

            b49e239b-2ee5-4d00-bf66-dd863573b205-image.png

            mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von
            #104

            @sascho ja . ich kann hier nicht weiter helfen.

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              sascho
              schrieb am zuletzt editiert von sascho
              #105

              @mickym

              Hi,

              ich habe das Thema LOG Auswertungen aus Zeitgründen nicht weiterverfolgt. Der KLF200 Adapter ist seit dem ausschließlichen Nutzen von Szenen auch nicht mehr abgestürzt. Das System läuft jetzt seit ein paar Wochen stabil, obwohl ich noch laufend Anpassungen machen.

              Aktuell arbeite ich an einer Möglichkeit, die Wärmepumpe sauber in unser System zu integrieren. Sie ist leider keine Inverter Wärmepumpe - d.h. sie kann nur ein- oder ausschalten. Nachts soll soll sie möglichst nicht viel laufen, sondern den Strom der PV Anlage am Tag nutzen.

              Daher schalte ich sie per Skript um 16:30 in den Sommermodus (0) und um 10:30 in den Wintermodus (1).
              Im Sommermodus arbeitet sie gar nicht und die Rücklauftemperatur fällt irgendwann nachts unter 20°, wodurch das Haus auskühlt. Daher schalte ich die Wärmepumpe per Skript in den Urlaubsmodus, wenn die Rücklauftemperatur unter 20° fällt.
              Leider passiert das schon mal durch Temperaturschwankungen. Ich möchte mein Skript daher verbessern, dass die Umschaltung erst erfolgt, wenn die 20° für mehr als 10 Minuten unterschritten werden, und auch nur zwischen 16:30 - 10:30.
              Hast Du eine Ahnung, wie das gehen kann?

              Hier mal ein Testballon....


              [
              {
              "id": "18c687b8.a4de68",
              "type": "tab",
              "label": "Test Wärmepumpe",
              "disabled": false,
              "info": ""
              },
              {
              "id": "cf25994f.fe48b8",
              "type": "ioBroker in",
              "z": "18c687b8.a4de68",
              "name": "",
              "topic": "modbus.0.holdingRegisters.2_Ruecklauftemperatur_Ist",
              "payloadType": "value",
              "onlyack": "",
              "func": "rbe",
              "gap": "",
              "fireOnStart": "true",
              "x": 290,
              "y": 80,
              "wires": [
              [
              "71881515.b9f4dc",
              "b7e02d19.0f077"
              ]
              ]
              },
              {
              "id": "71881515.b9f4dc",
              "type": "falling-edge",
              "z": "18c687b8.a4de68",
              "name": "Untergrenze 20,0°",
              "threshold": "24",
              "x": 610,
              "y": 80,
              "wires": [
              [
              "fa130cf5.76646"
              ]
              ]
              },
              {
              "id": "fa130cf5.76646",
              "type": "change",
              "z": "18c687b8.a4de68",
              "name": "2 Urlaub",
              "rules": [
              {
              "t": "set",
              "p": "payload",
              "pt": "msg",
              "to": "2",
              "tot": "num"
              }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 820,
              "y": 80,
              "wires": [
              [
              "f7ee88d5.d64ac8",
              "de04b844.8a6c38"
              ]
              ]
              },
              {
              "id": "f7ee88d5.d64ac8",
              "type": "ioBroker out",
              "z": "18c687b8.a4de68",
              "d": true,
              "name": "modbus.0.holdingRegisters.5015_Betriebsmodus",
              "topic": "modbus.0.holdingRegisters.5015_Betriebsmodus",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1170,
              "y": 120,
              "wires": []
              },
              {
              "id": "b7e02d19.0f077",
              "type": "rising-edge",
              "z": "18c687b8.a4de68",
              "name": "Obergrenze 25°",
              "threshold": "24.7",
              "x": 620,
              "y": 180,
              "wires": [
              [
              "9e455735.9e79a8"
              ]
              ]
              },
              {
              "id": "9e455735.9e79a8",
              "type": "change",
              "z": "18c687b8.a4de68",
              "name": "0 Sommer",
              "rules": [
              {
              "t": "set",
              "p": "payload",
              "pt": "msg",
              "to": "0",
              "tot": "num"
              }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 830,
              "y": 180,
              "wires": [
              [
              "f7ee88d5.d64ac8",
              "de04b844.8a6c38"
              ]
              ]
              },
              {
              "id": "9c36b6cd.d63f58",
              "type": "comment",
              "z": "18c687b8.a4de68",
              "name": "für > 10 Min und nur zwischen 16:30 - 10:30 Uhr",
              "info": "",
              "x": 680,
              "y": 240,
              "wires": []
              },
              {
              "id": "de04b844.8a6c38",
              "type": "debug",
              "z": "18c687b8.a4de68",
              "name": "",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": false,
              "complete": "false",
              "statusVal": "",
              "statusType": "auto",
              "x": 1200,
              "y": 60,
              "wires": []
              }
              ]

              mickymM 1 Antwort Letzte Antwort
              0
              • S sascho

                @mickym

                Hi,

                ich habe das Thema LOG Auswertungen aus Zeitgründen nicht weiterverfolgt. Der KLF200 Adapter ist seit dem ausschließlichen Nutzen von Szenen auch nicht mehr abgestürzt. Das System läuft jetzt seit ein paar Wochen stabil, obwohl ich noch laufend Anpassungen machen.

                Aktuell arbeite ich an einer Möglichkeit, die Wärmepumpe sauber in unser System zu integrieren. Sie ist leider keine Inverter Wärmepumpe - d.h. sie kann nur ein- oder ausschalten. Nachts soll soll sie möglichst nicht viel laufen, sondern den Strom der PV Anlage am Tag nutzen.

                Daher schalte ich sie per Skript um 16:30 in den Sommermodus (0) und um 10:30 in den Wintermodus (1).
                Im Sommermodus arbeitet sie gar nicht und die Rücklauftemperatur fällt irgendwann nachts unter 20°, wodurch das Haus auskühlt. Daher schalte ich die Wärmepumpe per Skript in den Urlaubsmodus, wenn die Rücklauftemperatur unter 20° fällt.
                Leider passiert das schon mal durch Temperaturschwankungen. Ich möchte mein Skript daher verbessern, dass die Umschaltung erst erfolgt, wenn die 20° für mehr als 10 Minuten unterschritten werden, und auch nur zwischen 16:30 - 10:30.
                Hast Du eine Ahnung, wie das gehen kann?

                Hier mal ein Testballon....


                [
                {
                "id": "18c687b8.a4de68",
                "type": "tab",
                "label": "Test Wärmepumpe",
                "disabled": false,
                "info": ""
                },
                {
                "id": "cf25994f.fe48b8",
                "type": "ioBroker in",
                "z": "18c687b8.a4de68",
                "name": "",
                "topic": "modbus.0.holdingRegisters.2_Ruecklauftemperatur_Ist",
                "payloadType": "value",
                "onlyack": "",
                "func": "rbe",
                "gap": "",
                "fireOnStart": "true",
                "x": 290,
                "y": 80,
                "wires": [
                [
                "71881515.b9f4dc",
                "b7e02d19.0f077"
                ]
                ]
                },
                {
                "id": "71881515.b9f4dc",
                "type": "falling-edge",
                "z": "18c687b8.a4de68",
                "name": "Untergrenze 20,0°",
                "threshold": "24",
                "x": 610,
                "y": 80,
                "wires": [
                [
                "fa130cf5.76646"
                ]
                ]
                },
                {
                "id": "fa130cf5.76646",
                "type": "change",
                "z": "18c687b8.a4de68",
                "name": "2 Urlaub",
                "rules": [
                {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "2",
                "tot": "num"
                }
                ],
                "action": "",
                "property": "",
                "from": "",
                "to": "",
                "reg": false,
                "x": 820,
                "y": 80,
                "wires": [
                [
                "f7ee88d5.d64ac8",
                "de04b844.8a6c38"
                ]
                ]
                },
                {
                "id": "f7ee88d5.d64ac8",
                "type": "ioBroker out",
                "z": "18c687b8.a4de68",
                "d": true,
                "name": "modbus.0.holdingRegisters.5015_Betriebsmodus",
                "topic": "modbus.0.holdingRegisters.5015_Betriebsmodus",
                "ack": "false",
                "autoCreate": "false",
                "stateName": "",
                "role": "",
                "payloadType": "",
                "readonly": "",
                "stateUnit": "",
                "stateMin": "",
                "stateMax": "",
                "x": 1170,
                "y": 120,
                "wires": []
                },
                {
                "id": "b7e02d19.0f077",
                "type": "rising-edge",
                "z": "18c687b8.a4de68",
                "name": "Obergrenze 25°",
                "threshold": "24.7",
                "x": 620,
                "y": 180,
                "wires": [
                [
                "9e455735.9e79a8"
                ]
                ]
                },
                {
                "id": "9e455735.9e79a8",
                "type": "change",
                "z": "18c687b8.a4de68",
                "name": "0 Sommer",
                "rules": [
                {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "0",
                "tot": "num"
                }
                ],
                "action": "",
                "property": "",
                "from": "",
                "to": "",
                "reg": false,
                "x": 830,
                "y": 180,
                "wires": [
                [
                "f7ee88d5.d64ac8",
                "de04b844.8a6c38"
                ]
                ]
                },
                {
                "id": "9c36b6cd.d63f58",
                "type": "comment",
                "z": "18c687b8.a4de68",
                "name": "für > 10 Min und nur zwischen 16:30 - 10:30 Uhr",
                "info": "",
                "x": 680,
                "y": 240,
                "wires": []
                },
                {
                "id": "de04b844.8a6c38",
                "type": "debug",
                "z": "18c687b8.a4de68",
                "name": "",
                "active": true,
                "tosidebar": true,
                "console": false,
                "tostatus": false,
                "complete": "false",
                "statusVal": "",
                "statusType": "auto",
                "x": 1200,
                "y": 60,
                "wires": []
                }
                ]

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #106

                @sascho Ich würde an Deiner Stelle lieber mit Hysterese arbeiten als mit Zeitfenstern - das nur allgemein zu den Regelmechanismen. Man kann es auch mit 10 min etc. machen - hängt halt davon ab, wie oft die Temperatur gemeldet wird.

                Bitte in Zukunft exportierte Flows in CodeTags stellen - es ist sonst wirklich mühselig durch das Skript zu scrollen.

                Falls Du öfter mal zeitliche Filter hast - die Du grafisch einstellen willst - empfehle ich Dir den lightscheduler. Ansonsten kann man es aber auch einfach mit Hausmitteln umsetzen:

                Diese Switch Node lässt Nachrichten, wie gewünscht nur zwischen 16:30 und 10:30 durch. Schaltet wahrscheinlich erst um 10:31 dann halt in >= ändern.

                [{"id":"7497c57df52c3840","type":"switch","z":"18c687b8.a4de68","name":"Aktuelle Uhrzeit zwischen 16:30 und 10:30 ?","property":"payload","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"$not($moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') > \"10:30\" and $moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') < \"16:30\")","vt":"jsonata"}],"checkall":"true","repair":false,"outputs":1,"x":800,"y":420,"wires":[["998943d9a044870f"]]}]
                

                Trotzdem - auch wenn eventuell eine Hysterese besser ist - hier mal die Prüfung auf 10 Minuten unter 20°C und die gesamte Logik wie Du sie beschrieben hast: Ab 10:30 Wintermodus (1), ab 16:30 Sommermodus (0) bei 10 min unter 20°C Urlaubsmodus (2) im Zeitraum von 16:30 und 10:30.

                d0a196f3-9200-451a-a7f9-003991bb8a1e-image.png

                [
                   {
                       "id": "7497c57df52c3840",
                       "type": "switch",
                       "z": "1899530c.cddd1d",
                       "name": "Aktuelle Uhrzeit zwischen 16:30 und 10:30 ?",
                       "property": "payload",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "jsonata_exp",
                               "v": "$not($moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') > \"10:30\" and $moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') < \"16:30\")",
                               "vt": "jsonata"
                           },
                           {
                               "t": "else"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 410,
                       "y": 220,
                       "wires": [
                           [
                               "31a4579aec5484bd"
                           ],
                           [
                               "6934748ea0b8a9ae"
                           ]
                       ],
                       "outputLabels": [
                           "zwischen 16:30 und 10:30",
                           ""
                       ]
                   },
                   {
                       "id": "251448e00d41ee86",
                       "type": "inject",
                       "z": "1899530c.cddd1d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "19",
                       "payloadType": "num",
                       "x": 150,
                       "y": 200,
                       "wires": [
                           [
                               "7497c57df52c3840"
                           ]
                       ]
                   },
                   {
                       "id": "998943d9a044870f",
                       "type": "debug",
                       "z": "1899530c.cddd1d",
                       "name": "",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "false",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1210,
                       "y": 320,
                       "wires": []
                   },
                   {
                       "id": "31a4579aec5484bd",
                       "type": "switch",
                       "z": "1899530c.cddd1d",
                       "name": "unter 20°C?",
                       "property": "payload",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "gte",
                               "v": "20",
                               "vt": "num"
                           },
                           {
                               "t": "lt",
                               "v": "20",
                               "vt": "num"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 390,
                       "y": 360,
                       "wires": [
                           [
                               "fc03ec7f987d601c"
                           ],
                           [
                               "13e17673693cf6f0"
                           ]
                       ]
                   },
                   {
                       "id": "13e17673693cf6f0",
                       "type": "trigger",
                       "z": "1899530c.cddd1d",
                       "name": "2 Urlaub",
                       "op1": "",
                       "op2": "2",
                       "op1type": "nul",
                       "op2type": "num",
                       "duration": "10",
                       "extend": false,
                       "overrideDelay": false,
                       "units": "min",
                       "reset": "0",
                       "bytopic": "all",
                       "topic": "topic",
                       "outputs": 1,
                       "x": 840,
                       "y": 380,
                       "wires": [
                           [
                               "d75a93a40f860423"
                           ]
                       ]
                   },
                   {
                       "id": "87d7fd0bfc4520d5",
                       "type": "inject",
                       "z": "1899530c.cddd1d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "20",
                       "payloadType": "num",
                       "x": 150,
                       "y": 260,
                       "wires": [
                           [
                               "7497c57df52c3840"
                           ]
                       ]
                   },
                   {
                       "id": "fc03ec7f987d601c",
                       "type": "change",
                       "z": "1899530c.cddd1d",
                       "name": "0 Sommer",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "0",
                               "tot": "num"
                           },
                           {
                               "t": "delete",
                               "p": "reset",
                               "pt": "msg"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 630,
                       "y": 320,
                       "wires": [
                           [
                               "13e17673693cf6f0",
                               "d75a93a40f860423"
                           ]
                       ]
                   },
                   {
                       "id": "d75a93a40f860423",
                       "type": "rbe",
                       "z": "1899530c.cddd1d",
                       "name": "",
                       "func": "rbe",
                       "gap": "",
                       "start": "",
                       "inout": "out",
                       "septopics": false,
                       "property": "payload",
                       "x": 1030,
                       "y": 320,
                       "wires": [
                           [
                               "998943d9a044870f"
                           ]
                       ]
                   },
                   {
                       "id": "6934748ea0b8a9ae",
                       "type": "change",
                       "z": "1899530c.cddd1d",
                       "name": "1 Winter",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "1",
                               "tot": "num"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 840,
                       "y": 220,
                       "wires": [
                           [
                               "d75a93a40f860423"
                           ]
                       ]
                   }
                ]
                

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                S 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @sascho Ich würde an Deiner Stelle lieber mit Hysterese arbeiten als mit Zeitfenstern - das nur allgemein zu den Regelmechanismen. Man kann es auch mit 10 min etc. machen - hängt halt davon ab, wie oft die Temperatur gemeldet wird.

                  Bitte in Zukunft exportierte Flows in CodeTags stellen - es ist sonst wirklich mühselig durch das Skript zu scrollen.

                  Falls Du öfter mal zeitliche Filter hast - die Du grafisch einstellen willst - empfehle ich Dir den lightscheduler. Ansonsten kann man es aber auch einfach mit Hausmitteln umsetzen:

                  Diese Switch Node lässt Nachrichten, wie gewünscht nur zwischen 16:30 und 10:30 durch. Schaltet wahrscheinlich erst um 10:31 dann halt in >= ändern.

                  [{"id":"7497c57df52c3840","type":"switch","z":"18c687b8.a4de68","name":"Aktuelle Uhrzeit zwischen 16:30 und 10:30 ?","property":"payload","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"$not($moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') > \"10:30\" and $moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') < \"16:30\")","vt":"jsonata"}],"checkall":"true","repair":false,"outputs":1,"x":800,"y":420,"wires":[["998943d9a044870f"]]}]
                  

                  Trotzdem - auch wenn eventuell eine Hysterese besser ist - hier mal die Prüfung auf 10 Minuten unter 20°C und die gesamte Logik wie Du sie beschrieben hast: Ab 10:30 Wintermodus (1), ab 16:30 Sommermodus (0) bei 10 min unter 20°C Urlaubsmodus (2) im Zeitraum von 16:30 und 10:30.

                  d0a196f3-9200-451a-a7f9-003991bb8a1e-image.png

                  [
                     {
                         "id": "7497c57df52c3840",
                         "type": "switch",
                         "z": "1899530c.cddd1d",
                         "name": "Aktuelle Uhrzeit zwischen 16:30 und 10:30 ?",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "jsonata_exp",
                                 "v": "$not($moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') > \"10:30\" and $moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') < \"16:30\")",
                                 "vt": "jsonata"
                             },
                             {
                                 "t": "else"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 410,
                         "y": 220,
                         "wires": [
                             [
                                 "31a4579aec5484bd"
                             ],
                             [
                                 "6934748ea0b8a9ae"
                             ]
                         ],
                         "outputLabels": [
                             "zwischen 16:30 und 10:30",
                             ""
                         ]
                     },
                     {
                         "id": "251448e00d41ee86",
                         "type": "inject",
                         "z": "1899530c.cddd1d",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "19",
                         "payloadType": "num",
                         "x": 150,
                         "y": 200,
                         "wires": [
                             [
                                 "7497c57df52c3840"
                             ]
                         ]
                     },
                     {
                         "id": "998943d9a044870f",
                         "type": "debug",
                         "z": "1899530c.cddd1d",
                         "name": "",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "false",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1210,
                         "y": 320,
                         "wires": []
                     },
                     {
                         "id": "31a4579aec5484bd",
                         "type": "switch",
                         "z": "1899530c.cddd1d",
                         "name": "unter 20°C?",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "gte",
                                 "v": "20",
                                 "vt": "num"
                             },
                             {
                                 "t": "lt",
                                 "v": "20",
                                 "vt": "num"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 390,
                         "y": 360,
                         "wires": [
                             [
                                 "fc03ec7f987d601c"
                             ],
                             [
                                 "13e17673693cf6f0"
                             ]
                         ]
                     },
                     {
                         "id": "13e17673693cf6f0",
                         "type": "trigger",
                         "z": "1899530c.cddd1d",
                         "name": "2 Urlaub",
                         "op1": "",
                         "op2": "2",
                         "op1type": "nul",
                         "op2type": "num",
                         "duration": "10",
                         "extend": false,
                         "overrideDelay": false,
                         "units": "min",
                         "reset": "0",
                         "bytopic": "all",
                         "topic": "topic",
                         "outputs": 1,
                         "x": 840,
                         "y": 380,
                         "wires": [
                             [
                                 "d75a93a40f860423"
                             ]
                         ]
                     },
                     {
                         "id": "87d7fd0bfc4520d5",
                         "type": "inject",
                         "z": "1899530c.cddd1d",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "20",
                         "payloadType": "num",
                         "x": 150,
                         "y": 260,
                         "wires": [
                             [
                                 "7497c57df52c3840"
                             ]
                         ]
                     },
                     {
                         "id": "fc03ec7f987d601c",
                         "type": "change",
                         "z": "1899530c.cddd1d",
                         "name": "0 Sommer",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "0",
                                 "tot": "num"
                             },
                             {
                                 "t": "delete",
                                 "p": "reset",
                                 "pt": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 630,
                         "y": 320,
                         "wires": [
                             [
                                 "13e17673693cf6f0",
                                 "d75a93a40f860423"
                             ]
                         ]
                     },
                     {
                         "id": "d75a93a40f860423",
                         "type": "rbe",
                         "z": "1899530c.cddd1d",
                         "name": "",
                         "func": "rbe",
                         "gap": "",
                         "start": "",
                         "inout": "out",
                         "septopics": false,
                         "property": "payload",
                         "x": 1030,
                         "y": 320,
                         "wires": [
                             [
                                 "998943d9a044870f"
                             ]
                         ]
                     },
                     {
                         "id": "6934748ea0b8a9ae",
                         "type": "change",
                         "z": "1899530c.cddd1d",
                         "name": "1 Winter",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "1",
                                 "tot": "num"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 840,
                         "y": 220,
                         "wires": [
                             [
                                 "d75a93a40f860423"
                             ]
                         ]
                     }
                  ]
                  

                  S Offline
                  S Offline
                  sascho
                  schrieb am zuletzt editiert von sascho
                  #107

                  @mickym

                  Prima, das hat funktioniert. Ich habe noch eine E-Mail Notification eingebaut und die E-Mail kam pünktlich und der Test-Datenpunkt wurde mit dem neuen Betriebsmodus beschrieben.

                  Was allerdings noch fehlen würde, wäre dass der ursprüngliche Sommermodus nach einer festgelegten Zeit wieder eingestellt wird - z.B. 30 Min.
                  Die festgelegte Minimaltemperatur kann nämlich bereits um 23:00 Uhr unterschritten werden. Dann läuft die Wärmepumpe ungewollt bis Morgens um 10:30 im Urlaubsmodus. Sie sollte stattdessen nach einer festgelegten Zeit wieder "einschlafen".
                  Ich würde das zeitgesteuert machen und nicht über eine Maximaltemperatur - denn die Rücklauftemperatur schwankt sehr stark je nachdem ob geheizt wird und auch wenn Ventile öffnen und schließen.
                  Kann man das z.B. über ein Delay + Change Node machen? Würde die Untergrenzenüberwachung dann auch wieder scharf geschaltet?

                  P.S. Was meinst Du mit Code Tags? & Besten Dank!

                  mickymM 2 Antworten Letzte Antwort
                  0
                  • S sascho

                    @mickym

                    Prima, das hat funktioniert. Ich habe noch eine E-Mail Notification eingebaut und die E-Mail kam pünktlich und der Test-Datenpunkt wurde mit dem neuen Betriebsmodus beschrieben.

                    Was allerdings noch fehlen würde, wäre dass der ursprüngliche Sommermodus nach einer festgelegten Zeit wieder eingestellt wird - z.B. 30 Min.
                    Die festgelegte Minimaltemperatur kann nämlich bereits um 23:00 Uhr unterschritten werden. Dann läuft die Wärmepumpe ungewollt bis Morgens um 10:30 im Urlaubsmodus. Sie sollte stattdessen nach einer festgelegten Zeit wieder "einschlafen".
                    Ich würde das zeitgesteuert machen und nicht über eine Maximaltemperatur - denn die Rücklauftemperatur schwankt sehr stark je nachdem ob geheizt wird und auch wenn Ventile öffnen und schließen.
                    Kann man das z.B. über ein Delay + Change Node machen? Würde die Untergrenzenüberwachung dann auch wieder scharf geschaltet?

                    P.S. Was meinst Du mit Code Tags? & Besten Dank!

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #108

                    @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                    P.S. Was meinst Du mit Code Tags? & Besten Dank!

                    Fangen wir mal damit an - dachte eigentlich als nun "alter Hase" im Forum solltest Du das wissen:

                    Code-Tags.gif

                    Der Vorteil ist einfach - dass Du mit Select All in der schwarzen Box alles markiert hast und in die Zwischenablage kopieren kannst und nicht ewig durch den Code scrollen musst.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    S 1 Antwort Letzte Antwort
                    0
                    • S sascho

                      @mickym

                      Prima, das hat funktioniert. Ich habe noch eine E-Mail Notification eingebaut und die E-Mail kam pünktlich und der Test-Datenpunkt wurde mit dem neuen Betriebsmodus beschrieben.

                      Was allerdings noch fehlen würde, wäre dass der ursprüngliche Sommermodus nach einer festgelegten Zeit wieder eingestellt wird - z.B. 30 Min.
                      Die festgelegte Minimaltemperatur kann nämlich bereits um 23:00 Uhr unterschritten werden. Dann läuft die Wärmepumpe ungewollt bis Morgens um 10:30 im Urlaubsmodus. Sie sollte stattdessen nach einer festgelegten Zeit wieder "einschlafen".
                      Ich würde das zeitgesteuert machen und nicht über eine Maximaltemperatur - denn die Rücklauftemperatur schwankt sehr stark je nachdem ob geheizt wird und auch wenn Ventile öffnen und schließen.
                      Kann man das z.B. über ein Delay + Change Node machen? Würde die Untergrenzenüberwachung dann auch wieder scharf geschaltet?

                      P.S. Was meinst Du mit Code Tags? & Besten Dank!

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von mickym
                      #109

                      @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                      Sie sollte stattdessen nach einer festgelegten Zeit wieder "einschlafen".
                      Ich würde das zeitgesteuert machen und nicht über eine Maximaltemperatur - denn die Rücklauftemperatur schwankt sehr stark je nachdem ob geheizt wird und auch wenn Ventile öffnen und schließen.
                      Kann man das z.B. über ein Delay + Change Node machen? Würde die Untergrenzenüberwachung dann auch wieder scharf geschaltet?

                      Die Logik erschließt sich mir doch nicht so ganz. Wenn es kalt wird sollte doch die Rücklauftemperatur wieder höher werden, wenn die Pumpe eingeschaltet ist, das ist doch Sinn der Sache und wenn mehr geheizt wird, dauert es länger bis die Rücklauftemperatur wieder hoch genug ist. Na egal - so wird halt dann wohl mehrfach geschaltet.

                      Um 23:00 für eine halbe Stunde - dann wenn wieder 19°C wieder für eine halbe Stunde - na egal ich muss es nicht verstehen.

                      Nun zur Umsetzung - ist eigentlich ganz easy - Du schaltest 2 Trigger Nodes hintereinander. Die 1. Trigger Node wird nur noch als Trigger für die 2. Trigger Node genutzt - sprich wenn die Dauer der Temperaturüberprüfung abgelaufen ist, die eigentliche Steuerung übernimmt dann die 2. Trigger Node.

                      b4aefe87-243f-40ee-9b45-4e461c0600e3-image.png

                      [{"id":"7497c57df52c3840","type":"switch","z":"18c687b8.a4de68","name":"Aktuelle Uhrzeit zwischen 16:30 und 10:30 ?","property":"payload","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"$not($moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') > \"10:30\" and $moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') < \"16:30\")","vt":"jsonata"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":430,"y":600,"wires":[["31a4579aec5484bd"],["6934748ea0b8a9ae"]],"outputLabels":["zwischen 16:30 und 10:30",""]},{"id":"998943d9a044870f","type":"debug","z":"18c687b8.a4de68","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1390,"y":660,"wires":[]},{"id":"31a4579aec5484bd","type":"switch","z":"18c687b8.a4de68","name":"unter 20°C?","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"20","vt":"num"},{"t":"lt","v":"20","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":370,"y":680,"wires":[["fc03ec7f987d601c"],["13e17673693cf6f0"]]},{"id":"13e17673693cf6f0","type":"trigger","z":"18c687b8.a4de68","name":"warte 10 Minuten","op1":"","op2":"true","op1type":"nul","op2type":"bool","duration":"10","extend":false,"overrideDelay":false,"units":"min","reset":"0","bytopic":"all","topic":"topic","outputs":1,"x":710,"y":720,"wires":[["b7f31ef8514d06aa"]]},{"id":"fc03ec7f987d601c","type":"change","z":"18c687b8.a4de68","name":"0 Sommer","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"num"},{"t":"delete","p":"reset","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":660,"wires":[["13e17673693cf6f0","d75a93a40f860423"]]},{"id":"d75a93a40f860423","type":"rbe","z":"18c687b8.a4de68","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":false,"property":"payload","x":1230,"y":660,"wires":[["998943d9a044870f"]]},{"id":"6934748ea0b8a9ae","type":"change","z":"18c687b8.a4de68","name":"1 Winter","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1040,"y":600,"wires":[["d75a93a40f860423"]]},{"id":"b7f31ef8514d06aa","type":"trigger","z":"18c687b8.a4de68","name":"2 Urlaub (30 Min.) => 0 Sommer","op1":"2","op2":"0","op1type":"num","op2type":"num","duration":"30","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":970,"y":720,"wires":[["d75a93a40f860423"]]}]
                      

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      S 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                        P.S. Was meinst Du mit Code Tags? & Besten Dank!

                        Fangen wir mal damit an - dachte eigentlich als nun "alter Hase" im Forum solltest Du das wissen:

                        Code-Tags.gif

                        Der Vorteil ist einfach - dass Du mit Select All in der schwarzen Box alles markiert hast und in die Zwischenablage kopieren kannst und nicht ewig durch den Code scrollen musst.

                        S Offline
                        S Offline
                        sascho
                        schrieb am zuletzt editiert von
                        #110

                        @mickym

                        Hi,

                        wahrscheinlich hatte ich es einfach nur wieder vergessen...

                        Also in Node Red: Export>Ausgewählte Nodes>In Zwischenablage kopieren
                        ... im Forum >Spoiler>Code Tags> Einfügen

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • S sascho

                          @mickym

                          Hi,

                          wahrscheinlich hatte ich es einfach nur wieder vergessen...

                          Also in Node Red: Export>Ausgewählte Nodes>In Zwischenablage kopieren
                          ... im Forum >Spoiler>Code Tags> Einfügen

                          mickymM Online
                          mickymM Online
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #111

                          @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                          @mickym

                          Hi,

                          wahrscheinlich hatte ich es einfach nur wieder vergessen...

                          Also in Node Red: Export>Ausgewählte Nodes>In Zwischenablage kopieren
                          ... im Forum >Spoiler>Code Tags> Einfügen

                          Geanu - die CodeTags hast Du halt das letzte Mal wieder vergessen - siehst ja. Ist nicht in der schwarzen Box.

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                            Sie sollte stattdessen nach einer festgelegten Zeit wieder "einschlafen".
                            Ich würde das zeitgesteuert machen und nicht über eine Maximaltemperatur - denn die Rücklauftemperatur schwankt sehr stark je nachdem ob geheizt wird und auch wenn Ventile öffnen und schließen.
                            Kann man das z.B. über ein Delay + Change Node machen? Würde die Untergrenzenüberwachung dann auch wieder scharf geschaltet?

                            Die Logik erschließt sich mir doch nicht so ganz. Wenn es kalt wird sollte doch die Rücklauftemperatur wieder höher werden, wenn die Pumpe eingeschaltet ist, das ist doch Sinn der Sache und wenn mehr geheizt wird, dauert es länger bis die Rücklauftemperatur wieder hoch genug ist. Na egal - so wird halt dann wohl mehrfach geschaltet.

                            Um 23:00 für eine halbe Stunde - dann wenn wieder 19°C wieder für eine halbe Stunde - na egal ich muss es nicht verstehen.

                            Nun zur Umsetzung - ist eigentlich ganz easy - Du schaltest 2 Trigger Nodes hintereinander. Die 1. Trigger Node wird nur noch als Trigger für die 2. Trigger Node genutzt - sprich wenn die Dauer der Temperaturüberprüfung abgelaufen ist, die eigentliche Steuerung übernimmt dann die 2. Trigger Node.

                            b4aefe87-243f-40ee-9b45-4e461c0600e3-image.png

                            [{"id":"7497c57df52c3840","type":"switch","z":"18c687b8.a4de68","name":"Aktuelle Uhrzeit zwischen 16:30 und 10:30 ?","property":"payload","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"$not($moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') > \"10:30\" and $moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm') < \"16:30\")","vt":"jsonata"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":430,"y":600,"wires":[["31a4579aec5484bd"],["6934748ea0b8a9ae"]],"outputLabels":["zwischen 16:30 und 10:30",""]},{"id":"998943d9a044870f","type":"debug","z":"18c687b8.a4de68","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1390,"y":660,"wires":[]},{"id":"31a4579aec5484bd","type":"switch","z":"18c687b8.a4de68","name":"unter 20°C?","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"20","vt":"num"},{"t":"lt","v":"20","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":370,"y":680,"wires":[["fc03ec7f987d601c"],["13e17673693cf6f0"]]},{"id":"13e17673693cf6f0","type":"trigger","z":"18c687b8.a4de68","name":"warte 10 Minuten","op1":"","op2":"true","op1type":"nul","op2type":"bool","duration":"10","extend":false,"overrideDelay":false,"units":"min","reset":"0","bytopic":"all","topic":"topic","outputs":1,"x":710,"y":720,"wires":[["b7f31ef8514d06aa"]]},{"id":"fc03ec7f987d601c","type":"change","z":"18c687b8.a4de68","name":"0 Sommer","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"num"},{"t":"delete","p":"reset","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":660,"wires":[["13e17673693cf6f0","d75a93a40f860423"]]},{"id":"d75a93a40f860423","type":"rbe","z":"18c687b8.a4de68","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":false,"property":"payload","x":1230,"y":660,"wires":[["998943d9a044870f"]]},{"id":"6934748ea0b8a9ae","type":"change","z":"18c687b8.a4de68","name":"1 Winter","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1040,"y":600,"wires":[["d75a93a40f860423"]]},{"id":"b7f31ef8514d06aa","type":"trigger","z":"18c687b8.a4de68","name":"2 Urlaub (30 Min.) => 0 Sommer","op1":"2","op2":"0","op1type":"num","op2type":"num","duration":"30","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":970,"y":720,"wires":[["d75a93a40f860423"]]}]
                            

                            S Offline
                            S Offline
                            sascho
                            schrieb am zuletzt editiert von sascho
                            #112

                            @mickym

                            Ich hänge mal zur Verdeutlichung ein Screenshot unsere Energieverbrauchs am heutigen Montag an.
                            Da siehst Du, dass die Wärmepumpe bis 2:00 Uhr aus war > Sommer.
                            Dann kam die E-Mail Warnung, dass die Rücklauftemperatur unter 20° gefallen ist. Ich habe die Wärmepumpe dann in den Urlaubsmodus geschaltet (=abgesenkte Heizkurve).
                            Sie ist dann 5!!! Stunden bis 7:00 Uhr durchgelaufen und hat so also 20 kwh bzw. 5 EUR aus der Steckdose gezogen - unnötigerweise bei den tiefsten Temperaturen, die an einem Kalendertag vorkommen. Um 7:00 Uhr habe ich dann händisch den Sommermodus aktiviert, was man sofort sieht.
                            Genau das Szenario möchte ich verhindern, indem ich sie verstärkt tagsüber laufen lasse - dieser Urlaubsmodus scheint nicht wirklich zu funktionieren - nur das Aktivieren des Sommermodus hilft (es gibt auch noch einen SG Red, Yellow, Green Modus, der aber auch nichts bringt).

                            Es geht also darum, die Wärmepumpe nach dem Unterschreiten der definierten Rücklauftemperatur möglichst kurz im Urlaubsmodus laufen zu lassen, dann dann wieder abzuschalten bis die Rücklauftemperatur wieder unter 20° fällt. D.h. ja, sie springt dann öfter an, läuft aber wenigstens nicht stundenlang durch - ich brauche morgens um 7:00 Uhr keine 27° Rücklauftemperatur - es reicht auch 22°.

                            Ich probier Deinen Code mal heute Nacht direkt aus. Ich hoffe, dass es im Simulationsmodus sauber durchläuft. Ich lasse mal bei jeder Betriebsmodusänderung eine E-Mail schicken.

                            Besten Dank Dir für die ganze Hilfe!

                            1a110b95-65f7-45de-b120-af312c686417-image.png

                            mickymM 2 Antworten Letzte Antwort
                            0
                            • S sascho

                              @mickym

                              Ich hänge mal zur Verdeutlichung ein Screenshot unsere Energieverbrauchs am heutigen Montag an.
                              Da siehst Du, dass die Wärmepumpe bis 2:00 Uhr aus war > Sommer.
                              Dann kam die E-Mail Warnung, dass die Rücklauftemperatur unter 20° gefallen ist. Ich habe die Wärmepumpe dann in den Urlaubsmodus geschaltet (=abgesenkte Heizkurve).
                              Sie ist dann 5!!! Stunden bis 7:00 Uhr durchgelaufen und hat so also 20 kwh bzw. 5 EUR aus der Steckdose gezogen - unnötigerweise bei den tiefsten Temperaturen, die an einem Kalendertag vorkommen. Um 7:00 Uhr habe ich dann händisch den Sommermodus aktiviert, was man sofort sieht.
                              Genau das Szenario möchte ich verhindern, indem ich sie verstärkt tagsüber laufen lasse - dieser Urlaubsmodus scheint nicht wirklich zu funktionieren - nur das Aktivieren des Sommermodus hilft (es gibt auch noch einen SG Red, Yellow, Green Modus, der aber auch nichts bringt).

                              Es geht also darum, die Wärmepumpe nach dem Unterschreiten der definierten Rücklauftemperatur möglichst kurz im Urlaubsmodus laufen zu lassen, dann dann wieder abzuschalten bis die Rücklauftemperatur wieder unter 20° fällt. D.h. ja, sie springt dann öfter an, läuft aber wenigstens nicht stundenlang durch - ich brauche morgens um 7:00 Uhr keine 27° Rücklauftemperatur - es reicht auch 22°.

                              Ich probier Deinen Code mal heute Nacht direkt aus. Ich hoffe, dass es im Simulationsmodus sauber durchläuft. Ich lasse mal bei jeder Betriebsmodusänderung eine E-Mail schicken.

                              Besten Dank Dir für die ganze Hilfe!

                              1a110b95-65f7-45de-b120-af312c686417-image.png

                              mickymM Online
                              mickymM Online
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von
                              #113

                              @sascho Ich hab mal einen schöneren Switch Node - für Deine Tag und Nachtzeiten gemacht:

                              Damit hast Du nun definierte Ausgänge für Deinen Tag und Nachtprogramm. Es wird auch im Gegensatz zur vorher nur einmal die Uhrzeit ermittelt und nicht doppelt. ;)

                              screen.png

                              Damit die vorhergehende SwitchNode ersetzen:

                              [
                                 {
                                     "id": "c38b4c7c513c582b",
                                     "type": "switch",
                                     "z": "7eaefb9168296580",
                                     "name": "Ist Tag?",
                                     "property": "(\t   $time:= $moment().locale(\"de\").tz('Europe/Berlin').format('HH:mm');\t   $time >= \"10:30\" and $time < \"16:30\";\t)",
                                     "propertyType": "jsonata",
                                     "rules": [
                                         {
                                             "t": "true"
                                         },
                                         {
                                             "t": "false"
                                         }
                                     ],
                                     "checkall": "true",
                                     "repair": false,
                                     "outputs": 2,
                                     "x": 520,
                                     "y": 3340,
                                     "wires": [
                                         [
                                             "f01d19782f844e07"
                                         ],
                                         [
                                             "584862fcb3f9e6ab"
                                         ]
                                     ],
                                     "outputLabels": [
                                         "Tag (zwischen 10:30 und 16:29)",
                                         "Nacht (zwischen 16:30 und 10:29)"
                                     ]
                                 }
                              ]
                              

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              1 Antwort Letzte Antwort
                              0
                              • S sascho

                                @mickym

                                Ich hänge mal zur Verdeutlichung ein Screenshot unsere Energieverbrauchs am heutigen Montag an.
                                Da siehst Du, dass die Wärmepumpe bis 2:00 Uhr aus war > Sommer.
                                Dann kam die E-Mail Warnung, dass die Rücklauftemperatur unter 20° gefallen ist. Ich habe die Wärmepumpe dann in den Urlaubsmodus geschaltet (=abgesenkte Heizkurve).
                                Sie ist dann 5!!! Stunden bis 7:00 Uhr durchgelaufen und hat so also 20 kwh bzw. 5 EUR aus der Steckdose gezogen - unnötigerweise bei den tiefsten Temperaturen, die an einem Kalendertag vorkommen. Um 7:00 Uhr habe ich dann händisch den Sommermodus aktiviert, was man sofort sieht.
                                Genau das Szenario möchte ich verhindern, indem ich sie verstärkt tagsüber laufen lasse - dieser Urlaubsmodus scheint nicht wirklich zu funktionieren - nur das Aktivieren des Sommermodus hilft (es gibt auch noch einen SG Red, Yellow, Green Modus, der aber auch nichts bringt).

                                Es geht also darum, die Wärmepumpe nach dem Unterschreiten der definierten Rücklauftemperatur möglichst kurz im Urlaubsmodus laufen zu lassen, dann dann wieder abzuschalten bis die Rücklauftemperatur wieder unter 20° fällt. D.h. ja, sie springt dann öfter an, läuft aber wenigstens nicht stundenlang durch - ich brauche morgens um 7:00 Uhr keine 27° Rücklauftemperatur - es reicht auch 22°.

                                Ich probier Deinen Code mal heute Nacht direkt aus. Ich hoffe, dass es im Simulationsmodus sauber durchläuft. Ich lasse mal bei jeder Betriebsmodusänderung eine E-Mail schicken.

                                Besten Dank Dir für die ganze Hilfe!

                                1a110b95-65f7-45de-b120-af312c686417-image.png

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #114

                                @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                                Es geht also darum, die Wärmepumpe nach dem Unterschreiten der definierten Rücklauftemperatur möglichst kurz im Urlaubsmodus laufen zu lassen, dann dann wieder abzuschalten bis die Rücklauftemperatur wieder unter 20° fällt. D.h. ja, sie springt dann öfter an, läuft aber wenigstens nicht stundenlang durch - ich brauche morgens um 7:00 Uhr keine 27° Rücklauftemperatur - es reicht auch 22°.

                                Ganz verstehe ich das trotzdem nicht - der Flow hätte eigentlich sofern die Rücklauftemperatur wieder 20°C erreicht hat, wieder auf Sommer 0 hätte schalten müssen. Das heißt evt. schaltet das immer hin und her und Du solltest vielleicht doch eine Hysterese einbauen - oder Du versuchst Ausreiser innerhalb einer Zeitspanne durch den median eliminieren. Am Besten ist Du zeichnest mal die Temperatur auf und vergleichst es mit den Einschaltpunkten.

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                S 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                                  Es geht also darum, die Wärmepumpe nach dem Unterschreiten der definierten Rücklauftemperatur möglichst kurz im Urlaubsmodus laufen zu lassen, dann dann wieder abzuschalten bis die Rücklauftemperatur wieder unter 20° fällt. D.h. ja, sie springt dann öfter an, läuft aber wenigstens nicht stundenlang durch - ich brauche morgens um 7:00 Uhr keine 27° Rücklauftemperatur - es reicht auch 22°.

                                  Ganz verstehe ich das trotzdem nicht - der Flow hätte eigentlich sofern die Rücklauftemperatur wieder 20°C erreicht hat, wieder auf Sommer 0 hätte schalten müssen. Das heißt evt. schaltet das immer hin und her und Du solltest vielleicht doch eine Hysterese einbauen - oder Du versuchst Ausreiser innerhalb einer Zeitspanne durch den median eliminieren. Am Besten ist Du zeichnest mal die Temperatur auf und vergleichst es mit den Einschaltpunkten.

                                  S Offline
                                  S Offline
                                  sascho
                                  schrieb am zuletzt editiert von
                                  #115

                                  @mickym

                                  Super - vielen Dank für die neue Node. Ich lasse das Script von gestern jetzt mal als Test 1 auf Datenpunkt 1 laufen, und das mit der neuen Switch Note auf Datenpunkt 2 als Test 2.
                                  Mal schauen was da ankommt.

                                  Ich habe gerade mal die Historie Visualisierung gebaut. Da kann man das Verhalten der Betriebsmodi und die Temperaturentwicklung gut verfolgen. Ich bin gespannt, was heute Nacht passiert. :-).

                                  Auf dieser Grafik siehst Du auch gut, warum wir diese Karenzzeit für eine Unterschreitung der Minimaltemperatur brauchen - manchmal gibt es eben diese kurzfristigen Einbrüche der Rücklauftemperatur. Ich vermute irgendwo macht ein Ventil auf und kaltes Wasser strömt ein.
                                  d000e82f-3ff3-4de8-a808-2b0401759a92-image.png

                                  Hier tracke ich die Betriebsmodi - Tatsächlich und die zwei Testdatenpunkte
                                  d2b1fa1f-50e0-4244-96cc-5318f9eb158a-image.png

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • S sascho

                                    @mickym

                                    Super - vielen Dank für die neue Node. Ich lasse das Script von gestern jetzt mal als Test 1 auf Datenpunkt 1 laufen, und das mit der neuen Switch Note auf Datenpunkt 2 als Test 2.
                                    Mal schauen was da ankommt.

                                    Ich habe gerade mal die Historie Visualisierung gebaut. Da kann man das Verhalten der Betriebsmodi und die Temperaturentwicklung gut verfolgen. Ich bin gespannt, was heute Nacht passiert. :-).

                                    Auf dieser Grafik siehst Du auch gut, warum wir diese Karenzzeit für eine Unterschreitung der Minimaltemperatur brauchen - manchmal gibt es eben diese kurzfristigen Einbrüche der Rücklauftemperatur. Ich vermute irgendwo macht ein Ventil auf und kaltes Wasser strömt ein.
                                    d000e82f-3ff3-4de8-a808-2b0401759a92-image.png

                                    Hier tracke ich die Betriebsmodi - Tatsächlich und die zwei Testdatenpunkte
                                    d2b1fa1f-50e0-4244-96cc-5318f9eb158a-image.png

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #116

                                    @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                                    Auf dieser Grafik siehst Du auch gut, warum wir diese Karenzzeit für eine Unterschreitung der Minimaltemperatur brauchen - manchmal gibt es eben diese kurzfristigen Einbrüche der Rücklauftemperatur. Ich vermute irgendwo macht ein Ventil auf und kaltes Wasser strömt ein.

                                    Ja wenn Du sowas öfter brauchst - ich habe mir hierzu noch die Aggregator Node installiert - aber es mit Hausmitteln geht, siehst ja am bestehenden Flow.

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                                      Auf dieser Grafik siehst Du auch gut, warum wir diese Karenzzeit für eine Unterschreitung der Minimaltemperatur brauchen - manchmal gibt es eben diese kurzfristigen Einbrüche der Rücklauftemperatur. Ich vermute irgendwo macht ein Ventil auf und kaltes Wasser strömt ein.

                                      Ja wenn Du sowas öfter brauchst - ich habe mir hierzu noch die Aggregator Node installiert - aber es mit Hausmitteln geht, siehst ja am bestehenden Flow.

                                      S Offline
                                      S Offline
                                      sascho
                                      schrieb am zuletzt editiert von sascho
                                      #117

                                      @mickym said in bshb - Rollladensteuerung mit yhka Homekit:

                                      reitung der Minimaltemperatur brauchen - manchmal gibt es eben diese kurzfristigen Einbrüche der Rücklauftemperatur. Ich vermute irgendwo macht ein Ventil auf und kaltes Wasser strömt ein.

                                      Es wäre schon gut, diese Grafiken irgendwie auf das Handy zu bekommen. Aktuell nutzen wir wieder Homekit, weil wir die Sprachsteuerung per Siri ausprobieren. Mit Homekit gehen ja leider keine Diagramme.

                                      Also, ich habe mir gerade die Daten angesehen - hatte gestern um 0:00 Uhr aber schon einige Erkenntnisse:

                                      a) Um circa 0:00 Uhr war die Rücklauftemperatur auf 20 Grad abgesackt. Daraufhin haben beide Flows jeweils 2x ausgelöst:
                                      47937a53-79e3-47d1-ace8-11d61bda4a78-image.png
                                      b) Ich habe dann manuell den Modus von Sommer auf Urlaub geändert. Dabei habe ich realisiert, dass die Umwälzpumpe im Sommermodus nicht läuft. Die 20 Grad Rücklauftemperatur stimmen nicht - es waren nämlich noch 22 Grad im System. Als warmes Wasser aus dem Kreislauf wieder am Thermometer vorbeigepumpt wurde, stieg die Temperatur sofort wieder. D.h. da sind noch 2 Grad Reserve im System.
                                      Die Wärmepumpe hat dann wieder bis auf die Zieltemperatur von 27° C hochgeheizt. Aus meiner Sicht ist das kein echter Urlaubsmodus, weil einfach zu lange geheizt wird - 3 Std. lang.
                                      63b525a4-1dbd-4b92-bcd0-3eefdb31cb24-image.png
                                      c) Der Wechsel von Sommer in Winter funktioniert noch nicht richtig. Nach 5 Minuten wechselt das System wieder zurück zu Sommer(orange und rot, blau ist meine manuelle Schaltung direkt an der WP). Da müsste noch ein Bug im System sein:
                                      f37b7a41-9bcd-4574-a799-c5e4923d563f-image.png
                                      b93754d4-e8d1-41f9-8a55-be161ef008c8-image.png

                                      Diese Zürckschalten auf Sommer ist mir auch gestern morgen schon aufgefallen. Soll ich den Flow noch mal posten?

                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • S sascho

                                        @mickym said in bshb - Rollladensteuerung mit yhka Homekit:

                                        reitung der Minimaltemperatur brauchen - manchmal gibt es eben diese kurzfristigen Einbrüche der Rücklauftemperatur. Ich vermute irgendwo macht ein Ventil auf und kaltes Wasser strömt ein.

                                        Es wäre schon gut, diese Grafiken irgendwie auf das Handy zu bekommen. Aktuell nutzen wir wieder Homekit, weil wir die Sprachsteuerung per Siri ausprobieren. Mit Homekit gehen ja leider keine Diagramme.

                                        Also, ich habe mir gerade die Daten angesehen - hatte gestern um 0:00 Uhr aber schon einige Erkenntnisse:

                                        a) Um circa 0:00 Uhr war die Rücklauftemperatur auf 20 Grad abgesackt. Daraufhin haben beide Flows jeweils 2x ausgelöst:
                                        47937a53-79e3-47d1-ace8-11d61bda4a78-image.png
                                        b) Ich habe dann manuell den Modus von Sommer auf Urlaub geändert. Dabei habe ich realisiert, dass die Umwälzpumpe im Sommermodus nicht läuft. Die 20 Grad Rücklauftemperatur stimmen nicht - es waren nämlich noch 22 Grad im System. Als warmes Wasser aus dem Kreislauf wieder am Thermometer vorbeigepumpt wurde, stieg die Temperatur sofort wieder. D.h. da sind noch 2 Grad Reserve im System.
                                        Die Wärmepumpe hat dann wieder bis auf die Zieltemperatur von 27° C hochgeheizt. Aus meiner Sicht ist das kein echter Urlaubsmodus, weil einfach zu lange geheizt wird - 3 Std. lang.
                                        63b525a4-1dbd-4b92-bcd0-3eefdb31cb24-image.png
                                        c) Der Wechsel von Sommer in Winter funktioniert noch nicht richtig. Nach 5 Minuten wechselt das System wieder zurück zu Sommer(orange und rot, blau ist meine manuelle Schaltung direkt an der WP). Da müsste noch ein Bug im System sein:
                                        f37b7a41-9bcd-4574-a799-c5e4923d563f-image.png
                                        b93754d4-e8d1-41f9-8a55-be161ef008c8-image.png

                                        Diese Zürckschalten auf Sommer ist mir auch gestern morgen schon aufgefallen. Soll ich den Flow noch mal posten?

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von mickym
                                        #118

                                        @sascho Nutze halt das NodeRed Dashboard - das geht schnell, um was zu sehen oder zu steuern.

                                        Den Flow kenne ich ja im Wesentlichen - allerdings habe ich keine Ahnung wie oft die Temperaturwerte kommen und wo wann Du die Mail verschickst.

                                        Bei all den Dingen, die Du schilderst bin ich mir halt nie sicher, ob nicht irgendeine Automatik in Deiner Wärmepumpe dazwischen funkt.

                                        Das Einzige, was in meinen Augen zuverlässig ist, wäre wenn Du Dir zu bestimmten Ereignissen Warnungen in das Log schreiben lässt.

                                        Trigger tun ja grundsätzlich die Temperaturwerte. Auch wenn Du jetzt vielleicht keine Datenbank installieren willst, aber über den iobroker History Adapter kann man glaube ich auch Datenpunkte aufzeichnen -

                                        Der Wechsel von Sommer in Winter funktioniert noch nicht richtig. Nach 5 Minuten wechselt das System wieder zurück zu Sommer(orange und rot, blau ist meine manuelle Schaltung direkt an der WP). Da müsste noch ein Bug im System sein:

                                        Nun das kann aber nicht am Flow liegen - am Tag wird nur einmal Winter eingestellt und dann nie wieder was. Wenn das dann nach 5 Minuten wieder in den Sommermodus wechselt, dann kann das nicht mit dem Flow zu tun haben. Ich kanns mir zumindest nicht erklären. Es wird ja immer die aktuelle Zeit geprüft bei jedem Temperatureingang und gerade im Tagesmodus wird diese doch gar nicht überprüft, sondern grundsätzlich nur der Wintermodus eingeschaltet. Wir könnten höchstens noch einen Reset an den Trigger schicken, so dass nicht gerade während einer ausstehenden Nachtschaltung der Wechsel zu Tag stattfindet.

                                        Das heißt Du gibst in beiden Triggern an, dass eine payload von 0 den trigger zurücksetzt und sendest mittels einer Change NOde 0 aus dem Tagesast an beide Trigger.

                                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                        S 1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @sascho Nutze halt das NodeRed Dashboard - das geht schnell, um was zu sehen oder zu steuern.

                                          Den Flow kenne ich ja im Wesentlichen - allerdings habe ich keine Ahnung wie oft die Temperaturwerte kommen und wo wann Du die Mail verschickst.

                                          Bei all den Dingen, die Du schilderst bin ich mir halt nie sicher, ob nicht irgendeine Automatik in Deiner Wärmepumpe dazwischen funkt.

                                          Das Einzige, was in meinen Augen zuverlässig ist, wäre wenn Du Dir zu bestimmten Ereignissen Warnungen in das Log schreiben lässt.

                                          Trigger tun ja grundsätzlich die Temperaturwerte. Auch wenn Du jetzt vielleicht keine Datenbank installieren willst, aber über den iobroker History Adapter kann man glaube ich auch Datenpunkte aufzeichnen -

                                          Der Wechsel von Sommer in Winter funktioniert noch nicht richtig. Nach 5 Minuten wechselt das System wieder zurück zu Sommer(orange und rot, blau ist meine manuelle Schaltung direkt an der WP). Da müsste noch ein Bug im System sein:

                                          Nun das kann aber nicht am Flow liegen - am Tag wird nur einmal Winter eingestellt und dann nie wieder was. Wenn das dann nach 5 Minuten wieder in den Sommermodus wechselt, dann kann das nicht mit dem Flow zu tun haben. Ich kanns mir zumindest nicht erklären. Es wird ja immer die aktuelle Zeit geprüft bei jedem Temperatureingang und gerade im Tagesmodus wird diese doch gar nicht überprüft, sondern grundsätzlich nur der Wintermodus eingeschaltet. Wir könnten höchstens noch einen Reset an den Trigger schicken, so dass nicht gerade während einer ausstehenden Nachtschaltung der Wechsel zu Tag stattfindet.

                                          Das heißt Du gibst in beiden Triggern an, dass eine payload von 0 den trigger zurücksetzt und sendest mittels einer Change NOde 0 aus dem Tagesast an beide Trigger.

                                          S Offline
                                          S Offline
                                          sascho
                                          schrieb am zuletzt editiert von sascho
                                          #119

                                          @mickym

                                          Ich schaue mir das NodeRed Dashboard mal die Tage an. Wäre schon cool, wenn ich die Verläufe beobachten könnte. Iqcontrol kann das wohl auch über die Kacheln, hinter die man dann die Flot Diagramme als Hintergrund legt. So richtig gut sieht das nicht aus.

                                          Ich habe mir die das ganze Konzept noch mal angeschaut und bei Dimplex in die Installateuranleitung geschaut.
                                          Grundsätzlich gibt es drei Modelle, wie man die Wärmepumpe betreiben kann:
                                          a) Festwertsolltemperatur > Da legt man eine Rücklauftemperatur fest, die sich nie ändern soll. Nachteil ist, bei unterschiedlichen Außentemperaturen die Wärmepumpe zu viel oder zu wenig Wärme generiert. Die Raumthermostate machen zwar anhand der eingestellten Sollluftemperatur auf und zu - aber es ist immer zu wenig oder zu viel Wärme im Kreislauf.
                                          b) Außentemperatur gesteuert > Die Wärmepumpe errechnet eine Heizkurve, die sich an der Außentemperatur orientiert. Da spielt dann noch rein, wie das Gebäude gedämmt ist.
                                          Du musst das System nach Trial-und-Error optimieren. Das habe ich hier gerade im Einsatz.
                                          c) Raumfühler gesteuert > Du hast eine Anzahl von Meßpunkten im Haus. Die Wärmepumpe guckt dann, wie viel Wärme sie generieren muss, um die gewünschten Temperaturen zu erreichen. Das hört sich für mich nach dem Ferrari an.
                                          Ich muss mir die Variante mal ansehen - da wir ja überall diese Bosch Thermostate hängen haben, könnte man evtl. diese Meßpunkte über den Modbus Adapter einspeisen und der Wärmepumpe den Rest überlassen - evtl. nachts noch automatisch absenken lassen und gut ist.

                                          Für Option c) brauche ich aber noch Zeit zu verstehen.

                                          Für Option b) habe noch mal überlegt - wenn nachts diese harte Umschaltung auf Sommermodus kommt, und die Umwälzpumpe abschaltet - besteht die Gefahr, dass irgendwann doch mal was schief geht und das Haus zu sehr abkühlt.

                                          Die Rücklaufsolltemperatur kann ich leider nicht direkt beschreiben (siehe Link). Ich kann aber eine Parallelverschiebung der Heizkurve antriggern.
                                          D.h. ich könnte tagsüber z.B. auf der 17 fahren und nachts erst mal auf der 15. Wenn die Solltemperatur in eine Referenzraum, z.B. Kinderzimmer, unter 20° C fällt, setze ich die Parallelverschiebung wieder auf 17 und später zurück auf 15.
                                          Außerdem mache ich noch den SG Ready Rot Modus über den ID2 Eingang an und mal sehen was passiert. Tagsüber steuer der Sunny Home Manager den ID1 (SG Green ) Modus an.
                                          Dann kann die Wärmepumpe innerhalb ihrer inneren Logik arbeiten.
                                          Ich probiere mal 1-2 Tage aus, ob das besser klappt...

                                          Hier mal ein paar Screenshots:
                                          330fd1c1-68ee-4f5e-93f8-0709a27476cc-image.png
                                          e55749f0-49a3-4a61-9374-c7b94905f8d2-image.png

                                          e6640097-1e18-4281-bd56-3bc1aba82cab-image.png

                                          mickymM 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          693

                                          Online

                                          32.7k

                                          Benutzer

                                          82.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe