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. Entwicklung
  4. wie ack-Eigenschaft genau behandeln?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

wie ack-Eigenschaft genau behandeln?

Geplant Angeheftet Gesperrt Verschoben Entwicklung
adapter entwicklung ack
4 Beiträge 3 Kommentatoren 371 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.
  • ELKE Offline
    ELKE Offline
    ELK
    schrieb am zuletzt editiert von
    #1

    Hallo!
    Ich entwickle einen Adapter, der angeschlossene Hardware steuern soll. Diese ist aber nicht zu 100% zuverlässig.
    In onStateChange bekomme ich also die Info, dass der Benutzer den Wert geändert haben möchte, also steht ack auf false und der gewünschte Wert in state.val.
    Dies leite ich an die Hardware weiter, die im Erfolgsfall die Statusänderung bestätigt, woraufhin ich setState mit ack=true machen kann, fertig.
    Nach dem Informieren der Hardware schaue ich per setTimeout nach ein paar Sekunden nach, ob es geklappt hat, also die Bestätigung kam. Wenn nicht, mache ich ein paar erneute Versuche.
    Nun endlich die Frage: Wenn ich nun nach ein paar Versuchen zum Ergebnis komme, dass der gewünschte Befehl nicht abschließend ausgeführt werden konnte ("Hardware klemmt"), wie gehe ich mit state.val und ack um?
    Einfach so lassen würde ja wohl bedeuten "wird gerade auf x gesetzt, ist aber noch nicht fertig", was evtl. zu Verwirrung führen könnte.
    Wieder zurücksetzen auf den vorherigen Wert mit ack=true? Dann müsste ich mir den alten Wert noch irgendwo merken. Oder finde ich den in state? stat.previousval oder so?
    Scheint mir alles nicht so toll zu sein. Gibt es da ein übliches Vorgehen?

    paul53P 1 Antwort Letzte Antwort
    0
    • ELKE ELK

      Hallo!
      Ich entwickle einen Adapter, der angeschlossene Hardware steuern soll. Diese ist aber nicht zu 100% zuverlässig.
      In onStateChange bekomme ich also die Info, dass der Benutzer den Wert geändert haben möchte, also steht ack auf false und der gewünschte Wert in state.val.
      Dies leite ich an die Hardware weiter, die im Erfolgsfall die Statusänderung bestätigt, woraufhin ich setState mit ack=true machen kann, fertig.
      Nach dem Informieren der Hardware schaue ich per setTimeout nach ein paar Sekunden nach, ob es geklappt hat, also die Bestätigung kam. Wenn nicht, mache ich ein paar erneute Versuche.
      Nun endlich die Frage: Wenn ich nun nach ein paar Versuchen zum Ergebnis komme, dass der gewünschte Befehl nicht abschließend ausgeführt werden konnte ("Hardware klemmt"), wie gehe ich mit state.val und ack um?
      Einfach so lassen würde ja wohl bedeuten "wird gerade auf x gesetzt, ist aber noch nicht fertig", was evtl. zu Verwirrung führen könnte.
      Wieder zurücksetzen auf den vorherigen Wert mit ack=true? Dann müsste ich mir den alten Wert noch irgendwo merken. Oder finde ich den in state? stat.previousval oder so?
      Scheint mir alles nicht so toll zu sein. Gibt es da ein übliches Vorgehen?

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

      @ELK sagte in:

      "wird gerade auf x gesetzt, ist aber noch nicht fertig", was evtl. zu Verwirrung führen könnte.

      Wieso Verwirrung ? Genau das sagt ack = false aus und wird als Rückgabe vom Adapter erwartet.

      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
      • ELKE Offline
        ELKE Offline
        ELK
        schrieb am zuletzt editiert von
        #3

        ok. Dann bleibt im Fehlerfalle also der Status auf dem Wunschwert und ack auf false.
        Hätte ja auch sein können, dass ein ack=false zu interpretieren ist als "in Arbeit, bitte später nochmal nachschauen". Aber offenbar ist es eher "sollte (irgendwann damals mal) geändert werden, hat bis jetzt aber noch nicht geklappt."
        Schön, spart mir Aufwand ;-)

        OliverIOO 1 Antwort Letzte Antwort
        0
        • ELKE ELK

          ok. Dann bleibt im Fehlerfalle also der Status auf dem Wunschwert und ack auf false.
          Hätte ja auch sein können, dass ein ack=false zu interpretieren ist als "in Arbeit, bitte später nochmal nachschauen". Aber offenbar ist es eher "sollte (irgendwann damals mal) geändert werden, hat bis jetzt aber noch nicht geklappt."
          Schön, spart mir Aufwand ;-)

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #4

          @ELK
          wenn dann die hardware regelmäßig abgefragt wird, dann wird bei der nächsten ordentlichen abfrage
          der Datenpunkt neu geschrieben und dann wieder mit ack bestätigt.
          wenn der adapter feststellt, das die Ansteuerung der Hardware nicht mehr funktioniert, dann sollte die Connection Eigenschaft auf false gesetzt werden, dann geht der adapter auf rot. dann muss erst das Problem grundsätzlich gelöst werden.

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          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

          308

          Online

          32.7k

          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