Seite 1 von 2

Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: Sa Mär 30, 2019 5:30 pm
von Zugschlus
Hallo,

ich habe einen Laserdrucker an einem KNX-Aktor hängen. Der Drucker wird über einen CUPS-Server "befeuert" und aktuell bei Bedarf manuell eingeschaltet. Über einen Hook im CUPS-Server möchte ich das jetzt automatisch machen: Sobald der CUPS-Server einen Druckjob bekommt, soll der Drucker automatisch eingeschaltet werden.

Der Naivling in mir stellt sich jetzt vor, dass es ein ruby-, perl- oder python-Modul gibt, mit dem ich einfach "sende 'Ein' an KNX-GA 1/7/11 via Timberwolf KNX-Tunnel" hinschreiben kann.

Gibt es das? Wenn nein, kann man das über die Comet Visu und curl lösen? Oder muss ich doch irgendwas mit OpenHAB oder FHEM bauen.

Grüße
Marc

Re: Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: Sa Mär 30, 2019 5:36 pm
von tger977
Mit EDOMI kann man so was machen... mach ich z.b. mit meiner Türstation die per IP Telegramm das klingeln auf den Bus bringt und dann weitere Aktionen auslöst.

Hinzugefügt nach 1 Minute 31 Sekunden:
Musst halt nur irgendwie von deinem Server ein http Telegram erzeugt bekommen.

Re: Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: Sa Mär 30, 2019 5:57 pm
von Zugschlus
Aber Edomi sieht mir doch sehr nach eine Featuredopplung zum Timberwolf und/oder Cometvisu aus, oder?

Grüße
Marc

Re: Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: Sa Mär 30, 2019 5:58 pm
von StefanW
Zugschlus hat geschrieben: Sa Mär 30, 2019 5:30 pmDer Naivling in mir stellt sich jetzt vor, dass es ein ruby-, perl- oder python-Modul gibt, mit dem ich einfach "sende 'Ein' an KNX-GA 1/7/11 via Timberwolf KNX-Tunnel" hinschreiben kann.
Ja, Du installierst Dir einen eibd oder knxd und stellst ihn so ein, dass er als Server den IP-Tunnel des Timberwolf Servers benutzt und fertig. Die API von eibd / knxd ist in den meisten Sprache nutzbar

lg

Stefan

Re: Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: Sa Mär 30, 2019 6:05 pm
von Zugschlus
StefanW hat geschrieben: Sa Mär 30, 2019 5:58 pm
Zugschlus hat geschrieben: Sa Mär 30, 2019 5:30 pmDer Naivling in mir stellt sich jetzt vor, dass es ein ruby-, perl- oder python-Modul gibt, mit dem ich einfach "sende 'Ein' an KNX-GA 1/7/11 via Timberwolf KNX-Tunnel" hinschreiben kann.
Ja, Du installierst Dir einen eibd oder knxd und stellst ihn so ein, dass er als Server den IP-Tunnel des Timberwolf Servers benutzt und fertig. Die API von eibd / knxd ist in den meisten Sprache nutzbar
Das klingt doch schonmal nett. Debian sagt:

Code: Alles auswählen

Description: daemon to access the KNX bus
 KNX is a standard protocol for home and building control.
 .
 This package contains the daemon to access the physical bus,
 monitor and forward messages, etc.
Wie wörtlich ist da das "access the physical bus" zu sehen? Der knxd kann den KNX-Bus auch über einen Tunnel ansprechen, richtig?

Grüße
Marc

Re: Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: Sa Mär 30, 2019 6:12 pm
von gbglace
Klingt nach kleinen Docker-Päckchen und Umleitung auf eibd/ knxd. Später könntest das Päckchen so umbauen das ggf was wie mqtt rauskommt, was dann die Logikengine vom TWS versteht, damit wäre dann wieder alles mögliche weitere dabei.

Re: Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: So Mär 31, 2019 10:09 pm
von Chris M.
Zugschlus hat geschrieben: Sa Mär 30, 2019 5:30 pm Gibt es das? Wenn nein, kann man das über die Comet Visu und curl lösen? Oder muss ich doch irgendwas mit OpenHAB oder FHEM bauen.
Die CometVisu ist eine Visu und keine Logik-Engine.

Wenn Du irgendwo eine Logik am laufen hast und mal schnell ein KNX Befehl absenden willst, so ist der Weg über die CometVisu absolut geeignet (eben einfach per curl ein "w" mit entsprechenden Parametern aufrufen).

Was aber nicht (leicht) geht, ist mit irgend einer Logik über die CometVisu auf Events am Bus zu reagieren. (Klar kann man dazu einen Prozess starten, der ein "r" mit "t=0" aufruft um einen Index zu bekommen und dann per Endlosschleife über den Index so wie einem Abo der interessanten GA sich immer so lange "schlafen" legt bis das Paket kommt oder per Timeout neu angefragt wird - aber das kann schon wirklich in Programmierarbeit ausufern)

Grundsätzlich gilt daher: Willst Du Logik, nimm eine Logik Engine.

Auf dem WireGate waren das die WireGate-Plugins. Auf dem Timberwolf sollen die noch kommen und bis dahin (oder darüber hinaus) soll über den Object Editor vieles funktionieren.
Zugschlus hat geschrieben: Sa Mär 30, 2019 5:30 pm Der Naivling in mir stellt sich jetzt vor, dass es ein ruby-, perl- oder python-Modul gibt, mit dem ich einfach "sende 'Ein' an KNX-GA 1/7/11 via Timberwolf KNX-Tunnel" hinschreiben kann.
Langer Text kurze Antwort: ja, genau das geht per curl über die CometVisu.

Re: Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: So Mär 31, 2019 10:27 pm
von StefanW
Nur um das zu vervollständigen,

Heute: Nimm eibd / knxd (oder den Weg über curl un w, was letztlich eine andere API für den eibd ist)

Demnächst: Wir arbeiten an REST und MQTT-Schnittstelle (letztere läuft als Proof-of-Concept inkl. Integration in Objekt-Verwaltung im Lab seit Freitag) für den Zugriff zur und von der Außenwelt. Nein es gibt keine Termine und es ist kein Versprechen.

lg

Stefan

Re: Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: Mo Apr 01, 2019 5:02 am
von gbglace
Proof of Concept im Lab laufend ist doch schon nen positiv stimmender Anfang.

Re: Aus dem Ethernet KNX-Aktionen auslösen

Verfasst: Fr Apr 05, 2019 9:49 am
von Zugschlus
Chris M. hat geschrieben: So Mär 31, 2019 10:09 pm
Zugschlus hat geschrieben: Sa Mär 30, 2019 5:30 pm Der Naivling in mir stellt sich jetzt vor, dass es ein ruby-, perl- oder python-Modul gibt, mit dem ich einfach "sende 'Ein' an KNX-GA 1/7/11 via Timberwolf KNX-Tunnel" hinschreiben kann.
Langer Text kurze Antwort: ja, genau das geht per curl über die CometVisu.
Ich hab jetzt mal ein wenig Live HTTP Header gespielt und kann bestätigen, dass

Code: Alles auswählen

curl --insecure 'https://timberwolf326.ka51.zugschlus.de/proxy/visu/cgi-bin/w?a=1/7/11&v=81'
meinen Drucker einschaltet und v=80 meinen Drucker ausschaltet. Dankeschön, fürs erste reicht mir das. Ja, ich weiß, ich könnte dem curl jetzt das Zertifikat verraten, aber so lange da keine Authentifikation des Users drauf ist könnte ich das an _dieser_ Stelle auch unverschlüsselt machen.

Grüße
Marc