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. Blockly
  5. Trigger auf zwei Datenpunkte

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Trigger auf zwei Datenpunkte

Geplant Angeheftet Gesperrt Verschoben Blockly
heatingblocklyventilationjavascript
7 Beiträge 2 Kommentatoren 524 Aufrufe 1 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.
  • ChaotC Offline
    ChaotC Offline
    Chaot
    schrieb am zuletzt editiert von
    #1

    Hi, ich versuche aktuell einen Lüfter (Heizkörperbooster) im Bad anzusteuern. Das klappt im Grunde ganz gut, aber ich möchte den gerne auf zwei verschiedene Ereignisse triggern.
    Allerdings habe ich keine so wirkliche Ahnung wie das in Blockly gehen kann.
    Mein Entwurf sieht so aus:
    TriggerBad.jpg
    Oder umgesetzt auf JS:

    on({ id: [].concat(['fritzdect.0.DECT_099950744271.tist']), change: 'ne' }, async (obj) => {
     let value = obj.state.val;
     let oldValue = obj.oldState.val;
     if (getState('fritzdect.0.DECT_099950744271.tist').val > getState('fritzdect.0.DECT_099950744271.tsoll').val) {
       setState('sonoff.0.LuefterBad.POWER' /* LuefterBad POWER */, false);
     } else if (getState('fritzdect.0.DECT_099950744271.tist').val <= getState('fritzdect.0.DECT_099950744271.tsoll').val) {
       setState('sonoff.0.LuefterBad.POWER' /* LuefterBad POWER */, true);
     }
    });
    on({ id: 'fritzdect.0.DECT_099950744271.boostactive' /* Boost active status and cmd */, change: 'ne' }, async (obj) => {
     let value = obj.state.val;
     let oldValue = obj.oldState.val;
     if (getState('fritzdect.0.DECT_099950744271.boostactive').val == false) {
       setState('sonoff.0.LuefterBad.POWER' /* LuefterBad POWER */, false);
     } else if (getState('fritzdect.0.DECT_099950744271.boostactive').val == true) {
       setState('sonoff.0.LuefterBad.POWER' /* LuefterBad POWER */, true);
     }
    });
    

    Bei der Konfiguration ist es ja so, dass sich die Steuerbefehle aufheben würden. Also wenn der "Boost" Datenpunkt auf "false" geht geht der Lüfter aus, unabhängig davon was der Temeraturdatenpunkt ergibt.
    Wie kann ich eine "oder" Abfrage realisieren? Ich bin entweder zu blöd das zu suchen oder der Punkt ist da versteckt wo ich bisher noch nicht nachgeschaut habe.

    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

    paul53P 1 Antwort Letzte Antwort
    0
    • ChaotC Chaot

      Hi, ich versuche aktuell einen Lüfter (Heizkörperbooster) im Bad anzusteuern. Das klappt im Grunde ganz gut, aber ich möchte den gerne auf zwei verschiedene Ereignisse triggern.
      Allerdings habe ich keine so wirkliche Ahnung wie das in Blockly gehen kann.
      Mein Entwurf sieht so aus:
      TriggerBad.jpg
      Oder umgesetzt auf JS:

      on({ id: [].concat(['fritzdect.0.DECT_099950744271.tist']), change: 'ne' }, async (obj) => {
       let value = obj.state.val;
       let oldValue = obj.oldState.val;
       if (getState('fritzdect.0.DECT_099950744271.tist').val > getState('fritzdect.0.DECT_099950744271.tsoll').val) {
         setState('sonoff.0.LuefterBad.POWER' /* LuefterBad POWER */, false);
       } else if (getState('fritzdect.0.DECT_099950744271.tist').val <= getState('fritzdect.0.DECT_099950744271.tsoll').val) {
         setState('sonoff.0.LuefterBad.POWER' /* LuefterBad POWER */, true);
       }
      });
      on({ id: 'fritzdect.0.DECT_099950744271.boostactive' /* Boost active status and cmd */, change: 'ne' }, async (obj) => {
       let value = obj.state.val;
       let oldValue = obj.oldState.val;
       if (getState('fritzdect.0.DECT_099950744271.boostactive').val == false) {
         setState('sonoff.0.LuefterBad.POWER' /* LuefterBad POWER */, false);
       } else if (getState('fritzdect.0.DECT_099950744271.boostactive').val == true) {
         setState('sonoff.0.LuefterBad.POWER' /* LuefterBad POWER */, true);
       }
      });
      

      Bei der Konfiguration ist es ja so, dass sich die Steuerbefehle aufheben würden. Also wenn der "Boost" Datenpunkt auf "false" geht geht der Lüfter aus, unabhängig davon was der Temeraturdatenpunkt ergibt.
      Wie kann ich eine "oder" Abfrage realisieren? Ich bin entweder zu blöd das zu suchen oder der Punkt ist da versteckt wo ich bisher noch nicht nachgeschaut habe.

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @chaot sagte: Wie kann ich eine "oder" Abfrage realisieren?

      Was soll per "oder" verknüpft werden? Temperatur < Sollwert ODER Boost?

      Blockly_temp.JPG

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      ChaotC 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @chaot sagte: Wie kann ich eine "oder" Abfrage realisieren?

        Was soll per "oder" verknüpft werden? Temperatur < Sollwert ODER Boost?

        Blockly_temp.JPG

        ChaotC Offline
        ChaotC Offline
        Chaot
        schrieb am zuletzt editiert von
        #3

        @paul53 Bei Boot wird der Sollwert nicht verändert.
        Ich müsste also prüfen ob "Boost" geschaltet wurde und dann den Lüfter steuern. Wenn kein "Boost" dann per Temperaturdifferenz.

        ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

        paul53P 1 Antwort Letzte Antwort
        0
        • ChaotC Chaot

          @paul53 Bei Boot wird der Sollwert nicht verändert.
          Ich müsste also prüfen ob "Boost" geschaltet wurde und dann den Lüfter steuern. Wenn kein "Boost" dann per Temperaturdifferenz.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @chaot sagte: ob "Boost" geschaltet wurde und dann den Lüfter steuern. Wenn kein "Boost" dann per Temperaturdifferenz.

          Genau das passiert in dem gezeigten Blockly. Nach Skriptstart muss sich allerdings erst ein Trigger-Wert ändern.

          EDIT: So wird auch bei Skriptstart geprüft und geschaltet:

          Blockly_temp.JPG

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          ChaotC 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @chaot sagte: ob "Boost" geschaltet wurde und dann den Lüfter steuern. Wenn kein "Boost" dann per Temperaturdifferenz.

            Genau das passiert in dem gezeigten Blockly. Nach Skriptstart muss sich allerdings erst ein Trigger-Wert ändern.

            EDIT: So wird auch bei Skriptstart geprüft und geschaltet:

            Blockly_temp.JPG

            ChaotC Offline
            ChaotC Offline
            Chaot
            schrieb am zuletzt editiert von Chaot
            #5

            @paul53 Danke für die Hilfestellung.
            Ich habe noch ein Verständnisproblem.
            Der Wert Boost ist true oder false, bei Temperatur oder Sollwert steht eine Zahl.
            In die Variable Luefter schreibe ich doch dann entweder eine Zahl oder einem Wert und den schreibe ich dann in den Datenpunkt Lüfter, der true oder false erwartet. Stimmt das so oder mache ich da einen Denkfehler?
            Das Script läuft übrigens.

            Ach, und noch eine Frage. Woher bekomme den Block "boost" aus deinem letzten Bild?

            ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

            paul53P 1 Antwort Letzte Antwort
            0
            • ChaotC Chaot

              @paul53 Danke für die Hilfestellung.
              Ich habe noch ein Verständnisproblem.
              Der Wert Boost ist true oder false, bei Temperatur oder Sollwert steht eine Zahl.
              In die Variable Luefter schreibe ich doch dann entweder eine Zahl oder einem Wert und den schreibe ich dann in den Datenpunkt Lüfter, der true oder false erwartet. Stimmt das so oder mache ich da einen Denkfehler?
              Das Script läuft übrigens.

              Ach, und noch eine Frage. Woher bekomme den Block "boost" aus deinem letzten Bild?

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @chaot sagte: In die Variable Luefter schreibe ich doch dann entweder eine Zahl oder einem Wert

              Das Ergebnis eines Vergleichs und somit auch der Oder-Verknüpfung ist false oder true, wird also in den Lüfter-DP geschrieben.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              ChaotC 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @chaot sagte: In die Variable Luefter schreibe ich doch dann entweder eine Zahl oder einem Wert

                Das Ergebnis eines Vergleichs und somit auch der Oder-Verknüpfung ist false oder true, wird also in den Lüfter-DP geschrieben.

                ChaotC Offline
                ChaotC Offline
                Chaot
                schrieb am zuletzt editiert von
                #7

                @paul53 Ah! Jetzt hat es Klick gemacht.
                Ganz herzlichen Dank für deine Hilfe.

                ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                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

                628

                Online

                32.6k

                Benutzer

                82.3k

                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