Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Fehler mit mqtt Adapter - Forbidden properties

    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

    Fehler mit mqtt Adapter - Forbidden properties

    This topic has been deleted. Only users with topic management privileges can see it.
    • mcm1957
      mcm1957 @sebi85 last edited by

      @sebi85
      Da das zuerst mal eine Warning ist gehe ich davon aus, dass im Prinzip die Funktion (noch) gegeben ist. Wenn das stimmt kannst du die Warning zunächst mal ignorieren. Oder ev. den Loggin Level auf error stellen.

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

        @haus-automatisierung said in Fehler mit mqtt Adapter - Forbidden properties:

        Ja, hab das Problem gefunden. Wenn ein Objekt kommt, wird davon ausgegangen, dass das ein State-Objekt ist:

        https://github.com/ioBroker/ioBroker.mqtt/blob/cba198f6e6e7a7aa99c5cbbcb288fa2d3aa921d3/lib/client.js#L460-L462

        @mcm1957 sagte in Fehler mit mqtt Adapter - Forbidden properties:

        Aber wenn ich's richtig gesehen habe stehen da noch BINARY STATEs Aufrufe drinnen.

        Ja, bin ich gerade auch schon drüber gestolpert, ... noch recht viele Themen offen dort

        Danke - DU BIST SPITZE !

        Kannst du das in ein Issue gießen? Ich nehme an du hast nicht grad Lust / Zeit das zu fixen. Die Binary States kann ja ev. Moritz ansehen - der hat das bei einigen anderen Adaptern schon umgestellt.

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

          @mcm1957 said in Fehler mit mqtt Adapter - Forbidden properties:

          @sebi85
          Da das zuerst mal eine Warning ist gehe ich davon aus, dass im Prinzip die Funktion (noch) gegeben ist. Wenn das stimmt kannst du die Warning zunächst mal ignorieren. Oder ev. den Loggin Level auf error stellen.

          Die Funktion ist leider nicht gegeben, er aktualisiert den state nicht bzw. schreibt den von openHASP gelieferten Wert nicht in den state - somit funktionieren alle weiteren Automatisierungen auch nicht.

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

            @mcm1957 https://github.com/ioBroker/ioBroker.mqtt/pull/467

            klein0r created this issue in ioBroker/ioBroker.mqtt

            closed Just handle messages as state object if properties are valid #467

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

              @mcm1957 sagte in Fehler mit mqtt Adapter - Forbidden properties:

              Da das zuerst mal eine Warning ist gehe ich davon aus, dass im Prinzip die Funktion (noch) gegeben ist.

              Nein, da der State dann gar nicht geschrieben wird. Mich wundert ehrlich gesagt, dass das bisher nicht aufgefallen ist.

              @mcm1957 sagte in Fehler mit mqtt Adapter - Forbidden properties:

              Die Binary States kann ja ev. Moritz ansehen - der hat das bei einigen anderen Adaptern schon umgestellt.

              Das wär schön - ansonsten packe ich das bei mir mit auf ToDo.

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

                @haus-automatisierung said in Fehler mit mqtt Adapter - Forbidden properties:

                @mcm1957 sagte in Fehler mit mqtt Adapter - Forbidden properties:

                Da das zuerst mal eine Warning ist gehe ich davon aus, dass im Prinzip die Funktion (noch) gegeben ist.

                Ist es:
                https://github.com/ioBroker/ioBroker.mqtt/issues/443

                Nur konnte es Ingo nicht erkennen um was es da geht. Ev. kannst du das beim Issue ergänzen (und wenn du den Zugriff hast) Question auf Bug ändern)

                knylbyte created this issue in ioBroker/ioBroker.mqtt

                open JSON Payload wird nicht richtig verarbeitet -> falsche Datenpunkte #443

                1 Reply Last reply Reply Quote 1
                • mcm1957
                  mcm1957 last edited by

                  Betreffend binary states hab ich mal ein Issue erstellt
                  https://github.com/ioBroker/ioBroker.mqtt/issues/468
                  und Moritz per TG angepingt

                  mcm1957 created this issue in ioBroker/ioBroker.mqtt

                  closed Adapter uses binary states #468

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

                    @haus-automatisierung danke für deine Anpassung, ich habe es jetzt erneut mit der Version 6.0.1 des mqtt-Adapters getestet - sieht grundsätzlich erstmal "besser" aus.

                    Mein Problem ist aber leider immer noch da, weil der mqtt-Adapter den Typ des Objects von "object" auf "mixed" umstellt und somit greift dann die von dir erstellte Routine nicht mehr 😞

                    Ich bekomme die Daten einmalig aktualisiert (siehe javascript-Adapter-Ausgabe) und anschließend setzt der mqtt-Client den Objekttyp auf "mixed" und es funktioniert leider nicht mehr.

                    mqtt.3
                    2024-08-07 11:02:10.833	warn	Error while setting state "mqtt.3.hasp.lanbon_l8.state.p1b4" for Client: Error: The state contains the forbidden properties event!
                    mqtt.3
                    2024-08-07 11:02:10.806	info	Client: Changed type of "mqtt.3.hasp.lanbon_l8.state.p1b4" from "object" to "mixed"
                    javascript.0
                    2024-08-07 11:02:10.685	info	script.js.Eigene_Skripte.Ueberwachung.Lonbon_OpenHasp: DATA {"event":"down","val":0}
                    

                    Kann ich den mqtt-Adapter daran hindern den Typen zu hindern oder müsste ggf. dein Fix auch für "mixed"-Objekte integriert werden?

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

                      @sebi85 sagte in Fehler mit mqtt Adapter - Forbidden properties:

                      weil der mqtt-Adapter den Typ des Objects von "object" auf "mixed"

                      Die Objekte werden doch alle als mixed angelegt, oder nicht?

                      Bitte NIE manuell an Objekten rumspielen, welche man nicht selbst angelegt hat. Nie nie nie.

                      S 1 Reply Last reply Reply Quote 1
                      • S
                        sebi85 @haus-automatisierung last edited by

                        @haus-automatisierung nein, es wird erst als "object" angelegt und dann umgestellt auf "mixed" (durch den mqtt-Adapter, ich habe da manuell nichts gemacht).

                        Folgendes Vorgehen hatte ich durchgeführt:

                        • Stoppen der mqtt3 Instanz
                        • Löschen des p1b4 Objekts
                        • Starten der mqtt3 Instanz
                        • Triggerung des events am Lanbon

                        Durch die Triggerung des events wird durch den mqtt-Client das Objekt angelegt und anschließend anscheinend direkt geändert. Bei der Erstanlage bekomme ich die Daten auch richtig angezeigt/gelesen - nur dann ändert er das Objekt auf "mixed" und es klappt nicht mehr.

                        mqtt.3
                        2024-08-07 11:22:48.170	warn	Error while setting state "mqtt.3.hasp.lanbon_l8.state.p1b4" for Client: Error: The state contains the forbidden properties event!
                        mqtt.3
                        2024-08-07 11:22:48.146	info	Client: Changed type of "mqtt.3.hasp.lanbon_l8.state.p1b4" from "object" to "mixed"
                        
                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @sebi85 last edited by

                          @sebi85 sagte in Fehler mit mqtt Adapter - Forbidden properties:

                          es wird erst als "object" angelegt und dann umgestellt auf "mixed"

                          Das sollte nicht so sein. Aus meiner Sicht sollten die alle mixed sein. Muss ich mir in einer ruhigen Minute mal anschauen.

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

                            @haus-automatisierung sofern es als "mixed" definiert ist, würde aber auch der von dir integrierte Fix nicht mehr funktionieren (weshalb ich dann auch wieder den Fehler

                            The state contains the forbidden properties event!
                            

                            erhalte.

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

                              @sebi85 Warum? Ich habe das eigentlich ausführlich getestet. Du bist aber schon im Client-Mode, oder? Im Server-Mode habe ich das nicht angeschaut.

                              S 1 Reply Last reply Reply Quote 1
                              • S
                                sebi85 @haus-automatisierung last edited by sebi85

                                @haus-automatisierung für mich sieht es so aus als würde der Code nur durchlaufen werden wenn das Object auch vom Typ "object" ist.

                                Initialer Start (mqtt legt das Objekt in diesem Zuge auch an, es ist vorher nicht vorhanden):
                                4d861c61-e58d-4b06-ba67-ca313bd5c4fe-image.png

                                Hier ist die Meldung auch erhalten und er speichert es im Objekt ab --> erster Lauf funktioniert. Allerdings ändert er dann (siehe info-Meldung) automatisch den Typ auf "mixed".

                                Jegliche weitere Änderung wird dann ignoriert und die obige gelbe Zeile kommt auch nicht mehr.
                                49f9f231-1c0c-459a-b4fc-867b15f60f58-image.png

                                Ich hätte jetzt vermutet, dass hier dein Code nicht durchlaufen wird, weil er das Objekt gar nicht als solches erkennt:
                                051bc230-d6f8-4d95-99fa-51e2a4e3503b-image.png

                                P haus-automatisierung 2 Replies Last reply Reply Quote 2
                                • P
                                  PhiWie @sebi85 last edited by

                                  Hallo zusammen, gibt es bereits eine überarbeitete Version des mqtt Adapters oder einen alternativen Workaround um die OpenHASP Stati korrekt auszulesen?

                                  Vielen Dank.

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

                                    @sebi85 sagte in Fehler mit mqtt Adapter - Forbidden properties:

                                    Initialer Start (mqtt legt das Objekt in diesem Zuge auch an, es ist vorher nicht vorhanden):

                                    Hier ist die Meldung auch erhalten und er speichert es im Objekt ab --> erster Lauf funktioniert. Allerdings ändert er dann (siehe info-Meldung) automatisch den Typ auf "mixed".

                                    Der Typ sollte eigentlich immer mixed bleiben. So werden ja alle Objekte vom MQTT-Adapter angelegt. Oder habe ich etwas übersehen? Die Idee war ja auch nicht, dass man den Zustandstyp auf object ändert, sondern nur den Wert korrekt als JSON speichert. Das scheint im ersten Lauf ja auch geklappt zu haben. Ziel sollte also sein: Typ mixed + JSON als Wert.

                                    @sebi85 sagte in Fehler mit mqtt Adapter - Forbidden properties:

                                    Jegliche weitere Änderung wird dann ignoriert und die obige gelbe Zeile kommt auch nicht mehr.
                                    49f9f231-1c0c-459a-b4fc-867b15f60f58-image.png

                                    Das sollte natürlich nicht so sein. Müsste ich noch einmal in Ruhe testen. Kostet leider alles extrem viel Zeit (und die habe ich gerade nicht).

                                    D 1 Reply Last reply Reply Quote 0
                                    • mcm1957
                                      mcm1957 @PhiWie last edited by

                                      @phiwie said in Fehler mit mqtt Adapter - Forbidden properties:

                                      Hallo zusammen, gibt es bereits eine überarbeitete Version des mqtt Adapters oder einen alternativen Workaround um die OpenHASP Stati korrekt auszulesen?

                                      Vielen Dank.

                                      Welche Version ist für dich die nicht überarbeitete Version?
                                      Latest Version des Adapters ist 6.1.1

                                      D 1 Reply Last reply Reply Quote 1
                                      • D
                                        Dieter_P @mcm1957 last edited by Dieter_P

                                        Hallo

                                        habe gerade den Beitrag gefunden und versuche ebenso openHASP mit dem MQTT Adapter zu nutzen und wunderte mich warum nur einmal der value in den Datenpunkt geschrieben wurde.

                                        Nachdem Beitrag hier den Log geprüft und finde dort im Zeitrahmen diese Einträge:

                                        2024-10-23 06:39:45.926 - info: mqtt.0 (1003) Server: Changed type of "mqtt.0.hasp.plate.state.p1b2" from "number" to "object"
                                        2024-10-23 06:39:45.948 - info: mqtt.0 (1003) Server: Changed type of "mqtt.0.hasp.plate.state.p1b2" from "object" to "mixed"
                                        2024-10-23 06:40:09.046 - info: mqtt.0 (1003) Server: Changed type of "mqtt.0.hasp.plate.state.p1b3" from "number" to "object"
                                        2024-10-23 06:40:09.077 - info: mqtt.0 (1003) Server: Changed type of "mqtt.0.hasp.plate.state.p1b3" from "object" to "mixed"
                                        

                                        Die Datenpunkte (nichts von mir geändert) haben aktuell alle den type mixed aber Daten kommen dort keine mehr an.

                                        Verwende die stable Version 6.1.2 des Mqtt Adapters.

                                        Gibt schon eine Lösung oder Workaround?

                                        Danke

                                        Edit: Hoffe die Beobachtung hilft. Angelegte PushButtons die einen Mqtt Nachricht liefern

                                        {\"event\":\"up\"}
                                        

                                        funktionieren wie hier im log und Ergebnis zu sehen ist weiterhin:

                                        mqtt.0 2024-10-23 13:41:15.953	debug	stateChange mqtt.0.hasp.plate.state.p1b5: {"val":"{\"event\":\"down\"}","ack":true,"ts":1729683675946,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1729683675946}
                                        mqtt.0 2024-10-23 13:41:15.200	debug	stateChange mqtt.0.hasp.plate.state.p1b5: {"val":"{\"event\":\"up\"}","ack":true,"ts":1729683675193,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1729683675193}
                                        mqtt.0 2024-10-23 13:41:15.117	debug	stateChange mqtt.0.hasp.plate.state.p1b5: {"val":"{\"event\":\"down\"}","ack":true,"ts":1729683675110,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1729683675110}
                                        mqtt.0 2024-10-23 13:41:14.354	debug	stateChange mqtt.0.hasp.plate.state.p1b5: {"val":"{\"event\":\"up\"}","ack":true,"ts":1729683674347,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1729683674347}
                                        mqtt.0 2024-10-23 13:41:14.244	debug	stateChange mqtt.0.hasp.plate.state.p1b5: {"val":"{\"event\":\"down\"}","ack":true,"ts":1729683674237,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1729683674237}
                                        mqtt.0 2024-10-23 13:41:13.524	debug	stateChange mqtt.0.hasp.plate.state.p1b5: {"val":"{\"event\":\"up\"}","ack":true,"ts":1729683673517,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1729683673517}
                                        

                                        Alleine angelegte devices mit festen/konstanten stati wie Switche oder Auswahllisten funktionieren nicht mehr. Auch im Debug Zustand sehe ich keinerlei Einräge im Log dazu. Dann per Mqtt-Explorer geschaut und hier funktionieren diese Nachrichten zB für p1b2,p1b3,p1b4:

                                        44d6d634-0677-4033-b662-1b30bc3c0d8a-grafik.png

                                        Edit2: Der Unterschied genauer hier beschrieben, was ein object button (https://openhasp.haswitchplate.com/0.6/design/objects/#button) und ein object switch (https://openhasp.haswitchplate.com/0.6/design/objects/#switch) so neben dem Unterschied data type so rauschickt.

                                        Einen Log-Eintrag dazu habe ich bisher nicht erhalten.

                                        Um gleich der Mqtt Nachricht von @sebi85 zu prüfen

                                        {"event" : "up", "val": 1} 
                                        

                                        habe ich sowohl beim button als auch beim switch die toggle-funktion aktiviert aber keine erkennbare Änderung zu sehen.

                                        Vermute es ist sehr sinnig genau zu wissen was da über MQTT geschickt wird bzw ankommt. Der Debug-Log wie gesagt leer und im MQTT-Explorer sehe ich nur das funktionierende Ergebnis. Daher gerne einen Hinweis wie ich das zur Verfügung stellen kann.

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

                                          Da ich das openHASP Panel benötige habe ich nach Möglichkeiten weiter probiert.

                                          Dazu temporär nun gleiches Setup aufgesetzt wie @Sebi85

                                          openHASP <--> mosquitto server <--> iobroker mqtt client

                                          Auf dem MQTT-Explorer funktioniert alles dauerhaft einwandfrei wie zuvor.

                                          Die Nachrichten, die auch jetzt weiterhin im IO-Broker funktionieren sind Nachrichten mit dem Inhalt:

                                          {"event":"up"}
                                          

                                          Nachrichten von Buttons oder Switchen mit festem Stati, zeigen sich nun allerdings ergänzt um den value :

                                          {"event":"up","val":1}
                                          

                                          Das funktioniert im Mqtt-Explorer wie bekannt unbegrenzt einwandfrei.

                                          Im IOBroker funktioniert das genau einmal. Allerdings steht nun auch im Datenpunkt (type: "mixed"):

                                          {"event":"down","val":0}
                                          

                                          Zusätzlich nun die Meldung im Debug-Log:

                                          mqtt.1 2024-10-24 15:07:57.319	warn	Error while setting state "mqtt.1.hasp.plate.state.p1b1" for Client: Error: The state contains the forbidden properties event!
                                          mqtt.1 2024-10-24 15:07:57.058	warn	Error while setting state "mqtt.1.hasp.plate.state.p1b1" for Client: Error: The state contains the forbidden properties event!
                                          mqtt.1 2024-10-24 15:07:55.109	warn	Error while setting state "mqtt.1.hasp.plate.state.p1b1" for Client: Error: The state contains the forbidden properties event!
                                          

                                          Somit auch über diesen Umweg eines zweiten Mqtt-Brokers und den Mqtt-Adapter Einsatz als Client leider keine funktionierende Lösung.

                                          Verwende Mqtt Adapter 6.1.2 und hier besprochene Fixe sehe ich auf Github mit 6.0.1 vom 6.8.2024 durch @haus-automatisierung. Das Thema doch noch offen?

                                          Bitte um Unterstützung, Thanks.

                                          S M 2 Replies Last reply Reply Quote 0
                                          • S
                                            sebi85 @Dieter_P last edited by

                                            Hallo @dieter_p ,

                                            ich habe leider bisher keinen Fix gesehen. Ich habe die Probleme hauptsächlich bei den Toggle-/Switch-Buttons in OpenHASP wo der "val" relevant ist. Die normalen Buttons funktionieren soweit.
                                            --> Ich habe mein Display so angepasst, dass ich nur noch normale Buttons - ohne Switch-Funktionalität habe.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            928
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            35
                                            1798
                                            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