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. Zwei-Punkt Regler (Hysterese)

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Zwei-Punkt Regler (Hysterese)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 3 Kommentatoren 1.9k Aufrufe
  • Ä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.
  • T Offline
    T Offline
    Trident
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe einen Regensensor von mySensors an ioBroker angeschlossen und überführe den Status per JS in eine Variable "Regen_aktuell".

    Bei einem Test habe ich nun festgestellt, dass der Regler im Übergang ziemlich oft zwischen "kein Regen" und "Regen" wechselt (digitaler Wert). Daher wollte ich nun per JS einen Zwei-Punkt Regler oder Hysterese einsetzten.

    Bin nur ziemlich ratlos wie sowas in JS aussieht.

    Viele Grüße

    Trident

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      Die Suche im Forum führt z.B. http://forum.iobroker.de/viewtopic.php?f=21&t=1337&p=11109&sid=235df04601b31c9b65a21ad1988807ba&sid=235df04601b31c9b65a21ad1988807ba#p11109.

      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

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pix
        schrieb am zuletzt editiert von
        #3

        Hallo,

        ich würde da anders skripten. Ein altes Beispiel aus dem Forum prüft, ob die letzte Sayit Ansage gerade eben oder schon länger her ist, um doppelte Ansagen zu vermeiden. Im Falle des Regensensors passt das, als ja keine Mengenwerte (Regenmenge oder so) gemessen werden, sondern nur die Ausgabe true/false etwas beruhigt werden soll.

        Deshalb mein Vorschlag:

        var idRegensensor = 'xxxxxxxxxxx'; // Objekt Regensensor, das true/false liefert, eintragen
        var updateZeit = 3; // Dauer in s, innerhalb der keine Updates angenommen werden
        
        var lastUpdate   = null;
        on(idRegensensor, function(obj) {
            if (!lastUpdate || ((new Date()).getTime() - lastUpdate) > 1000 * parseInt(updateZeit, 10)) {
                lastUpdate = (new Date()).getTime();
                log(obj.state.val); // ersetzen durch neuen Befehl zB setState(Variable für Regensensor, obj.state.val);
            }
        });
        

        Ist keine echte Hysterese, hat aber den gleichen Effekt. Schließlich gibt es keinen Wert zwischen false und true. ;)

        Gruß

        Pix

        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @pix:

          sondern nur die Ausgabe true/false etwas beruhigt werden soll. `
          Dass es sich um einen binären Wert handelt, habe ich überlesen. Darauf kann natürlich keine Hysterese, sondern nur Verzögerung angewendet werden, wie pix beschrieben hat.

          Die Updatezeit würde ich allerdings anders auswerten:

          var idRegensensor = 'xxxxxxxxxxx'; // Objekt Regensensor, das true/false liefert, eintragen
          var updateZeit = 3; // Dauer in s, innerhalb der keine Updates angenommen werden
          var lastUpdate = getState(idRegensensor).lc;
          
          on(idRegensensor, function(dp) {
              if (dp.state.lc - lastUpdate > updateZeit) {
          		lastUpdate = dp.state.lc;
          		setState(Variable für Regensensor, dp.state.val);
              }
          });
          

          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

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            Trident
            schrieb am zuletzt editiert von
            #5

            Danke euch für die Tipps! Werde es ausprobieren und berichten :)

            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

            760

            Online

            32.6k

            Benutzer

            82.2k

            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