Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. VIS Werte werden von ioBroker nicht bestätigt (ack = false)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    VIS Werte werden von ioBroker nicht bestätigt (ack = false)

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SaschaS last edited by

      Hallo zusammen,
      über die Suche habe nichts auf Anhieb gefunden. Sicherlich ist meine Frage auch schnell gelöst, aber alleine komme ich nicht weiter.

      Ich erzeuge meine Datenpunkte immer mit createState (siehe nachstehend). Das Beschreiben einiger dieser Datenpunkte erfolgt erstmalig über die jqui Eingabemöglichkeiten mittels VIS. 0d4842d5-fb83-431a-a66b-8c1787fc2422-image.png Die Werte werden auch übernommen, allerdings werden diese von iobroker nicht bestätigt.
      c2dcfd41-4105-445d-a297-6ddf22bdc7a0-image.png

      // Tahoma
      createState('javascript.0.Tahoma.Beschattungsautomatik', false, false, {type:"boolean", name:"Beschattungsautomatik", role:"indicator.state", unit:""});
      createState('javascript.0.Tahoma.WetterBeschattungEmpfehlung', false, false, {type:"boolean", name:"WetterBeschattungEmpfehlung", role:"indicator.state", unit:""});
      createState('javascript.0.Tahoma.BeschattungLuxHinten', false, false, {type:"number", name:"BeschattungLuxHinten", role:"level.color.luminance", unit:"Lux"});
      createState('javascript.0.Tahoma.BeschattungLuxVorne', false, false, {type:"number", name:"BeschattungLuxVorne", role:"level.color.luminance", unit:"Lux"});
      createState('javascript.0.Tahoma.BeschattungBewoelkung', false, false, {type:"number", name:"BeschattungBewoelkung", role:"weather.clouds.forecast", unit:"%"});
      createState('javascript.0.Tahoma.Programmsteuerung_Startzeit', '6:30', false, {type:'string', name:"Programmsteuerung_Startzeit", role:"value.datetime", unit:""});
      createState('javascript.0.Tahoma.Programmsteuerung_Endzeit',  '18:00', false, {type:'string', name:"Programmsteuerung_Endzeit", role:"value.datetime", unit:""});
      createState('javascript.0.Tahoma.Programmsteuerung_Startzeit_Stunde', '6', false, {type:'string', name:"Programmsteuerung_Startzeit_Stunde", role:"value.datetime", unit:""});
      createState('javascript.0.Tahoma.Programmsteuerung_Startzeit_Minute', '30', false, {type:'string', name:"Programmsteuerung_Startzeit_Minute", role:"value.datetime", unit:""});
      createState('javascript.0.Tahoma.Programmsteuerung_Endzeit_Stunde', '18', false, {type:'string', name:"Programmsteuerung_Endzeit_Stunde", role:"value.datetime", unit:""});
      createState('javascript.0.Tahoma.Programmsteuerung_Endzeit_Minute', '0', false, {type:'string', name:"Programmsteuerung_Endzeit_Minute", role:"value.datetime", unit:""});
      

      Ist das so, oder wo habe ich was vergessen einzustellen?

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @SaschaS last edited by

        @SaschaS sollen diese Daten noch irgendwie übernommen und verarbeitet werden?
        Von einem Adapter?

        Wenn es reine eigene Datenpunkte sind müssten sie mit ack=true übergeben werden.
        Ob und wie das mit den Widgets out of the Box geht weiß ich nicht.

        S 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @SaschaS last edited by paul53

          @SaschaS sagte:

          allerdings werden diese von iobroker nicht bestätigt.

          ioBroker bestätigt keine Werte. Dies tun Instanzen mit ihren Datenpunkten. Eigene Datenpunkte können (per Script), müssen aber nicht bestätigt werden.

          1 Reply Last reply Reply Quote 0
          • S
            SaschaS @Homoran last edited by

            @Homoran Die geschrieben Daten werden nur von meinen eigenen Skripten weiterverwendet. Hört sich also so an, als ob das nicht so schlimm ist, dass die Daten nicht bestätigt sind.
            @paul53 Hast du mir einen Anstoss, wie ich per Skript Datenpunkte bestätigen lassen kann?

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @SaschaS last edited by paul53

              @SaschaS sagte:

              wie ich per Skript Datenpunkte bestätigen lassen kann?

              Wozu möchtest Du sie bestätigen lassen ?

              on({id: /^javascript\.0\.Tahoma\..+/, ack: false}, function(dp) {
                 setState(dp.id, dp.state.val, true);
              });
              

              Problem: Auswertende Skripte müssen auf Wertänderung oder ack = true triggern, da sonst zweimal getriggert wird.

              1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active last edited by mickym

                Grundsätzlich werden bzw. müssen nach meiner Erfahrung Werte ohne ack geschrieben werden, da sie von Adaptern weiterverarbeitet werden die quasi direkt mit der Hardware kommunizieren.

                Wenn Du also über VIS einen Wert setzt, wird er standardmässig bewusst ohne ack gesetzt, damit der "HW-"Adapter oder verarbeitende Adapter erkennen kann, welchen Wert er umsetzen muss und bestätigt die Umsetzung mit einem ack=true.
                In sofern wäre eine Visualisierungssoftware, die selbst Änderungen bestätigt völliger Nonsens.
                Ist die Verarbeitung rein logisch, dann müsstest Du über Deine Logikmaschine diese Werte auch bestätigen - das ist in meinen Augen völlig korrekt. Insofern ist die Bestätigung über ein Script sinnvoll.

                In NodeRed wird das bei den iobroker Ausgaben dadurch gesteuert, indem man angibt ob Änderungen als Wert/Value (ack=true) oder als Kommando/Command (ack=false) interpretiert werden sollen. Viele wundern sich, warum dann nichts passiert, wenn sie Werte als Values schreiben. Und die Erklärung ist in meinen Augen die obige.

                Logik Maschinen (Java oder NodeRed) können nun auswerten, wann ein Wert gesetzt wurde und wann er vom Adapter bestätigt wurde und ggf. unterschiedlich reagieren.

                1 Reply Last reply Reply Quote 0
                • A
                  antimon last edited by antimon

                  Noch ergänzend zum Beitrag von mickym:

                  Man kann sich das ack zur Unterscheidung Soll/Ist vorstellen. Angenommen man hat einen Button in vis mit einer Lampe als Statussymbol. In dem Moment, indem man den Button betätigt, wird ein Kommando gesendet: Schalte Lampe ein (=Soll). Dabei ist ACK=false, denn die Bestätigung der Lampe ist ja noch nicht da. Erst wenn die Lampe auch wirklich reagiert hat und an ist, schickt sie ihren Status mit ACK=true (=Istwert) zurück, dann weiß vis, dass die Lampe auch wirklich angegangen ist. Im Falle von z.B. einer Hue-Lampe, die gerade eine Funkstörung hat, würde keine Bestätigung (ACK=true) zurückkommen, damit weiß man dass der Soll-Befehl nicht ausgeführt werden konnte.

                  Bei einer Jalousie wäre das beispielsweise so: Ich will eine offene (Wert: 0 % geschlossen) Jalousie herunterfahren - ich setze den Sollwert auf 100 % geschlossen. Die Markise braucht eine gewisse Zeit und sendet, während sie fährt, die ganze Zeit Ihren Status ... 10 %, 20 %, 30 %, ... und zwar immer als IST-Wert (ACK=true). Der Sollwert (100 %) bleibt die ganze Zeit unverändert, bis die Jalousie ihr Ziel erreicht hat. Während der ganzen Zeit kann vis aber die aktuelle Position ermitteln und entsprechend anzeigen. Das geht nur, wenn Sie Soll/Ist unterscheiden kann - und dazu brauche ich das Flag "ACK".

                  Das Flag sollte nur der Teil des Systems setzen, der auch wirklich den aktuellen Zustand kennt.

                  Ich hoffe, das ist jetzt etwas klarer geworden?

                  1 Reply Last reply Reply Quote 1
                  • First post
                    Last post

                  Support us

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

                  625
                  Online

                  31.9k
                  Users

                  80.2k
                  Topics

                  1.3m
                  Posts

                  bestätigt jquery jquery-ui style widget vis
                  5
                  7
                  1169
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo