Ankündigung

Einklappen
Keine Ankündigung bisher.

Zigbee Sensoren via zigbee2mqtt Plugin an SmartHomeNG

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Zitat von devau Beitrag anzeigen
    enforce_update:yes?
    Ja, in der Itemdefinition. So:

    Code:
    ZB:
        Switch:
            X54EB:
                click:
                    type: str
                    tasmota_topic: tasmota_A8D079
                    tasmota_zb_device: 0x54EB
                    tasmota_zb_attr: click
                    enforce_updates: yes
                action:
                    type: str
                     tasmota_topic: tasmota_A8D079
                     tasmota_zb_device: 0x54EB
                     tasmota_zb_attr: action
                     enforce_updates: yes

    Kommentar


      #32
      Nun, da sind wir wieder gleich weit wie schon einmal: Jetzt flattert das Relais kurz, aber es passiert nichts mehr. Ich denke, ich bleibe bei meiner ursprünglichen Fassung mit einem eingebauten Delay :-)

      Kommentar


        #33
        Zitat von devau Beitrag anzeigen
        Nun, da sind wir wieder gleich weit wie schon einmal: Jetzt flattert das Relais kurz, aber es passiert nichts mehr. Ich denke, ich bleibe bei meiner ursprünglichen Fassung mit einem eingebauten Delay :-)
        Da liegt aber etwas anderes im Argen. Wie sieht denn das Item aus, dass an KNX sendet?

        Kommentar


          #34
          Als Bild,weil der Texteditor hier im Forum macht was er will: Er entfernt mir im CODE-Teil die Spaces.:
          knx-send.jpg

          Kommentar


            #35
            Zitat von devau Beitrag anzeigen
            Texteditor hier im Forum macht was er will:
            Schau mal hier
            Da wird erklärt, wie es geht.

            Das Item sieht gut aus.
            Kannst Du nochmal den Inhalt der Logik posten?

            Kommentar


              #36
              Code:
              #!/usr/bin/env python3
              # logik.py
              
              # Einlesen der Triggerwerte
              click = sh.ZB.Switch.X54EB.click()
              action = sh.ZB.Switch.X54EB.action()
              
              ##ZigbeeDaten auswerten
              # Wenn Einfach-Click, dann Licht Umschalten
              if click == 'single':
                  sh.OG.Buero.Licht.Decke.schalten(not sh.OG.Buero.Licht.Decke.schalten())

              Kommentar


                #37
                devau

                Ich habe in die Logik ein paar Log-Ausgaben eingebaut. Dazu bitte prüfen, dass der Log-Level für Logik auf INFO steht. (AdminIF --> Logs --> Liste der Logger)
                Mit den Ausgabe kann man sehen, wie oft die Logik getriggert wird. und theoretisch das KNX-Item ändern würde.

                Code:
                #!/usr/bin/env python3
                # logik.py
                
                # Loggerausgaben
                logger.info(f"Logik '{logic.id()}' ausgelöst durch: {trigger['by']} und {trigger['source']} mit Wert {trigger['value']}")
                
                # Einlesen der Triggerwerte
                click = sh.ZB.Switch.X54EB.click()
                action = sh.ZB.Switch.X54EB.action()
                
                ##ZigbeeDaten auswerten
                # Wenn Einfach-Click, dann Licht Umschalten
                if click == 'single':
                    # sh.OG.Buero.Licht.Decke.schalten(not sh.OG.Buero.Licht.Decke.schalten())
                    logger.info(f'Logik: click == single')
                Probier das bitte mal.

                Schaltest Du noch andere KNX Sachen über shNG?

                Kommentar


                  #38
                  Hmm, mit einem einzigen Druck auf den Switch wird tatächlich melrmals ausgelöst.....
                  Gemäss Tasmota Console geht aber nur ein einziger Befehl raus:
                  Update: Aber mit zweimal "ckick* in der zeile:
                  18:30:08.062 MQT: tele/tasmota_A8D079/SENSOR = {"SWITCH1":{"Device":"0x54EB","Name":"SWITCH1", "Mu ltiInValue":1,"Click":"single","click":"single","E ndpoint":1,"LinkQuality":157}}

                  Code:
                  2021-11-17  18:31:19 INFO     logics.ZB_Switch    Logik '{logic.id()}' ausgelöst durch: {trigger['by']} und {trigger['source']} mit Wert {trigger['value']}
                  2021-11-17  18:31:19 INFO     logics.ZB_Switch    Logik: click == single
                  2021-11-17  18:31:19 INFO     logics.ZB_Switch    Logik '{logic.id()}' ausgelöst durch: {trigger['by']} und {trigger['source']} mit Wert {trigger['value']}
                  2021-11-17  18:31:19 INFO     logics.ZB_Switch    Logik: click == single
                  Über SHNG wird meine ganze KNX-Hausinstallation geschaltet (hauptsächlich Rolladen und Lichter). Dazu benutze ich SmartVISU ais WebIF.
                  Zuletzt geändert von devau; 17.11.2021, 18:38.

                  Kommentar


                    #39
                    Auf welchem Systemstand bis Du unterwegs? Bzw welche Python Version setzt Du ein.
                    Der erste Logeintrag sollte anders aussehen. Bspw sollte {logic.id()} als Variable in einen String gewandelt werden. Damit könnte man auch sehen, wer die Logik mit was getriggert hat.

                    Kommentar


                      #40
                      devau
                      Bist Du auch bei gitter aktiv? Da würde es einfacher/schneller gehen.

                      Kommentar


                        #41
                        Habe aber in Deiner Logik das "f" vorne weggelassen, sah wie ein Fehler aus. Muss das doch da sein?

                        logger.info(f"Logik

                        Gitter? Nee.

                        Python 3.7.3., SHNG 1.8.2.
                        Zuletzt geändert von devau; 17.11.2021, 18:43.

                        Kommentar


                          #42
                          Ja, das f muss sein. Stichwort ist f-strings

                          Kommentar


                            #43
                            Nun mit eingebautem "f": Pro Click zwei Log-Einträge.
                            Wie schon im Beitrag #38 geschrieben, kommen von Tasmota im String zweimal "click:single" drin vor. Damit liegt der Fehler dort und nicht in SHNG.
                            2021-11-18 08:11:58 INFO logics.ZB_Switch Logik 'ZB_Switch' ausgelöst durch: Item und ZB.Switch.X54EB.click mit Wert single
                            2021-11-18 08:11:58 INFO logics.ZB_Switch Logik: click == single
                            2021-11-18 08:11:58 INFO logics.ZB_Switch Logik 'ZB_Switch' ausgelöst durch: Item und ZB.Switch.X54EB.click mit Wert single
                            2021-11-18 08:11:58 INFO logics.ZB_Switch Logik: click == single

                            Kommentar


                              #44
                              Zitat von Sisamiwe Beitrag anzeigen
                              devau
                              Bist Du auch bei gitter aktiv? Da würde es einfacher/schneller gehen.
                              Habe mich mal dort angemeldet. Ist für mich noch Neuland, aber wenn's dort besser geht, schliessen wir hier ab.

                              Kommentar


                                #45
                                Du hast ja auch den Vibrationssensor im Einsatz. Schläft der bei Dir nicht ein? Das ist der zweite Aqara-Vib Sensor der hier diese Macke hat. Für mich ist dieses Teil absolut unbrauchbar und schon gar nicht als Sicherheitselement brauchbar.
                                Ich denke, wir können hier mit den Versuchen abbrechen. Den Logikteil werde ich wieder eliminieren und meinen Delay-Entwurf wieder im Item-File aktivieren. Wenn Du noch das Web-IF wie versprochen anpasst, steht m.E. ein Einsatz dieses angepassten Tasmota-Plugins nichts mehr im Weg. Falls Du noch was testen möchtest, einfach mir mitteilen. Vielen Dank für den guten Support! :-)

                                Kommentar

                                Lädt...
                                X