Seite 4 von 6
Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: So Aug 18, 2019 10:50 am
von StefanW
tger977 hat geschrieben: ↑So Aug 18, 2019 12:01 amsollte das prinzipiell funktionieren oder geht das aus irgendwelchen Gründen gar nicht?
Wir haben es nicht getestet und werden es auch nicht (ich bitte um Verständnis, weil der Hersteller eines KNX zertifizierten Produktes kann keine Anleitung geben, es nicht zertifiziert zu betreiben). Daher ist eine Aussage schwer.
Als rein theoretische Fragestellungen würde ich antworten, dass man sich den Aufruf des eibd im WireGate Server genau ansehen sollte (insbesondere hinsichtlich der Serverkomponente) und diesen dann im Container auch so aufrufen.
Ich will aber keine Anleitungen in der KB bitte dazu sehen.
lg
Stefan
Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: So Aug 18, 2019 3:14 pm
von tger977
StefanW hat geschrieben: ↑So Aug 18, 2019 10:50 am
Als rein theoretische Fragestellungen würde ich antworten, dass man sich den Aufruf des eibd im WireGate Server genau ansehen sollte (insbesondere hinsichtlich der Serverkomponente) und diesen dann im Container auch so aufrufen.
Danke für den Hinweis, aber ihr scheint in dem Container eine sehr abgespeckte Version des eibd drin zu haben die man eben leider nicht wie im wiregate mit der Serverkomponente starten kann, zumindest spuckt der eibd dann immer Fehlermeldungen aus mit "invalid option"...
Da ich aber den Container zwingend brauche um die plugins zu betreiben kann ich nun auch keinen eigenen eibd/knxd Container mehr zusätzlich installieren da dann der Tunnel wieder vom Plugincontainer belegt ist. Und den plugin Container anpassen kann ich auch nicht da nirgends das Dockerfile (und ggf. nötige sourcen) zu finden ist mit dem ihr das zusammenbaut. Ich brauche leider um weitermachen zu können genau EINEN Container mit plugin Ausführung und eibd/knxd mit Serverfunktion oder eben einen plugin Container ohne eibd/knxd der sich dann der KNX Schnittstelle über einen weiteren anderen KNXD/EIBD Container bedient damit der EINE Tunnel ausreicht. Oder übersehe ich da was?
Also bleibt das wiregate weiter nötig und wieder einige Stunden unnötiger Aufwand um endlich mal weiter zu kommen...

Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: So Aug 18, 2019 4:04 pm
von StefanW
Sorry Andi,
ich bin nicht im Detail drin, was wie wo der eibd in unserem Container gemacht ist, aber kann schon sein, dass der abgespeckt worden ist.
Derjenige im CV-Container wurde von Chris zusammen gestellt, da kann es anders sein.
Wir werden an einer Lösung für Dich arbeiten, wie bereits besprochen, dann ist alles gut. Derweil nimm das WG als Schnittstelle, weil das hat es die letzten 10 Jahre hervorragend getan. Später muss man dann auch nur die IP / Port des Plugin Containers umstellen
lg
Stefan
Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: Sa Aug 24, 2019 3:07 pm
von tger977
noch eine neue Frage zum wiregate Container:
Ich würde gerne per Logik im Logikprozessor auch Systembefehle nutzen können um gewisse Dämons nutzen zu können (in meinem Fall vclient der Viessmann Heizung)
Wenn ich aber nun den vclient ins Verzeichnis /etc/local/bin/ kopieren möchte kommt folgende Fehlermeldung wegen fehlender Zugriffsrechte...
Könnt ihr den Container nicht auch wie das wiregate damals mit root Rechten / Vollzugriff ausstatten? Dazu ist es ja ein Container in dem man nichts kaputt machen kann, bzw. den man eben auch schnell wieder neu deployen kann...
und im Zuge dessen wäre es auch sehr schön einen vollwertigen eibd a la wiregate da drin zu haben (den kann man mangels Rechten auch nicht im Container tauschen...), da ich meine noch über 100 Logiken nicht mal so schnell migriert bekommen werde

Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: Sa Aug 24, 2019 4:34 pm
von blaubaerli
Hi @tger977,
ich habe das Thema bei mir dadruch gelöst, dass ich die von mir selbst benötigten Dinge in das persistente Volume gelegt habe. Also das Filesystem in dem auch deine Plugins liegen, da kannst du doch einfach auch noch ein eigenes Verzeichnis reinlegen und dort alles reinkopieren.
Dein Ansatz würde beim nächsten Deployment des Containers dazu führen, dass alle Änderungen fort wären, weil dann ja wieder das Standardimage gezogen wird.
Es gibt aber auch dort mittlerweile ja eine nutzbare und dokumentierte Ergänzungsschnittstelle mit der man im Startprozess des Containers ggf. benötigte Pakete "nachladen" kann. Eventuell hilft ja auch das.
Aber wie gesagt, im flüchtigen Filesystem des Containers Dinge zu hinterlegen widerspricht dem Containeransatz und ist bei Neudeployment eben "flüchtig".
Beste Grüße
Jens
Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: Sa Aug 24, 2019 9:16 pm
von tger977
blaubaerli hat geschrieben: ↑Sa Aug 24, 2019 4:34 pm
ich habe das Thema bei mir dadruch gelöst, dass ich die von mir selbst benötigten Dinge in das persistente Volume gelegt habe. Also das Filesystem in dem auch deine Plugins liegen, da kannst du doch einfach auch noch ein eigenes Verzeichnis reinlegen und dort alles reinkopieren.
Hallo Jens,
danke für den Hinweis, das hatte ich aber schon vorher ausprobiert und es ging nicht. Hab es eben nochmal probiert und dazu auch noch die ENV "PATH" Variable des Plugin Containers um den Pfad "etc/wiregate" ergänzt:
Code: Alles auswählen
2019-08-24 21:00:43.705 PLUGIN Logikprozessor.pl Input: 1,
2019-08-24 21:00:43.718 PLUGIN Logikprozessor.pl BA Nur WW sent,
2019-08-24 21:00:43.737 PLUGIN Logikprozessor.pl 0.0.0 13/0/0:1 -> $logic->{HeizungBetriebsartSet}{receive}(Logik) -> nichts zu senden; , 0s,
2019-08-24 21:00:43.719 PLUGIN Logikprozessor.pl Antwort: 0,
2019-08-24 21:00:43.458 PLUGIN Logikprozessor.pl Antwort: 0,
sh: 1: etc/wiregate/vclient: not found,
2019-08-24 21:00:43.458 PLUGIN Logikprozessor.pl RaumtempSollNormal 15 �C sent
Hast Du es wirklich geschafft ein Skript oder ein Programm aufzurufen aus einem alten wiregate plugin?
bei mir sieht die Codezeile im Logikprozessor conf file so aus:
Code: Alles auswählen
HeizungSommerWinter => {receive=>'2/7/0', translate=>sub{
my $RCV;
if ($input==0) {$RCV = system ("etc/wiregate/vclient -h 10.10.10.5:3002 -c 'setBetriebsartM2 Nur WW' &"); plugin_log($plugname, "BA Nur WW sent");};
if ($input==1) {$RCV = system ("etc/wiregate/vclient -h 10.10.10.5:3002 -c 'setBetriebsartM2 Heizen und WW' &"); plugin_log($plugname, "BA Heizen+WW sent");};
plugin_log($plugname, "Antwort: ".$RCV);
}, debug=>1 },
Es wird hier über die system() Funktion ein normaler Kommandozeilenbefehl abgesetzt... Aber aus irgendwelchen Gründen ist die exakt dort liegende Datei "nicht sichtbar". Zugriffsrechte der Datei sind auch angepasst mit Vollzugriff per hex7777...
Hier mal noch der Auszug aus der Console des Wiregate Plugins das zeigt das es die vclient Datei gibt sie aber nicht gefunden wird wenn man sie aufruft:
Code: Alles auswählen
root@0da24aea3678:/etc/wiregate# ls
eibga.conf plugin plugins.conf plugins.db rrd vclient
root@0da24aea3678:/etc/wiregate# vclient -h 10.10.10.5:3002 -c getTempA
bash: /etc/wiregate/vclient: No such file or directory
root@0da24aea3678:/etc/wiregate#
Mir scheint einfach daß in dem Container noch irgendwas "Zugriffsbeschränkt" wurde.
Jemand ne Idee wie man das hinbekommen kann?
Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: Sa Aug 24, 2019 9:49 pm
von blaubaerli
Hallo
@tger977 ,
also, mein Filesystem sieht da so aus:
Code: Alles auswählen
/etc/wiregate
root@534a7df34303:/etc/wiregate# ls -al
total 72
drwxr-xr-x 6 wiregate wiregate 4096 Aug 4 15:20 .
drwxr-xr-x 1 root root 4096 Aug 8 21:01 ..
drwxr-xr-x 2 wiregate wiregate 4096 Aug 4 15:12 bin
-rw-r--r-- 1 wiregate wiregate 32459 Jun 12 21:24 eibga.conf
drwxr-xr-x 3 wiregate wiregate 4096 Jun 12 19:10 plugin
-rw-r--r-- 1 wiregate wiregate 211 Aug 4 19:00 plugins.conf
-rw-r--r-- 1 root root 12288 Aug 24 21:34 plugins.db
drwxr-xr-x 2 wiregate wiregate 4096 Aug 4 13:36 rrd
drwxr-xr-x 2 wiregate wiregate 4096 Jun 12 20:40 tmp
im bin habe ich dann meine Helferlein, z.B.
Code: Alles auswählen
/etc/wiregate/bin
root@534a7df34303:/etc/wiregate/bin# ls -al
total 16
drwxr-xr-x 2 wiregate wiregate 4096 Aug 4 15:12 .
drwxr-xr-x 6 wiregate wiregate 4096 Aug 4 15:20 ..
-rwxr-xr-x 1 wiregate wiregate 254 Aug 4 15:12 Temp2Display.sh
aus dem eigentlichen Plugin rufe ich das dann so auf:
und das funzt.
Beste Grüße
Jens
Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: Sa Aug 24, 2019 9:52 pm
von blaubaerli
Warum hast du vor dem "etc/wiregate/vclient" keinen führenden "/"?
Ich habe bei mir die Scripte dann ablsolut adressiert...
Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: Sa Aug 24, 2019 10:51 pm
von tger977
Hallo Jens,
danke für Deine Hilfe!
ich habe nun auch mal absolut Pfad versucht. Gleiches (schlechtes) Ergebnis...
zum Test habe ich nun ein Hello world Skript ins Verzeichnis gelegt und dieses ausgeführt. Das funktioniert. Nur der Aufruf des vclient nicht. Muss ich den ggf. irgendwie anders für den neuen Container compilieren?! Ich habe einfach die Version die auf dem wiregate war dort wieder in den Container kopiert... Aber warum kommt dann daß das file nicht gefunden wird??
Re: Diskussion/Fragen zum Wiregate Plugin Container
Verfasst: Sa Aug 24, 2019 11:30 pm
von blaubaerli
Hi Andi,
ich kenne das vclient-Konstrukt nun gar nicht.... was passiert, wenn du das Ding in der Konsole mal direkt ausführts?
Reagiert das Ding überhaupt? Bist du sicher, das beim Übertragen in den Container oder auf das Filesystem nichts kaputt gegangen ist? Vergleiche mal bitte mit dem Kommando "sum vclient" auf dem wiregate und im Container die Checksummen der Datei. Wenn die nicht identisch sind, ist da schon was schief gelaufen.
Gruß
Jens