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. JavaScript
  5. Event handling abbrechen bzw. Event verwerfen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Event handling abbrechen bzw. Event verwerfen

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
3 Beiträge 2 Kommentatoren 191 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.
  • H Offline
    H Offline
    hans009
    schrieb am zuletzt editiert von hans009
    #1

    Hallo allerseits,

    ich möchte gerne ein Event abbrechen. Wenn ich also folgenden code habe:

    on({id: /.*\.thermostat\.SET$/, change: 'ne'}, function (data) {
            ...
            setState(localRoomTemperature, data.state.val); // set local room temp.
            if (isWindowOpen) {
                // cancel event handling here so that temperature is not increased when window is open
            }
            // proceed normally, so that the thermostats temperatur is set as desired (only when window is closed)
    });
    

    Es geht darum, dass ich Temperatur-Datenpunkte für jeden Raum habe. (unter 0_userdata). Diese werden geschrieben, sobald jemand per Webinterface oder am Thermostat selbst die Temperatur ändert. Sobald der Temperatur-DP für einen Raum gesetzt ist, wird der Raum nicht mehr über ein Profil gesteuert (Tageszeitsteuerung).
    Nach einer definierten Zeit wird dieser lokale Temperatur-DP wieder zurückgesetzt und der Raum wird wieder per Heizprofil gesteuert.

    Habe bisher dazu leider nichts finden können. Kennt jemand hier eine Lösung?

    mickymM 1 Antwort Letzte Antwort
    0
    • H hans009

      Hallo allerseits,

      ich möchte gerne ein Event abbrechen. Wenn ich also folgenden code habe:

      on({id: /.*\.thermostat\.SET$/, change: 'ne'}, function (data) {
              ...
              setState(localRoomTemperature, data.state.val); // set local room temp.
              if (isWindowOpen) {
                  // cancel event handling here so that temperature is not increased when window is open
              }
              // proceed normally, so that the thermostats temperatur is set as desired (only when window is closed)
      });
      

      Es geht darum, dass ich Temperatur-Datenpunkte für jeden Raum habe. (unter 0_userdata). Diese werden geschrieben, sobald jemand per Webinterface oder am Thermostat selbst die Temperatur ändert. Sobald der Temperatur-DP für einen Raum gesetzt ist, wird der Raum nicht mehr über ein Profil gesteuert (Tageszeitsteuerung).
      Nach einer definierten Zeit wird dieser lokale Temperatur-DP wieder zurückgesetzt und der Raum wird wieder per Heizprofil gesteuert.

      Habe bisher dazu leider nichts finden können. Kennt jemand hier eine Lösung?

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

      @hans009 Du musst dich in der Abbruchbeding nur ein "return"; einfügen, dann wird die Funktion doch sofort verlassen.

      Oder verstehe ich da was nicht?

      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.

      H 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @hans009 Du musst dich in der Abbruchbeding nur ein "return"; einfügen, dann wird die Funktion doch sofort verlassen.

        Oder verstehe ich da was nicht?

        H Offline
        H Offline
        hans009
        schrieb am zuletzt editiert von hans009
        #3

        @mickym du hast Recht, insofern ich sofort aus dem Eventhandler raus will. Das Problem jedoch ist, dass der Thermostat-DP aus dem Event trotzdem gesetzt wird. In dem Event-Handler schreibe ich ja quasi einen extra user-Datenpunkt.
        Ich möchte aber den Thermostat-DP nicht schreiben, wenn das Fenster auf ist.
        Man könnte das auch anders lösen, aber dann muss ich bei mir leider sehr viel in den Skripten ändern :cold_sweat:

        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

        701

        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