Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Campagnola
Beiträge: 8
Registriert: 6. Nov 2024 09:51
Answers: 0

Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von Campagnola »

Guten Tag

Habe eine EIB/KNX Anlage in meiner Wohnung und mochte diese über ein Touchpanel steuern.

Da ich ein altes Industiepanel grade rumliegen habe wurde Windows 10 Aufgesetzt und Openhab installiert.
Der Server ist unter Localhost :8080 auch erreichbar und scheint soweit zu funktionieren.
Die Verbindung zum Haus wird mit einer IP/Schnittstelle "Arcus-EDS KNX-IP Gateway" (IP 192.168.1.21)hergestellt.

Habe den Gateway folgend konfiguriert:

Code: Alles auswählen

UID: knx:ip:af401b60cf
label: KNX/IP Gateway
thingTypeUID: knx:ip
configuration:
  useNAT: false
  readRetriesLimit: 3
  ipAddress: 192.168.1.21
  autoReconnectPeriod: 50
  type: TUNNEL
  readingPause: 50
  portNumber: 3671
  responseTimeout: 10
Er scheint auch online auf aber ich kann kein Licht schalten.
was muss ich tun um das licht mit der Gruppenadresse 0/0/4 zu schalten?
Bin zu dof um das zu verstehen.

danke für eure Hilfe in voraus
Klaus

Benutzeravatar
udo1toni
Beiträge: 14780
Registriert: 11. Apr 2018 18:05
Answers: 230
Wohnort: Darmstadt

Re: Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von udo1toni »

Herzlich willkommen im openHAB Forum!

Schritt 1: Du installierst das knx Addon (ich gehe davon aus, dass Du das bereits erledigt hast :) )
Schritt 2: Du erstellst eine Bridge zum knx Bus. Am besten benennst Du diese Bridge mit einer sinnvollen UID, knx:ip:af401b60cf ist zwar in Ordnung, aber nicht eben lesefreundlich. Da alle UIDs immer vom Addon (hier knx) abgeleitet sind und bei Bus-Systemen immer den Bus beinhalten (hier af401b60cf), hast Du immer diesen Buchstaben-Zahlensalat vor Augen. Mein Vorschlag wäre "bridge". Nur falls man mehrere knx Busse nutzt (also voneinander getrennte knx-Systeme, die aber gemeinsam gesteuert werden sollen), wäre eine individuellere UID notwendig. Leider kann man die UID nachträglich nicht mehr anpassen, Du musst also die Bridge löschen und erneut anlegen.
Das Label hingegen kannst Du auch nachträglich anpassen und z.B. "Arcus-EDS" eintragen, wenn Du hier einen Bezug zur Hardware herstellen möchtest.
Wenn Du den TUNNEL Mode verwendest, ist es außerdem wichtig, auch localIp zu setzen, das ist die IP-Adresse von openHAB (bzw. Deines Industriepanels)
Schritt 3: Du benötigst mindestens noch ein knx Generic Thing. Allerdings ist es sinnvoll, für jedes Device (REG im Schaltschrank, knx Wandtaster, UP-Modul usw.) ein eigenes Thing anzulegen. Things, in denen Du keinen Channel anlegst, kannst Du einfach weg lassen, andererseits hast Du mit einer vollständigen Abbildung auch alle Geräte virtuell in openHAB (wenn auch teilweise ohne Funktion). Das Thing muss der Bridge zugeordnet werden (das ist einer der Parameter, die man in der UI setzen muss - es stehen nur die Bridges zur Verfügung, die in Schritt 2 angelegt wurden)
Schritt 4: Im jeweiligen Thing musst Du nun Channel anlegen. Dabei ist ein Channel am ehesten eine Eigenschaft des Things. openHAB steuert den knx Bus, entsprechend legst Du bevorzugt Channel in den Aktor Things an. Für einen 6-Kanal-Schaltaktor wären das zunächst mal sechs switch Channel (nicht switch-control), die den Schaltzustand abbilden und Schaltbefehle annehmen. Weitere Channel könnten z.B. für die Energiemessung hinzukommen. Aber bleiben wir bei einem Schaltkanal "ohne alles":
Ein Schaltkanal hat immer zwei GA. Die erste GA ist die Befehls-GA, die zweite GA ist die Rückmeldung des Schaltzustands. Solltest Du die zweite GA nicht haben (das ist leider bei vielen knx Installationen der Fall) dann kann es früher oder später passieren, dass openHAB einen falschen Schaltzustand signalisiert - das ist dann nicht openHAB anzulasten, sondern der mangelhaften Konfiguration.
Schritt 5: Nachdem Du nun mindestens eine Bridge, mindestens ein Generic knx Thing und mindestens einen switch Channel hast, kannst Du diesen Channel mit einem Switch Item verlinken. Die UI erzeugt auf Wunsch automatisch das passende Item (und auch hier gilt, dass Du den Namen - das ist die ID des Items - nicht nachträglich anpassen kannst. Falls Du hier später etwas ändern willst, musst Du das Item löschen und neu erstellen.
Schritt 6: Zum Testen kannst Du nun dieses Item innerhalb der Itemliste aufrufen und schalten, dabei muss der knx Aktor entsprechend reagieren.

Zurück zum Anfang, nämlich Deinem Industriepanel mit Windows 10...
Grundsätzlich läuft openHAB auf allem, was ausreichend Speicher und Wumms mitbringt :) und Java 17 laufen lassen kann. Aber:
1. Es wird dringend empfohlen, openHAB auf einem eigenen Rechner laufen zu lassen, auf dem möglich wenig "artfremde" Dinge passieren. Ein Desktop ist dabei tatsächlich schon artfremd, auch wenn es viele Leute gibt, die das so betreiben.
2. openHAB kann als Inselsystem im LAN laufen, ohne jemals Kontakt zum Internet zu haben (also abgesehen von Updates, falls diese online ausgeführt werden). openHAB bringt aber viele Funktionen mit, bei denen eine Online Verbindung sinnvoll ist - z.B. Wetterinformationen von Webdiensten abfragen.
3. Windows 10 ist zum 25. Oktober 2025 abgekündigt. Ab diesem Zeitpunkt wird es keine Sicherheitsupdates mehr geben und Dein System muss umgehend komplett vom Internet getrennt sein, unter allen Umständen, denn EoL Systeme werden bevorzugt angegriffen.
4. Windows verlangt gewöhnlich nach jedem Patch mindestens einen Neustart - ungünstig für Heimautomation.
Ich gehe stark davon aus, dass das Industriepanel nicht geeignet für das aktuelle Windows 11 ist, es ist also an dieser Stelle gleich in mehrfacher Hinsicht fragwürdig, ob dieser Aufbau sinnvoll ist. Für Tests ist es aber ohne Frage in Ordnung, nur solltest Du Dir darüber klar sein, dass hier eher früher als später Arbeit auf Dich zukommt.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

Campagnola
Beiträge: 8
Registriert: 6. Nov 2024 09:51
Answers: 0

Re: Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von Campagnola »

udo1toni hat geschrieben: 6. Nov 2024 14:45 Herzlich willkommen im openHAB Forum!

Schritt 1:
Schritt 2:
Schritt 3: Du benötigst mindestens noch ein knx Generic Thing. Allerdings ist es sinnvoll, für jedes Device (REG im Schaltschrank, knx Wandtaster, UP-Modul usw.) ein eigenes Thing anzulegen. Things, in denen Du keinen Channel anlegst, kannst Du einfach weg lassen, andererseits hast Du mit einer vollständigen Abbildung auch alle Geräte virtuell in openHAB (wenn auch teilweise ohne Funktion). Das Thing muss der Bridge zugeordnet werden (das ist einer der Parameter, die man in der UI setzen muss - es stehen nur die Bridges zur Verfügung, die in Schritt 2 angelegt wurden)

Schritt 4: Im jeweiligen Thing musst Du nun Channel anlegen. Dabei ist ein Channel am ehesten eine Eigenschaft des Things. openHAB steuert den knx Bus, entsprechend legst Du bevorzugt Channel in den Aktor Things an. Für einen 6-Kanal-Schaltaktor wären das zunächst mal sechs switch Channel (nicht switch-control), die den Schaltzustand abbilden und Schaltbefehle annehmen. Weitere Channel könnten z.B. für die Energiemessung hinzukommen. Aber bleiben wir bei einem Schaltkanal "ohne alles":
Ein Schaltkanal hat immer zwei GA. Die erste GA ist die Befehls-GA, die zweite GA ist die Rückmeldung des Schaltzustands. Solltest Du die zweite GA nicht haben (das ist leider bei vielen knx Installationen der Fall) dann kann es früher oder später passieren, dass openHAB einen falschen Schaltzustand signalisiert - das ist dann nicht openHAB anzulasten, sondern der mangelhaften Konfiguration.

Schritt 5: Nachdem Du nun mindestens eine Bridge, mindestens ein Generic knx Thing und mindestens einen switch Channel hast, kannst Du diesen Channel mit einem Switch Item verlinken. Die UI erzeugt auf Wunsch automatisch das passende Item (und auch hier gilt, dass Du den Namen - das ist die ID des Items - nicht nachträglich anpassen kannst. Falls Du hier später etwas ändern willst, musst Du das Item löschen und neu erstellen.

Schritt 6: Zum Testen kannst Du nun dieses Item innerhalb der Itemliste aufrufen und schalten, dabei muss der knx Aktor entsprechend reagieren.
Als erstes mal danke fur die schnelle und gute Antwort.
Denke hab ich genau so gemacht wie beschrieben bis Punkt 6.

Aber irgendwie bin ich immer noch OFFLINE
Die Bridge ist OFFLINE
Ip der Schnitstelle = 192.168.1.21
IP des Touch = 192.168.1.8
Gruppenadresse des REG "momentan unbekannt" :?

Code: Alles auswählen

UID: knx:ip:KNX_Bridge
label: KNX/IP Gateway
thingTypeUID: knx:ip
configuration:
  useNAT: false
  readRetriesLimit: 3
  ipAddress: 192.168.1.21
  localIp: 192.168.1.8
  autoReconnectPeriod: 60
  type: TUNNEL
  localSourceAddr: 0.0.0
  readingPause: 50
  portNumber: 3671
  responseTimeout: 10
Thing:

Code: Alles auswählen

UID: knx:device:KNX_Bridge:Schaltaktor_REG12
label: KNX Gerät
thingTypeUID: knx:device
configuration:
  pingInterval: 600
  address: 
  readInterval: 0
  fetch: false
bridgeUID: knx:ip:KNX_Bridge
location: Schaltschrank
channels:
  - id: Licht_WC
    channelTypeUID: knx:switch
    label: WC Decken Licht
    description: ""
    configuration:
      ga: 0/0/1
  - id: WC_Spiegel
    channelTypeUID: knx:switch
    label: WC Spiegel
    description: ""
    configuration:
      ga: 0/0/2
  - id: Eingang_Licht
    channelTypeUID: knx:switch
    label: Licht Haustür
    description: ""
    configuration:
      ga: 0/0/3
  - id: Licht_Kuche
    channelTypeUID: knx:switch
    label: Küche Deckenlicht
    description: ""
    configuration:
      ga: 0/0/4
  - id: Arbeitsflaeche
    channelTypeUID: knx:switch
    label: Küche Arbeitsflache
    description: ""
    configuration:
      ga: 0/0/5
  - id: Terasse_Tisch
    channelTypeUID: knx:switch
    label: Terasse Tisch Licht
    description: ""
    configuration:
      ga: 0/0/6
  - id: WC_Ventilator
    channelTypeUID: knx:switch
    label: WC-Ventilator
    description: ""
    configuration:
      ga: 0/0/7
  - id: Heizungspumpe
    channelTypeUID: knx:switch
    label: Heizung Zirkulationspumpe
    description: ""
    configuration:
      ga: 0/0/8
  - id: Herd
    channelTypeUID: knx:switch
    label: Herd Küche
    description: ""
    configuration:
      ga: 0/0/9

Irgendwie stehe ich komplett auf dem Schlauch und verstehe nur Bahnhof.
Danke bin um jeden Strohhalm froh.

servus Klaus

Benutzeravatar
udo1toni
Beiträge: 14780
Registriert: 11. Apr 2018 18:05
Answers: 230
Wohnort: Darmstadt

Re: Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von udo1toni »

Campagnola hat geschrieben: 6. Nov 2024 15:50 Gruppenadresse des REG "momentan unbekannt"
Das REG hat keine Gruppenadresse. Evtl. meinst Du die address, dabei handelt es sich um die physikalische Adresse des Geräts.
Die ist vor allem interessant, um den online/offline Zustand des Things zu bekommen, ansonsten aber unwichtig. Du kannst das Feld einfach unkonfiguriert lassen.
Wenn die Bridge offline angezeigt wird, gibt es ein grundsätzliches Kommunikationsproblem zum knx/IP-Gateway.
Es gibt im Ordner C:\openHAB\userdata\logs\ (falls nicht anders konfiguriert) mehrere Logdateien, in denen openHAB Zustandsänderungen auf dem openHA(B) Bus meldet - events.log - sowie eine Datei openhab.log in der Fehlerzustände dokumentiert werden. Evtl. gibt es dort schon Informationen, warum das Gateway nicht erreicht werden kann.
Falls nicht, kannst Du das Logging für das knx Addon anpassen, das geht direkt über die UI in der rechten Spalte bei den Einstellungen (addon Settings), dort kannst Du dann für das knx Addon das Logging auf TRACE setzen. Danach solltest Du openHAB einmal neu starten, damit das Addon gezwungen ist, einen Reconnect durchzuführen. Spätestens jetzt sollte das Addon Informationen darüber dokumentieren, warum die Verbindung nicht zustande kommt - in der einen oder anderen Form...

Wenn Du Konfigurationen, Logs oder sonstige Texte bezüglich openHAB hier postest, ist es immer gut, diese als Code zu markieren. Zum einen wird ein Codeblock mit fester Laufweite formatiert, was die Lesbarkeit erhöhen kann. Zum zweiten verhindern die Code Tags, dass die Forensoftware Zeichen ersetzt oder auslässt (z.B. mehrere aufeinanderfolgende Leerzeichen immer als ein Leerzeichen wertet, oder auch ein Leerzeichen zu Beginn der Zeile ignorieren, bis hin zum Ersetzen bestimmter Zeichenfolgen durch andere, wie Doppelpunkt und schließende Klammer durch ein Smiley :)
Und zum dritten bietet die Codeanzeige immer die Option, den gesamten Code in die Zwischenablage zu übernehmen, was auch ganz angenehm sein kann ;)
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

Campagnola
Beiträge: 8
Registriert: 6. Nov 2024 09:51
Answers: 0

Re: Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von Campagnola »

Guten Tag

Heute Touch hochgefahren, verbunden und alles funktioniert (ich kann Licht Schalten).

Vielen vielen dank.
Klaus

Benutzeravatar
udo1toni
Beiträge: 14780
Registriert: 11. Apr 2018 18:05
Answers: 230
Wohnort: Darmstadt

Re: Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von udo1toni »

Immer gerne :)
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

Campagnola
Beiträge: 8
Registriert: 6. Nov 2024 09:51
Answers: 0

Re: Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von Campagnola »

Guten Abend

Hab ein Problem dass die Rollos alle verkehrt rum gehen.
Wie kann ich das andern?

danke
klaus

Benutzeravatar
udo1toni
Beiträge: 14780
Registriert: 11. Apr 2018 18:05
Answers: 230
Wohnort: Darmstadt

Re: Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von udo1toni »

Die Motoren umklemmen. :)

Es gibt in knx eine genaue Definition. offen ist 0, geschlossen ist 100. Bei der Richtung (UP/DOWN) ist es ebenfalls fest definiert, dass die 1 DOWN und die 0 UP bedeutet. Andere Bussysteme machen das andersherum oder überlassen es gar dem Anwender, das zu entscheiden, aber bei knx ist es im Standard festgelegt...

EDIT: Es sollte ein Profile geben, mit dem man Shutter invertieren kann (das Profile wird im Link zwischen Channel und Item gesetzt). :)
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

Campagnola
Beiträge: 8
Registriert: 6. Nov 2024 09:51
Answers: 0

Re: Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von Campagnola »

udo1toni hat geschrieben: 7. Nov 2024 19:58 EDIT: Es sollte ein Profile geben, mit dem man Shutter invertieren kann (das Profile wird im Link zwischen Channel und Item gesetzt). :)
Das klingt für mich sehr interessant.
Kann ich vielleicht noch ein paar Infos diesbezüglich haben? :roll:

Es ist alles im Haus so beschriftet und nach 20 Jahren dass die Anlage in Betrieb ist ....
Da war auch noch was mit der Alarmanlage,
weis nimmer so genau
aber da ich bei Auslösung der Allarmanlage alle Rollos öffne und alle Lichter im und um dem Haus einschalten moechte ich nichts um-verdraten.

danke
klaus

Benutzeravatar
udo1toni
Beiträge: 14780
Registriert: 11. Apr 2018 18:05
Answers: 230
Wohnort: Darmstadt

Re: Greehorn versucht seine KNX Anlage uber Openhab zu steuern und zu visualisieren

Beitrag von udo1toni »

Campagnola hat geschrieben: 7. Nov 2024 21:47 da ich bei Auslösung der Allarmanlage alle Rollos öffne und alle Lichter im und um dem Haus einschalten moechte ich nichts um-verdraten.
Ja, zieht immer einen Rattenschwanz hinter sich her :) Die Sache ist halt, es kann gut sein, dass Du in openHAB einen enormen Aufwand treiben musst, um das gerade zu rücken. Nicht, dass es nicht möglich wäre, die beste Option ist aber immer, die Motoren korrekt anzuschließen.
Taster lassen sich umprogrammieren (Tausch der Wippen, so dass die Bedienung identisch bleibt) und was die Alarmfunktion betrifft, so macht man so etwas gewöhnlich über Zwangssteuerung, auch das kann man einfach umdrehen - statt also dem Motor zu befehlen, zu schließen, was dann bei Dir zum Öffnen führt, dreht man es in die korrekte Zwangssteuerung Öffnen :)
Kann natürlich auch sein, dass der Alarmkontakt einfach als 1 (down) an die Rollläden gegeben wird, das ist aber noch schlimmer las die Verdrehung der Richtung...

Genug belehrt ;)

Lege den rollershutter Channel "ganz normal" an, ebenso ein passendes Rollershutter Item. Beim Link zwischen den beiden wählst Du dann als Profile basic-profiles:invert aus, was die komplette Logik umkehren sollte (aus 0 wird 100, aus 100 wird 0, aus UP wird DOWN und umgekehrt).
Ein rollershutter Channel erwartet gewöhnlich vier GA, upDown, stopMove, position-control und posisition-state (wobei die beiden Letzteren gemeinsam im Parameter position angegeben werden). Etwa so:

Code: Alles auswählen

UID: knx:device:bridge:hagerShutter_41
label: RollGruppe 1
thingTypeUID: knx:device
configuration:
  pingInterval: 600
  address: 1.1.41
  readInterval: 0
  fetch: true
bridgeUID: knx:ip:bridge
location: KNX
channels:
  - id: ch1
    channelTypeUID: knx:rollershutter
    label: Räder
    configuration:
      upDown: 6/6/0
      stopMove: 6/6/1
      position: 5.001:6/6/3+6/6/4
6/6/0 (1 Bit) ist die GA zum Fahren (gewöhnlich 0 = hoch, 1 = runter)
6/6/1 (1 Bit) ist die GA zum Halten (0 oder 1, in Wirklichkeit ist dies ein Step, da knx Shutter kein echtes Stopp kennen)
6/6/3 (8 Bit, 0-100%) ist die GA, um dem Rollladen zu befehlen, eine bestimmte Position direkt anzufahren.
6/6/4 (8 Bit, 0-100%) meldet (meist mit dem Stopp der Fahrt) die aktuelle Position.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

Antworten