Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. NSPanel - Hardwarebuttons und MQTT Problem (gelöst)

    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

    NSPanel - Hardwarebuttons und MQTT Problem (gelöst)

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @Dark Angel last edited by TT-Tom

      @dark-angel

      Hast du die Button abgekoppelt von den Relais mit diesem Befehl?

      Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
      

      mit dem Befehl aktivierst du die Regel

      Rule2 1
      

      Zeige mal bitte deine MQTT einstellungen vom Panel

      Dann ist mir aufgefallen das bei GIPO27 bei mir eine 2 steht

      Dark Angel 1 Reply Last reply Reply Quote 0
      • Dark Angel
        Dark Angel @TT-Tom last edited by

        @tt-tom sagte in NSPanel - Hardwarebuttons und MQTT Problem:

        Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon

        Habe ich gerade eben erledigt:

        14:40:38.840 CMD: Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
        14:40:38.846 RUL: Stored uncompressed, would compress from 177 to 81 (-54%)
        14:40:38.853 MQT: SmartHome/NSPanel/stat/RESULT = {"Rule2":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":177,"Free":334,"Rules":"on Button1#state do Publish %topic%/%prefix%/RESULT {\"CustomRecv\":\"event,button1\"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {\"CustomRecv\":\"event,button2\"} endon"}}
        

        NSPanel neu gestartet:

        00:00:00.002 HDW: ESP32-D0WD-V3 
        00:00:00.029 UFS: FlashFS mounted with 276 kB free
        00:00:00.044 CFG: Loaded from File, Anzahl 2101
        00:00:00.054 QPC: Count 1
        00:00:00.161 BRY: Berry initialized, RAM used=4041 bytes
        00:00:00.174 TFS: File '.drvset003' not found
        00:00:00.174 CFG: Energy use defaults as file system not ready or file not found
        00:00:00.184 Projekt tasmota - Tasmota Version 12.4.0(tasmota)-2_0_6(2023.02.24 15:41:22)
        00:00:00.370 NXP: Initializing Driver
        00:00:00.378 BRY: Successfully loaded 'autoexec.be'
        00:00:00.974 WIF: verbinden mit AP1 xxx Channel 6 BSSId xx:xx:xx:xx:xx:xx in Modus 11n als NSPanel-XXXX...
        00:00:02.879 WIF: verbunden
        00:00:03.189 HTP: Web-Server aktiv bei NSPanel-XXXX mit IP-Adresse 192.168.x.y
        14:44:25.168 MQT: Verbindungsversuch...
        14:44:25.214 MQT: verbunden
        14:44:25.218 MQT: SmartHome/NSPanel/tele/LWT = Online (beibehalten)
        14:44:25.220 MQT: SmartHome/NSPanel/cmnd/POWER = 
        14:44:25.227 MQT: SmartHome/NSPanel/tele/INFO1 = {"Info1":{"Module":"NSPanel","Version":"12.4.0(tasmota)","FallbackTopic":"cmnd/NSPanel_fb/","GroupTopic":"SmartHome/tasmotas/cmnd/"}}
        14:44:25.242 MQT: SmartHome/NSPanel/tele/INFO2 = {"Info2":{"WebServerMode":"Admin","Hostname":"NSPanel-XXXX","IPAddress":"192.168.x.y","IP6Global":"","IP6Local":"xyz"}}
        14:44:25.256 MQT: SmartHome/NSPanel/tele/INFO3 = {"Info3":{"RestartReason":"Software reset CPU","BootCount":93}}
        14:44:25.269 MQT: SmartHome/NSPanel/stat/RESULT = {"POWER1":"OFF"}
        14:44:25.273 MQT: SmartHome/NSPanel/stat/POWER1 = OFF
        14:44:25.275 MQT: SmartHome/NSPanel/stat/RESULT = {"POWER2":"OFF"}
        14:44:25.290 MQT: SmartHome/NSPanel/stat/POWER2 = OFF
        14:44:25.522 MQT: SmartHome/NSPanel/stat/RESULT = {"POWER1":"OFF"}
        14:44:25.524 MQT: SmartHome/NSPanel/stat/POWER1 = OFF
        14:44:25.600 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:25.628 MQT: SmartHome/NSPanel/stat/RESULT = {"POWER1":"OFF"}
        14:44:25.630 MQT: SmartHome/NSPanel/stat/POWER1 = OFF
        14:44:25.702 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:25.734 MQT: SmartHome/NSPanel/stat/RESULT = {"POWER1":"OFF"}
        14:44:25.737 MQT: SmartHome/NSPanel/stat/POWER1 = OFF
        14:44:25.799 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:27.092 MQT: SmartHome/NSPanel/tele/RESULT = {"CustomRecv":"event,startup,50,eu"}
        14:44:27.208 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:27.251 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:27.298 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:27.361 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:27.515 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:27.564 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:27.595 MQT: SmartHome/NSPanel/stat/RESULT = {"POWER1":"OFF"}
        14:44:27.598 MQT: SmartHome/NSPanel/stat/POWER1 = OFF
        14:44:27.664 MQT: SmartHome/NSPanel/stat/RESULT = {"CustomSend":"Done"}
        14:44:27.929 QPC: Reset
        14:44:29.933 MQT: SmartHome/NSPanel/tele/STATE = {"Time":"2023-03-12T14:44:29","Uptime":"0T00:00:09","UptimeSec":9,"Heap":132,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":198,"MqttCount":1,"Berry":{"HeapUsed":16,"Objects":239},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"XYZ","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":26,"Signal":-87,"LinkCount":1,"Downtime":"0T00:00:04"}}
        14:44:29.974 MQT: SmartHome/NSPanel/tele/SENSOR = {"Time":"2023-03-12T14:44:29","ANALOG":{"Temperature1":22.3},"ESP32":{"Temperature":57.2},"TempUnit":"C"}
        14:44:37.471 MQT: SmartHome/NSPanel/tele/RESULT = {"CustomRecv":"event,sleepReached,cardEntities"}
        

        Betätige ich den Button 1 (Ein / Aus) bekomme ich in der Console folgendes angezeig:

        14:50:52.383 MQT: SmartHome/NSPanel/tele/RESULT = {"CustomRecv":"event,buttonPress2,screensaver,bExit,1"}
        14:50:54.006 MQT: SmartHome/NSPanel/stat/RESULT = {"POWER1":"ON"}
        14:50:54.009 MQT: SmartHome/NSPanel/stat/POWER1 = ON
        14:50:56.344 MQT: SmartHome/NSPanel/stat/RESULT = {"POWER1":"OFF"}
        14:50:56.346 MQT: SmartHome/NSPanel/stat/POWER1 = OFF
        
        Rule2 1
        

        ausgeführt und ... Feierabend. Kann per Buttons kein Licht mehr schalten...

        1 Reply Last reply Reply Quote 0
        • Dark Angel
          Dark Angel last edited by

          Habe jetzt auch folgendes (ohne Erfolg) probiert:

          Rule2 on Button1#state do Publish SmartHome/%topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish SmartHome/%topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
          

          Hier die MQTT Config:
          Tasmota - MQTT konfigurieren.png

          T 1 Reply Last reply Reply Quote 0
          • T
            TT-Tom @Dark Angel last edited by TT-Tom

            @dark-angel

            mit Rule2 0 kannst du es wieder deaktivieren. Also du möchtest mit den Button die Relais schalten direkt?

            EDIT: Was möchtest du den genau machen?

            Dark Angel 1 Reply Last reply Reply Quote 0
            • Dark Angel
              Dark Angel @TT-Tom last edited by

              @tt-tom :
              Ich möchte einfach per physikalischen Druck auf den Buttons das Licht Ein/Ausschalten und den jeweiligen Zustand z.B. in Jarvis angezeigt bekommen.
              Das Problm ist, dass der Zustand nicht an ioBroker übermittelt wird, weshalb dieser weder in Jarvis, noch direkt auf dem NSPanel (Screensaver obere Ecken) angezeigt wird.

              T 2 Replies Last reply Reply Quote 0
              • T
                TT-Tom @Dark Angel last edited by TT-Tom

                @dark-angel Wenn du auf die Tasten drückst bekommst du doch auf dem MQTT die Meldung Power1 on /off bzw. Power2 on/off. Diese kannst du doch auswerten

                mqtt.x.SmartHome.NSPanelBüro.stat.POWER1
                
                1 Reply Last reply Reply Quote 0
                • T
                  TT-Tom @Dark Angel last edited by

                  @dark-angel es gibt jetzt eine Erweiterung mit der Version 4.0.4.1 und höher. Dazu musst du aber bitte mal ein Test für mich machen. Da ich die Kiste mit den Relais nicht hinten dran habe. kann ich das jetzt nicht testen. in den Service Seiten unter Einstellung / Relais solltest du die Relais schalten können, bitte mal testen.

                  Dann gibt es eine Möglichkeit über das Script zu steuern.

                  Dark Angel 1 Reply Last reply Reply Quote 0
                  • Dark Angel
                    Dark Angel @TT-Tom last edited by Dark Angel

                    @tt-tom sagte in NSPanel - Hardwarebuttons und MQTT Problem:

                    @dark-angel Wenn du auf die Tasten drückst bekommst du doch auf dem MQTT die Meldung Power1 on /off bzw. Power2 on/off. Diese kannst du doch auswerten

                    mqtt.x.SmartHome.NSPanelBüro.stat.POWER1
                    

                    Da muss ich wohl noch etwas basteln um den Wert als Alias abzulegen in der Hoffnung, dass es dann in Jarvis klappt (und auch in dem TrueScript für den NSPanel).

                    @tt-tom sagte in NSPanel - Hardwarebuttons und MQTT Problem:

                    @dark-angel es gibt jetzt eine Erweiterung mit der Version 4.0.4.1 und höher. Dazu musst du aber bitte mal ein Test für mich machen. Da ich die Kiste mit den Relais nicht hinten dran habe. kann ich das jetzt nicht testen. in den Service Seiten unter Einstellung / Relais solltest du die Relais schalten können, bitte mal testen.

                    Dann gibt es eine Möglichkeit über das Script zu steuern.

                    Ich habe schon die 4.0.4.2 "am laufen".
                    Wenn ich in den Einstellungen > Relais schalte, dann.. Ja dann wird der Wert auch ordentlich an ioBroker übermittelt und dem entsprechend auch in Jarvis angezeigt, sowie auch in den oberen Screensaver Ecken am NSPanel.
                    Umgekehrt ist es auch so, dass wenn ich das Licht per Jarvis einschalte, auch die Werte richtig in den Screensaver Ecken und unter Einstellungen > Relais angezeigt werden.

                    Es ist tatsächlich nur die fehlende Kommunikation zw. den Hardwarebuttons und ioBroker.

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      TT-Tom @Dark Angel last edited by

                      @dark-angel Dann aktiviere nochmal die Rule2 und im Script musst du dann für die Button folgende Einstellung machen. Beispiel für Button 1

                      button1: {
                          mode: 'toggle',                    // Mögliche Werte wenn Rule2 definiert: page, toggle, set - Wenn nicht definiert --> mode: null
                          page: null,                        // Zielpage - Verwendet wenn mode = page (bisher button1Page)
                          entity: '0_userdata.0.NSPanel.Büro.Relay.1', // Zielentity - Verwendet wenn mode = set oder toggle
                          setValue: null                     // Zielwert - Verwendet wenn mode = set
                      }
                      
                      Dark Angel 1 Reply Last reply Reply Quote 0
                      • Dark Angel
                        Dark Angel @TT-Tom last edited by

                        @TT-Tom
                        anhand meiner MQTT Konfig auf dem NSPanel, welcher wäre eigentlich der richtige Befehl?

                        Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
                        

                        oder

                        Rule2 on Button1#state do Publish SmartHome/%topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish SmartHome/%topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
                        
                        T 1 Reply Last reply Reply Quote 0
                        • T
                          TT-Tom @Dark Angel last edited by TT-Tom

                          @dark-angel der zweite

                          Dark Angel 1 Reply Last reply Reply Quote 0
                          • Dark Angel
                            Dark Angel @TT-Tom last edited by

                            @tt-tom
                            Danke.
                            Funktioniert leider trotzdem nicht:

                            State "mqtt.0.SmartHome.NSPanel.%prefix%.RESULT" has no existing object, this might lead to an error in future versions
                            
                            T 1 Reply Last reply Reply Quote 0
                            • T
                              TT-Tom @Dark Angel last edited by

                              @dark-angel Wo kommt die Meldung den jetzt her?

                              Dark Angel 1 Reply Last reply Reply Quote 0
                              • Dark Angel
                                Dark Angel @TT-Tom last edited by Dark Angel

                                @tt-tom aus dem ioBroker Protokol.
                                Anscheinend sendet das NSPanel schon "irgendwas", sobald man auf dem Button klickt, aber das ist nicht das richtige.
                                Das steht dann in der Tasmota Console auf dem NSPanel:

                                16:42:15.477 RUL: BUTTON1#STATE performs "Publish SmartHome/NSPanel/%prefix%/RESULT {"CustomRecv":"event,button1"}"
                                16:42:15.485 MQT: SmartHome/NSPanel/%prefix%/RESULT = {"CustomRecv":"event,button1"}
                                16:42:17.078 RUL: BUTTON1#STATE performs "Publish SmartHome/NSPanel/%prefix%/RESULT {"CustomRecv":"event,button1"}"
                                16:42:17.085 MQT: SmartHome/NSPanel/%prefix%/RESULT = {"CustomRecv":"event,button1"}
                                
                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  TT-Tom @Dark Angel last edited by

                                  @dark-angel sorry da habe ich mich getäuscht. du hast doch oben schon die richtige Rule angelegt

                                  bitte das noch einmal anlegen.

                                  1 Reply Last reply Reply Quote 0
                                  • Dark Angel
                                    Dark Angel last edited by

                                    Tasmota:

                                    16:57:00.259 RUL: BUTTON1#STATE performs "Publish NSPanel/%prefix%/RESULT {"CustomRecv":"event,button1"}"
                                    16:57:00.267 MQT: NSPanel/%prefix%/RESULT = {"CustomRecv":"event,button1"}
                                    16:57:01.909 RUL: BUTTON1#STATE performs "Publish NSPanel/%prefix%/RESULT {"CustomRecv":"event,button1"}"
                                    16:57:01.918 MQT: NSPanel/%prefix%/RESULT = {"CustomRecv":"event,button1"}
                                    

                                    ioBroker:

                                    State "mqtt.0.NSPanel.%prefix%.RESULT" has no existing object, this might lead to an error in future versions
                                    

                                    Ich hoffe nur, dass es bei mir ein Einzellfall ist und nicht ein generelles Problem, denn: Wenn die Lösung darin besteht die Hardwarebuttons von ihre eigentliche Funktion (Licht Ein/Aus schalten) zu entkoppeln, wird der "Lichtschalter" praktisch ohne Funktion sein, solange kein Steuerungsscript im Hintergrund läuft.
                                    Mit der Einstellung "Rule2 0" kann man nach wie vor das Licht schalten, selbst wenn das Display noch Runden dreht und auf Daten von ioBroker wartet.
                                    Wie schon gesagt: bis vor kurzem hat es noch funktioniert...

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      TT-Tom @Dark Angel last edited by TT-Tom

                                      @dark-angel Ja mit Rule2 0 verbindest du Relais und Button direkt über Tasmota.

                                      Wenn du die Sicherheit haben möchtest das es immer funktioniert dann ist es mMn nicht anders möglich. Die Relais bringen keinen Status

                                      Wenn du es doch über das Script probieren möchtest, dann gib in der Console noch einmal die richtige Rule-Definition ein.

                                      Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
                                      

                                      dann Rule2 1

                                      Dark Angel 1 Reply Last reply Reply Quote 0
                                      • Dark Angel
                                        Dark Angel @TT-Tom last edited by Dark Angel

                                        @tt-tom sagte in NSPanel - Hardwarebuttons und MQTT Problem:

                                        Rule2 1

                                        Also... Hirn eingeschalten, nachgeschaut und schon hat es funktioniert:

                                        Rule2 on Button1#state do Publish SmartHome/%topic%/tele/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish SmartHome/%topic%/tele/RESULT {"CustomRecv":"event,button2"} endon
                                        
                                        Rule2 1
                                        

                                        Jetzt bleibt nur noch (zumindest für mich) die Frage zu klären, wieso der NSPanel in der Konsole nichts mit %prefix% anzufangen weiß.

                                        P.S. Hätte mir viel Nachdenken erspart, hätte ich in dem Kapitel etwas besser aufgepasst: NSPanel-Tasmota-FAQ#1-hardware-buttons
                                        Dort wird nirgends der %prefix% erwähnt.
                                        Ich glaube, die Kurze Info im TrueScript sollte dahingehend überarbeitet werden.
                                        Zeile 130:

                                        129 Tasmota Konsole:
                                        130   Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
                                        131   Rule2 1 (Rule aktivieren)
                                        132   Rule2 0 (Rule deaktivieren)
                                        

                                        An dieser Stelle möchte ich mich recht herzlich bei @TT-Tom für die Unterstützung bedanken.

                                        1 Reply Last reply Reply Quote 1
                                        • T
                                          TT-Tom last edited by

                                          @dark-angel sagte in NSPanel - Hardwarebuttons und MQTT Problem (gelöst):

                                          Ich glaube, die Kurze Info im TrueScript sollte dahingehend überarbeitet werden.
                                          Zeile 130:

                                          Danke für die Rückinfo, wir werden es mit aufnehmen. Viel Spass weiterhin.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          727
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

                                          2
                                          20
                                          1264
                                          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