[Python] Bose Soundtouch Multiroom depuis domoticz

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
ayziaa
Messages : 25
Inscription : 29 janv. 2017, 17:16

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message par ayziaa »

Essaye de voir si en ligne de commande le script fonctionne en faisant:

Code : Tout sélectionner

python bose.py
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

Code : Tout sélectionner

exit()
à la fin du script pour terminer plus proprement
lreymond
Messages : 18
Inscription : 25 nov. 2016, 20:06

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message par lreymond »

voici ce qu'il me retour lors que je lance:

Code : Tout sélectionner

python bose.py

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:

Code : Tout sélectionner

exit()
ne change pas la donne... :cry:
ayziaa
Messages : 25
Inscription : 29 janv. 2017, 17:16

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message 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.
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message 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 :

Code : Tout sélectionner

sudo -H pip install libsoundtouch
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 :lol:

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()
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
ayziaa
Messages : 25
Inscription : 29 janv. 2017, 17:16

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message par ayziaa »

super! ça fait quoi -H ?
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message par Chrominator »

En tout cas un grand merci à ayziaa sans qui je n'aurais probablement mis les doigts dans un script Python :ugeek:

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 ! :D
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
ayziaa
Messages : 25
Inscription : 29 janv. 2017, 17:16

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message 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 8-) 8-)
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message 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 ! :(
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
lreymond
Messages : 18
Inscription : 25 nov. 2016, 20:06

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message 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:

Code : Tout sélectionner

sudo -H pip install libsoundtouch
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
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz

Message par Chrominator »

Essaie de le désinstaller d'abord ;

Code : Tout sélectionner

 sudo pip uninstall libsoundtouch
Ensuite tu réinstalles avec

Code : Tout sélectionner

 sudo -H pip install libsoundtouch
Et puis tu nous débriefes.
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Répondre