Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX / Home Assistant = Heizung

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

    KNX / Home Assistant = Heizung

    Hallo zusammen,

    versuche seit Wochen die Heizungssteuerung auf Home Assistant abzubilden und anzusteuern. Leider aber nur mit gierigem erfolg.
    Folgende funktioniert bereits: Ich habe gira Taster verbaut welche die Temperatur ist soll werte usw. alles bereits regelt.

    Was ich jetzt eigentlich noch gerne hätte, da ich in einem andren raum nur ein Temperatur Füller habe und kein Bedienteil ist das ich über Home Assistant diesen raum Steuern möchte.
    Das heißt: IST Temperatur kommt von KNX 4/4/1 soll abgeglichen werden über in Home Assistant vorgegebener Sollwert über z.b.: Climate und Steuert dann den KNX Aktor 4/4/0 an.

    kann wir da jemand von euch helfen? Währe echt super.
    Was Mege von euch währe wenn Ihr gleich einen Code hochladen könntet für HA.

    Vielen Dank im Voraus
    Gruß Patrick

    #2
    Hi 👋!
    Einen einfachen 2-Punkt Regler gibts hier: https://www.home-assistant.io/integr...ic_thermostat/
    PID Regler gibts soweit ich weiß nur als custom component. ZB https://github.com/aendle/custom_components

    Kommentar


      #3
      Hat der Aktor keinen integrierten Regler, damit er nur IST und SOLL-Temperatur benötigt? Es ist ja kein MDT Alleinstellungsmerkmal mehr.
      ----------------------------------------------------------------------------------
      "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
      Albert Einstein

      Kommentar


        #4
        Meti: sorry aber ich bekomme einfach nicht auf die Kette. (Einen einfachen 2-Punkt Regler gibts hier) Home Assistent lässt sich nicht neustarten.

        gbglace: ich weiß nicht auf was du anspielst, selbst wenn er es hätte möchte ich ja die ist und sollt in Home Assistant abglichen und dann den Aktor anstreuen

        Vielen Dank im Voraus

        Kommentar


          #5
          Ein Regler ist genau das was du suchst. Er vergleicht Ist und Soll und gibt einen Wert raus. Bei 2-Punkt halt ein/aus und bei PI (PID) zB einen Prozentwert.
          Wenn dein Aktor also einen Regler eingebaut hat (so wie dein Taster auch), dann bräuchtest du HA nicht dafür.

          Warum du HA nicht Neustarten kannst kann dir ohne weitere Beschreibung keiner sagen. 🔮🤷

          Kommentar


            #6
            Genau wenn der Regler im Aktor ist braucht er nur IST und Solltemperatur. Je nach Aktor gibt es dann nur Unterschiede wie man die Sollwertverstellung abbildet.
            ----------------------------------------------------------------------------------
            "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
            Albert Einstein

            Kommentar


              #7
              Vielen Dank Ihr zwei werde mir dies die Tage mal anschauen.

              Kommentar


                #8
                habe nun mal folgenden Code verwendet, kann aber HA nicht neu starten da er mir diesen Fehler bring.

                image.png

                Logger: aiohttp.server
                Source: components/hassio/__init__.py:597
                First occurred: 16:57:56 (7 occurrences)
                Last logged: 17:07:34

                Error handling request
                Traceback (most recent call last):
                File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
                resp = await request_handler(request)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
                resp = await handler(request)
                ^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
                return await handler(request)
                ^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
                return await handler(request)
                ^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
                return await handler(request)
                ^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
                return await handler(request)
                ^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
                return await handler(request)
                ^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
                return await handler(request)
                ^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
                response = await handler(request)
                ^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
                result = await handler(request, **request.match_info)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/components/api/__init__.py", line 360, in post
                await hass.services.async_call(
                File "/usr/src/homeassistant/homeassistant/core.py", line 1969, in async_call
                response_data = await coro
                ^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/core.py", line 2006, in _execute_service
                return await target(service_call)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/src/homeassistant/homeassistant/components/hassio/__init__.py", line 597, in async_handle_core_service
                raise HomeAssistantError(
                homeassistant.exceptions.HomeAssistantError: The system cannot restart because the configuration is not valid: Invalid config for [knx]: [target_temp] is an invalid option for [knx]. Check: knx->knx->climate->7->target_temp. (See /config/configuration.yaml, line 14).



                Sobald ich den oben eingeblendeten Code ausklammere funktioniert wider alles.


                Vielen Dank für eure Hilfe und sorry für meine Unwissenheit. ​​

                Kommentar


                  #9
                  Zitat von KP150 Beitrag anzeigen
                  Invalid config for [knx]: [target_temp]
                  Config von "generic thermostat" gehört nicht unter "knx:".

                  Kommentar


                    #10
                    Ich will das nochmals mit KNX aufgreifen: Welchen Heizungsaktor verwendest du denn? Es kann sehr gut möglich sein, dass der schon alles kann, d.h. du in HA gar keinen Regler brauchst, sondern nur eine Ansteuerung. Der Reiz an KNX ist ja, dass vieles dezentral läuft, da die Aktoren schon viel Intelligenz haben. Dadurch würde die Heizung funktionieren, auch wenn dein Server mal ausfallen sollte oder etwas nicht stimmt.

                    Kommentar


                      #11
                      Wie die anderen hier schon geschrieben haben. Der angedachte Weg ist sicherlich, dass man vorhandene Regler verwendet, und diese über die KNX Climate Plattform einbindet. Damit kannst du Soll- und Ist-Temperatur auslesen / festlegen / anzeigen, und auch einige Dinge mehr (Modus, An bzw. Ausschalten, usw.).

                      Der Umweg über einen Software-Regler geht sicherlich auch, wie aber schon gesagt hat, hat das den Nachteil, dass mit jedem Ausfall von Home Assistant deine Heizung ausfällt oder spinnt. Eigentlich sollte der Ansatz immer sein, dass man mit der Visualisierung (= Home Assistant) nur eingreift und Vorgaben macht, nicht aber die wesentlichen Aspekte der Gebäudeautomatisierung in einer komplexen Software-Lösung abbildet. Das birgt nämlich Ausfall-Risiken. Gerade Home Assistant ist durchauch dafür bekannt, dass man mit einem Update auch mal Dinge "kaputt" macht (andere Syntax in der Konfiguration, Herauswerfen von nicht mehr unterstützen Software-Bibliotheken, usw.). Für eine Heizung will man das nicht.

                      Sofern die Heizung KNX-technisch funktioniert (mit integrierten KNX Reglern), ist das Einbinden in Home Assistant relativ trivial. In meinem Fall sieht das z.B. in etwa so aus:

                      Code:
                      - name: "KG-Z4"
                        temperature_address: "3/1/5"
                        temperature_step: 0.5
                        setpoint_shift_address: "7/1/5"
                        setpoint_shift_state_address: "7/1/7"
                        setpoint_shift_mode: "DPT9002"
                        target_temperature_state_address: "7/1/4"
                        setpoint_shift_min: -3
                        setpoint_shift_max: 3
                        command_value_state_address: "7/1/11"
                        heat_cool_state_address: "5/0/12"​

                      Kommentar


                        #12
                        Gibt es bei Home Assistant auch eine Konfiguration für absolute Heizungssollwerte?
                        Setpoint_shift_address ist ja eigentlich falsch bei mir. Ich spiele gerade damit herum, wenn ich dort einfach die absoluten Sollwerte eintragen, aber so recht klappt das nicht. Weil ich keine relative Sollwertverstellung will.

                        Aktuell verhält es sich eigentlich richtig, ober übersehe ich was?
                        Code:
                        #Heizung:
                        climate:
                          - name: "Büro"
                            temperature_address: "4/2/20"
                            setpoint_shift_address: "4/2/21"
                            setpoint_shift_state_address: "4/2/21"
                            setpoint_shift_min: -3
                            setpoint_shift_max: 32
                            temperature_step: 0.5
                            target_temperature_state_address: "4/2/29"
                            operation_mode_address: "4/2/22"
                            operation_mode_state_address: "4/2/23"
                            min_temp: 7.0
                            max_temp: 32.0​
                        Zuletzt geändert von BadSmiley; 15.12.2023, 15:52.
                        Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

                        Kommentar


                          #13
                          Ja. Lass das `setpoint_shift` Zeug weg und benutze `target_temperature_address`.

                          Kommentar


                            #14
                            Zitat von meti Beitrag anzeigen
                            Ja. Lass das `setpoint_shift` Zeug weg und benutze `target_temperature_address`.
                            Ich dachte das schon mal probiert zu haben, aber da kam eine Fehlermeldung. Ich teste es nochmal, danke!

                            aaaa stopp, jetzt verstehe ich. Ich habe es mit "target_temperature:" probiert, da fehlte das address. Danke!

                            Nachtrag: wie kriegt man denn die hübsche Heizungsanzeige?
                            Meine sieht so aus:
                            grafik.png
                            Zuletzt geändert von BadSmiley; 15.12.2023, 16:00.
                            Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

                            Kommentar


                              #15
                              Zitat von BadSmiley Beitrag anzeigen
                              Nachtrag: wie kriegt man denn die hübsche Heizungsanzeige?
                              Wenn du noch "active_state_address" oder "command_value_state_address" konfigurierst.

                              Kommentar

                              Lädt...
                              X