ich möchte ein Item berechnen, für welches ich auf die persistierte Historie (in meinem Fall eine MariaDB/MySql DB Tabelle) eines anderen Items zugreifen muss. Und zwar auf mehrere Werte der letzten Tage.
Hierfür habe ich mir ein Python Script geschrieben, welches die benötigten Daten aus der DB-Tabelle liest und die Berechnung zurückgibt. Das Script funktioniert soweit fehlerfrei (Aufruf via command line / ssh).
Das Script wird eingebunden als "Thing" über
Code: Alles auswählen
{ channel="exec:command: ..."
Habe mir also eine virtuelle Umgebung eingerichtet:
Code: Alles auswählen
sudo -u openhab python3 -m venv openHAB_virtual_env
Das Aktivieren funktioniert via ssh fehlerfrei und die virtuelle Umgebung wird via ssh aktiviert. Aber nicht unter dem opehab daemon user.
Ich dachte, ich kann das einfach in einer Startup Rule unterbirngen:
Code: Alles auswählen
rule "Activate virtual python environment"
when
System started
then
var String info
info = executeCommandLine(". /volume1/public/openHAB/conf/scripts/python/openHAB_virtual_env/bin/activate",100000)
logInfo("Python venv",info)
end
Code: Alles auswählen
2019-11-10 22:23:14.525 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'general.rules'
2019-11-10 22:23:19.608 [WARN ] [lipse.smarthome.io.net.exec.ExecUtil] - Execution failed (Exit value: -559038737. Caused by java.io.IOException: Cannot run program "." (in directory "."): error=13, Permission denied)
2019-11-10 22:23:19.609 [INFO ] [e.smarthome.model.script.Python venv] -
Hier fehlt mir jetzt Erfahrung mit openhab und/oder linux. Ich komme an dieser Stelle nicht mehr weiter. Hat jemand eine Idee?
Viele Grüße
HABSeb