Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Wozu ist der ack-Flag da?

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    257

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Wozu ist der ack-Flag da?

Wozu ist der ack-Flag da?

Scheduled Pinned Locked Moved ioBroker Allgemein
33 Posts 10 Posters 6.9k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • HomoranH Homoran

    @idlebit sagte in js-controller 3.3 jetzt im STABLE!:

    Genau das sagte ich doch?!

    dann war das unglücklich formuliert:

    @idlebit sagte in js-controller 3.3 jetzt im STABLE!:

    Wenn der Script den Datenpunkt erfolgreich verarbeitet hat, bestätigt er diesen mit den selben Wert und ack=true

    Das bedeutete für mich, dass jedes Skript das von sich aus macht

    IdleBitI Offline
    IdleBitI Offline
    IdleBit
    wrote on last edited by IdleBit
    #11

    @homoran Ok, ich meinte eher das es so sein sollte wenn man einen Script schreibt 🙂

    Hier noch ein Snipped:

    on({id: dp_present, change: 'ne'}, (obj)=>{
        ultraCooleLogic(obj.state.val);    
        setState(obj.id, obj.state.val, true);
    });
    
    1 Reply Last reply
    1
    • IdleBitI IdleBit

      @wildbill
      Einfach bei den setState als 3. Übergabeparameter ein true oder false mit übergeben.

      setState(<der Datenpunkt>, <dein Wert>, true);
      

      Gruß
      Dennis

      apollon77A Offline
      apollon77A Offline
      apollon77
      wrote on last edited by
      #12

      @idlebit NNaaajjjaaaaaaa ... wenn die Meldung kommt dann wird ein Read-Only State geschrieben ... die Hauptfrage für mich ist : Warum denn überhaupt? Aber ja eine Lösung (die pragmatischste aber nicht die beste) ist das von Dir vorgeschlagene. Die richtige Lösung ist zu schauen warum man überhaupt auf ein Read-Only-State schreibt und warum

      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
      HomoranH IdleBitI 2 Replies Last reply
      0
      • HomoranH Homoran

        @idlebit sagte in js-controller 3.3 jetzt im STABLE!:

        Genau das sagte ich doch?!

        dann war das unglücklich formuliert:

        @idlebit sagte in js-controller 3.3 jetzt im STABLE!:

        Wenn der Script den Datenpunkt erfolgreich verarbeitet hat, bestätigt er diesen mit den selben Wert und ack=true

        Das bedeutete für mich, dass jedes Skript das von sich aus macht

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #13

        @homoran sagte: Das bedeutete für mich, dass jedes Skript das von sich aus macht

        Nur dann, wenn das Skript in den (virtuellen) Datenpunkt schreibt. Wird der Datenpunkt im Skript nur gelesen, kann/sollte ack auf false bleiben.

        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 Reply Last reply
        0
        • apollon77A apollon77

          @idlebit NNaaajjjaaaaaaa ... wenn die Meldung kommt dann wird ein Read-Only State geschrieben ... die Hauptfrage für mich ist : Warum denn überhaupt? Aber ja eine Lösung (die pragmatischste aber nicht die beste) ist das von Dir vorgeschlagene. Die richtige Lösung ist zu schauen warum man überhaupt auf ein Read-Only-State schreibt und warum

          HomoranH Offline
          HomoranH Offline
          Homoran
          Global Moderator Administrators
          wrote on last edited by
          #14

          @apollon77 sagte in js-controller 3.3 jetzt im STABLE!:

          wenn die Meldung kommt dann wird ein Read-Only State geschrieben

          cool, es geht also gar nicht um ack 😂

          Danke für die Info

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Reply Last reply
          0
          • HomoranH Homoran

            @mickym sagte in js-controller 3.3 jetzt im STABLE!:

            Ich gehe mal davon aus, ohne die Internas zu kennen, dass die Warnung nur bei Adaptern auftaucht, aber nicht wenn DU mit VIS oder Deine Logikmaschine einen Wert ohne ACK setzt.

            da sind wir schon zwei!
            Ich fabuliere mal weiter: Vielleicht ist auch der Namespace 0_userdata.0 (und javascript.0) von der Kontrolle ausgenommen.
            Ich habe diese Meldungen (noch) nicht.

            @mickym sagte in js-controller 3.3 jetzt im STABLE!:

            Im Gegenteil Du "steuerst" ja gerade mit dem NICHT-ACK Flag setzten in einem Skript, dass der Adapter erkennt - ah eine Änderung - muss was tun - und bestätigen, dass das Gemachte erfolgreich war.

            Das war das was ich eben meinte:
            Wenn man das Ganze auch für eigene Scripte zu Ende denkt, müsste/könnte man auch dort mit den Flags arbeiten um z.B. bei einem Datenpunkt zu erkennen, ob eine Bedienung über die vis stattgefunden hatte und nur dann mit dem eigenen Skript zu reagieren und anschließend (wie ein Adapter) ack=true zu setzen

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            wrote on last edited by
            #15

            @homoran sagte in js-controller 3.3 jetzt im STABLE!:

            @mickym sagte in js-controller 3.3 jetzt im STABLE!:

            Im Gegenteil Du "steuerst" ja gerade mit dem NICHT-ACK Flag setzten in einem Skript, dass der Adapter erkennt - ah eine Änderung - muss was tun - und bestätigen, dass das Gemachte erfolgreich war.

            Das war das was ich eben meinte:
            Wenn man das Ganze auch für eigene Scripte zu Ende denkt, müsste/könnte man auch dort mit den Flags arbeiten um z.B. bei einem Datenpunkt zu erkennen, ob eine Bedienung über die vis stattgefunden hatte und nur dann mit dem eigenen Skript zu reagieren und anschließend (wie ein Adapter) ack=true zu setzen

            In meinen Skripts (auch mit NodeRed 😉 ) - mache ich das auch so. Sprich ändere ich ein Objekt in einem Adapter - dann wird ACK=false (also nicht gesetzt).
            Schreibe ich hingegen selbst einen Wert unter 0_userdata.0 - setze ich immer das ACK=true Flag, da es ja sonst niemand macht. 😉

            Im Prinzip muss ich als Skript-Schreiber mir nur überlegen, welchen Wert ich aktualisiere und mir überlegen - gibts da jemand oder was, der meinen Wert bestätigen kann. 😉 😉

            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.

            1 Reply Last reply
            1
            • cashC cash

              @homoran soweit klar. Angenommen ich habe einen Datenpunkt erstellt z. B. automatisch saugen als boolean. Einmal täglich läuft ein Script welches den Sauger startet aber nur wenn der Datenpunkt auf true steht.
              Wenn ich den nun per vis setze wird er mit ack false gesetzt oder? Muss das nun per ack = true erfolgen?

              Angenommen ich habe einen eigenen Datenpunkt erstellt "Licht" diesen habe ich in Yahka Adapter eingebunden. Wenn ich per Homekit das Licht auf true setzte reagiert mein Script und schaltet das Licht ein.
              Muss Yahka den Wert mit ack=true setzen? Oder muss ich per Script die Änderung mit true bestätigen?

              apollon77A Offline
              apollon77A Offline
              apollon77
              wrote on last edited by
              #16

              Auch wenn es schon diskutiert wurde noch mein "senf dazu"

              Kurz ist es:

              • ack=false bedeutet "Der gesetzte Wert ist ein Steuerkommando was besagt das der State eine Aktion ausführt mit diesem Wert. Erstmal egal was dahinter passiert. Auch egal ob die Logik wird den Wert so weitersendet oder was anderes damit tut. Mit ack=false hat der Wert faktisch "keine klare Bedeutung" weil unklar ist was der echte Gerätszustand ist.
              • ack=true bedeutet "Das ist der aktuelle Wert der so vom "gerät" bzw von der "Logik die hinter diesem State liegt" bestätigt wurde (daher auch der name ack=="acknowledged"). Das ist damit kein Kommando sondern ein" Fakt"

              @cash sagte in js-controller 3.3 jetzt im STABLE!:

              Angenommen ich habe einen Datenpunkt erstellt z. B. automatisch saugen als boolean. Einmal täglich läuft ein Script welches den Sauger startet aber nur wenn der Datenpunkt auf true steht.
              Wenn ich den nun per vis setze wird er mit ack false gesetzt oder? Muss das nun per ack = true erfolgen?

              Interessanter Fall. Formal korrekt wäre das das true mit ack=false geschrieben wurd und dein Skript wenn es den Sauger dann "einmalig" gestartet hat das state mit "value=false, ack=true" quasi zurücksetzt.
              Und korrekt vis setzt immer ack=false weil Vis im Normalfall immer etweas steuern will!

              @cash sagte in js-controller 3.3 jetzt im STABLE!:

              Angenommen ich habe einen eigenen Datenpunkt erstellt "Licht" diesen habe ich in Yahka Adapter eingebunden. Wenn ich per Homekit das Licht auf true setzte reagiert mein Script und schaltet das Licht ein.
              Muss Yahka den Wert mit ack=true setzen? Oder muss ich per Script die Änderung mit true bestätigen?

              Yahka MUSS (wenn es ein Steuerkommando ist!) mit ack=false setzen weil sonst keine Steueraktion erfolgen sollte. Und dein Skript sollte auf "ack=true" nicht reagieren.

              Ob Du die Aktion mit "true" bestätigst oder nicht bleibt Dir überlassen (in dem Fall gehen ja andere States - nämlich die der Lichter - auf true. Wenn dein State also ein "Button" ist dann weiss der ja eh nicht was der echte Status ist (kannst du deinem Wand-taster ja auch nicht ansehen). Also einen Button zu bestätigen ist faktisch falsch. Wenn es ein Schalter wäre dann macht es sinn zu bestätigen weil der einen klaren Zustand hat.

              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 Reply Last reply
              0
              • apollon77A apollon77

                @nathandrake sagte in js-controller 3.3 jetzt im STABLE!:

                Aber ioBroker läuft nicht stabil damit. Da es einfach zu viele Abhängigkeiten gibt. Eben der Nachteil von einem modularen System.

                Sehe ich nicht so. Die hier gemeldete "Abhängigkeit" besteht nur wegen einem Bug wie Adapter Daten gespeichert haben - und ja Skripte Sie dann so gelesen haben. Daher besteht in diesem einen Fall eine Abhängigkeit zu einer neuen JavaScript Version, die leider die neue Admin Version braucht um das glatt zu ziehen. Einzelne Skripte müssen ggf dennoch angepasst werden! Dennoch ist glaube ich die Zahl der User die in Skripten solche Datentypen nutzen seeeehr überschaubar.
                In dem Fall von einer generellen Thematik zu sprechen ist weit hergeholt, sorry.

                Ansonsten stellt ioBroker sicher das Abhängigkeiten beachtet werden und stellt so sicher das genau keine Probleme passieren können.

                Jetzt mal bitte wieder durchatmen und das ganze etwas realistisch und nicht im Panikmodus sehen. Danke

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                wrote on last edited by
                #17

                @apollon77

                Hab noch eine Detailfrage in Verbindung mit dem ack-Flag

                folgende Situation:
                Im tvprogram-vis widget schreibe ich diverse Daten direkt in Datenpunkte.
                Darunter sind auch Datenpunkte, die auf readonly stehen, da der Nutzer diese nicht beschreiben sollte.
                Leider bietet die vis-Funktion setValue nicht die Möglichkeit optional das ack-Flag mit anzugeben.

                Es gibt jetzt 2 Möglichkeiten wie man das beheben könnte:

                1. in vis wird die Funktion setValue erweitert, so das man das ackFlag=true setzen kann
                2. ich sende die Informationen erst per sendTo an den Adapter, so das der Adapter die Daten dann in den Datenpunkt schreibt.

                Wie sollen wir damit umgtehen?

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

                paul53P apollon77A 2 Replies Last reply
                0
                • OliverIOO OliverIO

                  @apollon77

                  Hab noch eine Detailfrage in Verbindung mit dem ack-Flag

                  folgende Situation:
                  Im tvprogram-vis widget schreibe ich diverse Daten direkt in Datenpunkte.
                  Darunter sind auch Datenpunkte, die auf readonly stehen, da der Nutzer diese nicht beschreiben sollte.
                  Leider bietet die vis-Funktion setValue nicht die Möglichkeit optional das ack-Flag mit anzugeben.

                  Es gibt jetzt 2 Möglichkeiten wie man das beheben könnte:

                  1. in vis wird die Funktion setValue erweitert, so das man das ackFlag=true setzen kann
                  2. ich sende die Informationen erst per sendTo an den Adapter, so das der Adapter die Daten dann in den Datenpunkt schreibt.

                  Wie sollen wir damit umgtehen?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #18

                  @oliverio sagte: Darunter sind auch Datenpunkte, die auf readonly stehen, da der Nutzer diese nicht beschreiben sollte.

                  Du willst sie trotzdem per Vis beschreiben? Wozu sind sie dann "read only"?

                  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

                  OliverIOO 2 Replies Last reply
                  1
                  • paul53P paul53

                    @oliverio sagte: Darunter sind auch Datenpunkte, die auf readonly stehen, da der Nutzer diese nicht beschreiben sollte.

                    Du willst sie trotzdem per Vis beschreiben? Wozu sind sie dann "read only"?

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    wrote on last edited by OliverIO
                    #19

                    @paul53
                    die widget logik beschreibt diese intern.
                    beispiel: in einem steht die configuration drin, welche senderauswahl im widget angezeigt werden soll.
                    das widget hat dazu eine eigene oberfläche die der benutzer bedienen kann. das widget schreibt dann json daten. dies sollten die nutzer nicht selbst tun.

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

                    Pedder007P 1 Reply Last reply
                    0
                    • paul53P paul53

                      @oliverio sagte: Darunter sind auch Datenpunkte, die auf readonly stehen, da der Nutzer diese nicht beschreiben sollte.

                      Du willst sie trotzdem per Vis beschreiben? Wozu sind sie dann "read only"?

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      wrote on last edited by
                      #20

                      @paul53 sagte in Wozu ist der ack-Flag da?:

                      @oliverio sagte: Darunter sind auch Datenpunkte, die auf readonly stehen, da der Nutzer diese nicht beschreiben sollte.

                      Du willst sie trotzdem per Vis beschreiben? Wozu sind sie dann "read only"?

                      @paul53
                      die widget logik beschreibt diese intern.
                      beispiel: in einem steht die configuration drin, welche senderauswahl im widget angezeigt werden soll.
                      das widget hat dazu eine eigene oberfläche die der benutzer bedienen kann. das widget schreibt dann json daten. dies sollten die nutzer nicht selbst tun.

                      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 Reply Last reply
                      0
                      • OliverIOO OliverIO

                        @apollon77

                        Hab noch eine Detailfrage in Verbindung mit dem ack-Flag

                        folgende Situation:
                        Im tvprogram-vis widget schreibe ich diverse Daten direkt in Datenpunkte.
                        Darunter sind auch Datenpunkte, die auf readonly stehen, da der Nutzer diese nicht beschreiben sollte.
                        Leider bietet die vis-Funktion setValue nicht die Möglichkeit optional das ack-Flag mit anzugeben.

                        Es gibt jetzt 2 Möglichkeiten wie man das beheben könnte:

                        1. in vis wird die Funktion setValue erweitert, so das man das ackFlag=true setzen kann
                        2. ich sende die Informationen erst per sendTo an den Adapter, so das der Adapter die Daten dann in den Datenpunkt schreibt.

                        Wie sollen wir damit umgtehen?

                        apollon77A Offline
                        apollon77A Offline
                        apollon77
                        wrote on last edited by
                        #21

                        @oliverio Also wenn es unbedingt das Widget sein muss 8was ein eher ungewöhnliches Konstrukt ist) brauchst Du wohl das genannte neue vis Feature 🙂

                        Sonst mach option 2

                        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 Reply Last reply
                        0
                        • NegaleinN Offline
                          NegaleinN Offline
                          Negalein
                          Global Moderator
                          wrote on last edited by Negalein
                          #22

                          Hallo

                          Habe aktuell wiedermal dieses ack-Flag Problem.

                          fast 2 Monate war Ruhe.
                          Heute wieder selbes Problem.

                          web.0 2021-08-24 22:01:47.187 warn Read-only state "alexa2.0.Echo-Devices.G090U5099045059V.Player.mediaProgress" has been written without ack-flag with value "210"
                          

                          Ich hab damals nichts geändert.
                          Widget ist auch unverändert.

                          [{"tpl":"tplValueString","data":{"oid":"alexa2.0.Echo-Devices.G090U5099045059V.Player.mediaProgressStr","g_fixed":true,"g_visibility":true,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis.0/Buchenweg/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis.0/Buchenweg/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis.0/Buchenweg/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"visibility-oid":"","html_prepend":"","class":"mdui-blue-glow"},"style":{"left":"354px","top":"503px","color":"#ffffff","width":"78px","height":"37px","text-align":"left","font-style":"normal","font-size":"x-large","z-index":"58","font-weight":"bold","font-family":"RobotoCondensed-Light","text-shadow":"rgba(0, 0, 0, 0.9) 3px 3px 4px"},"widgetSet":"basic"}]
                          

                          1625776995006-edit-vis.png

                          Liegt das Problem an Alexa, an VIS oder an Web?
                          Was kann ich machen, damit es wieder normal ist? Derzeit wird das Log mit den Meldungen geflutet.

                          ° Node.js: 20.17.0 NPM: 10.8.2
                          ° Proxmox, Ubuntu 22.04.3 LTS
                          ° Fixer ---> iob fix

                          1 Reply Last reply
                          0
                          • HomoranH Homoran

                            @idlebit sagte in js-controller 3.3 jetzt im STABLE!:

                            @cash Wenn der Script den Datenpunkt erfolgreich verarbeitet hat bestätigt er diesen mit den selben Wert und ack=true

                            Nein!

                            Das ist zwar genau das Prinzip.

                            Datenpunkt X wird geändert.
                            Ack=true bedeutet da ist alles fertig
                            Ack=false bedeuitet: da muss jetzt einer aktiv werden.
                            Dieser fürht dann mit dem Wert seine Aktion aus und setzt anschließend den Ack auf true um zu zeigen, dass die "Aufgabe erfüllt" wurde.

                            Bei Skripten müsste der Ersteller das dann entsprechend umsetzen. Und zwar vom triggern auf den geänderten state nur wenn ack=false und anschließendes setzen des ack-flags auf true

                            Wie gesagt ist das alles die Theorie, was noch angepasst werden muss muss jetzt gesehen werden

                            metaxaM Offline
                            metaxaM Offline
                            metaxa
                            wrote on last edited by metaxa
                            #23

                            Servus @homoran!

                            ich habe diesen Thread zwar gelesen, aber scheinbar doch nicht restlos verstanden. Folgende Situation:

                            Enigma2 DP
                            5c1c7f6d-0a26-4251-acfa-a6338899e1cd-image.png

                            {
                             "_id": "enigma2.0.command.SET_VOLUME",
                             "type": "state",
                             "common": {
                               "role": "level.volume",
                               "name": "SET VOLUME",
                               "type": "number",
                               "min": 0,
                               "max": 100,
                               "read": true,
                               "write": true
                             },
                             "native": {},
                             "from": "system.adapter.enigma2.0",
                             "ts": 1640339071751,
                             "acl": {
                               "object": 1636,
                               "state": 1636,
                               "owner": "system.user.admin",
                               "ownerGroup": "system.group.administrator"
                             },
                             "user": "system.user.admin"
                            }
                            


                            Sobald ich unter Objekten eine Zahl (egal 10, oder 10.0) eingebe,
                            a0c939f7-a11f-407a-8df8-e0f67cb5dce4-image.png
                            wird die Lautstärke erfolgreich am Receiver geändert. Gleichzeitig bekomme ich allerdings einen Logeintrag und der übergebene Wert verschwindet im DP:

                            enigma2.0
                            2021-12-28 09:58:54.682	info	State value to set for "enigma2.0.command.SET_VOLUME" has to be type "number" but received type "string"
                            

                            Detto wenn ich in einem Blockly einen Wert setze:
                            19361630-c240-405b-82cd-dc49924369bd-image.png


                            f3e833a3-542a-420e-94f6-1772c57ce012-image.png

                            {
                              "common": {
                                "name": "Wunsch Volume 0-100%",
                                "desc": "Manuell erzeugt",
                                "role": "level.volume",
                                "type": "number",
                                "min": 0,
                                "max": 100,
                                "read": true,
                                "write": true,
                                "def": 0
                              },
                              "type": "state",
                              "_id": "0_userdata.0.Audio_Video.WoZ.Wunsch_Volume_iQ",
                              "acl": {
                                "object": 1636,
                                "state": 1636,
                                "owner": "system.user.admin",
                                "ownerGroup": "system.group.administrator"
                              },
                              "from": "system.adapter.admin.0",
                              "user": "system.user.admin",
                              "ts": 1640512411775
                            }
                            

                            Setze ich den Wert allerdings mit "Bestätigt"
                            05b52bb7-2b95-4407-8969-a38141c81add-image.png
                            Bleibt der Wert stehen und es kommt auch kein Logeintrag.
                            b8de10d1-667c-4f79-a118-bdf539cae8b8-image.png

                            Wie kann ich dieses "Bestätigt" in einem Blockly simulieren? Oder bin ich da gedanklich komplett falsch abgebogen?

                            HomoranH 1 Reply Last reply
                            0
                            • metaxaM metaxa

                              Servus @homoran!

                              ich habe diesen Thread zwar gelesen, aber scheinbar doch nicht restlos verstanden. Folgende Situation:

                              Enigma2 DP
                              5c1c7f6d-0a26-4251-acfa-a6338899e1cd-image.png

                              {
                               "_id": "enigma2.0.command.SET_VOLUME",
                               "type": "state",
                               "common": {
                                 "role": "level.volume",
                                 "name": "SET VOLUME",
                                 "type": "number",
                                 "min": 0,
                                 "max": 100,
                                 "read": true,
                                 "write": true
                               },
                               "native": {},
                               "from": "system.adapter.enigma2.0",
                               "ts": 1640339071751,
                               "acl": {
                                 "object": 1636,
                                 "state": 1636,
                                 "owner": "system.user.admin",
                                 "ownerGroup": "system.group.administrator"
                               },
                               "user": "system.user.admin"
                              }
                              


                              Sobald ich unter Objekten eine Zahl (egal 10, oder 10.0) eingebe,
                              a0c939f7-a11f-407a-8df8-e0f67cb5dce4-image.png
                              wird die Lautstärke erfolgreich am Receiver geändert. Gleichzeitig bekomme ich allerdings einen Logeintrag und der übergebene Wert verschwindet im DP:

                              enigma2.0
                              2021-12-28 09:58:54.682	info	State value to set for "enigma2.0.command.SET_VOLUME" has to be type "number" but received type "string"
                              

                              Detto wenn ich in einem Blockly einen Wert setze:
                              19361630-c240-405b-82cd-dc49924369bd-image.png


                              f3e833a3-542a-420e-94f6-1772c57ce012-image.png

                              {
                                "common": {
                                  "name": "Wunsch Volume 0-100%",
                                  "desc": "Manuell erzeugt",
                                  "role": "level.volume",
                                  "type": "number",
                                  "min": 0,
                                  "max": 100,
                                  "read": true,
                                  "write": true,
                                  "def": 0
                                },
                                "type": "state",
                                "_id": "0_userdata.0.Audio_Video.WoZ.Wunsch_Volume_iQ",
                                "acl": {
                                  "object": 1636,
                                  "state": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator"
                                },
                                "from": "system.adapter.admin.0",
                                "user": "system.user.admin",
                                "ts": 1640512411775
                              }
                              

                              Setze ich den Wert allerdings mit "Bestätigt"
                              05b52bb7-2b95-4407-8969-a38141c81add-image.png
                              Bleibt der Wert stehen und es kommt auch kein Logeintrag.
                              b8de10d1-667c-4f79-a118-bdf539cae8b8-image.png

                              Wie kann ich dieses "Bestätigt" in einem Blockly simulieren? Oder bin ich da gedanklich komplett falsch abgebogen?

                              HomoranH Offline
                              HomoranH Offline
                              Homoran
                              Global Moderator Administrators
                              wrote on last edited by Homoran
                              #24

                              @metaxa sagte in Wozu ist der ack-Flag da?:

                              Oder bin ich da gedanklich komplett falsch abgebogen?

                              Hallo MXA
                              nicht ganz 😉

                              @metaxa sagte in Wozu ist der ack-Flag da?:

                              Wie kann ich dieses "Bestätigt" in einem Blockly simulieren?

                              mit "aktualisiere", dann ist ack=true - dann wird aber der Adapter nichts machen und deine Box behält die alte Lautstärke
                              mit "steuere" ist ack = false

                              @metaxa sagte in Wozu ist der ack-Flag da?:

                              Gleichzeitig bekomme ich allerdings einen Logeintrag und der übergebene Wert verschwindet im DP:

                              Das muss ich mal später näher ansehen.
                              Sieht eigentlich gut aus und verschwinden soll wegen der Meldung nix

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              metaxaM 1 Reply Last reply
                              0
                              • HomoranH Homoran

                                @metaxa sagte in Wozu ist der ack-Flag da?:

                                Oder bin ich da gedanklich komplett falsch abgebogen?

                                Hallo MXA
                                nicht ganz 😉

                                @metaxa sagte in Wozu ist der ack-Flag da?:

                                Wie kann ich dieses "Bestätigt" in einem Blockly simulieren?

                                mit "aktualisiere", dann ist ack=true - dann wird aber der Adapter nichts machen und deine Box behält die alte Lautstärke
                                mit "steuere" ist ack = false

                                @metaxa sagte in Wozu ist der ack-Flag da?:

                                Gleichzeitig bekomme ich allerdings einen Logeintrag und der übergebene Wert verschwindet im DP:

                                Das muss ich mal später näher ansehen.
                                Sieht eigentlich gut aus und verschwinden soll wegen der Meldung nix

                                metaxaM Offline
                                metaxaM Offline
                                metaxa
                                wrote on last edited by
                                #25

                                @homoran sagte in Wozu ist der ack-Flag da?:

                                mit "aktualisiere", dann ist ack=true - dann wird aber der Adapter nichts machen und deine Box behält die alte Lautstärke
                                mit "steuere" ist ack = false

                                Naja, blöd. "aktualisiere" schaltet nix, bringt aber auch keine irreführende Fehlermeldung. "steure" ist richtig und schaltet auch, bringt aber die Fehlermeldung.

                                Im Log steht eh ständig viel drinnen, kommt darauf nicht an, aber unsauber ist es allemal.

                                @homoran sagte in Wozu ist der ack-Flag da?:

                                Das muss ich mal später näher ansehen.

                                Überhaupt kein Problem, ist eher ein optisches Problem 🙂 , lieben Dank Rainer!

                                HomoranH 1 Reply Last reply
                                0
                                • metaxaM metaxa

                                  @homoran sagte in Wozu ist der ack-Flag da?:

                                  mit "aktualisiere", dann ist ack=true - dann wird aber der Adapter nichts machen und deine Box behält die alte Lautstärke
                                  mit "steuere" ist ack = false

                                  Naja, blöd. "aktualisiere" schaltet nix, bringt aber auch keine irreführende Fehlermeldung. "steure" ist richtig und schaltet auch, bringt aber die Fehlermeldung.

                                  Im Log steht eh ständig viel drinnen, kommt darauf nicht an, aber unsauber ist es allemal.

                                  @homoran sagte in Wozu ist der ack-Flag da?:

                                  Das muss ich mal später näher ansehen.

                                  Überhaupt kein Problem, ist eher ein optisches Problem 🙂 , lieben Dank Rainer!

                                  HomoranH Offline
                                  HomoranH Offline
                                  Homoran
                                  Global Moderator Administrators
                                  wrote on last edited by
                                  #26

                                  @metaxa sagte in Wozu ist der ack-Flag da?:

                                  "steure" ist richtig und schaltet auch, bringt aber die Fehlermeldung.

                                  kannst du da mal den enigma-Adapter auf debug schalten und nachsehen was da passiert
                                  ich vermute, dass vorher vom Receiver die bestehende Lautstärke als Sring kommt

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  metaxaM 1 Reply Last reply
                                  1
                                  • HomoranH Homoran

                                    @metaxa sagte in Wozu ist der ack-Flag da?:

                                    "steure" ist richtig und schaltet auch, bringt aber die Fehlermeldung.

                                    kannst du da mal den enigma-Adapter auf debug schalten und nachsehen was da passiert
                                    ich vermute, dass vorher vom Receiver die bestehende Lautstärke als Sring kommt

                                    metaxaM Offline
                                    metaxaM Offline
                                    metaxa
                                    wrote on last edited by
                                    #27

                                    @homoran sagte in Wozu ist der ack-Flag da?:

                                    kannst du da mal den enigma-Adapter auf debug schalten und nachsehen was da passiert

                                    Log ohne "Bestätigt":

                                    enigma2.0
                                    2021-12-28 11:39:52.144	debug	Box Muted:false
                                    
                                    enigma2.0
                                    2021-12-28 11:39:52.144	debug	Box Volume:10
                                    
                                    enigma2.0
                                    2021-12-28 11:39:52.143	debug	evaluating response for command 'GETVOLUME': {"e2volume":{"e2result":["True"],"e2resulttext":["Status"],"e2current":["10"],"e2ismuted":["False"]}}
                                    
                                    enigma2.0
                                    2021-12-28 11:39:52.103	info	State value to set for "enigma2.0.command.SET_VOLUME" has to be type "number" but received type "string"
                                    
                                    enigma2.0
                                    2021-12-28 11:39:52.076	debug	using authorization with user 'root'
                                    
                                    enigma2.0
                                    2021-12-28 11:39:52.062	debug	creating request for command 'GETVOLUME' (deviceId: [object Object], host: 192.168.0.58, port: 80, path: '/web/vol')
                                    
                                    enigma2.0
                                    2021-12-28 11:39:51.996	debug	using authorization with user 'root'
                                    
                                    enigma2.0
                                    2021-12-28 11:39:51.994	debug	creating request for command 'NONE' (deviceId: 1, host: 192.168.0.58, port: 80, path: '/web/vol?set=set10')
                                    

                                    Log mit "Bestätigt":
                                    0, nix, kein Eintrag

                                    HomoranH AsgothianA 2 Replies Last reply
                                    0
                                    • metaxaM metaxa

                                      @homoran sagte in Wozu ist der ack-Flag da?:

                                      kannst du da mal den enigma-Adapter auf debug schalten und nachsehen was da passiert

                                      Log ohne "Bestätigt":

                                      enigma2.0
                                      2021-12-28 11:39:52.144	debug	Box Muted:false
                                      
                                      enigma2.0
                                      2021-12-28 11:39:52.144	debug	Box Volume:10
                                      
                                      enigma2.0
                                      2021-12-28 11:39:52.143	debug	evaluating response for command 'GETVOLUME': {"e2volume":{"e2result":["True"],"e2resulttext":["Status"],"e2current":["10"],"e2ismuted":["False"]}}
                                      
                                      enigma2.0
                                      2021-12-28 11:39:52.103	info	State value to set for "enigma2.0.command.SET_VOLUME" has to be type "number" but received type "string"
                                      
                                      enigma2.0
                                      2021-12-28 11:39:52.076	debug	using authorization with user 'root'
                                      
                                      enigma2.0
                                      2021-12-28 11:39:52.062	debug	creating request for command 'GETVOLUME' (deviceId: [object Object], host: 192.168.0.58, port: 80, path: '/web/vol')
                                      
                                      enigma2.0
                                      2021-12-28 11:39:51.996	debug	using authorization with user 'root'
                                      
                                      enigma2.0
                                      2021-12-28 11:39:51.994	debug	creating request for command 'NONE' (deviceId: 1, host: 192.168.0.58, port: 80, path: '/web/vol?set=set10')
                                      

                                      Log mit "Bestätigt":
                                      0, nix, kein Eintrag

                                      HomoranH Offline
                                      HomoranH Offline
                                      Homoran
                                      Global Moderator Administrators
                                      wrote on last edited by Homoran
                                      #28

                                      @metaxa sagte in Wozu ist der ack-Flag da?:

                                      creating request for command 'GETVOLUME'

                                      wie ich vermutete
                                      Ich denke dass der Befehl es zu ändern SETVOLUME heißen müsste

                                      Ist aber alles nur Halbwissen

                                      BLÖDSINN!!!
                                      da steht es doch..

                                      @metaxa sagte in Wozu ist der ack-Flag da?:

                                      State value to set for "enigma2.0.command.SET_VOLUME" has to be type "number" but received type "string"

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      1 Reply Last reply
                                      0
                                      • metaxaM metaxa

                                        @homoran sagte in Wozu ist der ack-Flag da?:

                                        kannst du da mal den enigma-Adapter auf debug schalten und nachsehen was da passiert

                                        Log ohne "Bestätigt":

                                        enigma2.0
                                        2021-12-28 11:39:52.144	debug	Box Muted:false
                                        
                                        enigma2.0
                                        2021-12-28 11:39:52.144	debug	Box Volume:10
                                        
                                        enigma2.0
                                        2021-12-28 11:39:52.143	debug	evaluating response for command 'GETVOLUME': {"e2volume":{"e2result":["True"],"e2resulttext":["Status"],"e2current":["10"],"e2ismuted":["False"]}}
                                        
                                        enigma2.0
                                        2021-12-28 11:39:52.103	info	State value to set for "enigma2.0.command.SET_VOLUME" has to be type "number" but received type "string"
                                        
                                        enigma2.0
                                        2021-12-28 11:39:52.076	debug	using authorization with user 'root'
                                        
                                        enigma2.0
                                        2021-12-28 11:39:52.062	debug	creating request for command 'GETVOLUME' (deviceId: [object Object], host: 192.168.0.58, port: 80, path: '/web/vol')
                                        
                                        enigma2.0
                                        2021-12-28 11:39:51.996	debug	using authorization with user 'root'
                                        
                                        enigma2.0
                                        2021-12-28 11:39:51.994	debug	creating request for command 'NONE' (deviceId: 1, host: 192.168.0.58, port: 80, path: '/web/vol?set=set10')
                                        

                                        Log mit "Bestätigt":
                                        0, nix, kein Eintrag

                                        AsgothianA Offline
                                        AsgothianA Offline
                                        Asgothian
                                        Developer
                                        wrote on last edited by Asgothian
                                        #29

                                        @metaxa Es ist davon auszugehen das das Problem sich in dieser Zeile verbirgt:

                                        1:39:52.143	debug	evaluating response for command 'GETVOLUME': {"e2volume":{"e2result":["True"],"e2resulttext":["Status"],"e2current":["10"],"e2ismuted":["False"]}}
                                         
                                        

                                        Ohne das Format des JSON genau zu kennen gehe ich davon aus das unter e2current die aktuelle Lautstärke angegeben ist. Solange der Adapter beim Parsen keine Umwandlung von string zu Nummer machen und direkt die "10" in den State schreibt wird die Warnmeldung kommen.

                                        Hier wäre also ein Issue am Adapter sinnvoll um das adapter intern zu beheben.

                                        A.
                                        p.s. das beim Beschreiben mit "Bestätigt" keine Meldung kommt ist klar - der Befehl wird nicht an die Hardware gesendet und in der Folge wird auch die aktuell eingestellte Lautstärke von der Hardware nicht abgefragt um zu verifizieren das das Einstellen erfolgreich war.

                                        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                        HomoranH metaxaM 2 Replies Last reply
                                        3
                                        • AsgothianA Asgothian

                                          @metaxa Es ist davon auszugehen das das Problem sich in dieser Zeile verbirgt:

                                          1:39:52.143	debug	evaluating response for command 'GETVOLUME': {"e2volume":{"e2result":["True"],"e2resulttext":["Status"],"e2current":["10"],"e2ismuted":["False"]}}
                                           
                                          

                                          Ohne das Format des JSON genau zu kennen gehe ich davon aus das unter e2current die aktuelle Lautstärke angegeben ist. Solange der Adapter beim Parsen keine Umwandlung von string zu Nummer machen und direkt die "10" in den State schreibt wird die Warnmeldung kommen.

                                          Hier wäre also ein Issue am Adapter sinnvoll um das adapter intern zu beheben.

                                          A.
                                          p.s. das beim Beschreiben mit "Bestätigt" keine Meldung kommt ist klar - der Befehl wird nicht an die Hardware gesendet und in der Folge wird auch die aktuell eingestellte Lautstärke von der Hardware nicht abgefragt um zu verifizieren das das Einstellen erfolgreich war.

                                          HomoranH Offline
                                          HomoranH Offline
                                          Homoran
                                          Global Moderator Administrators
                                          wrote on last edited by
                                          #30

                                          @asgothian sagte in Wozu ist der ack-Flag da?:

                                          @metaxa Es ist davon auszugehen das das Problem sich in dieser Zeile verbirgt:

                                          1:39:52.143	debug	evaluating response for command 'GETVOLUME': {"e2volume":{"e2result":["True"],"e2resulttext":["Status"],"e2current":["10"],"e2ismuted":["False"]}}
                                           
                                          

                                          Ohne das Format des JSON genau zu kennen gehe ich davon aus das unter e2current die aktuelle Lautstärke angegeben ist. Solange der Adapter beim Parsen keine Umwandlung von string zu Nummer machen und direkt die "10" in den State schreibt wird die Warnmeldung kommen.

                                          Hier wäre also ein Issue am Adapter sinnvoll um das adapter intern zu beheben.

                                          A.

                                          das ist das was ich vermute - aber nicht so fundiert weiss

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          147

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe