[Tuto] Alternative à Controlicz : Enoncé de la température par Google Home
Publié : 09 sept. 2018, 11:15
Comme beaucoup, depuis que Controlicz est devenu payant, je cherche des alternatives.
Demander à Google Home :
Faire énoncer la témpérature intérieure de la station météo Netatmo par Google Home
On va faire le cheminement suivant :
GH -> IFTTT -> Domoticz -> TTS sur GH (à la place de GH -> Controlicz -> Domoticz -> Controlicz -> GH)
Prérequis :
- Compte IFTTT reliée à votre compte Google
- Domoticz installé sur RPI3 avec port ouvert vers l'extérieur
- Station météo Netatmo fonctionnant correctement sous Domoticz
- TTS installé sur RPI3 :
Pico2wave
Sox
Stream2chromecast
Module MP3
Sous Domoticz :
Gestion de la température intérieure :
Créer un matériel "Dumy" puis ajouter un capteur virtuel type "interrupteur"
Délai d'extinction : 2s
Créer un script "LUA" de type "device"
Faire de même avec la température extérieure par exemple.
En plus il y a de l'amélioration par rapport à Controlicz qui répondait :
"La température intérieure est de 18°C et le thermostat extérieur est éteint" !
Sous IFTTT :
Créer un Nouvel "Applet"
IF : "Google Assisant" "Say a simple phrase"
"Quelle est la température intérieure ?"
THEN : "Webhooks" "https://ID:MDP@IP_FIXE:PORT_OUVERT/json.htm?type=command¶m=udevice&idx=VOTRE_IDX_DE_DOMOTICZ&nvalue=1
Voilà pour cette partie
Demander à Google Home :
Faire énoncer la témpérature intérieure de la station météo Netatmo par Google Home
On va faire le cheminement suivant :
GH -> IFTTT -> Domoticz -> TTS sur GH (à la place de GH -> Controlicz -> Domoticz -> Controlicz -> GH)
Prérequis :
- Compte IFTTT reliée à votre compte Google
- Domoticz installé sur RPI3 avec port ouvert vers l'extérieur
Code : Tout sélectionner
sudo curl -L install.domoticz.com | bash- TTS installé sur RPI3 :
Pico2wave
Code : Tout sélectionner
sudo apt-get install libttspico-utilsCode : Tout sélectionner
sudo apt-get install soxCode : Tout sélectionner
git clone https://github.com/bronche/stream2chromecastCode : Tout sélectionner
sudo apt-get install libsox-fmt-mp3Sous Domoticz :
Gestion de la température intérieure :
Créer un matériel "Dumy" puis ajouter un capteur virtuel type "interrupteur"
Délai d'extinction : 2s
Créer un script "LUA" de type "device"
Code : Tout sélectionner
function Calcul_Temp_Int()
Temp, Humidite = otherdevices_svalues["Netatmo Intérieur"]:match("([^;]+);([^;]+)")
-- On extrait la température
a, b = math.modf(Temp)
b = b * 10
Temp = tostring(a) .. "' virgule '" .. tostring(b)
-- on "convertit le point "." en "Virgule" en récupérant la partie entière et décimale
end
commandArray = {}
if devicechanged['temp_int'] == 'On' then
Calcul_Temp_Int()
os.execute('sudo pico2wave -l fr-FR -w /tmp/MonMessage.wav "La température intérieure est de "'..Temp..'"degrés"')
os.execute('sudo sox /tmp/MonMessage.wav -r 48k /tmp/MonMessage.mp3')
os.execute('sudo python /home/pi/stream2chromecast/stream2chromecast.py -devicename VOTRE_IP_LOCALE_du_GH -setvol 1.0')
os.execute('sudo python /home/pi/stream2chromecast/stream2chromecast.py -devicename VOTRE_IP_LOCALE_du_GH /tmp/MonMessage.mp3')
os.execute('sudo python /home/pi/stream2chromecast/stream2chromecast.py -devicename VOTRE_IP_LOCALE_du_GH -setvol 0.5')
end
return commandArrayEn plus il y a de l'amélioration par rapport à Controlicz qui répondait :
"La température intérieure est de 18°C et le thermostat extérieur est éteint" !
Sous IFTTT :
Créer un Nouvel "Applet"
IF : "Google Assisant" "Say a simple phrase"
"Quelle est la température intérieure ?"
THEN : "Webhooks" "https://ID:MDP@IP_FIXE:PORT_OUVERT/json.htm?type=command¶m=udevice&idx=VOTRE_IDX_DE_DOMOTICZ&nvalue=1
Voilà pour cette partie