[TUTO] Notifications Domoticz par la Google Home

Vous avez crée 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.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
ziaziung
Messages : 146
Enregistré le : 13 févr. 2015, 14:04

Re: [TUTO] Notifications Domoticz par la Google Home

Message par ziaziung »

Bonjour a toutes et tous.

J'essai d'obtenir la temperature de ma sonde nommée Salon.
J'ai mis ceci dans la partie URL de webhook :
https://nom:passeword@xxx.xxx.xxx.xxx:port/json.htm?type=command&param=updateuservariable&idx=534&vname=googlehome_temperature&vtype=2&vvalue=TextField


car la sonde Salon a l'idx 534

Ensuite j'ai créer le script "script_device_temperatureGHM.lua" qui contient (mon script "notification_google_home.sh" est dans "/home/pi/domoticz/scripts/bash/") :

commandArray = {}
-- loop through all the changed variables
for variableName,variableValue in pairs(uservariablechanged) do
if (uservariables["googlehome_temperature"] == 'du salon') then
Temp, Humidite = otherdevices_svalues["Salon"]:match("([^;]+);([^;]+)")
Temp = string.gsub(Temp, "%.", ",") --Permet de remplacer le "." par "," on met un % pour annuler la signification (remplacer n'importer quel caractère) du point
print("temperature salon:"..Temp);
os.execute('sudo /home/pi/domoticz/scripts/bash/notification_google_home.sh "la température du salon est de "'.. Temp .. '" degrés" 0.8')

commandArray['Variable:googlehome_temperature']= 'Off'
print("variable a Off")
end
end
return commandArray

et, lorsque je dis "Ok google quelle est la température du salon" j'obtiens cette erreur dans le log de Domoticz :

2019-02-20 16:38:54.826 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_temperatureGHM.lua: ...pi/domoticz/scripts/lua/script_device_temperatureGHM.lua:3: bad argument #1 to 'pairs' (table expected, got nil)


Quelqu'un a une idée?
Raspi B+ et 2. RfxcomE. Volets Somfy. Sondes de température "AliExpress".

Wolfen38
Messages : 1262
Enregistré le : 19 oct. 2017, 14:49

Re: [TUTO] Notifications Domoticz par la Google Home

Message par Wolfen38 »

Bonjour,

Depuis quelques jours (depuis il me semble que j'ai mis a jour dz en v4.11415) je n'ai plus les notifs, et dans les logs j'ai des erreur 256 au passage a on, et 512 au passage a off.

Personne n'a de problèmes ?

Wolfen38
Messages : 1262
Enregistré le : 19 oct. 2017, 14:49

Re: [TUTO] Notifications Domoticz par la Google Home

Message par Wolfen38 »

Personne pour m'aider ? Ce script était génial, vraiment dommage que ca ne fonctionne plus.

vulbas
Messages : 382
Enregistré le : 24 janv. 2017, 18:45

Re: [TUTO] Notifications Domoticz par la Google Home

Message par vulbas »

hello je suis en 4.11345 et zero probleme.
tu as essayé viewtopic.php?f=8&t=7887 ou viewtopic.php?t=7817
sinon dans google tu vas peut etre trouver des info.
domoticz error 256

Wolfen38
Messages : 1262
Enregistré le : 19 oct. 2017, 14:49

Re: [TUTO] Notifications Domoticz par la Google Home

Message par Wolfen38 »

Rien trouver sur Google. Je vais voir tes liens merci

Envoyé de mon Mi A1 en utilisant Tapatalk


Wolfen38
Messages : 1262
Enregistré le : 19 oct. 2017, 14:49

Re: [TUTO] Notifications Domoticz par la Google Home

Message par Wolfen38 »

Rien trouver dans tes 2 liens pour m'aider, mais merci quand même.

bricololo
Messages : 25
Enregistré le : 18 mars 2018, 14:23

Re: [TUTO] Notifications Domoticz par la Google Home

Message par bricololo »

Chez moi, cela fonctionne sans problème.

Envoyé de mon EML-L29 en utilisant Tapatalk


Wolfen38
Messages : 1262
Enregistré le : 19 oct. 2017, 14:49

Re: [TUTO] Notifications Domoticz par la Google Home

Message par Wolfen38 »

Je sais pas ce qui a pu se passer, de mémoire, mise a part une maj de dz, j'ai rien fait d'autres....

valdoison
Messages : 150
Enregistré le : 17 oct. 2014, 14:59

Re: [TUTO] Notifications Domoticz par la Google Home

Message par valdoison »

Bonjour,
Si l'on a plusieurs périphériques permettant de questionner Google home, un Google home mini et un smartphone par exemple.
L'utilisation de stream2chromecast demande une adresse IP pour le retour.
Comment récupérer un paramètre ( si il existe ) permettant de différencier les périphériques pour renvoyer la réponse sur l'appareil ayant fait la demande. j'utilise la chaine:
Google assistant - ifttt - webhost - api de domoticz pour la demande et le tuto pour la réponse.
J'ai remarqué ( mais c'est peut-être une évidence) que les réponses enregistrées dans webhost arrivent sur l'appareil émetteur de la question. On peut alors supposé qu'il existe un paramètre permettant cette différenciation!!!
Cordialement
Domoticz sur serveur UBUNTU 18.04 - Controleur Zwave+ - 7 detecteurs FGMS 001 - 1 télécommande NODON - 1 sirene SE812 - 3 modules AN157 - 1 detecteur ST814 - 1 vanne danfoss LC13 - 1 detecteur de fumée SF812

Wolfen38
Messages : 1262
Enregistré le : 19 oct. 2017, 14:49

Re: [TUTO] Notifications Domoticz par la Google Home

Message par Wolfen38 »

Je vous mets mon script sh pour voir si vous voyez quelques choses pouvant expliquer ces erreurs 256 et 512.

Mais comme j'ai rien changé dedans depuis le début, ca ne doit probablement pas venir du script en lui meme...

Code : Tout sélectionner

#!/usr/bin/python
# notification_google_home.sh Script de notification de message vocal sur la Google Home 
# by JS Martin - 11/02/2018 - version 0.1
 
message=$1 # text message
volume=$2  # 0=auto 0.1=10% 1=100%
jingle=$3  # jingle track number (0=no track 1=default track)  


# ------ parameters ---------

# Autoset volume if  volume=0
Start_day="0740"
Start_night="2100"
Night_vol="0.2"
Day_vol="0.4"

# number of arg correction
case "$#" in  
"1")
    volume="0"
    jingle="1"
    ;;
"2")
    jingle="1"
    ;;
"3")
    ;;
*)
    echo "Usage: notification_google_home <text> [volume 0..1] [jingle_track]"
    exit 1
    ;;
esac

# Jingle track
case "$jingle" in
"1")
    jingle_name="/home/pi/domoticz/jingles/jingle1.mp3"
    ;;
"2")
    jingle_name="/home/pi/domoticz/jingles/jingle2.mp3"
    ;;
*)
    jingle_name="/home/pi/domoticz/jingles/jingle1.mp3"
    ;;
esac


# IP Google Home
IPGH="192.168.31.121"


echo "Notification : "$message

if [ $volume != "0" ]; then
   echo "Volume : "$volume
else
   CUR_TIME=`date +%H%M`
   if [ $CUR_TIME -ge $Start_day -a $CUR_TIME -le $Start_night ]; then
      echo "Day volume"
      volume=$Day_vol
   else
      echo "Night volume"
      volume=$Night_vol
   fi
   echo "Volume = automatique - set to "$volume
fi

#Set Google Home volume
sudo python /home/pi/stream2chromecast/stream2chromecast.py -devicename $IPGH -setvol $volume
#Text to WAV
sudo pico2wave -l fr-FR -w /tmp/message.wav "$message"
#WAV to MP3
sudo sox -v 0.99 /tmp/message.wav -r 48k  /tmp/message.mp3 speed 1.06
#Add jingle if needed
if [ $jingle != "0" ]; then #add jingle
    sudo sox  $jingle_name /tmp/message.mp3 /tmp/message2.mp3
    sudo cp /tmp/message2.mp3 /tmp/message.mp3
fi
#MP3 to Google Home 
sudo python /home/pi/stream2chromecast/stream2chromecast.py -devicename $IPGH /tmp/message.mp3

Répondre