[TUTO] Piloter sa box Domoticz avec Google Assistant

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]
bierdok
Messages : 18
Enregistré le : 14 sept. 2018, 10:12

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par bierdok » 06 déc. 2018, 00:17

Bonsoir Babac,

En effet les tableaux blinds, lights et sensors contenus au début du script sont des exemples.
Tu peux bien évidement t'en inspirer et les modifier selon tes dispositifs. ;)

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Babac
Messages : 8
Enregistré le : 13 déc. 2017, 15:01

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par Babac » 06 déc. 2018, 00:43

Merci de prendre le temps de me répondre
Donc j'ai modifier quelque dispositif dans le tableau lights j'ai remplacer salon-lumière 1 et 2 par LED TV et lampe boule quand je dit allume toute les lumière aucune réaction le capteur ifttt reçois bien le message.
J'ai fait un copier coller du scripts j ai utilisé domoticz pour l'implanter. mon URL dans ifttt est ¨"http://user:mdp@.dns/json.htm?type=command&param=udevice&idx=434&svalue=switch:On:{{TextField}} 434 est l IDX du capteur virtuel ifttt.

encore merci ;)

bierdok
Messages : 18
Enregistré le : 14 sept. 2018, 10:12

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par bierdok » 06 déc. 2018, 01:59

Deux choses à vérifier :
  • La syntaxe des noms de tes interrupteurs, c'est sensible à la casse.
  • Les clés vocales, pas d'accents, ni de majuscules, ni d'espaces par exemple "toutes les lumières" devient "toutesleslumires".
L'idéal serait de débugger les lignes 70 à 75 du script présent sur le blog.

Babac
Messages : 8
Enregistré le : 13 déc. 2017, 15:01

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par Babac » 06 déc. 2018, 10:16

bonjour
Pour les clés vocale j'ai laisser se qui avait.
quand tu dit la syntaxe des noms de mes interrupteur c'est sensible à la casse sa veut dire qu il faut que le noms de mon interrupteur soi le même que dans le scripts?
Et pour débugger les lignes 70 à 75 du script je ses pas comment faire :roll:
sa va être compliqué avec mon manque de connaissance ;)
merci

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Babac
Messages : 8
Enregistré le : 13 déc. 2017, 15:01

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par Babac » 06 déc. 2018, 11:14

Voici le scripts

Code : Tout sélectionner

commandArray = {}

local blinds = {
	["Chambre 1 - Volet"]="celuidelachambredelapetite lachambredelapetite levoletdelachambredelapetite levoletroulantdelachambredelapetite lesvoletsdeschambres touslesvolets touslesvoletsroulants",
	["Chambre 2 - Volet"]="celuidelachambre lachambre levoletdelachambre levoletroulantdelachambre lesvoletsdeschambres touslesvolets touslesvoletsroulants",
	["Cuisine - Volet"]="celuidelacuisine lacuisine levoletdelacuisine levoletroulantdelacuisine touslesvolets touslesvoletsroulants",
	["Salon - Volet 1"]="celuidedroite levoletdedroite levoletroulantdedroite levoletdedroitedusalon levoletroulantdedroitedusalon lesalon lesvoletsdusalon lesvoletsroulantsdusalon touslesvolets touslesvoletsroulants",
	["Salon - Volet 2"]="celuidumilieu levoletdumilieu levoletroulantdumilieu levoletdumilieudusalon levoletroulantdumilieudusalon lesalon lesvoletsdusalon lesvoletsroulantsdusalon touslesvolets touslesvoletsroulants",
	["Salon - Volet 3"]="celuidegauche levoletdegauche levoletroulantdegauche levoletdegauchedusalon levoletroulantdegauchedusalon lesalon lesvoletsdusalon lesvoletsroulantsdusalon touslesvolets touslesvoletsroulants",
}

local lights = {
	["Balcon - Lumière 1"]="celledubalcon lebalcon lalumiredubalcon lespotdubalcon lejardin lalumiredujardin leslumiresdujardin lesspotsdubalcon lesspotsdujardin toutesleslumires",
	["Balcon - Lumière 2"]="celledelaterrasse laterrasse lalumiredelaterrasse lespotdelaterrasse lejardin lalumiredujardin leslumiresdujardin lesspotsdubalcon lesspotsdujardin toutesleslumires",
	["Chambre 1 - Lumière 1"]="celledelapetite lapetite lachambredelapetite lalumiredelachambredelapetite leslumiresdelachambredelapetite leschambres leslumiresdeschambres toutesleslumires",
	["Chambre 1 - Lumière 2"]="laguirlande laguirlandedelapetite laguirlandedelachambredelapetite leslumiresdelachambredelapetite toutesleslumires",
	["Chambre 2 - Lumière"]="celledelachambre lachambre lalumiredelachambre leslumiresdelachambre leschambres leslumiresdeschambres toutesleslumires",
	["Cuisine - Lumière 1"]="lesspots lesspotsdelacuisine lacuisine leslumiresdelacuisine toutesleslumires",
	["Cuisine - Lumière 2"]="celledelacuisine lalumiredelacuisine lacuisine leslumiresdelacuisine toutesleslumires",
	["Cuisine - Lumière 3"]="lesspots lesspotsdelacuisine lacuisine leslumiresdelacuisine toutesleslumires",
	["Entrée - Lumière"]="celledelentree lentree lalumiredelentree lepalier lalumiredupalier toutesleslumires",
	["Escalier - Lumière"]="celledelescalier lescalier lalumiredelescalier lescalierdusoussol ladescentedusoussol toutesleslumires",
	["LED TV"]="celledelatable latable lalumiredelatable lalumiredelatabledusalon lesalon lalumiredusalon leslumiresdusalon toutesleslumires",
	["Lumière 1"]="celleducanap lecanap lalumireducanap lalumireducanapdusalon lesalon lalumiredusalon leslumiresdusalon toutesleslumires",
	["Salon - Lumière 3"]="celledelatl latl lalumiredelatl lalumiredelatldusalon lesalon lalumiredusalon leslumiresdusalon toutesleslumires",
	["Salle de bain - Lumière"]="celledelasalledebain lasalledebain lalumiredelasalledebain toutesleslumires",
	["WC - Lumière"]="celledeswc celledestoilettes lestoilettes leswc lalumiredestoilettes lalumiredeswc toutesleslumires"
}

local sensors = {
	["Hygrostat"]="lavmc lavmcsur lhygrostat lhygrostatsur lhumidit lhumiditsur lhumiditdelair lhumiditdelairsur lhumiditdanslair lhumiditdanslairsur letauxdhumidit letauxdhumiditsur letauxdhumiditdelair letauxdhumiditdelairsur letauxdhumiditdanslair letauxdhumiditdanslairsur",
	["Thermostat"]="lechauffage lechauffagesur lethermostat lethermostatsur latemprature latempraturesur latempraturedelair latempraturedelairsur latempraturedanslair latempraturedanslairsur"
}

local function get(deviceValue, position)
    local current = 0
	for value in string.gmatch(deviceValue, '([^:]+)') do
		current = current + 1
		if current == position then
            return value
		end
    end
    return value
end

for deviceName,deviceValue in pairs(devicechanged) do
	if deviceName == 'IFTTT' then
		local command = get(deviceValue, 1)
        if command == 'blind' then
            local value = get(deviceValue, 2)
            local text = get(deviceValue, 3):gsub("%W", ""):lower()
            for blind,words in pairs(blinds) do
                for word in words:gmatch("%w+") do
                    if text == word then
                        commandArray[blind] = value
                    end
                end
            end
    	elseif command == 'set' then
            local value = get(deviceValue, 3)
            local text = get(deviceValue, 2):gsub("%W", ""):lower()
            for sensor,words in pairs(sensors) do
                for word in words:gmatch("%w+") do
                    if text == word then
                        commandArray[sensor] = 'Set Level: ' .. value
                    end
                end
            end
    	elseif command == 'switch' then
            local value = get(deviceValue, 2)
            local text = get(deviceValue, 3):gsub("%W", ""):lower()
            for light,words in pairs(lights) do
                for word in words:gmatch("%w+") do
                    if text == word then
                        commandArray[light] = value
                    end
                end
            end
            for sensor,words in pairs(sensors) do
                for word in words:gmatch("%w+") do
                    if text == word then
                        commandArray[sensor] = value
                    end
                end
            end
        end
    end
end

return commandArray

emylive
Messages : 35
Enregistré le : 21 mars 2017, 22:43

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par emylive » 21 janv. 2019, 11:56

Bonjour,
Super tuto mais je suis encore trop newbie :?

*dans IFTTT mon aplet est ok
Applet ran
Jan 21 - 1:15 PM
Google Assistant
If You say "allume $", then Make a web request
Fontaine
Hide details
Ingredients
CreatedAt
January 21, 2019 at 01:15PM
TextField
Fontaine

*Dans domoticz le retour de mon switch IFTTT
2019-01-21 13:16:18 switch:On:tous les dispositifs
2019-01-21 13:15:14 switch:On:Fontaine

*Dans mon script :/home/pi/scripts/lua/script_device_ifttt.lua
local switchs = {
["Fontaine"]="fontaine eaudelafontaine eauduchat eaudechamalo toutesleslumires touslesdispositifs",

*Mon device dans domoticz
2019-01-21.png
2019-01-21.png (170.38 Kio) Vu 431 fois
et la fontaine ne s'allume pas :x
Si vous pouvez m'aiguiller pour trouver mon erreur!!
Domoticz+Xiaomi gateway

bierdok
Messages : 18
Enregistré le : 14 sept. 2018, 10:12

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par bierdok » 24 janv. 2019, 21:33

Bonsoir emy,

Il ne semble pas y avoir d'erreur dans ce que j'ai pu voir.
Si tu testes une des url paramétrée dans IFTTT à partir d'une connexion 3G ou 4G ça donne quoi ?
Pourrais-tu faire des captures d'écran de tes applets IFTTT en prenant soin de flouter les données sensibles ?

emylive
Messages : 35
Enregistré le : 21 mars 2017, 22:43

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par emylive » 25 janv. 2019, 10:15

bierdok a écrit :
24 janv. 2019, 21:33
Bonsoir emy,

Il ne semble pas y avoir d'erreur dans ce que j'ai pu voir.
Si tu testes une des url paramétrée dans IFTTT à partir d'une connexion 3G ou 4G ça donne quoi ?
Pourrais-tu faire des captures d'écran de tes applets IFTTT en prenant soin de flouter les données sensibles ?
Merci Bierdock pour ton attention!

je pense que le problème viens de mon mot de passe:
Quand je me connecte http://identifient:mdp@***.myddnd.me:8080//json.htm?type=command&param=udevice&idx=73&svalue=test
j'ai "{
"status" : "OK",
"title" : "Update Device"
}"
seulement si je me suis déjà loggé dans un onglet de chrome à Domoticz, sinon j'ai l'erreur "401 Unauthorized".

Dans les paramètres sécurité de Domoticz j'ai Authentification: "page de connexion"

Voici mon log domoticz quand je fait la commande vocale à google home : 2019-01-25 10:01:32.054 Status: Incoming connection from: 52.87.223.233

Et mon applet ifttt:
IMG_20190125_101203.jpg
Applet ifttt
IMG_20190125_101203.jpg (174.66 Kio) Vu 371 fois
Domoticz+Xiaomi gateway

dxfantome
Messages : 89
Enregistré le : 14 sept. 2018, 23:29

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par dxfantome » 26 janv. 2019, 02:09

Je sais pas si ca change quelque chose , mais pour ma part je suis en "Basic-Auth" et non "page de connexion" ,et je ne rencontre aucun probleme pour piloter ma box domoticz via google assistant
orange pi one, raspberry pi 2 b,yeelink v2, rflink 433.92:inters/pir/écran projecteur,Broadlink ,sonde diy(temperature ,hyrgo,co2,particule fine pm10, pm5, pm2.5 /esp wifi et attiny 433) xiaomi: switch/cube/pir/mi flower

bierdok
Messages : 18
Enregistré le : 14 sept. 2018, 10:12

Re: [TUTO] Piloter sa box Domoticz avec Google Assistant

Message par bierdok » 26 janv. 2019, 17:43

Bonjour,

Pour ma part, j'ai toujours utilisé la page de connexion pour m'identifier à Domoticz.

Regardes dans la documentation dédié à l'authentification si tu n'aurais pas oublié une étape (base64..).

Envoyé de mon GT-I9505 en utilisant Tapatalk


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre