[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]
Répondre
Phebus06
Messages : 197
Enregistré le : 26 janv. 2017, 09:25

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

Message par Phebus06 » 14 mai 2019, 12:30

Re c'est encore moi :)

Afin de comprendre le script, puisque je suis une bille en programmation mais que j'aime bien bidouiller, j'aimerai savoir qu'elle phrase le script envoi en se servant du capteur virtuel texte ??? est ce un phrase en API json un peu du style de celle que l'on met dans webhook ???

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.


Phebus06
Messages : 197
Enregistré le : 26 janv. 2017, 09:25

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

Message par Phebus06 » 16 mai 2019, 16:32

Bon je me répond à moi même en fait il m 'a fallu juste digérer le fonctionnement général et finalement c'est l'action IFTTT qui est en API/json et c'est juste le programme en lua qui lit le capteur virtuel texte et qui envoi un ordre à Domoticz par un simple commandArray des plus classiques :lol:

Phebus06
Messages : 197
Enregistré le : 26 janv. 2017, 09:25

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

Message par Phebus06 » 19 mai 2019, 11:43

Petit TUTO complément de ce super script pour commander aussi sa Tv mais en passant par un Broadlink pro :
Le fonctionnement :
Un ordre est donné par la voix Google Homme mini vers IFTTT vers Domoticz Capteur virtuel texte vers programme en Lua vers Interrupteur virtuel Chaîne Tv vers Broadlink pro vers ma TV en infra rouge :D

IFTTT :
IFTTT 01.png
IFTTT 01.png (27 Kio) Vu 93 fois
IFTTT 2.png
IFTTT 2.png (41.49 Kio) Vu 93 fois
Domoticz Interrupteur virtuel :
Interrupteur virtuel Tv.png
Interrupteur virtuel Tv.png (85.08 Kio) Vu 93 fois
Interrupteur virtuel Tv 2.png
Interrupteur virtuel Tv 2.png (125.03 Kio) Vu 93 fois
Bout de programme à rajouter

Code : Tout sélectionner

 elseif command == 'Tv' then										
            local text = get(deviceValue, 2):gsub("%W", ""):lower()
            local value = get(deviceValue, 3)
            for Tv,words in pairs(Tv) do
                for word in words:gmatch("%w+") do
                    if text == word then
                      local chaine = value
						if (tonumber(chaine) < 10) then
						local chaine = chaine *10
						commandArray[Tv] = 'Set Level: ' .. chaine
						
						elseif (tonumber(chaine) > 9) and (tonumber(chaine) ~= 10) and (tonumber(chaine) ~= 20) and (tonumber(chaine) ~= 30) and (tonumber(chaine) ~= 40) and (tonumber(chaine) ~= 50) then
						local chaine1 = (string.sub(chaine,1,1) *10)
						local chaine2 = (string.sub(chaine,2,2) *10)
						print (chaine1)
						print (chaine2)
						commandArray[1] = {[Tv] = 'Set Level: ' .. chaine1}
						commandArray[2] = {[Tv] = 'Set Level: ' .. chaine2 .. ' AFTER 1'}
						
						elseif (tonumber(chaine) == 10) or (tonumber(chaine) == 20) or (tonumber(chaine) == 30) or (tonumber(chaine) == 40) or (tonumber(chaine) == 50) then
						local chaine1 = (string.sub(chaine,1,1) *10)
						local chaine2 = (string.sub(chaine,2,2) +100)
						print (chaine1)
						print (chaine2)
						commandArray[1] = {[Tv] = 'Set Level: ' .. chaine1}
						commandArray[2] = {[Tv] = 'Set Level: ' .. chaine2 .. ' AFTER 1'}
						
                    end
                end
            end
        end
Et voilou....

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