Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Pour parler de tout, et surtout de rien !
mibis
Timide
Messages : 222
Inscription : 17 déc. 2015, 00:36

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par mibis » 15 sept. 2017, 17:07

bonsoir,
Merci pour ces supers tuto.
J'ai testé les url direct et ça fonctionne bien. Par contre j'ai un probleme car j'ai utilisé aussi cette méthode pour allumer et étaidre la Tv.
J'ai utilisé la phrase "étein la télé" et #arrète la télé# et j'ai mis l'url qui active mon broalink via jeedom. Quand je dis la phrase, #étein la télé# mon GH me répond que je n'ai aucun appareil cast d'installé. Si je change la phrase par autre chose que TV ça fonctionne. Si je dis arrière la télé, ça fonctionne aussi.
Avez vous une idée pourquoi éteint la télé ne fonctionne pas ?
Jeedom sur Rpi3 / ssd avec passerelle Zibasedom / zibase

DJo86
Timide
Messages : 290
Inscription : 29 déc. 2015, 13:48
Localisation : Poitiers

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par DJo86 » 15 sept. 2017, 18:12

chsalmon a écrit :
15 sept. 2017, 16:30
il s'arrete donc au "print json.dumps(message, indent=4, separators=(',', ': '))"
qui est vide.

Et si tu rajoute un :

Code : Tout sélectionner

 print data
avant le print message_dict['namespace']

ça affiche quoi ?


on dirait qu'il y a un problème de réception des données ou de format de données attendue par Stream2Chromecast

voila ce que j'ai après avoir rajouté le print et en ayant fait un ctrl c après {} et alors ça m'écrit toujours une multitude de lignes qui se finit toujours par "KeyboardInterrupt" mais ça c'est normal :

Code : Tout sélectionner

pi@raspberrypi:~/stream2chromecast $ python stream2chromecast.py -devicename 192.168.0.94 -status
ip_addr: 192.168.0.94 device name: GoogleHome
Sending:  urn:x-cast:com.google.cast.tp.connection {"origin": {}, "type": "CONNECT"}
Sending:  urn:x-cast:com.google.cast.receiver {"type": "GET_STATUS", "requestId": 2}
receiver-sender-0"#urn:x-cast:com.google.cast.receiver(2▒{"requestId":2,"status":{"volume":{"controlType":"master","level":0.3636363744735718,"muted":false,"stepInterval":0.019999999552965164}},"type":"RECEIVER_STATUS"}@
urn:x-cast:com.google.cast.receiver
{}
^CTraceback (most recent call last):
  File "stream2chromecast.py", line 796, in <module>
    run()
  File "stream2chromecast.py", line 763, in run
    get_status(device_name=device_name)
  File "stream2chromecast.py", line 642, in get_status
    print CCMediaController(device_name=device_name).get_status()
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 373, in get_status
    self.get_receiver_status()
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 242, in get_receiver_status
    self.send_msg_with_response(namespace, data)
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 188, in send_msg_with_response
    return self.get_response(self.request_id)
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 152, in get_response
    msg = self.read_message()
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 121, in read_message
    data += self.sock.recv(4)
  File "/usr/lib/python2.7/ssl.py", line 714, in recv
    return self.read(buflen)
  File "/usr/lib/python2.7/ssl.py", line 608, in read
    v = self._sslobj.read(len or 1024)
KeyboardInterrupt
pi@raspberrypi:~/stream2chromecast $
Jeedom en VM sur Proxmox Hystou I3 - Configuration complète dans mon profil.
Joli job, merci à toute l’équipe Jeedom et aux développeurs externes !!!

DJo86
Timide
Messages : 290
Inscription : 29 déc. 2015, 13:48
Localisation : Poitiers

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par DJo86 » 15 sept. 2017, 18:18

mibis a écrit :
15 sept. 2017, 17:07
bonsoir,
Merci pour ces supers tuto.
J'ai testé les url direct et ça fonctionne bien. Par contre j'ai un probleme car j'ai utilisé aussi cette méthode pour allumer et étaidre la Tv.
J'ai utilisé la phrase "étein la télé" et #arrète la télé# et j'ai mis l'url qui active mon broalink via jeedom. Quand je dis la phrase, #étein la télé# mon GH me répond que je n'ai aucun appareil cast d'installé. Si je change la phrase par autre chose que TV ça fonctionne. Si je dis arrière la télé, ça fonctionne aussi.
Avez vous une idée pourquoi éteint la télé ne fonctionne pas ?
ça le fait également chez moi. Si je dis "éteint le salon", ça ne marche pas et si je dis "éteint la lampe du salon" ou "éteint tout le salon" ça fonctionne. Je pense que GH doit avoir des entités de configurer et prend cela en compte avant de passer par ifttt
Peut-être que d'autres personnes du forum auront une autre approche du prob...
A+
Jeedom en VM sur Proxmox Hystou I3 - Configuration complète dans mon profil.
Joli job, merci à toute l’équipe Jeedom et aux développeurs externes !!!

chsalmon
Timide
Messages : 185
Inscription : 23 déc. 2014, 11:25

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par chsalmon » 15 sept. 2017, 18:43

Moi :
receiver-sender-0"#urn:x-cast:com.google.cast.receiver(2▒{"requestId":2,"status":{"volume":{"controlType":"master","level":0.5,"muted":false,"stepInterval":0.019999999552965164}},"type":"RECEIVER_STATUS"}

Toi :
receiver-sender-0"#urn:x-cast:com.google.cast.receiver(2▒{"requestId":2,"status":{"volume":{"controlType":"master","level":0.3636363744735718,"muted":false,"stepInterval":0.019999999552965164}},"type":"RECEIVER_STATUS"}@

Quasi la meme chose.
Mais l'arobase a la fin est bizarre, si je le met dans mon data, j'ai le meme bug que toi...

Pour tester un truc , rajoute :

juste avant la ligne : message_dict = cc_message.extract_message(data)

Code : Tout sélectionner

data=data.replace("@", "")
message_dict = cc_message.extract_message(data)

c'est une bidouille mais moi ça remarche si je fais ça apres avoir mis l'arobase

toujours dans la fonction read_message ou tu as mis les prints :

Code : Tout sélectionner

def read_message(self):
        """ read a complete message from the device """

        data = ""
        while len(data) < 4:
            data += self.sock.recv(4)

        msg_length, data = cc_message.extract_length_header(data)
        while len(data) < msg_length:
              data += self.sock.recv(2048)

        data=data.replace("@", "")     <================ rajoute ça


        message_dict = cc_message.extract_message(data)





c'est quoi la version du firmware de ton Google Home ? (marqué dans l'appli Google home dans les parametres du device )

Moi c'est le 1.26.93937 , la version standard de production :

Current Preview Program firmware version
Firmware version 1.27.97091 is currently available to all Google Home devices.

Current production firmware version
Firmware version 1.26.93937 is currently available to all Google Home devices.


Edit :

A mon avis, la modif demandée dans le GitHub peut peut-etre corriger le problème :

https://github.com/Pat-Carter/stream2ch ... /issues/41

comme je n'ai pas encore le problème, je ne peut pas tenter la modif, mais si vous maitrisez un peu python ou la programmation en générale, ça se tente...

DJo86
Timide
Messages : 290
Inscription : 29 déc. 2015, 13:48
Localisation : Poitiers

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par DJo86 » 15 sept. 2017, 20:00

J'ai cela avec la dernière modif et ctrl c :

Code : Tout sélectionner

pi@raspberrypi:~/stream2chromecast $ python stream2chromecast.py -devicename 192.168.0.94 -status
ip_addr: 192.168.0.94 device name: GoogleHome
Sending:  urn:x-cast:com.google.cast.tp.connection {"origin": {}, "type": "CONNECT"}
Sending:  urn:x-cast:com.google.cast.receiver {"type": "GET_STATUS", "requestId": 2}
receiver-sender-0"#urn:x-cast:com.google.cast.receiver(2▒{"requestId":2,"status":{"volume":{"controlType":"master","level":0.3636363744735718,"muted":false,"stepInterval":0.019999999552965164}},"type":"RECEIVER_STATUS"}
urn:x-cast:com.google.cast.receiver
{}
^CTraceback (most recent call last):
  File "stream2chromecast.py", line 796, in <module>
    run()
  File "stream2chromecast.py", line 763, in run
    get_status(device_name=device_name)
  File "stream2chromecast.py", line 642, in get_status
    print CCMediaController(device_name=device_name).get_status()
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 375, in get_status
    self.get_receiver_status()
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 244, in get_receiver_status
    self.send_msg_with_response(namespace, data)
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 190, in send_msg_with_response
    return self.get_response(self.request_id)
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 154, in get_response
    msg = self.read_message()
  File "/home/pi/stream2chromecast/cc_media_controller.py", line 121, in read_message
    data += self.sock.recv(4)
  File "/usr/lib/python2.7/ssl.py", line 714, in recv
    return self.read(buflen)
  File "/usr/lib/python2.7/ssl.py", line 608, in read
    v = self._sslobj.read(len or 1024)
KeyboardInterrupt
Merci

Edit : je suis allé voir https://github.com/Pat-Carter/stream2ch ... /issues/41

J'ai complété le fichier cc_messages.py avec la propostion faite mais je ne sais pas où mettre la deuxième partie énoncée dans gitub :

Code : Tout sélectionner

 length, data = extract_varint(data)
    string = data[:length]
    remainder = data[length:]
    return field_id, string, remainder
Edit :
Je suis en : Current Preview Program firmware version
Firmware version 1.27.97091 is currently available to all Google Home devices.
Jeedom en VM sur Proxmox Hystou I3 - Configuration complète dans mon profil.
Joli job, merci à toute l’équipe Jeedom et aux développeurs externes !!!

chsalmon
Timide
Messages : 185
Inscription : 23 déc. 2014, 11:25

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par chsalmon » 15 sept. 2017, 20:41

en gros ça change rien :-(
c'était de la bidouille, y'a pas forcement un arobase, tu peux enlever le replace du coup...


Peut etre que ce firmware est different et pose un probleme.

la modif doit etre dans la fonction , extract_string_field

j'ai l'impression qu'il faut remplacer quasi tout le contenu de la fonction par sa proposition

Code : Tout sélectionner

def extract_string_field(data):
   field_id = extract_field_id(data[0])    
   length, data = extract_varint(data)
    string = data[:length]
    remainder = data[length:]
    return field_id, string, remainder
 
je ne suis pas sur, mais ça se tente apres avoir sauvegarder le source

Avatar de l’utilisateur
bartounet
Actif
Messages : 2541
Inscription : 14 juil. 2016, 10:09

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par bartounet » 15 sept. 2017, 20:43

DJo86 a écrit :
15 sept. 2017, 18:18
mibis a écrit :
15 sept. 2017, 17:07
bonsoir,
Merci pour ces supers tuto.
J'ai testé les url direct et ça fonctionne bien. Par contre j'ai un probleme car j'ai utilisé aussi cette méthode pour allumer et étaidre la Tv.
J'ai utilisé la phrase "étein la télé" et #arrète la télé# et j'ai mis l'url qui active mon broalink via jeedom. Quand je dis la phrase, #étein la télé# mon GH me répond que je n'ai aucun appareil cast d'installé. Si je change la phrase par autre chose que TV ça fonctionne. Si je dis arrière la télé, ça fonctionne aussi.
Avez vous une idée pourquoi éteint la télé ne fonctionne pas ?
ça le fait également chez moi. Si je dis "éteint le salon", ça ne marche pas et si je dis "éteint la lampe du salon" ou "éteint tout le salon" ça fonctionne. Je pense que GH doit avoir des entités de configurer et prend cela en compte avant de passer par ifttt
Peut-être que d'autres personnes du forum auront une autre approche du prob...
A+
j'ai éteins le salon dans les phrases ifttt et ca fonctionne très bien
As tu la bonne orthographe? C'est éteins avec un s : c'est de l'impératif
Jeedom à jour Debian 9
VM VMWARE ESXi 6.7 ( SSD)
Stick ZWave / FIBARO / Ikea Light / Yeelight / Google Home
Wifi Unifi / PFSENSE / Reverse Proxy DMZ SSL

Passionné de bidouillage informatique en tout genre
Mon blog : http://blog.info16.fr

chsalmon
Timide
Messages : 185
Inscription : 23 déc. 2014, 11:25

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par chsalmon » 15 sept. 2017, 20:44

chsalmon a écrit :
15 sept. 2017, 20:41
en gros ça change rien :-(
c'était de la bidouille, y'a pas forcement un arobase, tu peux enlever le replace du coup...


Peut etre que ce firmware est different et pose un probleme.

la modif doit etre dans la fonction , extract_string_field

j'ai l'impression qu'il faut remplacer quasi tout le contenu de la fonction par sa proposition

Code : Tout sélectionner

def extract_string_field(data):
   field_id = extract_field_id(data[0])    
   length, data = extract_varint(data)
    string = data[:length]
    remainder = data[length:]
    return field_id, string, remainder
 
je ne suis pas sur, mais ça se tente apres avoir sauvegarder le source
Ca ne fonctionne pas chez moi avec ça.... faut que je trouve autre chose...

JujuBois
Timide
Messages : 56
Inscription : 05 août 2017, 10:45

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par JujuBois » 15 sept. 2017, 21:06

Bonsoir

Pour information, j arrive bien à diffuser mon message sur mon chromecast mais quand je met l IP du GH, ça bloque :( donc pb au niveau du GH

DJo86
Timide
Messages : 290
Inscription : 29 déc. 2015, 13:48
Localisation : Poitiers

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par DJo86 » 15 sept. 2017, 21:13

JujuBois a écrit :
15 sept. 2017, 21:06
Bonsoir

Pour information, j arrive bien à diffuser mon message sur mon chromecast mais quand je met l IP du GH, ça bloque :( donc pb au niveau du GH
Ah ben voila une info intéressante !
es tu en version préview sur le GH ?
Jeedom en VM sur Proxmox Hystou I3 - Configuration complète dans mon profil.
Joli job, merci à toute l’équipe Jeedom et aux développeurs externes !!!

chsalmon
Timide
Messages : 185
Inscription : 23 déc. 2014, 11:25

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par chsalmon » 15 sept. 2017, 21:14

c'est un problème de protocole, le google home renvoi peut etre une info mal comprise par stream2chromecast .

ça fonctionne chez moi avec la correction supposée.

j'ai pris le code donné dans le github pour la correction :

se mettre dans le repertoire de stream2chromecast

recuperer la correction (supposée)

Code : Tout sélectionner

wget https://github.com/Pat-Carter/stream2chromecast/files/675568/cc_message_py.txt
renommer l'ancien fichier :

Code : Tout sélectionner

mv cc_message.py cc_message.py_old
Mettre le nouveau à la place :

Code : Tout sélectionner

mv cc_message_py.txt cc_message.py

DJo86
Timide
Messages : 290
Inscription : 29 déc. 2015, 13:48
Localisation : Poitiers

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par DJo86 » 15 sept. 2017, 21:23

@ Chsalmon
Nickel !!!!!!!!!!!!!!!!!!!!!!
ça fonctionne de nouveau avec ta dernière proposition !
je pense que je vais donc pouvoir remettre les # devant les print dans les fichiers.
Merci encore à toi pour toute ton aide ! t'es bon !
Amicalement,
DJo

Edit :
Où alors je réinstalle proprement le stream.... et remodifie ensuite le fichier avec ta dernière procédure proposée
Jeedom en VM sur Proxmox Hystou I3 - Configuration complète dans mon profil.
Joli job, merci à toute l’équipe Jeedom et aux développeurs externes !!!

chsalmon
Timide
Messages : 185
Inscription : 23 déc. 2014, 11:25

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par chsalmon » 15 sept. 2017, 21:26

Cool.
on a eu du mal, en fait la correction était là mais fallait encore savoir qu'est qu'on devait chercher...
ça me servira aussi du coup, car le problème était là en veille... peut etre que le nouveau firmware fait la différence.
Merci.

DJo86
Timide
Messages : 290
Inscription : 29 déc. 2015, 13:48
Localisation : Poitiers

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par DJo86 » 15 sept. 2017, 21:32

chsalmon a écrit :
15 sept. 2017, 21:26
Cool.
on a eu du mal, en fait la correction était là mais fallait encore savoir qu'est qu'on devait chercher...
ça me servira aussi du coup, car le problème était là en veille... peut etre que le nouveau firmware fait la différence.
Merci.
ça y est, install propre refaite et ça marche nickel !
Merci encore !
Bon we !
Jeedom en VM sur Proxmox Hystou I3 - Configuration complète dans mon profil.
Joli job, merci à toute l’équipe Jeedom et aux développeurs externes !!!

JujuBois
Timide
Messages : 56
Inscription : 05 août 2017, 10:45

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par JujuBois » 15 sept. 2017, 22:00

chsalmon a écrit :
15 sept. 2017, 21:14
c'est un problème de protocole, le google home renvoi peut etre une info mal comprise par stream2chromecast .

ça fonctionne chez moi avec la correction supposée.

j'ai pris le code donné dans le github pour la correction :

se mettre dans le repertoire de stream2chromecast

recuperer la correction (supposée)

Code : Tout sélectionner

wget https://github.com/Pat-Carter/stream2chromecast/files/675568/cc_message_py.txt
renommer l'ancien fichier :

Code : Tout sélectionner

mv cc_message.py cc_message.py_old
Mettre le nouveau à la place :

Code : Tout sélectionner

mv cc_message_py.txt cc_message.py
Yesssss merci beaucoup ça fonctionne :)

chsalmon
Timide
Messages : 185
Inscription : 23 déc. 2014, 11:25

Re: TTS via pico TTS + MP3 + de quoi s'amuser...

Message par chsalmon » 16 sept. 2017, 09:13

bronche a écrit :
06 août 2017, 13:11
@bronche
Pour le tuto,
il semblerai qu'il fait faire une correction dans le code de stream2chromecast pour le TTS :

../..
"
c'est un problème de protocole, le google home renvoi peut etre une info mal comprise par stream2chromecast .
ça fonctionne chez moi avec la correction supposée.

j'ai pris le code donné dans le github pour la correction :

se mettre dans le repertoire de stream2chromecast

recuperer la correction (supposée)

Code : Tout sélectionner

wget https://github.com/Pat-Carter/stream2chromecast/files/675568/cc_message_py.txt
renommer l'ancien fichier :

Code : Tout sélectionner

mv cc_message.py cc_message.py_old
Mettre le nouveau à la place :

Code : Tout sélectionner

mv cc_message_py.txt cc_message.py
"

Avatar de l’utilisateur
bronche
Modérateur
Messages : 973
Inscription : 07 janv. 2016, 19:29
Localisation : Du côté de Issy les Moulineaux la semaine et de Péronne le week-end...

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par bronche » 16 sept. 2017, 09:47

Bonjour,
Ok merci pour ce retour.
Il faut que je reprenne le fil pour la problématique, car je n'ai pas pu suivre cela cette semaine.
Phil
Helper Officiel Jeedom
Des images non officielles jeedom maintenues et hébergées par mes soins :
https://queen.useed.fr/SB1268/owncloud/ ... mA9xeSgBgx

Junior
Timide
Messages : 136
Inscription : 18 mai 2017, 13:49

Re: TTS via pico TTS + MP3 + de quoi s'amuser...

Message par Junior » 17 sept. 2017, 11:09

chsalmon a écrit :
16 sept. 2017, 09:13
bronche a écrit :
06 août 2017, 13:11
@bronche
Pour le tuto,
il semblerai qu'il fait faire une correction dans le code de stream2chromecast pour le TTS :

../..
"
c'est un problème de protocole, le google home renvoi peut etre une info mal comprise par stream2chromecast .
ça fonctionne chez moi avec la correction supposée.

j'ai pris le code donné dans le github pour la correction :

se mettre dans le repertoire de stream2chromecast

recuperer la correction (supposée)

Code : Tout sélectionner

wget https://github.com/Pat-Carter/stream2chromecast/files/675568/cc_message_py.txt
renommer l'ancien fichier :

Code : Tout sélectionner

mv cc_message.py cc_message.py_old
Mettre le nouveau à la place :

Code : Tout sélectionner

mv cc_message_py.txt cc_message.py
"
Effectivement ca résout le problème merci beaucoup

Avatar de l’utilisateur
bronche
Modérateur
Messages : 973
Inscription : 07 janv. 2016, 19:29
Localisation : Du côté de Issy les Moulineaux la semaine et de Péronne le week-end...

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par bronche » 17 sept. 2017, 13:21

Bonjour
Qui peut me faire un résumé de la problématique ?
Pas le temps de reprendre tout le fil
Phil
Helper Officiel Jeedom
Des images non officielles jeedom maintenues et hébergées par mes soins :
https://queen.useed.fr/SB1268/owncloud/ ... mA9xeSgBgx

DJo86
Timide
Messages : 290
Inscription : 29 déc. 2015, 13:48
Localisation : Poitiers

Re: Google Home - 4 tutos - commande en URL directe, par interaction, par scénario TTS et MP3

Message par DJo86 » 17 sept. 2017, 14:26

bronche a écrit :
17 sept. 2017, 13:21
Bonjour
Qui peut me faire un résumé de la problématique ?
Pas le temps de reprendre tout le fil
Phil
Bonjour Bronche,
Depuis qu'il y eu la mise à jour preview dans le google home, on ne pouvait plus avoir de TTS dedans.
En tapant directement cette commande sous putty : sudo python /home/pi/stream2chromecast/stream2chromecast.py -devicename 192.168.0.94 /tmp/MonMessage.mp3

On restait bloqué après la ligne d'info : unable to find ffmpeg - using avconv
et obligé de faire un ctrl c pour reprendre la main.
Suite à la modification du fichier cc_message.py du répertoire stream2chromecast comme dit dans le topic de Chsalmon :
viewtopic.php?f=59&t=28590&start=440#p515259

et bien ça remarche de nouveau et c'est cool !

Voila en espérant que cela puisse t'aider.
Bon we à toi !
Jeedom en VM sur Proxmox Hystou I3 - Configuration complète dans mon profil.
Joli job, merci à toute l’équipe Jeedom et aux développeurs externes !!!

Répondre

Revenir vers « Discussions Générales »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 22 invités