Page 3 sur 6
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 21 nov. 2017, 23:24
par ayziaa
Essaye de voir si en ligne de commande le script fonctionne en faisant:
Sinon d'après ce que j'ai vu sur le net l'erreur : returned: 256 indique que le script ne s'est pas terminé correctement. Attends t'il un "return" de quelque chose? Mais il me semble que ça n'indique pas que le script n'a pas été exécuté, car sinon ça ne fonctionnerais pas chez moi.
Edit: apparemment il est possible de mettre un
à la fin du script pour terminer plus proprement
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 21 nov. 2017, 23:41
par lreymond
voici ce qu'il me retour lors que je lance:
Code : Tout sélectionner
Traceback (most recent call last):
File "bose.py", line 16, in <module>
import libsoundtouch
File "/usr/local/lib/python2.7/dist-packages/libsoundtouch/__init__.py", line 9, in <module>
from libsoundtouch.device import SoundTouchDevice
File "/usr/local/lib/python2.7/dist-packages/libsoundtouch/device.py", line 15, in <module>
from .utils import Key, Type
File "/usr/local/lib/python2.7/dist-packages/libsoundtouch/utils.py", line 6, in <module>
from enum import Enum
ImportError: No module named enum
l'ajout de:
ne change pas la donne...

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 22 nov. 2017, 09:57
par ayziaa
J'ai réussi à supprimer l'erreur 256 sur un de mes scripts en mettant la fin de mon script dans un bloque if ex:
Code : Tout sélectionner
if n_enceintes == 2:
enceinte_salon.create_zone([enceinte_ma_chambre])
enceinte_salon.set_volume(50)
enceinte_ma_chambre.set_volume(50)
presets = enceinte_salon.presets()
enceinte_salon.select_preset(presets[0])
devient
Code : Tout sélectionner
if n_enceintes == 2:
enceinte_salon.create_zone([enceinte_ma_chambre])
enceinte_salon.set_volume(50)
enceinte_ma_chambre.set_volume(50)
presets = enceinte_salon.presets()
enceinte_salon.select_preset(presets[0])
lreymond ton erreur vient d'ailleurs car tu ne peut pas exécuter ton script en ligne de commande. Si tu as des erreur pendant l'installation ça ne peut pas marcher correctement. Essaye peut être de mettre à jour python.
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 22 nov. 2017, 20:55
par Chrominator
En faisant ça tu changes le processus.
Chez moi ça marche maintenant, j'ai résolu mon problème en réinstallant la bibliothèque
libsoundtouch.
Pour cela, j'ai lancé dans le terminal :
Et sans rien changer d'autre je n'ai plus eu d'erreur 256 !
En prime je vous livre ce que j'ai mis sur le action off
Code : Tout sélectionner
#!/usr/bin/python
# -*- coding: utf-8 -*-
import libsoundtouch
from libsoundtouch import discover_devices
#Cherche les enceintes et les met dans la list devices
devices = discover_devices(timeout=5)
#On éteint toutes les enceintes
for device in devices:
device.power_off()
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 22 nov. 2017, 22:06
par ayziaa
super! ça fait quoi -H ?
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 22 nov. 2017, 22:10
par Chrominator
En tout cas un grand merci à ayziaa sans qui je n'aurais probablement mis les doigts dans un script Python
Il reste toujours cette histoire de presets() qui ne fonctionne pas avec les radios qui ont un nom avec des accents bizarres, genre OÜI FM.
J'irais peut-être visiter d'un peu plus près la bibliothèque libsoundtouch pour voir si je peux faire quelque chose pour ça.
En tout cas j'ai en tête de faire maintenant une page spéciale dans monitor pour le multiroom.
Vivement le week-end !

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 22 nov. 2017, 22:14
par ayziaa
Bah de rien

content de pouvoir aider.
J'me suis étonné moi même, j'ai fait ça sans tuto juste avec la libraire, c'est la première fois.
Moi j'utilise Reacticz, c'est juste à tomber comme c'est bien

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 22 nov. 2017, 22:16
par Chrominator
ayziaa a écrit :super! ça fait quoi -H ?
Ca change la home directory lors de l'exécution de la commande vers celle de root, au lieu de celle de l'utilisateur qui a lancé la commande sudo.
J'ai suspecté que le script ne trouvait pas la bibliothèque lors du lancement par Domoticz (qui lance sous root) lorsque j'ai eu l'erreur 256 avec un script qui ne comportait que l'import de la bibliothèque !

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 23 nov. 2017, 12:31
par lreymond
Bonjour à vous deux,
Je vous lis avec attention et je réalise pas mal de test sans grand résultat,
J'ai toujours l'erreur 256 malgrès avoir fait:
Voici le retour que j'ai....
Code : Tout sélectionner
pi@raspberrypi:~ $ sudo -H pip install libsoundtouch
Requirement already satisfied (use --upgrade to upgrade): libsoundtouch in /usr/local/lib/python2.7/dist-packages
Cleaning up..
Louis
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 23 nov. 2017, 22:36
par Chrominator
Essaie de le désinstaller d'abord ;
Ensuite tu réinstalles avec
Et puis tu nous débriefes.