FHEM Forum

FHEM - Hardware => Server - Linux => Thema gestartet von: Ma_Bo am 06 Januar 2018, 01:01:39

Titel: (gelöst) Python Script über Shell funktioniert aber aus FHEM NICHT! Warum?
Beitrag von: Ma_Bo am 06 Januar 2018, 01:01:39
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
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: MadMax-FHEM am 06 Januar 2018, 01:11:30
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
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: Ma_Bo am 06 Januar 2018, 01:13:27
Führe es mit dem user "fhem" aus...
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: herrmannj am 06 Januar 2018, 01:20:38
Ein Fehler im py script. Benenne das device von "Büro" in "Buero" um.
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: MadMax-FHEM am 06 Januar 2018, 01:28:22
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
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: Ma_Bo am 06 Januar 2018, 01:48:54
Das ist eine Alternative, werde ich nächste Woche mal testen...


Tapatalk iPhone, daher kurz gehalten.
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag 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?
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: Ma_Bo am 07 Januar 2018, 12:01:42
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.
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: MadMax-FHEM am 07 Januar 2018, 12:41:33
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
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: Ma_Bo am 07 Januar 2018, 12:53:56
Welche Zeile ist dann wichtig...?
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: MadMax-FHEM am 07 Januar 2018, 14:08:20
Keine Ahnung.

Aber wenn die Umgebung identisch ist (wovon du ausgehst) sollte kein Unterschied sein...

Gruß, Joachim
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: herrmannj am 07 Januar 2018, 16:28:53
Zitat von: herrmannj am 06 Januar 2018, 01:20:38
Ein Fehler im py script. Benenne das device von "Büro" in "Buero" um.
Titel: Antw:Python Script über Shell funktioniert aber aus FHEM Command NICHT ! Warum ?
Beitrag von: Ma_Bo am 07 Januar 2018, 16:59:39
Zitat von: herrmannj am 07 Januar 2018, 16:28:53


Vielen Dank, das war´s...!