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. ioBroker Allgemein
  4. MQTT ack=false forcieren?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    104

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

MQTT ack=false forcieren?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
17 Beiträge 5 Kommentatoren 1.3k Aufrufe 5 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.
  • H Offline
    H Offline
    Highpressure
    schrieb am zuletzt editiert von
    #1

    Hi zusammen

    Ich habe aktuell den MQTT adapter in version 4.1.1 auf meiner QNAP basierenden ioBroker instanz laufen.
    Der Adapter verbindet sich als Client/Subscriber via IP zu meinem SolarAssistant MQTT Server um die Wechselrichter und Batteriewerte zu subscriben

    das Funktioniert soweit auch:

    mqtt-packet:writeToStream generate called +7ms
    mqtt-packet:writeToStream generate: packet.cmd: publish +0ms
    mqtt-packet:writeToStream publish: packet: { cmd: 'publish', topic: 'PVGrid/battery_1/state_of_charge/state', payload: '46', qos: 0, retain: false, messageId: 0, dup: false } +0ms
    mqtt-packet:writeToStream writeVarByteInt: writing to stream: <Buffer 2a> +0ms
    mqtt-packet:writeToStream writeNumberCached: number: 38 +1ms
    mqtt-packet:writeToStream writeNumberCached: <Buffer 00 26> +0ms
    mqtt-packet:writeToStream publish: payload: '46' +0ms
    2023-10-11 12:20:38.128 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.inverter_2.ac_output_voltage.state: {"val":229,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
    2023-10-11 12:20:38.129 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.inverter_2.load_power.state: {"val":1396,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
    2023-10-11 12:20:38.129 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.battery_1.power.state: {"val":1078,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
    2023-10-11 12:20:38.130 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.battery_1.state_of_charge.state: {"val":46,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019494681}
    2023-10-11 12:20:38.131 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.battery_1.voltage.state: {"val":53.9,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
    2023-10-11 12:20:38.132 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.total.battery_power.state: {"val":1078,"ack":true,"ts":1697019638112,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638112}
    2023-10-11 12:20:38.132 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.total.load_percentage.state: {"val":26,"ack":true,"ts":1697019638112,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019604919}

    Mein Problem ist allerdings das ack:true welches ich abstellen muss, da mein Go-E Adapter damit nicht umgehen kann.

    Die MQTT Einstellungen habe ich soweit alle standard gelassen.
    Sprich "Nur bei Änderungen publizieren" und "Eigene States beim Verbinden publizieren" ist gewählt.

    Wie bekomme ich es hin das ack:false ist?
    Auf der SolarAssistant Seite gibt es nichts einzustellen, was den wert ändert.

    Vielen lieben Dank!

    arteckA haus-automatisierungH 2 Antworten Letzte Antwort
    0
    • H Highpressure

      Hi zusammen

      Ich habe aktuell den MQTT adapter in version 4.1.1 auf meiner QNAP basierenden ioBroker instanz laufen.
      Der Adapter verbindet sich als Client/Subscriber via IP zu meinem SolarAssistant MQTT Server um die Wechselrichter und Batteriewerte zu subscriben

      das Funktioniert soweit auch:

      mqtt-packet:writeToStream generate called +7ms
      mqtt-packet:writeToStream generate: packet.cmd: publish +0ms
      mqtt-packet:writeToStream publish: packet: { cmd: 'publish', topic: 'PVGrid/battery_1/state_of_charge/state', payload: '46', qos: 0, retain: false, messageId: 0, dup: false } +0ms
      mqtt-packet:writeToStream writeVarByteInt: writing to stream: <Buffer 2a> +0ms
      mqtt-packet:writeToStream writeNumberCached: number: 38 +1ms
      mqtt-packet:writeToStream writeNumberCached: <Buffer 00 26> +0ms
      mqtt-packet:writeToStream publish: payload: '46' +0ms
      2023-10-11 12:20:38.128 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.inverter_2.ac_output_voltage.state: {"val":229,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
      2023-10-11 12:20:38.129 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.inverter_2.load_power.state: {"val":1396,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
      2023-10-11 12:20:38.129 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.battery_1.power.state: {"val":1078,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
      2023-10-11 12:20:38.130 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.battery_1.state_of_charge.state: {"val":46,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019494681}
      2023-10-11 12:20:38.131 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.battery_1.voltage.state: {"val":53.9,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
      2023-10-11 12:20:38.132 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.total.battery_power.state: {"val":1078,"ack":true,"ts":1697019638112,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638112}
      2023-10-11 12:20:38.132 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.total.load_percentage.state: {"val":26,"ack":true,"ts":1697019638112,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019604919}

      Mein Problem ist allerdings das ack:true welches ich abstellen muss, da mein Go-E Adapter damit nicht umgehen kann.

      Die MQTT Einstellungen habe ich soweit alle standard gelassen.
      Sprich "Nur bei Änderungen publizieren" und "Eigene States beim Verbinden publizieren" ist gewählt.

      Wie bekomme ich es hin das ack:false ist?
      Auf der SolarAssistant Seite gibt es nichts einzustellen, was den wert ändert.

      Vielen lieben Dank!

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

      @highpressure sagte in MQTT ack=false forcieren?:

      Mein Problem ist allerdings das ack:true welches ich abstellen muss, da mein Go-E Adapter damit nicht umgehen kann.

      verstehe ich nicht ??

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

      H 1 Antwort Letzte Antwort
      0
      • H Highpressure

        Hi zusammen

        Ich habe aktuell den MQTT adapter in version 4.1.1 auf meiner QNAP basierenden ioBroker instanz laufen.
        Der Adapter verbindet sich als Client/Subscriber via IP zu meinem SolarAssistant MQTT Server um die Wechselrichter und Batteriewerte zu subscriben

        das Funktioniert soweit auch:

        mqtt-packet:writeToStream generate called +7ms
        mqtt-packet:writeToStream generate: packet.cmd: publish +0ms
        mqtt-packet:writeToStream publish: packet: { cmd: 'publish', topic: 'PVGrid/battery_1/state_of_charge/state', payload: '46', qos: 0, retain: false, messageId: 0, dup: false } +0ms
        mqtt-packet:writeToStream writeVarByteInt: writing to stream: <Buffer 2a> +0ms
        mqtt-packet:writeToStream writeNumberCached: number: 38 +1ms
        mqtt-packet:writeToStream writeNumberCached: <Buffer 00 26> +0ms
        mqtt-packet:writeToStream publish: payload: '46' +0ms
        2023-10-11 12:20:38.128 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.inverter_2.ac_output_voltage.state: {"val":229,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
        2023-10-11 12:20:38.129 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.inverter_2.load_power.state: {"val":1396,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
        2023-10-11 12:20:38.129 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.battery_1.power.state: {"val":1078,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
        2023-10-11 12:20:38.130 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.battery_1.state_of_charge.state: {"val":46,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019494681}
        2023-10-11 12:20:38.131 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.battery_1.voltage.state: {"val":53.9,"ack":true,"ts":1697019638104,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638104}
        2023-10-11 12:20:38.132 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.total.battery_power.state: {"val":1078,"ack":true,"ts":1697019638112,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019638112}
        2023-10-11 12:20:38.132 - debug: mqtt.0 (7442) stateChange mqtt.0.PVGrid.total.load_percentage.state: {"val":26,"ack":true,"ts":1697019638112,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1697019604919}

        Mein Problem ist allerdings das ack:true welches ich abstellen muss, da mein Go-E Adapter damit nicht umgehen kann.

        Die MQTT Einstellungen habe ich soweit alle standard gelassen.
        Sprich "Nur bei Änderungen publizieren" und "Eigene States beim Verbinden publizieren" ist gewählt.

        Wie bekomme ich es hin das ack:false ist?
        Auf der SolarAssistant Seite gibt es nichts einzustellen, was den wert ändert.

        Vielen lieben Dank!

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        @highpressure sagte in MQTT ack=false forcieren?:

        Wie bekomme ich es hin das ack:false ist?
        Auf der SolarAssistant Seite gibt es nichts einzustellen, was den wert ändert.

        Das wird ja auch nicht von der anderen Seite per MQTT mitgesendet, sondern so wird der State vom MQTT-Adapter geschrieben. Und da der Wert von extern so reinkam, ist er logischerweise auch bestätigt.

        Was genau ist denn die Problemstellung?

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        1 Antwort Letzte Antwort
        0
        • arteckA arteck

          @highpressure sagte in MQTT ack=false forcieren?:

          Mein Problem ist allerdings das ack:true welches ich abstellen muss, da mein Go-E Adapter damit nicht umgehen kann.

          verstehe ich nicht ??

          H Offline
          H Offline
          Highpressure
          schrieb am zuletzt editiert von
          #4

          @arteck 11-10-2023_13-49-01.png

          ich muss ack=false - warum auch immer - dem go-e bereitstellen, da der - warum auch immer - nicht damit umgehen kann.
          Ich hatte eigentlich nicht vor den erst in history oder sonst wo nochmals unnötig zu schreiben.
          Gibt es da keinen anderen Weg?

          haus-automatisierungH 1 Antwort Letzte Antwort
          0
          • H Highpressure

            @arteck 11-10-2023_13-49-01.png

            ich muss ack=false - warum auch immer - dem go-e bereitstellen, da der - warum auch immer - nicht damit umgehen kann.
            Ich hatte eigentlich nicht vor den erst in history oder sonst wo nochmals unnötig zu schreiben.
            Gibt es da keinen anderen Weg?

            haus-automatisierungH Online
            haus-automatisierungH Online
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

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

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            H 1 Antwort Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

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

              H Offline
              H Offline
              Highpressure
              schrieb am zuletzt editiert von
              #6

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

              via einstellungen des go-e adapter

              haus-automatisierungH mcm1957M 2 Antworten Letzte Antwort
              0
              • H Highpressure

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

                via einstellungen des go-e adapter

                haus-automatisierungH Online
                haus-automatisierungH Online
                haus-automatisierung
                Developer Most Active
                schrieb am zuletzt editiert von haus-automatisierung
                #7

                @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.

                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                📚 Meine inoffizielle ioBroker Dokumentation

                H 1 Antwort Letzte Antwort
                0
                • H Highpressure

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

                  via einstellungen des go-e adapter

                  mcm1957M Online
                  mcm1957M Online
                  mcm1957
                  schrieb am zuletzt editiert von
                  #8

                  @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

                  Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                  Support Repositoryverwaltung.

                  Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                  LESEN - gute Forenbeitrage

                  1 Antwort Letzte Antwort
                  0
                  • haus-automatisierungH 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.

                    H Offline
                    H Offline
                    Highpressure
                    schrieb am zuletzt editiert von Highpressure
                    #9

                    @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.js![11-10-2023_14-04-22.png](/assets/uploads/files/1697025881093-11-10-2023_14-04-22.png)

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

                    mcm1957M haus-automatisierungH 2 Antworten Letzte Antwort
                    0
                    • H 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.js![11-10-2023_14-04-22.png](/assets/uploads/files/1697025881093-11-10-2023_14-04-22.png)

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

                      mcm1957M Online
                      mcm1957M Online
                      mcm1957
                      schrieb am zuletzt editiert von
                      #10

                      @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.

                      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                      Support Repositoryverwaltung.

                      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                      LESEN - gute Forenbeitrage

                      H 1 Antwort Letzte Antwort
                      0
                      • mcm1957M mcm1957

                        @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 Offline
                        H Offline
                        Highpressure
                        schrieb am zuletzt editiert von Highpressure
                        #11

                        @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.

                        mcm1957M M 2 Antworten Letzte Antwort
                        0
                        • H 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.

                          mcm1957M Online
                          mcm1957M Online
                          mcm1957
                          schrieb am zuletzt editiert von
                          #12

                          @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.

                          Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                          Support Repositoryverwaltung.

                          Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                          LESEN - gute Forenbeitrage

                          1 Antwort Letzte Antwort
                          0
                          • H 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.js![11-10-2023_14-04-22.png](/assets/uploads/files/1697025881093-11-10-2023_14-04-22.png)

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

                            haus-automatisierungH Online
                            haus-automatisierungH Online
                            haus-automatisierung
                            Developer Most Active
                            schrieb am zuletzt editiert von haus-automatisierung
                            #13

                            @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.

                            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                            📚 Meine inoffizielle ioBroker Dokumentation

                            mcm1957M 1 Antwort Letzte Antwort
                            0
                            • haus-automatisierungH 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.

                              mcm1957M Online
                              mcm1957M Online
                              mcm1957
                              schrieb am zuletzt editiert von
                              #14

                              @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.

                              Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                              Support Repositoryverwaltung.

                              Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                              LESEN - gute Forenbeitrage

                              1 Antwort Letzte Antwort
                              0
                              • H 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.

                                M Offline
                                M Offline
                                mk2001
                                schrieb am zuletzt editiert von mk2001
                                #15

                                @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 Antwort Letzte Antwort
                                0
                                • M 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 Offline
                                  H Offline
                                  Highpressure
                                  schrieb am zuletzt editiert von
                                  #16

                                  @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-automatisierungH 1 Antwort Letzte Antwort
                                  0
                                  • H Highpressure

                                    @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-automatisierungH Online
                                    haus-automatisierungH Online
                                    haus-automatisierung
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #17

                                    @highpressure Du hast onlyAck ja immernoch nicht angehakt :)

                                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                    📚 Meine inoffizielle ioBroker Dokumentation

                                    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
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    829

                                    Online

                                    32.5k

                                    Benutzer

                                    81.7k

                                    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