Page 1 sur 1
Script dzvents allumage lumières par géolocalisation avec Pilot
Publié : 28 janv. 2020, 09:37
par ttoni0
Bonjour à toutes et tous.
J’ai l’application “Pilot” sur mon iPhone qui commande un interrupteur virtuel par la géolocalisation.
J’aimerais que mes lumières s’allument quand je rentre (seulement lorsque le soleil est couché évidemment…). J’ai fait une tentative en blockly mais je ne peux pas éteindre tant que le switch “iPhone” est sur “on”…
J’ai tenté un dzvents, mais cela ne fonctionne pas :
Code : Tout sélectionner
return {
on = {
timer = {
'after sunset and before sunrise'
} },
execute = function(domoticz)
if stateChange('iPhone') == 'On' then
domoticz.devices('Lampadaire').switchOn()
domoticz.devices('Yeelight Salon').switchOn()
end
end
}
Je veux que mes lumières s’allument seulement lors du changement d’état du switch, pour pouvoir éteindre quand je veux.
Je ne sais pas si c’est très clair, mais bon, je poste quand même…
Merci d’avance pour votre aide !
Re: Script dzvents allumage lumières par géolocalisation avec Pilot
Publié : 28 janv. 2020, 09:43
par Datawolf
Salut,
Tu écris "Je veux que mes lumières s’allument seulement lors du changement d’état du switch".
Il faut donc que tu changes le trigger (et il faut donc que ton script soit de type device et non timer).
Et c'est à l'intérieur du script que tu vérifieras que le soleil est couché.
@+
The Datawolf
Re: Script dzvents allumage lumières par géolocalisation avec Pilot
Publié : 28 janv. 2020, 09:51
par boum
Bonjour. Ton script est exécuté toutes les minutes pendant la nuit.
Je ne suis pas sûr du comportement voulu, mais il faudrait peut-être déclencher le script uniquement sur modification du dispositif ?
Comme ceci :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone' },
},
execute = function(domoticz, item)
if item.active and domoticz.time.isNightTime then
domoticz.devices('Lampadaire').switchOn().checkFirst()
domoticz.devices('Yeelight Salon').switchOn().checkFirst()
end
end
}
Re: Script dzvents allumage lumières par géolocalisation avec Pilot
Publié : 28 janv. 2020, 09:57
par ttoni0
Salut Datawolf
Datawolf a écrit : 28 janv. 2020, 09:43
Salut,
Tu écris "Je veux que mes lumières s’allument seulement lors du changement d’état du switch".
Il faut donc que tu changes le trigger (et il faut donc que ton script soit de type device et non timer).
Et c'est à l'intérieur du script que tu vérifieras que le soleil est couché.
@+
The Datawolf
J'ai mis le script en "device" mais ça ne fonctionne pas plus.
J'ai bien pris le soin de changer le timer pour : "at daytime" pour pouvoir tester...
Franchement je capte pas...
Re: Script dzvents allumage lumières par géolocalisation avec Pilot
Publié : 28 janv. 2020, 10:02
par ttoni0
boum a écrit : 28 janv. 2020, 09:51
Bonjour. Ton script est exécuté toutes les minutes pendant la nuit.
Je ne suis pas sûr du comportement voulu, mais il faudrait peut-être déclencher le script uniquement sur modification du dispositif ?
Comme ceci :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone' },
},
execute = function(domoticz, item)
if item.active and domoticz.time.isNightTime then
domoticz.devices('Lampadaire').switchOn().checkFirst()
domoticz.devices('Yeelight Salon').switchOn().checkFirst()
end
end
}
Mille mercis !!! Ça fonctionne au poil de cul !
Merci aussi pour votre réacivité...
Ciao !
Re: Script dzvents allumage lumières par géolocalisation avec Pilot
Publié : 28 janv. 2020, 10:21
par ttoni0
boum a écrit : 28 janv. 2020, 09:51
Bonjour. Ton script est exécuté toutes les minutes pendant la nuit.
Je ne suis pas sûr du comportement voulu, mais il faudrait peut-être déclencher le script uniquement sur modification du dispositif ?
Comme ceci :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone' },
},
execute = function(domoticz, item)
if item.active and domoticz.time.isNightTime then
domoticz.devices('Lampadaire').switchOn().checkFirst()
domoticz.devices('Yeelight Salon').switchOn().checkFirst()
end
end
}
Par contre, j'arrive pas à faire en sorte que mes lumières s'éteignent quand j'me barre(je suis très distrait...).Une idée ?
Merci
Re: Script dzvents allumage lumières par géolocalisation avec Pilot
Publié : 28 janv. 2020, 11:48
par boum
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone' },
},
execute = function(domoticz, item)
if item.active and domoticz.time.isNightTime then
domoticz.devices('Lampadaire').switchOn().checkFirst()
domoticz.devices('Yeelight Salon').switchOn().checkFirst()
elseif not item.active then
domoticz.devices('Lampadaire').switchOff().checkFirst()
domoticz.devices('Yeelight Salon').switchOff().checkFirst()
end
end
}
ou peut-être :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone' },
},
execute = function(domoticz, item)
if item.active then
if domoticz.time.isNightTime then
domoticz.devices('Lampadaire').switchOn().checkFirst()
domoticz.devices('Yeelight Salon').switchOn().checkFirst()
end
else
domoticz.devices('Lampadaire').switchOff().checkFirst()
domoticz.devices('Yeelight Salon').switchOff().checkFirst()
end
end
}
C'est selon les goûts (et suivant comment on veut faire évoluer le scripe)
Re: Script dzvents allumage lumières par géolocalisation avec Pilot
Publié : 28 janv. 2020, 13:15
par ttoni0
boum a écrit : 28 janv. 2020, 11:48
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone' },
},
execute = function(domoticz, item)
if item.active and domoticz.time.isNightTime then
domoticz.devices('Lampadaire').switchOn().checkFirst()
domoticz.devices('Yeelight Salon').switchOn().checkFirst()
elseif not item.active then
domoticz.devices('Lampadaire').switchOff().checkFirst()
domoticz.devices('Yeelight Salon').switchOff().checkFirst()
end
end
}
ou peut-être :
Code : Tout sélectionner
return {
on = {
devices = { 'iPhone' },
},
execute = function(domoticz, item)
if item.active then
if domoticz.time.isNightTime then
domoticz.devices('Lampadaire').switchOn().checkFirst()
domoticz.devices('Yeelight Salon').switchOn().checkFirst()
end
else
domoticz.devices('Lampadaire').switchOff().checkFirst()
domoticz.devices('Yeelight Salon').switchOff().checkFirst()
end
end
}
C'est selon les goûts (et suivant comment on veut faire évoluer le scripe)
Ça marche impec' mec !
Les 2 exemples testés. C'est exactement ce que je voulais faire...
T'es un bon, mon cher Boum ! Merci beaucoup !