Automatisation Hue + Fibaro eye motion

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Automatisation Hue + Fibaro eye motion

Message par vil1driver »

Dans mon script
'mv salon' est le détecteur de mouvement
'lumino salon' est un switch qui passe à On lorsqu'il fait noir
'la porte' est le capteur de porte
'absence' indique à quand remonte la dernière détection de mouvement
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
plouf34
Messages : 111
Inscription : 04 déc. 2016, 18:33

Re: Automatisation Hue + Fibaro eye motion

Message par plouf34 »

Du coup comment j'adapte ton script avec plusieurs détecteurs de mouvement et d'ouverture de porte? Je sèche.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Automatisation Hue + Fibaro eye motion

Message par vil1driver »

essai ceci

Code : Tout sélectionner

-- script_device_porte.lua

function lastSeen(device)
	t1 = os.time()
	s = otherdevices_lastupdate[device]
	year = string.sub(s, 1, 4)
	month = string.sub(s, 6, 7)
	day = string.sub(s, 9, 10)
	hour = string.sub(s, 12, 13)
	minutes = string.sub(s, 15, 16)
	seconds = string.sub(s, 18, 19)
	t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
	return (os.difftime (t1, t2))
end

commandArray = {}


local porteOuverte = devicechanged['Porte Entrée Salon'] == 'Open' or devicechanged['Porte Entrée Terrasse'] == 'Open' or devicechanged['Porte Veranda'] == 'Open'
local pieceVide = lastSeen('Œil de chat SAM') > 1200 and lastSeen('Œil de chat Entrée') > 1200 and lastSeen('Œil de chat Salon') > 1200
local pieceNoire = otherdevices['Lux Sensor Entrée'] < '50'  and otherdevices['Lux Sensor SAM'] <  '50'  and otherdevices['Lux Porte Salon'] <  '50'  and otherdevices['Lux Sensor Salon'] <  '50' 


if (porteOuverte and pieceVide and pieceNoire) then

	commandArray['Lumiere lampe SAM'] =' On'
	commandArray['Lumiere lampe salon'] = 'On'
   
end

return commandArray
Dernière modification par vil1driver le 14 févr. 2017, 03:52, modifié 1 fois.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
plouf34
Messages : 111
Inscription : 04 déc. 2016, 18:33

Automatisation Hue + Fibaro eye motion

Message par plouf34 »

Merci. T'es un chef. J'essaye cela demain et te dis ce qu'il en est.
plouf34
Messages : 111
Inscription : 04 déc. 2016, 18:33

Re: Automatisation Hue + Fibaro eye motion

Message par plouf34 »

J'ai copié cela dans la partie événement de Domoticz, et enregistré en tant que script LUA:

Code : Tout sélectionner

function lastSeen(device)
  t1 = os.time()
  s = otherdevices_lastupdate[device]
  year = string.sub(s, 1, 4)
  month = string.sub(s, 6, 7)
  day = string.sub(s, 9, 10)
  hour = string.sub(s, 12, 13)
  minutes = string.sub(s, 15, 16)
  seconds = string.sub(s, 18, 19)
  t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
  return = (os.difftime (t1, t2))

end

commandArray = {}


local porteOuverte = devicechanged['Porte Entrée Salon'] == 'Open' or devicechanged['Porte Entrée Terrasse'] == 'Open' or devicechanged['Porte Veranda'] == 'Open'
local pieceVide = lastSeen('Œil de chat SAM') > 1200 and lastSeen('Œil de chat Entrée') > 1200 and lastSeen('Œil de chat Salon') > 1200
local pieceNoire = otherdevices['Lux Sensor Entrée'] < 51 and otherdevices['Lux Sensor SAM'] < 51 and otherdevices['Lux Sensor Salon'] < 51


if (porteOuverte and pieceVide and pieceNoire) then

  CommandArray['Lumiere lampe SAM'] = 'On'
  CommandArray['Lumiere lampe salon'] = 'On'

end
J'ai malheureusement une erreur dans les logs toutes les secs:
Error: EventSystem: in script_device_porte: [string "function lastSeen(device) ..."]:11: unexpected symbol near '='
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Automatisation Hue + Fibaro eye motion

Message par vil1driver »

Ah oui désolé, supprimes le = après return
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
plouf34
Messages : 111
Inscription : 04 déc. 2016, 18:33

Re: Automatisation Hue + Fibaro eye motion

Message par plouf34 »

Nouvelle erreur:

Code : Tout sélectionner

2017-02-12 16:42:46.058 Error: EventSystem: in Lumiere_Nuit_Porte: [string "function lastSeen(device) ..."]:20: attempt to compare string with number
Rappel du code; la ligne 20 est pour local PieceNoire

Code : Tout sélectionner

function lastSeen(device)
  t1 = os.time()
  s = otherdevices_lastupdate[device]
  year = string.sub(s, 1, 4)
  month = string.sub(s, 6, 7)
  day = string.sub(s, 9, 10)
  hour = string.sub(s, 12, 13)
  minutes = string.sub(s, 15, 16)
  seconds = string.sub(s, 18, 19)
  t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
  return (os.difftime (t1, t2))

end

commandArray = {}


local porteOuverte = devicechanged['Porte Entrée Salon'] == 'Open' or devicechanged['Porte Entrée Terrasse'] == 'Open' or devicechanged['Porte Veranda'] == 'Open'
local pieceVide = lastSeen('Œil de chat SAM') > 1200 and lastSeen('Œil de chat Entrée') > 1200 and lastSeen('Œil de chat Salon') > 1200
local pieceNoire = otherdevices['Lux Sensor Entrée'] < 51 and otherdevices['Lux Sensor SAM'] < 51 and otherdevices['Lux Sensor Salon'] < 51


if (porteOuverte and pieceVide and pieceNoire) then

  CommandArray['Lumiere lampe SAM'] = 'On'
  CommandArray['Lumiere lampe salon'] = 'On'

end
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Automatisation Hue + Fibaro eye motion

Message par vil1driver »

Ah et bien transforme 51 en string comme ceci '51' ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
plouf34
Messages : 111
Inscription : 04 déc. 2016, 18:33

Re: Automatisation Hue + Fibaro eye motion

Message par plouf34 »

vil1driver a écrit :Ah et bien transforme 51 en string comme ceci '51' ;)
J'ai maintenant cette erreur toutes les 1 minutes. Y'a du mieux, avant c'était une erreur toutes les secondes ;)

Code : Tout sélectionner

2017-02-12 18:11:00.411 Error: EventSystem: in Lumiere_Nuit_Porte: [string "function lastSeen(device) ..."]:18: attempt to index global 'devicechanged' (a nil value)
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Automatisation Hue + Fibaro eye motion

Message par vil1driver »

le script doit être de type device !!!

un peu de lecture pour toi aussi alors ;)
https://easydomoticz.com/point-scripts-lua/
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre