Hallo Leute,
ich habe hier
Zitathttps://github.com/Pat-Carter/stream2chromecast
die Python Dateien um meine Google Home Geräte z.B. per Befehl lauter oder leiser zu stellen.
Wenn ich diesen Befehl über die Shell eingebe, dann funktioniert er:
Befehl:
python /opt/fhem/chromecast/stream2chromecast.py -devicename 192.168.178.111 -setvol 0.2
Rückmeldung:
Zitatip_addr: 192.168.178.111 device name: Büro
Gebe ich folgendes über die FHEM Command ein:
"python /opt/fhem/chromecast/stream2chromecast.py -devicename 192.168.178.111 -setvol 0.2"
kommt folgende Fehlermeldung:
Zitatip_addr: 192.168.178.111 device name: Traceback (most recent call last):
File "/opt/fhem/chromecast/stream2chromecast.py", line 798, in <module>
run()
File "/opt/fhem/chromecast/stream2chromecast.py", line 768, in run
set_volume(float(args[1]), device_name=device_name)
File "/opt/fhem/chromecast/stream2chromecast.py", line 656, in set_volume
CCMediaController(device_name=device_name).set_volume(v)
File "/opt/fhem/chromecast/cc_media_controller.py", line 45, in __init__
self.host = self.get_device(device_name)
File "/opt/fhem/chromecast/cc_media_controller.py", line 69, in get_device
print "ip_addr:", host, "device name:", cc_device_finder.get_device_name(host)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 1: ordinal not in range(128)
Aber warum funktioniert es über die einfache Linux Kommandozeile und über FHEM nicht...?
Ein:
ls -lha /opt/fhem/chromecast
liefert folgendes:
Zitatinsgesamt 96K
drwxr-xr-x 2 fhem fhem 4,0K Jan 6 00:11 .
drwxrwxrwx 17 fhem root 4,0K Jan 6 00:08 ..
-rwxr-xr-x 1 fhem fhem 9,5K Jan 6 00:08 cc_device_finder.py
-rwxr-xr-x 1 fhem fhem 6,7K Jan 6 00:11 cc_device_finder.pyc
-rwxr-xr-x 1 fhem fhem 15K Jan 6 00:08 cc_media_controller.py
-rwxr-xr-x 1 fhem fhem 12K Jan 6 00:11 cc_media_controller.pyc
-rwxr-xr-x 1 fhem fhem 5,1K Jan 6 00:08 cc_message.py
-rwxr-xr-x 1 fhem fhem 4,6K Jan 6 00:11 cc_message.pyc
-rwxr-xr-x 1 fhem fhem 24K Jan 6 00:08 stream2chromecast.py
Kann mir da jemand weiterhelfen...?
Grüße Marcel
Ich kenne mich ja mit python nicht so aus aber vielleicht hat es was mit dem "Environmement" zu tun.
Mit welchem User führst du es denn auf der Console aus?
Wenn anderer User, dann sind da vielleicht andere Pfade, Umgebungsvariablen etc.
Ansonsten habe ich keine Idee...
Gruß, Joachim
Führe es mit dem user "fhem" aus...
Ein Fehler im py script. Benenne das device von "Büro" in "Buero" um.
Mal eine andere Frage: das GOOGLECAST-Modul kommt nicht in Frage?
https://forum.fhem.de/index.php/topic,45505.0.html
Damit lässt sich die Lautstärke und vieles mehr steuern...
Gruß, Joachim
Das ist eine Alternative, werde ich nächste Woche mal testen...
Tapatalk iPhone, daher kurz gehalten.
Nur mals so als Info:
Wenn Du in der ersten zeile Deines Scryptes den Interptreter angibst, brauchst Du es nicht über phyton zu starten.
Also z.B.
#!/usr/bin/python
...
...
...
Dann reicht das Starten mit "Dein-Tolles-Script.py"
Du bist Dir Sicher, das die Umgebung, d.h. User Manuell und User FHEM wirklich der gleiche ist?
Zitat von: Wernieman am 07 Januar 2018, 11:51:52
Nur mals so als Info:
Wenn Du in der ersten zeile Deines Scryptes den Interptreter angibst, brauchst Du es nicht über phyton zu starten.
Also z.B.
#!/usr/bin/python
...
...
...
Dann reicht das Starten mit "Dein-Tolles-Script.py"
Du bist Dir Sicher, das die Umgebung, d.h. User Manuell und User FHEM wirklich der gleiche ist?
Danke für den Hinweis. Das Script habe ich ja nicht erstellt, es ist von dem angegebenen Link. Werde ich aber mal dort einfügen.
Ja, mit dem User bin ich mir eigentlich sicher.
Hab ich ne Möglichkeit zu prüfen, ob FHEM berechtigt ist?
Aber für mich sieht es so aus, als ob er das Script ausführt, dann aber auf ein weiteres zugreift und dort der Fehler entsteht.
Tapatalk iPhone, daher kurz gehalten.
Zitat von: Ma_Bo am 07 Januar 2018, 12:01:42
Ja, mit dem User bin ich mir eigentlich sicher.
Hab ich ne Möglichkeit zu prüfen, ob FHEM berechtigt ist?
Aber für mich sieht es so aus, als ob er das Script ausführt, dann aber auf ein weiteres zugreift und dort der Fehler entsteht.
Tapatalk iPhone, daher kurz gehalten.
Daher ja die Frage nach der "Umgebung"...
Die kannst du mittels "printenv" ausgeben lassen...
Mach das doch mal per fhemweb und direkt auf der Linux Console wo das Script ja tut...
Wobei ich nicht weiß, ob jetzt dann Python noch mal eine andere Umgebung "setzt/aufbaut"...
Gruß, Joachim
Welche Zeile ist dann wichtig...?
Keine Ahnung.
Aber wenn die Umgebung identisch ist (wovon du ausgehst) sollte kein Unterschied sein...
Gruß, Joachim
Zitat von: herrmannj am 06 Januar 2018, 01:20:38
Ein Fehler im py script. Benenne das device von "Büro" in "Buero" um.