KNX in HA (Dimmen, Heizung)

Hallo zusammen,

seit Januar hab ich HA laufen und bin soweit sehr zufrieden damit.

Unser Haus ist komplett mit KNX ausgestattet jedoch zum größten Teil mit relativ alten Komponenten (Anfang 2000er).
Nun habe ich angefangen die Adressen von KNX zu importieren, was auch soweit alles klappt.
Schwierigkeiten habe ich mit der Dimm Funktion (klappt nicht) und mit der Heizungssteuerung.

Gibt es hier jemanden, der sich mit der KNX Thematik auskennt und mich dort unterstützen kann?

Verbaute Komponenten für diesen Fall sind :

  • Dimmaktor : Busch Jäger 6593-101 und 6583
    Bild

  • Taster: Busch-Jaeger 6327-24G mit IR-Schnittstelle und RTR
    Bild

  • Heizaktor: MDT AKH-0800.02 (ist mal neu dazu gekommen) und Busch Jäger 6164/40

Danke im Voraus!
Gruß

Hallo MetalFox,

da ich hauptberuflich als Elektriker / KNX Systemintegrator arbeite, hoffe ich dir helfen zu können. Könntest du mal ein Beispiel deiner Gruppenadressen sowie deiner .yaml schicken?

Der Home Assistant “kann” kein 4-bit Dimmen, bzw. Relatives dimmen, nur 1byte Dimmen, also absolutes dimmen. Beispiel-yaml:

knx:
  light:
    - name: "Wohnzimmer Dimmer"
      address: '1/3/10' #E/A
      state_address: '1/3/13' #E/A STATUS
      brightness_address: '1/3/12' #WERT
      brightness_state_address: '1/3/14' #WERT STATUS

Hier wären dann im KNX Projekt z.B. folgende Gruppenadressen:
1/3/10: Wohnzimmer E/A
1/3/11: Wohnzimmer DIMM
1/3/12: Wohnzimmer WERT
1/3/13: Wohnzimmer E/A STATUS
1/3/14: Wohnzimmer WERT STATUS

Es ist zu beachten, dass die state_address und die brightness_state_address im KNX das R-flag (kann gelesen werden) benötigen.

Lg Rouven

Edit:
Wenn im KNX keine absoluten Dimmwerte stehen, dann muss das leider im KNX angepasst werden. Das ginge dann leider nur mit der (relativ teuren) ETS5 / ETS6.

2 „Gefällt mir“

Hallo Rouven,

danke erstmal für die schnelle Antwort!

Leider habe ich im Moment keinen zugriff auf die Projekt-Datei da mein Schwager die ETS/KNX Angelegenheiten Pflegt.
Ich habe von Ihm eine Liste mit den Adressen bekommen. Da sind aber leider keine Adressen für die jeweiligen Status enthalten nur jeweils eine Adresse für Schalten und für Dimmen. Diese sind quasi auch auf den Tastern so Programmiert.

Könntest du mir vielleicht Beispiele aus ETS Screenshoten und zukommen lassen?
Dann kann ich das mal mit meinem Schwager besprechen und nachschauen.

Gruß

Hi, ich habe dir mal Screenshots aus der ETS aus einem meiner Projekte gemacht.
Auf den Schaltern ist Schalten und Dimmen auch korrekt, du drückst da schließlich kurz zum schalten und hältst gedrückt zum dimmen. Das ist das angesprochene relative Dimmen (hochdimmen, runterdimmen).
Eine Visualisierung (und hier ist egal, ob eine “echte” KNX-Visu, ein KNX Homeserver oder eben der Home Assistant) dimmt aber (meist) nicht so. Hier werden absolute Dimmwerte geschrieben, also 10%, 40%, 90%. Dies sind 1-Byte Werte.

Hier einmal die Gruppenadressen (RM bedeutet Rückmeldung, also Status):

Und hier der dazugehörige 4-Kanal Dimmer:


Im Bild blau markiert ist die Gruppenadresse deiner Begierde, der absolute Dimmwert
Im Bild gelb markiert sind die Status Rückmeldungen, die z.B. nach einem manuellen hoch- oder runterdimmen (per relativem dimmen) dem Home Assistant den absoluten Dimmstatus meldet. Ansonsten weiß der Home Assistant den aktuellen Wert nicht. Auch die Rückmeldung der Schaltkanäle ist meines Erachtens nach wichtig, z.B. für Zentralbefehle oder Szenen im KNX. Wenn du einen Zentral-Aus-Taster irgendwo hast, weiß der Home Assistant sonst ja nicht, dass Kanal X ausgeschaltet wurde.

LG Rouven

Edit: Ich hatte bei den Status Rückmeldungen noch wie in meiner ersten Antwort erhwähnt die Lesen-Flags markiert. Diese sagen dem Dimmer, dass er auf Lesen-Befehle reagieren soll. Ich hatte sie R-Flags genannt, wegen Read. Im Deutschen sind das aber natürlich L-Flags :wink:
Ältere Dimmer können MANCHMAL (musst du ausprobieren) den aktuellen Status über das Schalt- oder WERT- Kommunikationsobjekt zurückgeben. In diesem Fall musst du einfach in deiner configuration.yaml die state_address auf den gleichen Wert wie address setzen (und brightness_state_address auf den von brightness_address)

1 „Gefällt mir“

Super, danke! Ich glaube, das bring mich erstmal weiter!

Ich werde berichten.

Kannst du mir ggf. auch mal zeigen, wie das mit den Daten der Heizungssteuerung funktioniert? Vielleicht ebenfalls mit Beispielen aus ETS und HA.

Gruß

Gerne, aber auch da müsste ich eigentlich wissen, welche Gruppenadressen du in deiner Heizungssteuerung hast.

knx:
  climate:
    - name: "Wohnzimmer"
      temperature_address: "5/1/1" #Isttemperatur
      setpoint_shift_address: "5/1/2" #Temperaturverschiebung (z.B. -5 bis +5)
      setpoint_shift_state_address: "5/1/3" #Temperaturverschiebung Rückmeldung
      target_temperature_state_address: "5/1/4" #Resultierende Solltemperatur (Basistemperatur plus Verschiebung)
      operation_mode_frost_protection_address: "5/1/5" #Frostschutzmodus (wird oft mit Fensterkontakten verknüpft, um die Heizung bei offenem Fenster zu deaktivieren)
      operation_mode_night_address: "5/1/6" #Nachtmodus
      operation_mode_comfort_address: "5/1/7" #Komfortmodus
      operation_mode_state_address: "5/1/8" #Modus Rückmeldung

Vielleicht kannst du dir von deinem Schwager mal einen kompletten Export der Gruppenadressen zuschicken lassen? Das sind nur ein paar Klicks in der ETS und macht das ganze hier ein wenig einfacher und weniger Kristallkugelig :wink:

LG

1 „Gefällt mir“

In HA habe ich noch nichts eingetragen (bzw. wieder gelöscht), da ich nicht wusste was was ist.

Hier mal als Beispiel, welche Gruppen Adressen mir im Moment zu Verfügung stehen:

HH Gäste WC EG Heizen 1/3/22 DPST-1-100 Auto
HH Gäste WC EG Heizen Regler Status 1/3/23 DPST-1-100 Auto
HH Gäste WC EG Heizen Diagnose 1/3/24 DPST-16-0 Auto
HH Gäste WC EG Heizen Temperatur 1/3/25 DPST-9-1 Auto

Wahrscheinlich fehlen dann da noch ein paar, nehme ich an!?

Ich habe gerade mal mein ETS Lite geöffnet und geschaut, was denn zu Verfügung steht.
Hier ein Screenshot:

Also Heizen wird könnte die schaltende Heizungsregelung sein, Heizen Regler Status sehe ich aktuell in den Kommunikationsobjekten in deinem Screenshot gar keine, könnte aber eine Rückmeldung des RTR sein, die du erst in den Parametern des RTR aktivieren müsstest. Heizen Diagnose ist ein (Status?)Text, den kannst du folgendermaßen einbinden:

knx:
  text:
    - name: "Gäste WC Diagnose"
      address: "1/3/24"

Und Heizen Temperatur könnte die Isttemperatur, die der RTR misst, sein. Aber auch da müsste ich leider raten. Du könntest das wie folgt anlegen und mal testen, was passiert:

knx:
  expose:
    - type: temperature
      entity_id: sensor.test_temperatur
      address: "1/3/25"

Wenn sensor.test_temperatur direkt nach Neustart einen Temperaturwert anzeigt (im besten falle einen etwas krummen, wie 21,2°C), weißt du, dass die Gruppenadresse die ISTtemperatur ist. Wenn du am Regler die Temperatur veränderst und die dann gleichermaßen auf dem Home Assistant angezeigt wird, ist die Gruppenadresse die SOLLtemperatur Rückmeldung. Wenn du den Sensor beschreibst und auf dem RTR ändert sich die Solltemperatur, dann hast du da die SOLLtemperatur Grupenadresse.

EDIT: sorry, hatte die Frage gar nicht beantwortet: JA, da fehlen leider Adressen :smiley:
Es kommt noch drauf an, ob du per HA nur die Solltemperatur schreiben und die Isttemperatur sehen können willst, oder ob du auch den Heizungsmodus (Standby/Komfort/Nacht/Frost) anpassen bzw. lesen können möchtest.

Hallo nochmal,

habe letzteres gerade mal ausprobieren können, jedoch leider ohne Erfolg.

Den Sensor erstellt er irgendwie gar nicht und beim Text ist der Zustand “unknown”.

Adressen:

HH Kaminzimmer EG Heizen 1/3/50 DPST-1-1 Auto
HH Kaminzimmer EG Heizen Regler Status 1/3/51 DPST-1-1 Auto
HH Kaminzimmer EG Heizen Diagnose 1/3/52 DPST-16-0 Auto
HH Kaminzimmer EG Heizen Temperatur 1/3/53 DPST-9-1 Auto

Yaml:

  text:
    - name: " Kaminzimmer Heizen Diagnose"
      address: "1/3/52"

  expose:
    - type: temperature
      entity_id: sensor.kaminzimmer_temperatur
      address: "1/3/53"

Habe ich da irgendwo einen Fehler?

Ne ich glaube ich hab den Fehler gemacht. Expose erstellt keine Sensoren, sondern spiegelt bestehende Sensoren aufs KNX.

Stattdessen kannst du mal folgendes probieren

knx:
  number:
    - name: "Temperatur Kaminzimmer"
      address: "1/3/53"
      state_address: "1/3/53"
      respond_to_read: true
      type: temperature
      min: 18
      max: 25
      step: 0.5
      mode: slider

Edit: und dass der diagnosetext keinen wert hat, liegt vielleicht einfach daran, dass das bauteil (gerade) nichts auf die gruppenadresse schreibt

Dann kommt das bei raus:

Edit: wenn ich min auf z.B. 15 ändere, kommt als Zustand auch 15.

Passiert was am RTR, wenn du den Wert verstellst? (also einfach mal auf 22°C stellen)
Verändert sich der Zustand, wenn du am RTR den Sollwert verstellst?
Verändert sich der Zustand, wenn du am RTR für einen Isttemperatur-Unterschied sorgst? (leicht und vorsichtig und mit Abstand anföhnen, oder Fenster auf etc.)

Nein, ändert sich nix.

Dann musst du leider erst mal abklären, was die Gruppenadresse denn eigentlich macht (Isttemperatur, Solltemperatur oder Solltemperatur Rückmeldung), dann müssten die fehlenden Gruppenadressen angelegt werden (es fehlen ja auch noch die Dimmwerte fürs Licht) und dann können wir nochmal schauen, dass wir das ans laufen kriegen.

Ok, dann versuche ich das mal raus zu bekommen!

Danke schonmal bis hier hin!

Ich melde mich, soweit ich was habe!

habe mir gerade nochmal den Dimmaktor (Steuerbaustein) bei mir im ETS-Lite reingeladen und angeschaut.

Mehr als das, kann er nicht!

Jetzt die ist die Frage, ob der Helligkeitswert das “Dimmen Absolut” ist und gleichzeitig “Status Dimmwert” ist?

Was meinst du?

Klasse, ich hatte den Baustein gesucht und online nicht gefunden (wollte das bei mir lokal eigentlich erstmal selber ansehen).
In der Spalte 2 (Helligkeitswert, 1byte) ist hinten das L-Flag (kann gelesen werden), als auch das Ü-Flag (schreibt auf den Bus) standartmäßig aktiviert, das bedeutet, der Dimmer reagiert auf eine Statusanfrage auf dem Kommunikationsobjekt und SOLLTE nach hoch- oder runterdimmen vom Taster seinen absoluten Wert auf den Bus schreiben. Das klappt also mit dem Dimmer.

Die gewünschten Adressen für die jeweiligen Kommunikationsobjekt-Nummer (1.Spalte) wären:
0 => Zimmer X E/A (address)
1 => Zimmer X DIMM (ist nur für deine KNX Schalter notwendig, irrelevant für den Homeassistant)
2 => Zimmer X WERT (brightness_address UND brightness_state_address)
4 => Zimmer X E/A Status (state_address)

Jetzt müsstest du nur noch
a) nachfragen, ob die Gruppenadressen vielleicht sogar schon existieren oder
b) dafür sorgen, dass das dementsprechend umprogrammiert wird :slight_smile: