Wenn du meinen openHAB Artikel gelesen hast, weißt du, ich wollte mal ioBroker mit KNX ausprobieren. Nun lange konnte ich mich nicht zurück halten. Da ja überall geschrieben steht „Einfach!“, „Stunde und läuft“ „Etwas für zwischendurch“ hab ich mir gedacht: „Warum nicht?“ Jetzt musst du wissen, ich bin ein Typ der jedes Fettnäpfchen findet und ausrutscht. So auch diesmal.
Vielleicht kannst du jedoch von meinen Fehlversuchen profitieren und sie bringen dich weiter. Hier beschreibe ich also den Weg von der Installation, Einrichtung der Verbindung von ioBroker zu KNX bis zur Visualisierung. Schlussendlich kann ich in der ioBroker Visualisierung eine Taste drücken und die Lampe über mir leuchtet. Ziel erreicht.
Inhalt
Download und installation von ioBroker für KNX
Im Artikel openHAB – meine Erfahrungen nach 2.5 Jahren hatte ich ja schon erwähnt, dass ich einen Server auf dem Dachboden stehen habe. Also habe ich mich direkt für die Installation über Docker entschieden. Es gibt da ja ein passendes Image von Andrè Germann das sehr viel Gutes verspricht. Andrè leistet schon sehr gute Arbeit, und so schien es mir ziemlich einfach an eine lauffähige Version zu kommen. Es schien so.
Grundsätzlich würde ich sagen: „Wenn du es dir leisten kannst, versuch nicht von Freiwilligen abhängig zu sein.“ Es kann immer mal passieren das ein Entwickler gute Gründe hat seine Arbeit einzustellen. Dann kann ihn niemand dazu zwingen, freiwillig weiter zu machen. Sollte das hier also auf eine längerfristige Sache raus laufen, werde ich mir den ioBroker Server zulegen.
Alle die schon einen Server haben, sei es ein Raspi Image oder der ioBroker Server in Hardware, können diesen Abschnitt überspringen. Du kannst ihn aber auch lesen um zu sehen, was dir alles entgeht 😉
Eins ist mir noch wichtig: Andrè leistet mit seinem Image wirklich gute Arbeit, die Fehler die mir hier begegnen, können immer passieren. Ein Entwickler kann nicht ALLE Eventualitäten überblicken. Zudem Updates einem auch oft einen Strich durch die Rechnung machen. Ohne das Docker Image, hätte ich ioBroker wahrscheinlich gar nicht angefasst.
Aber zurück zu Installation. Ich bin ja noch die Konsole generation, also entschuldige bitte, wenn du hier nicht so viele bunte screenshots findest.
Ab in den Container
Du startest eine shell und holst dir das Docker image nach hause:
sudo docker run --net=host --name iobroker \
-v /einOrdnerAufDemHost:/opt/iobroker buanet/iobroker:latest
Wichtig sind hier die folgenden Einstellungen:
- –net=host – sonst findet dein KNX Interface keinen Weg in den Container. ioBroker läuft ja in einem Container. Das heißt in einer abgeschlossenen Umgebung. Du kannst zwar einen oder zwei Ports weiter leiten um Zugriff auf Visu und Admin Interface zu erhalten, aber der oiBroker KNX Adapter erhält keine Daten von dem KNX Interface das am Bus hängt. Lustig ist, dass der ioBroker KNX Adapter fröhlich grün leuchtet und sagt „ALLES OK! Ich habe alles im Griff“ Er allerdings keine vollständige Verbindung zum Bus hat. Klicken in der ioBroker Visualisierung funktioniert also nicht.
- -v /einOrdnerAufDemHost:/opt/iobroker – Du willst später den Container gegen einen anderen austauschen. Zum Beispiel bei einem Update. Diese Einstellung sorgt dafür, das der Ordner /opt/iobroker in deinem „echten“ Filesystem liegt. Du kannst also den Docker stoppen, Daten verändern und wieder starten. Oder, besonders während der Findungs-Phase wichtig, immer wieder löschen und neu aufsetzten.
- Wahrscheinlich habe ich noch einige Dinge vergessen, die später dazu kommen. Heute will ich ja nur die Visu zum laufen bringen.
Dieser Befehl lädt also das Image herunter, setzt den Container auf und startet ihn. So weit so gut. Jeder andere Benutzer in der Welt gibt jetzt die Adresse http://192.168.???.???:8081 in den Browser ein und sieht ein Admin Interface. Nicht so der KNX-Blogger. Bei mir läuft auf 8081 schon etwas anderes, also brauche ich einen anderen Port.
Admin Interface erreichbar machen
Nur noch mal zum wiederholen, wahrscheinlich musst du nur http://192.168.???.???:8081 aufrufen und du bist im Admin Interface. Ich musste den Port ändern, weil dort etwas lief. Damit fing alles an. Andrè stellt die Variable IOB_ADMINPORT zur Verfügung um den Admin Port anzupassen. Das funktioniert auch wunderbar, jedoch war das Admin Interface immer noch nicht erreichbar. Aber was solls nach nur 2 Stunden Google hatte ich die Lösung:
Anscheinend passiert etwas komisches mit den Hostnamen während der Container gestartet wird. Andrès start Skript versucht das abzufangen, schaffte es aber bei mir nicht. Also ist Handarbeit angesagt. Du loggst dich per Hand in den Container ein und fügst zwei Adapter manuell zur ioBroker hinzu. Die Adapter heißen Admin und Discovery. Das geht mit den folgenden Befehlen.
1. _>sudo docker exec -it iobroker bash
2. docker_>iobroker del admin.0
3. docker_>iobroker del discovery.0
4. docker_>iobroker add admin --port 8090
5. docker_>iobroker add discovery
Befehl 1. dient dazu eine Shell (in diesem Fall bash) in dem Container zu starten und sich einzuloggen. Das ist ungefähr so als würdest zu per SSH auf einen anderen Rechner steigen.
Befehle 2. bis 5. entfernen die existierenden Adapter und fügen neue hinzu. Wie gesagt, ich brauchte den Port 8090, weil 8081 schon belegt war.
Und weil ich ja ein Glückspilz bin, war Port 9000 (den ioBroker auch benutzt) ebenfalls schon besetzt. Also musste ich auch 9000 gegen etwas anderes ersetzen. Das geht mit diesem Befehl in der Container Shell:
5. docker_>iobroker setup custom
Und Schwupps, war ich nach einem Nachmittag auf der Admin Oberfläche. Akzeptierte alle Bedingungen und war froh, denn „Es lebt“.
Verbindung ioBroker zu KNX aufbauen
Mit vollem Elan, „Jetzt kann kann ja nichts mehr schief gehen“, geschaut wie ich auf KNX komme. Acha, Google sagt, es gibt da so Adapter. Also schauen wir mal in den Reiter Adapter und suchen nach KNX.
Über die drei Punkte den Adapter installiert und gehofft, das alles läuft. Der KNX Adapter braucht die IP von deinem Interface (dazu später mehr) und eine Lizenz. Die Lizenz bekommst du indem du dich bei: ioBroker.net anmeldest und eine Lizenz für „0“ Euro kaufst. Erschrecke dich nicht, es gibt sie auch für 100 Euro, falls du den ioBroker KNX Adapter geschäftlich einsetzten möchtest. Ich will ja nur eine Visualisierung für mein kleines Häuschen, also habe ich guten Gewissens die kostenlose Lizenz „gekauft“. Dann kopierst du die Lizenz in den Adapter und hoffst.
Welches KNX Interface denn nun?
Ich habe das MDT SCN-IP000.01 Interface. Der ioBroker KNX Adapter hat da so eine Anzeige ob er verbunden ist. Diese Anzeige stand auf Orange „Keine KNX Verbindung“. Wenn ich allerdings meinen openHAB2 Docker gestoppt habe wurde die Anzeige grün. Ich weiß, dass dieses Interface 5 parallele Verbindungen unterstützt. Also wieder mal Google fragen und Antworten bekommen. Ja, das MDT Interface ist super für ioBroker. Es wird sogar von ioBroker selbst empfohlen (irgendwo im Forum, entschuldige, dass ich nicht ALLE Seiten wiedergeben kann, die ich besucht habe, es währen hunderte 🙂 ) Also kann es nicht am Interface liegen.
Das Interface hat aber zwei Modi:
- Eine Verbindung zulassen (standard)
- Fünf Verbindungen zulassen
Der Modus mit fünf Verbindungen muss durch drücken der Programmiertaste am Interface aktiviert werden. Das heißt, bei vollem Betrieb nimmst du dir einen spitzen Gegenstand und drückst die Programmiertaste bis die LED blinkt. Ja, trau dich. Danach kannst du auch eine ETS5 Verbindung zu KNX aufbauen, während ioBroker und openHAB2 gleichzeitig mit dem Bus sprechen. Hab ich ausprobiert. Auch mit dem Bus Monitor von der ETS5.
Das Lämpchen leuchtete Grün!
Das war übrigens der Punkt, an dem ICH heraus gefunden habe, dass ich den –net=host Switch brauche für den Docker (siehe oben). Denn das Lämpchen war zwar grün, aber es tat sich nichts. Keine Signale vom Bus und keine zum Bus hin. Das Container interne Interface war nicht in der Lage mit dem KNX Interface zu sprechen. Also fröhlich von vorne begonnen. Da die Ports bis jetzt auch nur innerhalb Docker umgeleitet waren, habe ich mich auch mit denen beschäftigen dürfen. Was ein Spaß, sage ich euch 😉
Stellst du nun das Logging im KNX Adapter auf „Info“ (Das geht im Adapter Abschnitt der Admin Oberfläche) dann siehst du auch Meldungen, die dir in etwa sagen: Ich empfange etwas von KNX, verstehe es aber nicht.
Die ganzen Objekte anlegen
In diesem Abschnitt bin ich wirklich froh und stolz der KNX-Blogger zu sein. Warum? Nun der KNX Adapter kann eine knxproj Datei importieren und die Objekte, zum Beispiel „Büro Licht Decke“ von allein anlegen. Je sauberer das Projekt angelegt ist, desto besser läuft der Import. Da ich ja der KNX-Blogger bin und dir immer erzähle: „Arbeite strukturiert und sauber“ mache ich das ja selbst auch so.
Was soll ich also sagen: Projektdatei aus ETS importiert. Einige Sekunden gewartet die Objekte waren da. Du kannst zu diesem Zeitpunkt auch in den Objekte Abschnitt gehen und den Objekten unter „knx.0“ Werte zuweisen. Du kannst also, wenn alles funktioniert hat, jetzt schon dein Licht mit ioBroker per KNX schalten.
Die Zielgrade – Die ioBroker Visualisierung
Mein Ziel ist es, in der ioBroker Visualisierung EINE Lampe zu schalten. Am besten die im Büro, denn hier sitze ich gerade und so muss ich nicht aufstehen und nachschauen ob das Licht leuchtet. Ich will keine super Visualisierung, ich will auch keine vollständige Integration von ioBroker in mein System. Das folgt alles später. Schritt für Schritt.
Also, da es einen „KNX Adapter“ gibt, schau ich mal nach einem Adapter für die Visualisierung. Und tatsächlich. Es gibt ihn. Also wieder drei Punkte und installieren. Der Schritt war wirklich echt einfach. Dann startest du die Visualisierung und siehst eine kleine Wohnung. Dort sind Taster wie zum Beispiel „Ein“ und „Aus“. Die sind zwar für die Küche, aber für meine Zwecke werden sie schon reichen.
Ich habe mir die Tasten in der Mitte ausgesucht und ihnen das Objekt „Büro Licht Decke“ zugewiesen.
Jetzt nur noch die Visualisierung starten, Maus über so ein Objekt legen und Augen zu machen. Mit geschlossenen Augen klicken und die Augen langsam wieder aufmachen. „DAS LICHT IM BÜRO LEUCHTET!!!!!!!“ Nach nur zwei Nachmittagen basteln. Ok, über openHAB2 ging es schon vorher und wir haben einen Taster im Büro dafür. Aber über den ioBroker hat es noch nie funktioniert. Und es ist gefühlt schneller als openHAB. Ich hab natürlich keine Messungen vorgenommen, aber es fühlt sich „flüssiger“ an.
Halte dich fest, denn jetzt kommen bestimmt noch viele weitere spanende Projekte mit ioBroker.
Ich habe zwei Kurse gemacht und einige Bücher gelesen
um KNX zu versehen.
Dabei ist es so einfach!
Um es zu verstehen, brauchst du lediglich diesen Spickzettel!
Jetzt Herunterladen, ansehen und verstehen.
Fazit
Boah, war das eine Geburt. So wie ich das sehe, wäre der Artikel nur halb so lang, wenn ich direkt den ioBroker Server gekauft hätte. Oder zumindest den ioBroker Master Kurs von Matthias Kleine gekauft hätte. Ich bin jedoch erst nach der Installation auf der Seite Haus-Automatisierung.com gelandet.
Nach den ersten Hürden beim installieren des Docker Containers beschreibt der Artikel die holprige Strecke zur KNX Interaktion. Die ioBroker Visualisierung am Ende war dann der kleinste Aufwand. Das hat wieder richtig Spaß gemacht. Ich habe alle Einzelheiten protokolliert, damit du auch „ganz einfach“ die Verbindung zwischen ioBroker und KNX schaffen kannst.
Was machen wir als nächstes?
Viel Spaß mit KNX,
Damian
Hast Du Dir auch EDOMI angeschaut?
Hallo Mathias,
nein, kannte ich noch nicht. Habe mir gerade mal die Seite angeschaut. Sieht interessant aus. Werde ich mal testen.
Habe schon gesehen, gibt es auch als docker Container. Also dürfte die Installation kein Problem darstellen.
Viele Grüße,
Damian
Hallo Damian,
ich habe Stunden verbracht um eine Verbindung zum KNX herstellen zu können. Aus meiner Sicht sollte alles funktionieren. Die Instanz KNX zeigt alle Lämpchen in Grün und die Signale sind 3 In & 14 Out. in den Objekten selbst lassen sich die einzelnen Leuchten leider nicht schalten. Hast du noch einen Tipp für mich?
Grüße
Patrick
Hallo Patrick,
leider keinen Tipp von meiner Seite. Ich bin jetzt komplett auf knXpresso und IP-Symcon umgestiegen. ioBroker war mir dann doch zu fummelig.
Vielleicht schaust du in dem ioBroker Forum https://forum.iobroker.net/?
Viele Grüße,
Damian
Hallo Patrick,
hast du zufällig eine Lösung gefunden, oder bist du auf ein anderes Visualisierungstool zugestoßen.
Bei mir werden eigentlich die Werte richtig angezeigt, nur will ich im Reiter „Objekte“ zB einen Lichtstatus von false auf true setzen, springt dieser immer wieder auf false zurück.
Ändern sich die Werte über den normalen Lichtschalter, so erkennt ioBroker auch die Änderung nur selber ändern kann man irgendwie nichts…
LG Elisabeth
Hallo!
Mir geht es auch so. ioBroker hat so viele tolle Adapter, aber wenn der Import von KNX Projektdateien daran scheitert, dass man die Schalten / Status Gruppenadressen „falsch“ bennent, dann hört der Spaß auf.
Ich empfange den Status von KNX, kann aber nichts schalten.
Funktioniert ip symcom denn besser? Ich bräuchte Module für Alexa, Ping, tasmota.
Hi Daniel,
die Verbindung zu KNX lief gefühlt flüssiger. Auf jeden Fall ist die Benennung egal.
Alexa läuft bei mir über knXpresso. Es gibt allerdings für so ziemlich alles ein IP-Symcon Modul, das habe ich jetzt gefunden:
* Amazon Alexa (offiziell von Symcon): https://www.symcon.de/service/dokumentation/modulreferenz/amazon-alexa/
* Tasmota: https://www.symcon.de/forum/threads/40077-Modul-Tasmota-MQTT-Server-MQTT-Client
* Was ist „Ping“? Du kannst natürlich von der Symcon aus andere Geräte anpingen.
Grüße,
Damian
Hallo Damian,
viele Grüße aus Dortmund. Ich hab mir gerade einen Raspi mit Portainer.io und dem Docker Image von iobroker fertig gemacht. – Alles soweit gut bis dahin. – Nach dem Start von iobroker und der Installation des KNX Adapters wollte ich die Lizenz erwerben. Leider gibt es keine 0€ Lizenz mehr. Bisher hab ich noch nicht herausfinden können warum. Ich bleibe dran.
Viele Grüße
Christian
Alles klar,
halt uns auf dem Laufenden. Vielen Dank für deinen Kommentar.
Grüße,
Damian
Hi,
ich hab jetzt Antwort von iobroker-Support bekommen. Seit 01.12.2021 steht die kostenlose Lizenz nicht mehr zur Verfügung. Schade muss ich wohl weiter suchen.
Viele Grüße
Christian
Hallo,
es gibt keine kostenlosen Lizenzen mehr zu kaufen, weil man bis 500 Gruppenadressen keine Lizenz mehr braucht. Mit der neuen Version 2.x startet der Adapter einfach so, ohne zu meckern.
Neu hinzu gekommen ist GA-Tools, mit dem kann man einfach die Gruppenadressen anpassen, ohne irgendwo im JSON Objekt Dschungel unterzugehen.
Viele Grüße
Kay
Danke Kay!
Grüße, Damian
Hallo Christian,
Kurzes update zu Deinem Post vom 3. Januar …. Hab bei mir ioBroker mit vielen Adaptern seit über einem Jahr stabil am laufen … KNX war einer der ersten Adaptern der stabil von Anfang an mit lief … Hab gerade den Adapter Ver 2.0.5 vor ein paar Wochen installiert. Richtig ist, dass die Phylosophie zur Lizenzierung geändert wurde, jedoch ist mit dieser Version bis zu 500 GA’s keine Lizenz notwendig!
Ich hab 406 GA’s importiert …
Hoffe dir hilft dieses Update um dein „Problem“ zu lösen?
Hier kanns du weiter Details nachlesen.
https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/1715535-gel%C3%B6st-knx-adapter-lizenz-iobroker
MfG
Luc aus Luxemburg
Wofür brauchst du eigentlich IP Symcom? Ich versuche von iobroker wegzukommen.
Ich benutze halt Alexa (mit „Custom“ Befehlen) und sonst noch ein paar module wie sonoff, onvif und script.
Hi Daniel,
IP Symcon verbindet bei mir Photovoltaik, Heizung und KNX.
Meine Photovoltaik hat keinen KNX Anschluss. Ich möchte aber, abhängig davon ob gerade Strom produziert wird mit KNX Steckdosen schalten. Das macht die Symcon.
Die Heizung, ist eine Junkers Gastherme, kann auch kein KNX. Ich möchte die Vorlauftemperatur am Brenner per KNX regeln, das macht die Symcon.
Plus n paar Regeln wie: wenn es draußen dunkel ist, Gartenbeleuchtung auf 20%. Es sei denn wir sitzen auf der Terrasse und hören Musik, dann 50%. Es sei denn die Rollos sind unten, dann komplett aus und Bewegungsmelder an.
Das ginge alles auch mit IOBroker, das war mir aber zu Zeitintensiv bei Updates und so.
Viele Grüße,
Damian
Vielen Dank für deine Antwort und die tollen Beispiele!
Was benutzt du eigentlich als „Server“? Bei iobroker braucht man da ja immer einen. Lässt IP-Symcom in einer VM laufen?
Generell: Kennst du ein System, was iobroker ersetzen kann? Du benutzt 2 Dinge, ich würde aber gerne nur eines nutzen. Was hält dich davon ab, nur IP-Symcom zu nutzen oder z.b. nur knxpresso?
Hallo Damian,
Ich habe versucht mir den Fensterkontakt über eine Binäreingang in den Iobroker über den KNX Adapter einzupflegen mein Problem ist wenn ich das Fenster auf und zu machen dann funktioniert es in der ETS ohne Probleme aber bei den Objekte auf dem Iobroker kommt der Wert bei betätigen des Fenstergriffes nicht richtig an.
sobald ich den Wert dann in den Objekte steuere kommt der Wert dann auch in der Vis. richtig an und das Widget Symbolisiert Fenster offen
Was mache ich falsch ?
Wird der Wert im KNX-Adapter falsch bewertet Flags ?
Vielen Dank schon mal