Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. Problem: state.expire

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    464

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    383

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    974

Problem: state.expire

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
expire
6 Beiträge 4 Kommentatoren 773 Aufrufe 6 Beobachtet
  • Ä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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #1

    Habe einige Tests mit state.expire durchgeführt und festgestellt:

    • Bei Ablauf von "expire" (Zustand wird gelöscht) erfolgt kein Trigger, es kann also nicht darauf reagiert werden
    • Im Trigger liefert dp.state.expire immer undefined
    • getState(id).expire liefert true bei aktiviertem "expire". Zu erwarten wäre eine Zahl (s).
    • Mit setState(id, {val: false, ack: true, expire: 10}) kann "expire" gesetzt werden und 10 s später ist der Zustand nicht mehr vorhanden
    • Mit setState(id, false, true) wird "expire" gelöscht, der Zustand bleibt erhalten

    Ist das alles so gewollt ?

    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

    apollon77A 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      Habe einige Tests mit state.expire durchgeführt und festgestellt:

      • Bei Ablauf von "expire" (Zustand wird gelöscht) erfolgt kein Trigger, es kann also nicht darauf reagiert werden
      • Im Trigger liefert dp.state.expire immer undefined
      • getState(id).expire liefert true bei aktiviertem "expire". Zu erwarten wäre eine Zahl (s).
      • Mit setState(id, {val: false, ack: true, expire: 10}) kann "expire" gesetzt werden und 10 s später ist der Zustand nicht mehr vorhanden
      • Mit setState(id, false, true) wird "expire" gelöscht, der Zustand bleibt erhalten

      Ist das alles so gewollt ?

      apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #2

      @paul53 Das der JavaScript Adapter kein "trigger" bei einem expire Ablauf macht ist nicht korrekt und dazu gibts schon ein Issue wenn ich recht erinnere. Ich hab aber den grund noch nicht gefunden :-( An sich sollte der Code das nicht nicht tun :-(

      Das Expire gehört nicht wirklich zum State und daher ist da auch kein Wert mehr. Am Ende ist es ein Timer zum State-Ablauf der Startet sobald der State gesetzt wird.
      Die File DB "merkt" sich im State auch das expire Flag (bzw das es expired) und daher kannst Du es auslesen. Mit einer Redis DB läuft der expre Timer im Redis und du hast zB das "expire" Flag nicht.

      Ein neu gesetzter Wert ohne Expire beendet den Timer quasi und setzt den Wert ohne expire.

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      theknutT 1 Antwort Letzte Antwort
      0
      • apollon77A apollon77

        @paul53 Das der JavaScript Adapter kein "trigger" bei einem expire Ablauf macht ist nicht korrekt und dazu gibts schon ein Issue wenn ich recht erinnere. Ich hab aber den grund noch nicht gefunden :-( An sich sollte der Code das nicht nicht tun :-(

        Das Expire gehört nicht wirklich zum State und daher ist da auch kein Wert mehr. Am Ende ist es ein Timer zum State-Ablauf der Startet sobald der State gesetzt wird.
        Die File DB "merkt" sich im State auch das expire Flag (bzw das es expired) und daher kannst Du es auslesen. Mit einer Redis DB läuft der expre Timer im Redis und du hast zB das "expire" Flag nicht.

        Ein neu gesetzter Wert ohne Expire beendet den Timer quasi und setzt den Wert ohne expire.

        theknutT Offline
        theknutT Offline
        theknut
        schrieb am zuletzt editiert von
        #3

        @apollon77 Gibt es hier schon ein Update bzgl. kein Trigger bei expire?
        Ich habe zwei Probleme:

        • weiterhin kein Trigger
        • Wenn das Expire auf einen Aliasstate mit Write Converter geht, wird ihm scheinbar einfach hintenrum der State entzogen, ohne dass der Converter aufgerufen wird. Demnach ist dann der State null und nicht wie bei val ? "on" : "off" zu erwarten off.

        Meine Überlegung war nämlich diese: Ich habe ein Thermostat aus Temperatursensor und Shelly realisiert. Leider hapert die Verbindung zum Temperatursensor manchmal etwas. Dann bleibt die Heizung ewig an, weil die Zieltemperatur nicht erreicht ist. Daher wollte ich die Heizung mit Expire 15 Minuten setzen, das heißt, wenn bis dahin kein neuer Wert kam, dann geht die Heizung wieder aus. Normalerweise kommt eine neuer Wert nach 5 Minuten und sollte somit das Expire zurücksetzen. Das ist quasi eine Art Totmannschalter. Leider komme ich aber nicht in den Trigger, dass der Wert auf null gesetzt wurde. Das wäre mein Workaround für den fehlenden Converterdurchlauf gewesen.

        ☕ @ https://ko-fi.com/theknut

        arteckA apollon77A 2 Antworten Letzte Antwort
        0
        • theknutT theknut

          @apollon77 Gibt es hier schon ein Update bzgl. kein Trigger bei expire?
          Ich habe zwei Probleme:

          • weiterhin kein Trigger
          • Wenn das Expire auf einen Aliasstate mit Write Converter geht, wird ihm scheinbar einfach hintenrum der State entzogen, ohne dass der Converter aufgerufen wird. Demnach ist dann der State null und nicht wie bei val ? "on" : "off" zu erwarten off.

          Meine Überlegung war nämlich diese: Ich habe ein Thermostat aus Temperatursensor und Shelly realisiert. Leider hapert die Verbindung zum Temperatursensor manchmal etwas. Dann bleibt die Heizung ewig an, weil die Zieltemperatur nicht erreicht ist. Daher wollte ich die Heizung mit Expire 15 Minuten setzen, das heißt, wenn bis dahin kein neuer Wert kam, dann geht die Heizung wieder aus. Normalerweise kommt eine neuer Wert nach 5 Minuten und sollte somit das Expire zurücksetzen. Das ist quasi eine Art Totmannschalter. Leider komme ich aber nicht in den Trigger, dass der Wert auf null gesetzt wurde. Das wäre mein Workaround für den fehlenden Converterdurchlauf gewesen.

          arteckA Offline
          arteckA Offline
          arteck
          Developer Most Active
          schrieb am zuletzt editiert von
          #4

          @theknut das sind 3 Zeilen code ..

          zigbee hab ich, zwave auch, nuc's genauso und HA auch

          theknutT 1 Antwort Letzte Antwort
          0
          • arteckA arteck

            @theknut das sind 3 Zeilen code ..

            theknutT Offline
            theknutT Offline
            theknut
            schrieb am zuletzt editiert von
            #5

            @arteck Das ist schon klar, es geht nur das Problem nicht mit mehr Workarounds zu überdecken, sondern versuchen es zu fixen. Ich stelle mich gerne zur Verfügung, wenn mir jemand sagt wo der Code ist und wo ich schauen müsste. Schneller würde es sicherlich gehen, wenn es jemand macht der bereits mit dem Thema vertraut ist.

            ☕ @ https://ko-fi.com/theknut

            1 Antwort Letzte Antwort
            0
            • theknutT theknut

              @apollon77 Gibt es hier schon ein Update bzgl. kein Trigger bei expire?
              Ich habe zwei Probleme:

              • weiterhin kein Trigger
              • Wenn das Expire auf einen Aliasstate mit Write Converter geht, wird ihm scheinbar einfach hintenrum der State entzogen, ohne dass der Converter aufgerufen wird. Demnach ist dann der State null und nicht wie bei val ? "on" : "off" zu erwarten off.

              Meine Überlegung war nämlich diese: Ich habe ein Thermostat aus Temperatursensor und Shelly realisiert. Leider hapert die Verbindung zum Temperatursensor manchmal etwas. Dann bleibt die Heizung ewig an, weil die Zieltemperatur nicht erreicht ist. Daher wollte ich die Heizung mit Expire 15 Minuten setzen, das heißt, wenn bis dahin kein neuer Wert kam, dann geht die Heizung wieder aus. Normalerweise kommt eine neuer Wert nach 5 Minuten und sollte somit das Expire zurücksetzen. Das ist quasi eine Art Totmannschalter. Leider komme ich aber nicht in den Trigger, dass der Wert auf null gesetzt wurde. Das wäre mein Workaround für den fehlenden Converterdurchlauf gewesen.

              apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #6

              @theknut Die interessamnte frage ist für mich: Warum hat der state nen expire überhaupt? Wenn expire trigger bei alias nucht tun dann wäre das ein js-controller issue wert- Müsste man sich ansehen. An sich sollte das "null" annopunced werden .. aber halt das ... und ja das ist kein state value=null sondern "kein state".

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              1 Antwort Letzte Antwort
              2

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate
              FAQ Cloud / IOT
              HowTo: Node.js-Update
              HowTo: Backup/Restore
              Downloads
              BLOG

              345

              Online

              32.8k

              Benutzer

              82.8k

              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