Autor Thema: (gelöst) Python Script über Shell funktioniert aber aus FHEM NICHT! Warum?  (Gelesen 1212 mal)

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1112
Hallo Leute,

ich habe hier

Zitat
https://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.2Rückmeldung:
Zitat
ip_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:
Zitat
ip_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:

Zitat
insgesamt 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
« Letzte Änderung: 07 Januar 2018, 17:00:43 von Ma_Bo »
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 4403
  • NIVEAu ist keine Creme...
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
FHEM 5.8 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, DashButtons, CO2, ESP-Multisensor, FireTV, NanoLeaf, ...
FHEM 5.8 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.8 PI3 (Test): HM-MOD-PCB, Alexa (alexa-fhem), Google Home

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1112
Führe es mit dem user "fhem" aus...
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline herrmannj

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 4696
Ein Fehler im py script. Benenne das device von "Büro" in "Buero" um.
smartVisu mit fronthem, einiges an HM, RFXTRX, Oregon, CUL, Homeeasy, ganz viele LED + Diverse

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 4403
  • NIVEAu ist keine Creme...
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
FHEM 5.8 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, DashButtons, CO2, ESP-Multisensor, FireTV, NanoLeaf, ...
FHEM 5.8 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.8 PI3 (Test): HM-MOD-PCB, Alexa (alexa-fhem), Google Home

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1112
Das ist eine Alternative, werde ich nächste Woche mal testen...


Tapatalk iPhone, daher kurz gehalten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 4596
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?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1112
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.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 4403
  • NIVEAu ist keine Creme...
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
FHEM 5.8 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, DashButtons, CO2, ESP-Multisensor, FireTV, NanoLeaf, ...
FHEM 5.8 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.8 PI3 (Test): HM-MOD-PCB, Alexa (alexa-fhem), Google Home

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1112
Welche Zeile ist dann wichtig...?
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 4403
  • NIVEAu ist keine Creme...
Keine Ahnung.

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

Gruß, Joachim
FHEM 5.8 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, DashButtons, CO2, ESP-Multisensor, FireTV, NanoLeaf, ...
FHEM 5.8 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.8 PI3 (Test): HM-MOD-PCB, Alexa (alexa-fhem), Google Home

Offline herrmannj

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 4696
Ein Fehler im py script. Benenne das device von "Büro" in "Buero" um.
smartVisu mit fronthem, einiges an HM, RFXTRX, Oregon, CUL, Homeeasy, ganz viele LED + Diverse

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1112
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.