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?