Page 2 sur 6

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 18 mai 2019, 17:10
par Hybris03
Bon, ça avance j'ai corrigé mon url ifttt comme ceci (je n'ai plus d'erreur dans les logs ifttt) :
http://user:pass@ip:port/json.htm?type=command&param=udevice&idx=60&svalue=get:temperature:<<<{{TextField}}>>
Par contre, dans mes logs domoticz j'ai l'erreur suivante :
2019-05-18 17:04:59.998 Error: EventSystem: in script_device_ifttt: [string "commandArray = {}
..."]:94: attempt to index field '?' (a nil value)
Pour info, mes capteurs de température sont des Xiaomi aqara

Avez-vous une idée ?

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 20 juil. 2019, 19:52
par Snorky
Bonjour,

Quand je lance la commande de test, j'ai des erreurs python.

gnotify -H [ip-addresses] -l fr bonjour
avec ip-adresses : mon adresse ip local de mon google home mini
==> pas de quotes ou un truc spécifique à mettre ?

Code : Tout sélectionner

Traceback (most recent call last):
  File "/usr/local/bin/gnotify", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.4/dist-packages/gnotify/gnotify.py", line 20, in main
    ips = os.getenv("GNOTIFY_IPS").split(',')
AttributeError: 'NoneType' object has no attribute 'split'

Quelqu'un aurait-il une idée de ce qui me manque ?


Merci pour votre aide

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 22 août 2019, 03:09
par shaavik
Bonjour,

Installation sur NAS Synology.
En ligne de commande, gnotify fonctionne.
Dans le script, plus galère.
J'ai réussi en ajoutant l'export des variables,en appelant les adresses IP, et en mettant le chemin absolu de gnotify dans le script:

Code : Tout sélectionner

os.execute("export LANG=fr_FR.utf8;export GNOTIFY_IPS=xxx.xxx.xxx.xxx;export GNOTIFY_LANG=fr;/volume1/@appstore/py3k/usr/local/bin/gnotify -H xxx.xxx.xxx.xxx -l fr "..tts )
De plus l'enceinte Google home dit "point" puis avec une autre voix beaucoup moins forte : température...

Est-il possible de ne pas lui faire dire "point" (si on ne met rien c'est pire, elle dit qu'elle va lancer la commande...")

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 22 août 2019, 03:12
par shaavik
Snorky a écrit : 20 juil. 2019, 19:52 Bonjour,

Quand je lance la commande de test, j'ai des erreurs python.

gnotify -H [ip-addresses] -l fr bonjour
avec ip-adresses : mon adresse ip local de mon google home mini
==> pas de quotes ou un truc spécifique à mettre ?

Code : Tout sélectionner

Traceback (most recent call last):
  File "/usr/local/bin/gnotify", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.4/dist-packages/gnotify/gnotify.py", line 20, in main
    ips = os.getenv("GNOTIFY_IPS").split(',')
AttributeError: 'NoneType' object has no attribute 'split'

Quelqu'un aurait-il une idée de ce qui me manque ?


Merci pour votre aide
Il faut en plus exporter les variables GNOTIFY_IPS et GNOTIFY_LANG avant d'appeler le script (si on ne les a pas déclarer pour l'utilisateur) :

Code : Tout sélectionner

export GNOTIFY_IPS=[ip-addresses];export GNOTIFY_LANG=fr;gnotify -H [ip-addresses] -l fr bonjour

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 28 août 2019, 09:37
par Snorky
Merci beaucoup, ça fonctionne

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 29 nov. 2019, 18:49
par DavidFromRouen
Hello.
Dans mon cas, tout fonctionne, l'install s'est bien passée etc...
Par contre j'ai une question technique.
J'ai remarqué que mes multiples appareils Google (4 radio réveils Lenovo Smart Clock + 1 Google Home Mini) semblent se mettre en veille pour gnotify.
Je m'explique. Si je lance une commande pour qu'un appareil "parle" j'ai juste un son de la part de l'appareil. (n'importe lequel)
Si j'envoie une deuxième fois la commande, alors c'est bon, l'appareil concerné dit ce que je souhaite.
J'ai à moitié résolu en mettant deux fois la même ligne de commande dans mon script mais c'est un peu "dirty" quoi...
Il n'y a pas moyen de régler ce soucis ?
Je m'en sers aussi pour mes détecteurs de fumée. Si jamais par exemple le détecteur du RDC détecte un départ d'incendie, nous qui dormons au 2ème étage nous risquons de ne pas entendre le détecteur. Comme c'est un détecteur 433 Mhz (Digoo : Aliexpress) Domoticz le sait et je peux ainsi lancer un script.
J'ai fais en sorte qu'un message spécifique (en fonction du détecteur concerné) arrive sur tous les radios reveil pour prévenir tout le monde.
Ça fonctionne mais c'est un peu du bricolage, j'ai écris mon script gnotify de la sorte :

#!/bin/bash
api=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
title="Départ-de-feu-Rez-de-chaussée"
curl -u $api: https://api.pushbullet.com/v2/pushes -d type=note -d title=$title
gnotify -H 192.168.1.58 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.59 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.60 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.61 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.62 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.63 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.58 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.59 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.60 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.61 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.62 -l fr Incendie détecté au rez-de-chaussée
gnotify -H 192.168.1.63 -l fr Incendie détecté au rez-de-chaussée

Après je sais que je peux simplifier le script en écrivant les adresses Ip à la suite, sur la même ligne avec des virgules entre les adresses. Mais c'est plus rapide de la sorte, le message est "presque" simultané sur tous les appareils.
Mais bref, je pense que tu as compris le problème, je voudrai que l'appareil concerné parle directement à la première tentative.

Merci d'avance.

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 15 déc. 2019, 17:48
par adv
Salut les gars,

idem même problème ici avec gnotify.

La première commande renvoie juste un son, à la deuxième le texte est énoncé.

En revanche pas de problème avec cette solution, mais la synthèse vocale est moins "bonne":
viewtopic.php?f=17&t=5914

C'est dommage, cette solution mise en place en seulement quelques minutes était vraiment excellente, bravo à bierdok !

Je vais lui écrire une issue sur le git au cas où il ne passe pas souvent ici ;)
A+

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 21 avr. 2020, 21:05
par rebel59540
bierdok a écrit : 20 janv. 2019, 23:34 Ce tutoriel fait suite au tutoriel permettant le pilotage de sa box Domoticz (https://easydomoticz.com/forum/viewtopi ... =17&t=7125), il est donc nécessaire de l’avoir réalisé au préalable. Il est aussi nécessaire de disposer soit d’un haut-parleur intelligent Google Home ou Google Home Mini, soit d’un appareil de streaming Chromecast Ultra ou Chromecast. On appelera ce dernier “dispositif” dans la suite du tutoriel.

Installation de gnotify

Dans le but de simplifier le fait de faire parler son dispositif, je vous ai développé un petit programme en Pyhton appelé “gnotify” et disponible sur Github (https://github.com/bierdok/gnotify).

Pour l’installer, il vous suffit de vous connecter en SSH à votre box Domoticz et de lancer la commande suivante :

Code : Tout sélectionner

sudo pip3 --no-cache-dir install https://github.com/bierdok/gnotify/archive/master.zip
Configuration de gnotify

Vous allez avoir besoin de connecter votre dispositif sur le même réseau que votre box Domoticz pour qu’ils puissent communiquer entre eux.

L’adresse IP de votre dispositif doit être fixe pour ne pas changer à chaque redémarrage. Vous pouvez la réserver via les paramètres de votre routeur si ce n’est pas déjà le cas.

Tester le programme en complétant et en éxecutant la commande suivante :

Code : Tout sélectionner

gnotify -H [ip-address] -l [language] bonjour les gens
  • ip-address : l’adresse IP fixe de votre dispositif
  • language : la langue utilisée pour faire parler votre dispositif. Pour le français, le code à utiliser est “fr”.
Une fois le test concluant, enregistrez les paramètres en variables d’environnement en complétant et en éxecutant la commande suivante :

Code : Tout sélectionner

echo "export GNOTIFY_IP=[ip-address] && export GNOTIFY_LANG=[language]" >> /etc/profile
Ainsi au prochain redémarrage de votre box Domoticz, la commande suivante suffira à faire parler votre dispositif :

Code : Tout sélectionner

gnotify bonjour les gens
Création des applets IFTTT

Voici la liste des applets à utiliser pour l’obtention des valeurs des sondes :

Obtention de température

Code : Tout sélectionner

"Say a phrase with a text ingredient" > "Température $" > "•" > "[domoticz_baseurl]&get:temperature:<<<{{TextField}}>>>"
Obtention du taux d’humidité

Code : Tout sélectionner

"Say a phrase with a text ingredient" > "Taux d'humidité $" > "•" > "[domoticz_baseurl]&get:humidity:<<<{{TextField}}>>>"
Implémentation du script pour Domoticz

Le script LUA à utiliser est celui du tutoriel initial présent à cette adresse : https://bierdok.net/post/piloter-sa-box ... assistant/

Modifiez le tableau “captors” selon le nom des capteurs utilisés dans Domoticz.



Dites juste “Ok Google, température de la maison” pour tester.
salut a tous quand je lance la commande

Code : Tout sélectionner

sudo echo "export GNOTIFY_IP=[ip-address] && export GNOTIFY_LANG=[language]" >> /etc/profile
il me dit permission non accorder pourtant je mes sudo
quelqu'un pourrais m'aider svp

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 25 avr. 2020, 10:06
par nitrosurf
Salut il faut mettre simplement cette commande

Code : Tout sélectionner

echo -e "export GNOTIFY_IPS=[ip-addresses]\nexport GNOTIFY_LANG=[language]" | sudo tee --append /etc/profile
sans sudo et redémarrer ton raspberry.

Re: [ TUTO] Obtenir les valeurs de ses sondes via Google Home

Publié : 25 avr. 2020, 10:21
par nitrosurf
Bonjour, à tous !

je m'arrache les cheveux ! tout fonctionne pour moi ou presque.
quand je dis "ok google, température salon"

mon device ifttt se complete correctement :

Code : Tout sélectionner

 get:temperature:salon
dans mon script ifttt j'ai mis dans "captors" :

Code : Tout sélectionner

["Temperature Salon"]="salon danslesalon dusjour danslesjour detouteslespices delamaison",
et a la fin du script j'ai modifié la ligne os.execute comme ca

Code : Tout sélectionner

os.execute("gnotify -H 192.168.0.55 -l fr "..tts)
dans domoticz ma sonde s'appelle

Code : Tout sélectionner

Temperature Salon
dans ifttt j'ai mis à What do you want to say?

Code : Tout sélectionner

température $
à What do you want the Assistant to say in response? un simple point sans guillement
et pour la requete web

Code : Tout sélectionner

http://****:*****@*******:8080/json.htm?type=command&param=udevice&idx=609&svalue=get:temperature:<<<{{TextField}}>>>
avec identifiant:mot de de pass et ip correct

et quand j'ai installé gnotify il m'a dit bonjour avec la commande

Code : Tout sélectionner

gnotify bonjour
et bien avec tout ca mon google home mini me dit "POINT"

Je ne sais pas ce que j'ai oublié. y a t il d'autre chose à faire dans les paramatres > notifications de domoticz....
merci pour votre aide