Ankündigung

Einklappen
Keine Ankündigung bisher.

Homeassistant Status auf den Bus senden

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

    Homeassistant Status auf den Bus senden

    Hallo KNX-Gemeinde,

    ich habe bei mir Zuhause Home Assistant mit dem KNX-Bus verbunden. Es funktioniert auch wunderbar. Ich verstehe nur nicht, wie ich den Status von z.B. Schalter aus Homeassistant auf den Bus senden kann.

    Als Beispiel: Eine Automation regelt, dass die Rolläden zum Sonnenuntergang runterfahren und zum Sonnenaufgang wieder hochfahren. Ich möchte aber nicht immer, dass alle Rolläden an der Automation teilnehmen. Daher kann ich diese für jeden Rolladen an und ausschalten. Im Schlafzimmer soll es ja manchmal Länger dunkel bleiben. Den Schalter möchte ich auch auf die Glastaster programmieren. Diese brauchen ja aber dann auch eine Rückmeldung ob die Automation aktiv ist oder nicht. Ich komme nicht drauf wie ich das hinbekomme.

    Bild_2023-03-12_234639234.png
    Kann jemand helfen?

    Liebe Grüße

    #2
    Wie hast du denn diesen "Switch" erstellt? Ist das eine Knx entity oder ein helper / template oder sonst was?

    Kommentar


      #3
      Der jetzt ist ein Helper. Möchte das ja aber auch z.B. für Sonoff Steckdosen oder so.

      Kommentar


        #4
        Dann mit `knx_event` vom Bus aktualisieren und mit `expose` für den Status.
        https://www.home-assistant.io/integr...ime-to-knx-bus

        Einfacher wäre es, wenn es eine KNX entity ist. Ich weiß jetzt auch nicht was einen Sonoff Steckdose mit dem deaktivieren einer Jalousie-Automatik zu tun hat - aber wenns da noch weitere zusammenhänge gibt kann man ja beim `state_changed` einer KNX entity genau so triggern wie bei einem Helper.

        Kommentar


          #5
          Die Automation und die Steckdosen haben natürlich nichts miteinander zu tun. Wollte nur grundsätzlich wissen, wie ich verschiedene Status auf den Bus bringe. Hab da echt noch nicht so viel Ahnung davon, daher meine dummen Fragen.

          Also mit knx_event einen switch erstellen, der über den Taster angesteuert werden kann und den status über expose wieder auf den Bus geben?! Die Frage is jetzt nur noch wie ;-).
          Ich steh voll auf dem Schlauch.... Danke für die Hilfe....

          Das wäre der Code für die Automation:



          PHP-Code:
          input_boolean:

            
          rolladen_treppenhaus_runterfahren:
              
          nameAutomatisch runterfahren?
              
          iconmdi:window-shutter
            rolladen_treppenhaus_hochfahren
          :
              
          nameAutomatisch hochfahren?
              
          iconmdi:window-shutter-open

          automation
          :
          #Treppenhaus
            
          aliasrolladen_treppenhaus_automatisch_schliessen
              id
          rolladen_treppenhaus_automatisch_schliessen
              initial_state
          True
              trigger
          :
                - 
          platformsun
                  event
          sunset
              condition
          :
                - 
          conditionstate
                  entity_id
          "input_boolean.rolladen_treppenhaus_runterfahren"
                  
          state"on"
              
          action:
                - 
          servicecover.close_cover
                  data
          : {}
                  
          target:
                    
          entity_id:
                      - 
          cover.rolladen_treppenhaus
            
          aliasrolladen_treppenhaus_automatisch_oeffnen
              id
          rolladen_treppenhaus_automatisch_oeffnen
              initial_state
          True
              trigger
          :
                - 
          platformsun
                  event
          sunrise
              condition
          :
                - 
          conditionstate
                  entity_id
          "input_boolean.rolladen_treppenhaus_hochfahren"
                  
          state"on"
              
          action:
                - 
          servicecover.open_cover
                  data
          : {}
                  
          target:
                    
          entity_id:
                      - 
          cover.rolladen_treppenhaus
          zz0
          .nu1ju2jz0rzz 

          Kommentar


            #6
            Zitat von LittleGeneral Beitrag anzeigen
            Wollte nur grundsätzlich wissen, wie ich verschiedene Status auf den Bus bringe.
            Grundsätzlich: Entweder über `expose` (siehe Doku Link oben), oder über eine Automation mit dem `knx.send` service. Kommt immer drauf an was gerade naheliegender ist.

            Zitat von LittleGeneral Beitrag anzeigen
            Also mit knx_event einen switch erstellen, der über den Taster angesteuert werden kann und den status über expose wieder auf den Bus geben
            Man kann das schon so machen... ist aber halt die komplizierteste Variante. Überhaupt mit `input_boolean` - da bräuchtest du eine zusätzliche Automation die auf `knx_event` hört (als Trigger) um den umzuschalten. Siehe Doku Input Boolean https://www.home-assistant.io/integr...input_boolean/

            Einfacher gehts mit eben mit einem KNX Switch. Der hört schon auf KNX Telegramme, kann vom HA UI aus bedient werden, seinen State speichern wenn du willst und optional auch vom Bus gelesen werden. https://www.home-assistant.io/integrations/knx/#switch
            In deiner Automation und der UI Card nimmst du dann einfach den, statt des input_boolean.

            Kommentar


              #7
              vielen lieben Dank für die super Antwort! Hat mir megal geholfen!

              Kommentar


                #8
                Zitat von meti Beitrag anzeigen
                Einfacher gehts mit eben mit einem KNX Switch. Der hört schon auf KNX Telegramme, kann vom HA UI aus bedient werden, seinen State speichern wenn du willst und optional auch vom Bus gelesen werden. https://www.home-assistant.io/integrations/knx/#switch
                In deiner Automation und der UI Card nimmst du dann einfach den, statt des input_boolean.
                So recht will das bei mir nicht funktionieren. Auf einen Glas-Taster gelegt, schaltet dieser zwar um. Aber er zeigt den Status nicht an. Natürlich habe ich eine state_address für den Switch angegeben, aber diese Rückmeldung ist auf dem Taster nicht erkennbar. Die Kommunikationsobjekte sind mit entsprechenden Gruppenadressen verknüpft. Fehlt etwas?

                Der Vollständigkeit wegen hier das zugehörige YAML:
                Code:
                - name: "Automatik-Betrieb Licht"
                  address: "0/4/28"
                  state_address: "0/4/29"
                  respond_to_read: true

                Kommentar


                  #9
                  Zitat von dubtec Beitrag anzeigen
                  Natürlich habe ich eine state_address für den Switch angegeben, aber diese Rückmeldung
                  Eine `state_address` ist für eine KNX Entity ein Eingang - da werden keine Rückmeldungen gesendet, sondern nur empfangen. Gesendet wird nur auf `address`.

                  Kommentar


                    #10
                    Zitat von meti Beitrag anzeigen
                    Eine `state_address` ist für eine KNX Entity ein Eingang - da werden keine Rückmeldungen gesendet, sondern nur empfangen. Gesendet wird nur auf `address`.
                    Ich interpretiere das in zwei Richtungen:
                    1. Die State_address ist auf dieselbe GA zu konfigurieren wie die des Switches
                    2. ODER: In der Definition verwende ich gar keine state_address
                    Beides führte bislang nicht zu dem gewünschten Verhalten.

                    Muss ich den Switch Status via expose wieder an Status-GA senden?

                    Kommentar


                      #11
                      Du brauchst `state_address` nur, wenn du aktiv einen Status vom Bus auslesen möchtest (GroupValueRead). Das ist beim Verwenden von `respond_to_read` normalerweise nicht der Fall - weil die Entity ja selbst antworten sollte.

                      Ich hab noch nicht ganz verstanden was hier nicht funktioniert. Wüsste aber nicht wofür man hier Expose bräuchte.

                      Kommentar


                        #12
                        Danke, meti, ich möchte mithilfe eines „Flags“ die Automationen in einem Zimmer deaktivieren. D.h. nur wenn das Flag auf wahr steht, sollen die Home Assistant Automationen auch laufen.

                        Zunächst hatte ich ein input_boolean, das ich auch nur via Homekit bzw. Home assistant gesteuert habe. Dieses input_boolean wollte ich nun auf einen MDT Glastaster legen. Aber empfand es als kompliziert für dieses Flag wiederum Automationen anzulegen. Nach Lesen dieses Threads habe ich mich für einen Switch entschieden. Dieser schaltet zwar auch vom Taster um (von wahr/an nach falsch/aus und wieder zurück), aber er zeigt den Status nicht an.
                        Zuletzt geändert von dubtec; 19.01.2025, 09:34.

                        Kommentar


                          #13
                          Zitat von dubtec Beitrag anzeigen
                          aber er zeigt den Status nicht an.
                          In HA?
                          Kannst du vielleicht nen Screenshot von deinen Verknüpfungen und / oder GruppenMonitor posten? Ich kann nicht wirklich nachvollziehen was da nicht gehen sollte.

                          Kommentar


                            #14
                            Nein, auf dem Taster. Der Status in HA ist jeweils richtig und schaltet auch um. Bemühe mich um Screenshots im Laufe des Tages.

                            Kommentar


                              #15
                              grafik.png
                              grafik.png

                              Kommentar

                              Lädt...
                              X