Aller au contenu

Messages recommandés

Posté(e)

coucou @Shad, me revoilà  :D

 

dis donc, les exemple ne fonctionnent pas, ils créent des erreurs. 

luaDaySchedule:add("15:30","21", true , "setSceneEnabled" {"Weekday"}  ,true) 

ça par exemple, ou 

luaDaySchedule:add("19:30","21", "" , "killScenes" {"Weekday"}  ,false) 

ça cela marche,

luaDaySchedule:add("00:28","52", "" , "killScenes" , {"All"}  ,false); 

je trouve pas pour activer la scène...mais ça vient

Posté(e)

il manque des virgules entre setSceneEnable/killScenes et weekday à  mon avis.

 

Un jolie copiez merdez ^^.

Posté(e)

Bon je viens d'installer le scheduler en lui même, il marche l'initialisation est ok. Pour le moment je n'ai aucune action de prévue via lui, cela va venir.

 

Petites observations:

- Créer d'abord les variables

- Importer les alarmes et bien penser à  éditer les noms des variables dans le code

- Importer le controler

- Créer les deux scènes en finissant par le scheduler comme cela vous avez tout les id pour modifier le code pour les ID, moi je l'ai fais avec l’éditeur LUA du Toolkit

 

Voila avec cet ordre c'est plus propre et on cherche pas pourquoi cela veut pas.

 

Maintenant deux trois questions:

- Il serait possible d'ajouter d'autres alarmes? Dans l'idée d'en avoir une par jour de la semaine :)

- La scène de redémarrage ne va pas tuer toutes les scènes qui tourne sur la HC2? Je pose cette question car j'ai des scènes qui détermine le jour/nuit, qui déclenche des actions si ma barrière IR détecte quelqu'un, comment faire si cela kill toutes les scènes?

Posté(e)

La scène redémarrage sert juste àredémarrer le scheduler quand tu clique dessus et les alarmes tu en met autant que tu veux, mais avec 4 plus les fonctions qu'il y tu en fais déjàps mal.

Posté(e)

l'ordre n'a pas vraiment à  y avoir puisque  les deux variables qui me manqué était pas mentionné dans le tuto et donc, dans n'importe quel ordre, je ne l'aurait pas vu  -_-

@lolomail - Importer les alarmes et bien penser à  éditer les noms des variables dans le code-

tu parle des ID des vd à  renseigner dans le code du Scheduler?

 

Le toolkit, ils sont nombreux à  ne pas savoir l'installer ou l'utiliser, en ouvrant la scène on voit l'ID et en passant le curseur de la souris sur la clé (outil) dans le coin, en haut à  droite des vd, on voit Egalement les ID.

 

ensuite, les lignes de code exemple on des erreur, j'ai passé du temps hier soir à  les essayer, ya des erreur et évidement, celle qui m’intéresse :angry:  

luaDaySchedule:add("15:30","21", true , "setSceneEnabled" , {"Weekday"}  ,true) 

et elle ne fonctionne pas!!!

Posté(e)

Fredic, perso j'aurais plutôt mis un kill scène a la fin de ta scène des volets.

Car une fois que tes volets sont fermé j'en vois plus l'intérêt.

Après pour cette ligne, j'espère que tu as changer l'heure au moins en plus maintenant qu'on est samedi, weekday ne fonctionnera plus :D

Posté(e) (modifié)

lol, oui, évidemment que j'ai rentré mes paramètre   ^_^ et j'ai mis un kil dans la scène, comme tu me l'as conseillé  ;)

Je fais le neuneu, mais faut ce fier au apparence  :P

luaDaySchedule:add("11:50","52", true , "setSceneEnabled" , {"All"}  ,true) 

et j'ai l'erreur

[DEBUG] 11:52:50: Scheduler is intitialising. Loading with profile group SummerHoliday.
[DEBUG] 11:53:50: Initialise Alarm alarmTime1 in room Scheduler.
[DEBUG] 11:53:50: Initialise Alarm alarmTime4 in room Scheduler.
[DEBUG] 11:53:50: Initialise Alarm alarmTime2 in room Scheduler.
[DEBUG] 11:53:50: Initialise Alarm alarmTime3 in room Scheduler.
[DEBUG] 11:53:50: Catching up actions.
[DEBUG] 11:53:50: Pause for ZWave to initialise.
[DEBUG] 11:54:50: Event scheduled for 04/26/14 at 11:50
[ERROR] 11:54:50: line 463: attempt to concatenate global 'action' (a nil value)
Modifié par Fredric
Posté(e)

@lolomail - Importer les alarmes et bien penser àéditer les noms des variables dans le code-

tu parle des ID des vd àrenseigner dans le code du Scheduler?

Non je parle des nom des variables dans chaque virtual device d'alarme.

En effet, tu importes 4 VD alarmes, mais chacun àla base contienne une référence à"alarmDay1" et à"alarmTime1", donc si tu ne fais pas la modif du code de chaque VD alarme, tu vas te retrouver avec 4 VD qui changeront les deux même variables...

Posté(e)

J'ai commencé à  boser un script pour l'ouverture des volets qui serait déclenché par le scheduler.

Les contraintes sont:

- Ouverture à  heure fixe quand le levé du soleil est trop matinal

- Ouverture suivant le levé du soleil surtout en hiver

- Ouverture à  heure fixe pendant les vacances histoire de dormir

- Gestion en semaine différente du week-end et aussi utilisation du mode summer/winterholiday du scheduler

 

Voici script pour le moment sans les actions sur les volets

--[[
%% properties
%% globals
--]]

-- Gestion ouverture des volets [04-2014]
-- Copyright © 2014 lolomail

-- Définition heures actions
local heure_leve_semaine = "07:20"
local heure_leve_weekend = "08:30"
local heure_leve_vacances = "09:00"

-- Paramètres horaires pour le script
local currentDate = os.date("*t");
local sunset = fibaro:getValue(1, "sunsetHour")
fibaro:debug("Levé de soleil " ..sunset)

if (( fibaro:getGlobalValue("scheduleGroup") == "SummerNormal" ) or ( fibaro:getGlobalValue("scheduleGroup") == "WinterNormal" ))
then
local periode = normal
end
if (( fibaro:getGlobalValue("scheduleGroup") == "SummerHoliday" ) or ( fibaro:getGlobalValue("scheduleGroup") == "WinterHoliday" ))
then
local periode = vacances
end

-- Ouverture volet suivant levée du soleil
-- Si absence neutralisée, en semaine et hors vacances
if (( tonumber(fibaro:getGlobalValue("Absence")) == tonumber("0") ) and (currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) and periode == normal )
then
		-- Si le levé du soleil est après heure levé semaine, hors vacances, au levé du soleil executer
		if ((sunrise >= heure_leve_semaine) and (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == sunrise))
  		then
				fibaro:debug("Heure du levé du soleil supérieur à  " ..heure_leve_semaine " et nous sommes en semaine hors vacances")

		-- Si le levé du soleil est avant heure levé semaine, hors vacances, à  l'heure levé semaine executer
		elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == heure_leve_semaine)
  		then
				fibaro:debug("Heure du levé du soleil inférieure à  " ..heure_leve_semaine " et nous sommes en semaine hors vacances")
		end

-- Si absence neutralisée, en week-end et hors vacances
elseif (( tonumber(fibaro:getGlobalValue("Absence")) == tonumber("0") ) and (currentDate.wday == 1 or currentDate.wday == 7) and periode == normal )
then
		-- Si le levé du soleil est après heure levé week-end, hors vacances, au levé du soleil executer
		if ((sunrise >= heure_leve_weekend) and (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == sunrise))
  		then
				fibaro:debug("Heure du levé du soleil supérieur à  " ..heure_leve_weekend " et nous sommes en week-end hors vacances")

		-- Si le levé du soleil est avant heure levé week-end, hors vacances, à  l'heure levé week-end executer
		elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == heure_leve_weekend)
  		then
				fibaro:debug("Heure du levé du soleil inférieure à  " ..heure_leve_weekend " et nous sommes en week-end hors vacances")
		end

-- Si absence neutralisée et en vacances
elseif (( tonumber(fibaro:getGlobalValue("Absence")) == tonumber("0") ) and periode == vacances )
then
		-- Si le levé du soleil est après heure levé vacances, en vacances, au levé du soleil executer
		if ((sunrise >= heure_leve_vacances) and (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == sunrise))
  		then
				fibaro:debug("Heure du levé du soleil supérieur à  " ..heure_leve_vacances " et nous sommes en vacances")

		-- Si le levé du soleil est avant heure levé vacances, en vacances, à  l'heure levé vacances executer
		elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == heure_leve_vacances)
  		then
				fibaro:debug("Heure du levé du soleil inférieure à  " ..heure_leve_vacances " et nous sommes en vacances")
		end		
end

L'idée et de mettre dans le scheduler trois ligne pour lancer le script, une à  l'heure du levée du soleil, une à  l'heure fixe puis une pour la partie holiday à  l'heure prévue dans le script.

 

Votre avis? :P

Posté(e)

Que tu te prend la tête :D.

 

Dans le scheduler il prend en compte 4 différent paramètre comme je l'ai dis plus.

 

Normal/vacance et hiver/été, il faut juste mettre les lignes ou il faut ;)

 

Sinon bonne idée.

Posté(e)

Je sais j'ai passé pas mal de temps juste pour cela.

Mais le scheduler peut-il faire la fonction de déclencher àune heure précise si le levé du soleil est trop tôt? J'ai pas envie de voir les volets de la chambre s'ouvrir à6h du mat :15:

Posté(e)

Non, mais tu peux rajouter ton code dedans si besoin.

Je te disais juste que l'heure hiver été et les vacances il pouvait le gérer.

Après rien ne t'empêche de mettre un if/else

Posté(e)

@Frédéric, c'est quoi ta scène 52

@amonthet, c'est la scène de fermeture des volet àla tombé du la nuit, je sais que le résultat va intéresser

Posté(e)

Shad, c'est vrai pour les vacances je dois pouvoir faire plus simple :)

Je vais continuer a developper mon script pour la semaine et le week-end car je fais ouvrir les volets en décalés et pas tous ensemble.

Bon faut aussi que je regarde pour gérer la fermeture partielle suivant le temps et la température interne pour réguler les apports thermique pour cet été et làle scheduler va servir car je pourrais lancer cette scène de régulation àune heure précise puis la faire arrêter àune autre :)

Posté(e) (modifié)

J'ai modifié mon post semi-tuto page 3 de ce post pour la modif des variables dans les vd  ;)

 

donc, la version 131 du scheduler a un bug qui à  très vite était rectifier par @robmac sur le site officiel Fibaro.

donc pour ceux qui utilise la version 131, il faut changer la ligne 463 de la scène de Scheduler:

if reportRun then  fibaro:debug( "fibaro:setSceneEnabled(" .. scene .. ",\"" .. enabled .. "\")" ) end

par :

 if reportRun then  fibaro:debug( "fibaro:setSceneEnabled(" .. scene .. ",\"" .. tostring(enabled) .. "\")" ) end

pour pouvoir utiliser le paramètre :  "setSceneEnabled"

 

 

pour "activer" une scène, la ligne de commande dans le Scheduler est:

luaDaySchedule:add("Sunset","52", true , "setSceneEnabled" , {"All"}  ,true, -10)  

avec vos paramètre évidemment.

Modifié par Fredric
Posté(e)

@Shad, s'il te plait,

turnOn  device  id 101 every day at 22:53 with catchup

je comprends le code sauf "catchup" , traduction " rattrapage", ça veut dire quoi? que si l'heure est passé, il le lance quand même?

Et je suppose que le false ou le true de fin de ligne correspond au paramètre de cette commande?

Posté(e)

En effet, ça me semble être exactement ça :

 

 

CATCH UP RECENT ACTIONS:

<catchup> true or false

When restarting HC2 or editing the scene, the current state of all scheduled items is parsed so that the system plays the last action that should have executed prior to the current time. This will set all variables and devices to the state scheduled with no user interaction.

By default the code parses 24hrs of events to work out current state. Mark as true or false on action add to set to catchup or not.

The catch up works for devices, scenes and variables that are always controlled by the timer. The function works out what state the device, scene and variables should be set to at the time the HC2 is restarted or scene is saved and sets it to that level/value.

If the device is regularly switched manually you need to decide if you want to use the function as you may be better to leave the device in the last state or off controlled by the parameters on the device.

It works well for variables like isNight or timeOfDay. Good for heating and hot water as it makes sure the heating is on or off after the HC2 is restarted.

Posté(e)

Bon et bien voilà, en espérant que sa en encourage plus d'un àutiliser le scheduler pour simplifier leur scène ;)

×
×
  • Créer...