Also nach langen hin und her habe ich und kann es jetzt auch nur jedem Empfehlen das Skript von @Pittini genommen.
Danke an allen, ich hab wieder mal einiges gelernt 🙂
Hi,
ich habe einen Python Skript dass ich in ioBroker durch einen JavaScript ausführen will. Das Problem ist dass die imports im Python Skript nicht korrekt durchgeführt sein können.
Hier die Imports aus dem Python Skript:
from meross_iot.controller.mixins.electricity import ElectricityMixin
from meross_iot.http_api import MerossHttpClient
from meross_iot.manager import MerossManager
Hier das JavaScript:
exec('/usr/bin/python /home/pi/Documents/meross_electricity.py', function(err, stdout, stderr) {
if(err) log('Exec-Fehler: '+ stderr, 'error');
});
Und die Fehlermeldung:
javascript.0 (1974) script.js.Plugs.GetMerossData: Exec-Fehler: Traceback (most recent call last): File "/home/pi/Documents/meross_electricity.py", line 4, in <module> from meross_iot.controller.mixins.electricity import ElectricityMixin ModuleNotFoundError: No module named 'meross_iot'
Wenn ich die .py Datei direkt ausführe geht alles ganz ok aber ich glaube das Problem liegt irgendwo beim ioBroker der nicht mit Pfade richtig umgehen kann.
Hat jemand eine IDee wie ich das lösen könnte?
Danke!
@mrFenyx bedenke das Skripte unter dem iobroker User laufen. Also muss ggf auch das Python zeug für den User verfügbar sein ?!
@apollon77 Hast Recht. Fix war dass ich das meross_iot Package mit sudo installiere. Dann läuft auch alles ganz gut in ioBroker. Kann jetzt meine Daten von den Meross Geräten wider bekommen
@mrFenyx siehe Github issue Meross ... vllt hast Du ja zeit dennoch noch mitzuhelfen es in iobroker hinzubekommen