Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MQTT ack=false forcieren?

    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

    MQTT ack=false forcieren?

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @Highpressure last edited by

      @highpressure Wie hast Du denn MQTT und den anderen Adapter miteinander verknüpft?

      H 1 Reply Last reply Reply Quote 0
      • H
        Highpressure @haus-automatisierung last edited by

        @haus-automatisierung 11-10-2023_13-52-34.png

        via einstellungen des go-e adapter

        haus-automatisierung mcm1957 2 Replies Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @Highpressure last edited by haus-automatisierung

          @highpressure sagte in MQTT ack=false forcieren?:

          via einstellungen des go-e adapter

          Und wenn Du only Ack anhakst? Dann sollte doch genau das gewünschte Verhalten erreicht werden (oder ich verstehe die Option in den Einstellungen falsch).

          Ist auch hier erklärt: https://github.com/MK-2001/ioBroker.go-e/issues/168#issuecomment-1639802038

          Normalerweise sollten von einem System immer nur bestätigte Werte geliefert werden. Unbestätigte werden zu steuern verwendet und dann vom Zielgerät nachträglich bestätigt.
          Je nachdem welchen Adapter du verwendest, kommen ggf. auch unbestätigte werte aus dem Adapter zurück, dann muss der Haken bei OnlyAck raus.

          FranzKillig created this issue in MK-2001/ioBroker.go-e

          closed Ich benötige eine kurze Erklärung zum PV-Überschussladen #168

          H 1 Reply Last reply Reply Quote 0
          • mcm1957
            mcm1957 @Highpressure last edited by

            @highpressure

            Adapter setzen ihre AUSGANGS-State, d.h. jene States die einen Wert VOM Gerät liefern IMMER mit ack=true. Alles andere wäre falsch.

            Schau mal in die go-e Dokumentation, dort gibts ein Beispiel für Fronius
            https://github.com/MK-2001/ioBroker.go-e/blob/main/docs/Readme.md#foreign-objects

            1 Reply Last reply Reply Quote 0
            • H
              Highpressure @haus-automatisierung last edited by Highpressure

              @haus-automatisierung

              hab ich schon alles durch 😞
              Die Beschreibung im screenshot sagt auch: "This Adapter is currently consuming only ack = false states."

              Wenn ich onlyAck wähle habe ich im log einen error:
              11-10-2023_14-02-49.png

              wähle ich gar nichts von beiden - verhalten wie vorher

              ich hab eben ins github repo geschaut und die main.js geöffnet:

              EDIT sorry, screenshot ist ein paar zeilen zu hoch, weiter unte ist quasi derselbe text nochmals für die ack=true in Zeile 284
              https://github.com/MK-2001/ioBroker.go-e/blob/main/main.js11-10-2023_14-04-22.png

              scheinbar wird nur die house consumption geprüft, wie ich das sehe, oder?

              mcm1957 haus-automatisierung 2 Replies Last reply Reply Quote 0
              • mcm1957
                mcm1957 @Highpressure last edited by

                @highpressure said in MQTT ack=false forcieren?:

                This Adapter is currently consuming only ack = false states.

                Dann poste das Problem entweder im go-e Wartungstopic (so es das gibt) und / oder mach ein Issue beim Adapter auf.

                Wie oben geschrieben, States die der Adapter xyz mit Werten aus dem Gerät befüllt werden IMMER ack=true haben.

                Nur States die DU als Input in den Adapter schreibts müssen ack=false haben. Das kann dann aber nur States des GO-E betreffen, die DU (z.b. via script) beschreibts.

                H 1 Reply Last reply Reply Quote 0
                • H
                  Highpressure @mcm1957 last edited by Highpressure

                  @mcm57

                  Vielen Dank, dann werde ich das im GitHub so tun 🙂

                  DANKE EUCH FÜR DIE HILFE!

                  PS: habe ChatGPT4 den link zur main.js gegeben und um erklärung gebeten weshalb das so ist:

                  In the code, checking for ack = false is crucial as it helps ensure that only state changes initiated by external inputs are processed further in the onStateChange method. When ack is false, it indicates that the state change is new or unacknowledged, prompting action to handle this change. If ack were true, it would signify an acknowledged or system-generated state change, which doesn't require further action in this context​1.

                  mcm1957 M 2 Replies Last reply Reply Quote 0
                  • mcm1957
                    mcm1957 @Highpressure last edited by

                    @highpressure

                    Möglicherweise hat der Adapzter den (in meinen Augen falschen Ansatz) dass hier ein vom User beschreibarer State in der Config eingetragen wird, z.B. 0_userdate.xxxxx. Wenn du diesen eigenen State per Skript beschreibts kann da natürlich ack=false stehen.

                    Der Ansatz ist aber m.E. falsch, da für das Bearbeiten des States als Input bei einem Adapter gilt:

                    • Input State === eigener State der Instanz -> ack=false
                    • Input State === foreign State einer fremden Instanz -> ack=true

                    Es mag Ausnahmen geben - hier seh ich aber keine.

                    1 Reply Last reply Reply Quote 0
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @Highpressure last edited by haus-automatisierung

                      @highpressure sagte in MQTT ack=false forcieren?:

                      EDIT sorry, screenshot ist ein paar zeilen zu hoch, weiter unte ist quasi derselbe text nochmals für die ack=true in Zeile 284

                      Gerade nochmal den Code genauer angeschaut. Wenn state.ack = true, dann geht es ja hier weiter:

                      https://github.com/MK-2001/ioBroker.go-e/blob/fe2afea205c73c870473201012e9755ba9fc23a6/main.js#L285-L296

                      Und dann wird geprüft, ob onlyAck auch auf true steht. Sollte also funktionieren.

                      @highpressure sagte in MQTT ack=false forcieren?:

                      scheinbar wird nur die house consumption geprüft, wie ich das sehe, oder?

                      Nein, werden alle geprüft. Siehe 3x case da drüber. Code passt aus meiner Sicht.

                      Teil doch am besten nochmal ein Log, wenn Du überall onlyAck angehakt hast.

                      @mcm57 sagte in MQTT ack=false forcieren?:

                      Möglicherweise hat der Adapzter den (in meinen Augen falschen Ansatz)

                      Der Adapter bietet doch in den Instanzeinstellungen die Option, ob man jeweils ack: true oder ack: false verarbeiten möchte. Mehr Optionen braucht man ja nicht. Damit ist alles abgedeckt. Auch dieser MQTT-Fall hier.

                      mcm1957 1 Reply Last reply Reply Quote 0
                      • mcm1957
                        mcm1957 @haus-automatisierung last edited by

                        @haus-automatisierung said in MQTT ack=false forcieren?:

                        Der Adapter bietet doch in den Instanzeinstellungen die Option, ob man jeweils ack: true oder ack: false verarbeiten möchte. Mehr Optionen braucht man ja nicht. Damit ist alles abgedeckt. Auch dieser MQTT-Fall hier.

                        Wenn er das tut ist das voll in Ordnung.
                        Ich hatte nur - ohne den Code zu analysieren - nach dem hier geschriebenen einen anderen Einsruck.

                        1 Reply Last reply Reply Quote 0
                        • M
                          mk2001 @Highpressure last edited by mk2001

                          @highpressure

                          Die gezeigt Fehlermeldung erscheint, wenn eines der auszulesenden Objekte keinen Wert, bzw. Keinen numerischen Wert beinhaltet.

                          Bitte stelle sicher, dass alle Objekte eingetragen sind. Und in deren Values auch reale Werte eingetragen sind. Welche Werte bei der Berechnung berücksichtigt werden ist in der Formel bei den Einstellungen ersichtlich.

                          M.E. Hat die Fehlermeldung nichts mit ack zu tun.

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            Highpressure @mk2001 last edited by

                            @mk2001

                            go-e.0
                            12309 2023-10-11 14:03:26.539 silly States user redis pmessage io.mqtt.0.PVGrid.total.pv_power.state/io.mqtt.0.PVGrid.total.pv_power.state:{"val":5288,"ack":true,"ts":1697025806536,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697025806536}

                            go-e.0
                            12309 2023-10-11 14:03:26.537 silly States user redis pmessage io.mqtt.0.PVGrid.total.load_power.state/io.mqtt.0.PVGrid.total.load_power.state:{"val":5770,"ack":true,"ts":1697025806536,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697025806536}

                            go-e.0
                            12309 2023-10-11 14:03:26.529 silly States user redis pmessage io.mqtt.0.PVGrid.total.battery_power.state/io.mqtt.0.PVGrid.total.battery_power.state:{"val":-208,"ack":true,"ts":1697025806528,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697025806528}

                            Das sind auch die Foreign Objects aus dem Setup, die liest er ja scheinbar auch aus und wie im silly log zu lesen sind sie nicht 0.

                            11-10-2023_20-53-33.png

                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                            • haus-automatisierung
                              haus-automatisierung Developer Most Active @Highpressure last edited by

                              @highpressure Du hast onlyAck ja immernoch nicht angehakt 🙂

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

                              Support us

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

                              926
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              5
                              17
                              806
                              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