Aller au contenu
sebcbien

Yaps - Présence Simulator, Un De Plus

Recommended Posts

Effectivement je n'ai pas prévu le cas ou il n'y en a pas...

En attendant une nouvelle version, tu peux juste commenter les lignes 145 et 179

 

Exemple:

SimulatorPresenceEngine:TurnOn(ID_devices_lights_always_on); 

devient:

--SimulatorPresenceEngine:TurnOn(ID_devices_lights_always_on); 

Pour la variable overideSimuSunset , tu peux la mettre dans l'entête, mais ce n'est pas nécessaire, sa valeur est testée dans la boucle d'attente.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien, merci pour le retour.

@jojo, Cela a l'air de marche en 4.x push compris

Partager ce message


Lien à poster
Partager sur d’autres sites

merci zaboul, comme ça je sais quoi si un jour je passe en v4.x

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Je voulais utiliser le script mais sans l'utilisation de la fonction "always on".

Qu faut il que je mette dans la variable pour que cela ne crashe pas.

 

sinon j'ai aussi une question lua.

J'ai bien compris que la variable globale "simu-presence" est declare au debut du script. Mais je ne comprends pas trop pourquoi la variable "overideSimuSunset" ne l'est pas.

 

Merci d'avance

Xavier

Voici la nouvelle version qui permet ne ne pas avoir de lampe "always on":

--[[ 
%% autostart
%% properties 
%% globals 
Simu_presence 
--]] 

---------------------------------
-- YAPS Presence Simulator
local version = "2.6.2"; 
-- SebcBien
-- Avril 2015
---------------------------------
--V2.6.2
-- Added the possibility to not have an always on lamp
--V2.6.1
-- Added naming of devices in the debug during simulation
--V2.6.0
-- Added the possibility to select always on light during simulation
--V2.5.0
-- fixed simulation starting if restarted between endtime & midnight
--v2.4.1
-- fixed big bug simulator restarting after end time
--V2.3.1
-- small notification and debug changes
--V2.3
-- Rewriting the engine
-- now relaunch automatically the next day, even if Simu_presence has not changed
--V2.2
-- Added Manual Stop variable
-- added list of mobiles

if (fibaro:countScenes() > 1) then 
	--fibaro:debug("More than one scene active, exiting!"); 
	fibaro:abort(); 
end 
--------------------- USER SETTINGS --------------------------------
local id = {
	LAMPE_SDB	= 16,
	LAMPE_CH_AMIS	= 24,
	LAMPE_SALON	= 45,
	LAMPE_BUREAU	= 49,
	LAMPE_HALL	= 52,
	LAMPE_CELLIER	= 56,
	LAMPE_CH_EMILIEN= 58,
	PHONE_SEB	= 1323,
    PHONE_GG		= 1327,
	}
  
local stop_hour = "01"; -- Hour when you want simulation to stop 
local stop_minute = "10"; -- Minute of the hour you want simulation to stop 
-- note 1: the script will not exit while waiting the random time of the last light turned on. So end time can be longer than specified end time
-- note 2: if the global variable changes during the same wait time as above, it will exit immediately (when back home while simulation runs)
local rndmaxtime = 20; -- random time of light change in minutes --> here each device is on maximum 30min 
local ID_devices_lights_always_on = {id["LAMPE_BUREAU"]} -- IDs of lights who will always stay on during simulation - leave empty array if none -> {}
local ID_devices_lights = {id["LAMPE_SDB"],id["LAMPE_HALL"],id["LAMPE_CELLIER"],id["LAMPE_CH_AMIS"]} -- IDs of lights to use in simulation 
--local ID_devices_lights = {id["LAMPE_BUREAU"],id["LAMPE_CELLIER"]} -- Reduced set for test purposes
local activatePush = true; -- activate push when simulation starts and stops 
--local ID_Smartphones = {id["PHONE_SEB"],id["PHONE_GG"]}; 
local ID_Smartphones = {id["PHONE_SEB"]}; -- list of device receiving Push
local ID_On_After_Simu = 0; -- If next line is commented, no light will turn on after simulation ends
local ID_On_After_Simu = id["LAMPE_HALL"]; -- Only One ID of a light to turn on after simulation ends. Comment this line to turn off this feature
--------------------- USER SETTINGS END ---------------------------- 
----------------------ADVANCED SETTINGS----------------------------- 
local showStandardDebugInfo = true; -- Debug shown in white 
local showExtraDebugInfo = false; -- Debug shown in orange 
local numbers_lights = #ID_devices_lights; -- numbers of light devices listed above 
local manualOveride = fibaro:getGlobal("overideSimuSunset"); -- if = 1 then the simulation is forced
-------------------------------------------------------------------- 
-------------------- DO NOT CHANGE CODE BELOW ---------------------- 
--------------------------------------------------------------------
local simu = fibaro:getGlobal("Simu_presence"); --value of the global value: simulation is on or off 
local start_simu = fibaro:getValue(1, "sunsetHour"); --Start simulation when sunset
local endtime;
local wait_for_tomorrow = 1;
local NotifLoop = 30;

SimulatorPresenceEngine = {}; 

-- FONCTIONS
Debug = function ( color, message ) 
		fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span")); 
	end 

ExtraDebug = function (debugMessage) 
	if ( showExtraDebugInfo ) then 
		Debug( "orange", debugMessage); 
	end 
	end 

StandardDebug = function (debugMessage) 
	if ( showStandardDebugInfo ) then 
		Debug( "white", debugMessage); 
	end 
	end 

round = function (num, idp)
  local mult = 10^(idp or 0)
  return math.floor(num * mult + 0.5) / mult
end
-- Push message to mobile 
pushMessage = function (sendPush) 
	if (activatePush) then 
    for i=1, #ID_Smartphones do 
      fibaro:call(tonumber(ID_Smartphones[i]), 'sendPush', sendPush); 
      ExtraDebug("Push message ("..sendPush..") sent to mobile: "..tonumber(ID_Smartphones[i])); 
    end 
	end 
	end
-- Calculate endtime 
function SimulatorPresenceEngine:EndTimeCalc() 
	local start = os.date("%H:%M") 
	local time = os.time() 
	local date = os.date("*t", time) 
	local year = date.year 
	local month = date.month 
	local day = date.day 
	endtime = os.time{year=year, month=month, day=day, hour=stop_hour, min=stop_minute, sec=sec}
	-- to calculate when it's daytime
	local currentHour = os.date("*t")
	local sunrise = tonumber(string.sub (fibaro:getValue(1,'sunriseHour'), 1 , 2) ) * 60 + tonumber(string.sub(fibaro:getValue(1,'sunriseHour'), 4) )
	local sunset = tonumber(string.sub (fibaro:getValue(1,'sunsetHour'), 1 , 2) ) * 60 + tonumber(string.sub(fibaro:getValue(1,'sunsetHour'), 4) )
	local now = currentHour.hour * 60 + currentHour.min;
	--ExtraDebug ("debug info: Sunrise : " .. sunrise .. " Sunset : "..sunset .. " Now : " ..now);
	--ExtraDebug ("debug info: Current OS Time" ..os.time()) 
	--ExtraDebug ("debug info: Original planed EndTime " ..endtime) 
	--ExtraDebug ("debug info: os.date: "..os.date("%H:%M").. " sunrisehour: "..fibaro:getValue(1, "sunriseHour"))
	if ((wait_for_tomorrow == 0) and (endtime < os.time())) then -- if endtime is gone and it's the first launch of simulator
		endtime = endtime + 24*60*60 -- add 24h at endtime after the night is gone
		start_simu = fibaro:getValue(1, "sunsetHour"); -- recalculate for next day
		ExtraDebug ("Added 24H to Endtime (first start ending after midnignt)");
		ExtraDebug ("Recalculated Simulation StartHour (Sunset): " .. start_simu); 		
		wait_for_tomorrow = 1	
	end 
	if (wait_for_tomorrow == 1 and (endtime < os.time()) and ((now >= sunrise) and (now <= sunset))) then -- if it looping days and endtime is gone and we are daytime
		endtime = endtime + 24*60*60 -- add 24h at endtime after the night is gone
		start_simu = fibaro:getValue(1, "sunsetHour"); -- recalculate for next day
		ExtraDebug ("Added One Day to Endtime: " .. endtime);
		ExtraDebug ("Recalculated Simulation StartHour (Sunset): " .. start_simu); 	
	end 
	--ExtraDebug ("debug info: Recalculated planed EndTime " ..endtime) 
	end 
-- Simulate Presence Main 
function SimulatorPresenceEngine:Launch() 
	pushMessage("Lights simulation started, will stop at: "..stop_hour..":"..stop_minute) 
	ExtraDebug("Lights simulation started, will stop at: "..stop_hour..":"..stop_minute ); 
	if ID_devices_lights_always_on[1] ~= nil then SimulatorPresenceEngine:TurnOn(ID_devices_lights_always_on); end
	while ((os.time() <= endtime) and (simu == "1")) or ((manualOveride == "1")) do 
		-- original code: while ((os.time() <= endtime) and (simu == "1")) or ((os.time() <= endtime) and (simu == "1") and (manualOveride == "1")) do 
		if time == endtime then StandardDebug("time and endtime same value -> end") end 
		local random_light = tonumber(ID_devices_lights[math.random(numbers_lights)]) --choose a random light in the list 
		local lightstatus = fibaro:getValue(random_light, 'value') --get the value of the random light in the list 
		-- turn on the light if off or turn off if on 
		if tonumber(lightstatus) == 0 then fibaro:call(random_light, 'turnOn') else fibaro:call(random_light, 'turnOff') end 
		fibaro:sleep(1000); --necessary to get back the new status, because HC2 is too fast :-) 
		lightstatus = fibaro:getValue(random_light, 'value') --get the value of the random light after his update 
		StandardDebug('light ID:'.. fibaro:getName(random_light) ..' status:'..lightstatus);
		local sleeptime = math.random(rndmaxtime*60000) --random sleep 
		StandardDebug("entering loop of " .. round(sleeptime/60000,2) .. " minutes");
		-- This modification allows to exit the scene if the Simu_presence global var changes to 0 during the random  sleep
			local counterexitsimu = 200
				while (counterexitsimu > 0) do
					counterexitsimu = counterexitsimu - 1;
					test_presence_state = fibaro:getGlobal("Simu_presence");
					simu = tonumber(test_presence_state); --verify the global value, if the virtual device is deactivated, the scene stops. 
					--fibaro:debug("simu var state : " .. simu);
					if simu == 0 then
						counterexitsimu = 0
					end
				fibaro:sleep(sleeptime/200);
				end
			StandardDebug("exiting loop of " .. round(sleeptime/60000,2) .. " minutes");
		local sleeptimemin = math.abs(sleeptime/60000) 
		--StandardDebug('sleeptime:'..sleeptimemin);
		simu = fibaro:getGlobal("Simu_presence"); --verify the global value, if the virtual device is deactivated, the scene stops. 
		manualOveride = fibaro:getGlobalValue("overideSimuSunset");
	end 
	end 
	
function SimulatorPresenceEngine:EndSimulation() 
	if ID_devices_lights_always_on[1] ~= nil then SimulatorPresenceEngine:TurnOff(ID_devices_lights,ID_devices_lights_always_on); end
	Debug("red","Simulation is deactivated");
	if (simu == "1") then
		Debug("grey", "Presence Simulator will Restart tomorrow around ".. fibaro:getValue(1, "sunsetHour"));
		pushMessage("Presence Simulator will Restart tomorrow around ".. fibaro:getValue(1, "sunsetHour"));
		wait_for_tomorrow = 1 -- will make EndTimeCalc add 24h to endtime during daytime
	end
end

function SimulatorPresenceEngine:ExitSimulation()
	Debug("red","Presence Simulator is Terminated");
	pushMessage("Presence Simulator is Terminated");
end
-- Switch off devices in the list 
function SimulatorPresenceEngine:TurnOff(group,group2) 
	Debug("red","TurnOff All lights!");
	local name, id2; 
	local ID_devices_group = group; 
	for i=1, #ID_devices_group do 
	id2 = tonumber(ID_devices_group[i]); 
	fibaro:call(id2, "turnOff"); 
	name = fibaro:getName(id2); 
	if (name == nil or name == string.char(0)) then 
		name = "Unknown" 	
	end 
	StandardDebug("Device: " .. name .. " Off "); 
	end 
	local ID_devices_group = group2; 
	for i=1, #ID_devices_group do 
	id2 = tonumber(ID_devices_group[i]); 
	fibaro:call(id2, "turnOff"); 
	name = fibaro:getName(id2); 
	if (name == nil or name == string.char(0)) then 
		name = "Unknown" 	
	end 
	StandardDebug("Device: " .. name .. " Off "); 
	end 
	  if ID_On_After_Simu ~= 0 then
	  fibaro:call(ID_On_After_Simu, "turnOn");
    	name = fibaro:getName(ID_On_After_Simu); 
			if (name == nil or name == string.char(0)) then 
				name = "Unknown" 	
			end 
      Debug("red","Manual Light Settings: Turned On light: " .. name);
	  end
	end 
-- Switch on devices in the list 
function SimulatorPresenceEngine:TurnOn(group) 
	Debug("red","Turning On always on lights:");
	local name, id2; 
	local ID_devices_group = group; 
	for i=1, #ID_devices_group do 
	id2 = tonumber(ID_devices_group[i]); 
	fibaro:call(id2, "turnOn"); 
	name = fibaro:getName(id2); 
	if (name == nil or name == string.char(0)) then 
		name = "Unknown" 	
	end 
	StandardDebug("Device: " .. name .. " On "); 
	end
	Debug("red","Now randomizing other lights...");
	end 
	
Debug("green", "Presence Simulator | v" .. version ); 
Debug( "green", "--------------------------------");
if tonumber(stop_hour) <= 12 then wait_for_tomorrow = 0 end -- if stop hour is between 00 and 12h then will consider that stop hour is before midnight

------------------------ Main Loop ----------------------------------
if (simu == "0") then 
	Debug("red","Not starting Simulation (Simu_presence = 0)");
	SimulatorPresenceEngine:ExitSimulation();
	fibaro:abort(); 
end

pushMessage("Scheduled Simulation starting time: " .. start_simu);
ExtraDebug("Today's sunset is at "..fibaro:getValue(1, "sunsetHour").." - End of Simulation at "..stop_hour..":"..stop_minute);

while (simu=="1" or simu=="0" ) do
	SimulatorPresenceEngine:EndTimeCalc(); 
	-- local start_simu = "00:01"  -- uncomment this line when testing to force a start hour (for the first loop)

	if (os.date("%H:%M") >= start_simu) then -- define if nighttime (sunset)
		sunset = 1 
	else 
		sunset = 0 
	end 
	
	if (simu == "1") then 
		if sunset == 1 and (os.time() <= endtime) then 
			Debug("grey", "It's sunset time -> Simulation ON");
			SimulatorPresenceEngine:Launch();
			SimulatorPresenceEngine:EndSimulation();
		end 
		if manualOveride == "1" then 
			Debug("grey", "Manual Override Activated -> Simulation ON");
			SimulatorPresenceEngine:Launch();
			SimulatorPresenceEngine:EndSimulation();
		end
			--fibaro:debug("sunset: "..sunset .. "endtime: " .. endtime .. "ostime: " .. os.time());
		if manualOveride == "0" and sunset == 0 and NotifLoop == 30 then 
			Debug("grey", "Waiting for next Sunset: " .. start_simu .. " -> Simulation OFF."); 
		end
	end 
	if sunset == 1 and (os.time() >= endtime) and (os.time() <= (endtime + 60)) then 
		Debug("grey","Simulation ended for this night.");
	end 

	if (simu == "0") then -- Condition to end simulation 
		SimulatorPresenceEngine:ExitSimulation();
		Debug("red","Simu = 0, Exit from scene");
		fibaro:abort(); 
	end
		if NotifLoop <= 30 then
    		if NotifLoop == 30 then NotifLoop = 0
			end
			if NotifLoop == 0 then ExtraDebug("Looping to check for changes every 2min")
			end
			NotifLoop = NotifLoop + 1
    	end
	fibaro:sleep(2*60*1000);
	simu = fibaro:getGlobal("Simu_presence"); 
	manualOveride = fibaro:getGlobal("overideSimuSunset"); 
end

Partager ce message


Lien à poster
Partager sur d’autres sites

merci @sebcbien ;-)

super code

 

tu peux mettre à  jour le 1er post quand j'y retournerai ;-) stp merciiii

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avais oublié de mettre àjour sur github :-)

Je préfère ne pas toucher aux versions précédentes.

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien,

ton yaps, est ce que j'appelle de la vrai domotique : tu l'implémentes, et puis tu oublies  :60:  (et ça marche  :74: )

 

J'ai cependant, un petit soucis, il me semble qu'il ne démarre plus (mais comme par définition, il est activé quand je suis absent), et ce depuis (peut-être) le changement d'heure ?

Voici ce que j'ai dans le debug de la scène

[DEBUG] 18:20:53: Presence Simulator | v2.6.1
[DEBUG] 18:20:53: --------------------------------
[DEBUG] 18:20:53: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 19:20:54: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 20:20:54: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 00:20:54: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 01:20:54: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 01:54:54: Presence Simulator is Terminated
[DEBUG] 01:54:54: Simu = 0, Exit from scene

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai un autre script de simu de présence et il ne s'est pas déclenché dernièrement. J'ai remarqué que ma variable sunset n'avait pas changé d'état non plus. Peut être depuis la dernière mise àjour de la hc2 ?

Je suis allé voir mes scènes qui changent cette variable et les cases qui interdisent la désactivation de la scène quand l'alarme est active étaient décochées. Peut être est ce qu'elles se sont décochées depuis la dernière mise àjour ?

Je n'ai pas eu le temps de plus creuser...

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi il ne se déclenche plus non plus, mais c'est normal...

Je rentre avant le coucher du soleil... Normal, c le printemps ;-)

En hiver il se déclenche vers 17h00, donc avant que je ne rentre.

Sent from my phone

Partager ce message


Lien à poster
Partager sur d’autres sites

merci, mais dans le debug que j'ai posté :

je pars à  18h20 (avant le couché du soleil)

et suis rentré à  1h54 (après le couché du soleil, je crois :) ). Le debug ne devrait-il pas m'indiquer quand il démarre (après le couché du soleil) ?

Comme j'ai demandé au simulateur d'arrêter à  0:10, que la maison soit dans le noir quand je suis rentré était normal.

Partager ce message


Lien à poster
Partager sur d’autres sites

en essayant de comprendre, le debug standard de Fibaro ne nous donne que l'heure de l'événement.

Pour une analyse plus aisée, ne prévoirais-tu pas (dans une prochaine version) d'inclure la date et l'heure dans le message debug (par exple au démarrage du simulateur, et àsa fin) ?

Juste une suggestion au passage ...

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon, j'ai testé (les enfants sont casés chez parrain marraine et on est sortis en boite :) ) et effectivement ça ne fonctionne plus :( pfff... C'est peut être la v3.6?

Sent from my phone

Partager ce message


Lien à poster
Partager sur d’autres sites

ce n'est pas la v3.6, cela marchait impec avant, de mon point de vue, c'était l'exemple à  utiliser pour montrer que la domotique avait une valeur ajoutée. :60:

J'ai vérifié que ma variable Day Part se mettait bien à  jour.

Ne serait-ce pas depuis le changement d'heure ? (une piste ?)

J'aurais du voir qqch dans le debug s'il démarrait ?

 

Ceci dit, c'est bien au moins la sortie en boite ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, on est sortis au carré, à  Wilebroek, top top :-)

 

Dès que je peux je regarde pour le changement d'heure, probable que ce soit ça effectivement...

 

Mais d'abord terminer 130m2 de klinkers :-/

Partager ce message


Lien à poster
Partager sur d’autres sites

ce soir on est re-sortis (avec les enfants mais pas au carré ;-) )

bah ça a marché sans problème ?!??

 

Il y en a d'autres chez qui ça marche encore/ca ne marche plus ?

[DEBUG] 15:51:57: Presence Simulator | v2.6.2
[DEBUG] 15:51:57: --------------------------------
[DEBUG] 15:51:57: Waiting for next Sunset: 21:15 -> Simulation OFF.
[DEBUG] 16:51:57: Waiting for next Sunset: 21:15 -> Simulation OFF.
[DEBUG] 17:51:57: Waiting for next Sunset: 21:15 -> Simulation OFF.
[DEBUG] 18:51:58: Waiting for next Sunset: 21:15 -> Simulation OFF.
[DEBUG] 19:51:58: Waiting for next Sunset: 21:15 -> Simulation OFF.
[DEBUG] 20:51:58: Waiting for next Sunset: 21:15 -> Simulation OFF.
[DEBUG] 21:15:58: It's sunset time -> Simulation ON
[DEBUG] 21:15:58: Turning On always on lights:
[DEBUG] 21:15:58: Device: Bureau On
[DEBUG] 21:15:58: Now randomizing other lights...
[DEBUG] 21:15:59: light ID:Chambre Amis status:99
[DEBUG] 21:15:59: entering loop of 7.89 minutes
[DEBUG] 21:23:52: exiting loop of 7.89 minutes
[DEBUG] 21:23:53: light ID:Chambre Amis status:0
[DEBUG] 21:23:53: entering loop of 15.97 minutes
[DEBUG] 21:39:51: exiting loop of 15.97 minutes
[DEBUG] 21:39:52: light ID:Chambre Amis status:99
[DEBUG] 21:39:52: entering loop of 3.95 minutes
[DEBUG] 21:43:49: exiting loop of 3.95 minutes
[DEBUG] 21:43:50: light ID:Hall status:99
[DEBUG] 21:43:50: entering loop of 15.36 minutes
[DEBUG] 21:59:12: exiting loop of 15.36 minutes
[DEBUG] 21:59:13: light ID:Hall status:99
[DEBUG] 21:59:13: entering loop of 11.08 minutes
[DEBUG] 22:10:17: exiting loop of 11.08 minutes
[DEBUG] 22:10:18: light ID:Hall status:99
[DEBUG] 22:10:18: entering loop of 12.58 minutes
[DEBUG] 22:22:53: exiting loop of 12.58 minutes
[DEBUG] 22:22:54: light ID:Hall status:99
[DEBUG] 22:22:54: entering loop of 10.27 minutes
[DEBUG] 22:33:10: exiting loop of 10.27 minutes
[DEBUG] 22:33:11: light ID:Chambre Amis status:0
[DEBUG] 22:33:11: entering loop of 18.32 minutes
[DEBUG] 22:51:30: exiting loop of 18.32 minutes
[DEBUG] 22:51:31: light ID:Cellier status:99
[DEBUG] 22:51:31: entering loop of 14.35 minutes
[DEBUG] 23:05:52: exiting loop of 14.35 minutes
[DEBUG] 23:05:53: light ID:Salle De Bain status:1
[DEBUG] 23:05:53: entering loop of 12.14 minutes
[DEBUG] 23:18:01: exiting loop of 12.14 minutes
[DEBUG] 23:18:02: light ID:Salle De Bain status:0
[DEBUG] 23:18:02: entering loop of 4.86 minutes
[DEBUG] 23:22:54: exiting loop of 4.86 minutes
[DEBUG] 23:22:55: light ID:Salle De Bain status:1
[DEBUG] 23:22:55: entering loop of 16.08 minutes
[DEBUG] 23:35:13: exiting loop of 16.08 minutes
[DEBUG] 23:35:13: TurnOff All lights!
[DEBUG] 23:35:13: Device: Salle De Bain Off
[DEBUG] 23:35:13: Device: Hall Off
[DEBUG] 23:35:13: Device: Cellier Off
[DEBUG] 23:35:13: Device: Chambre Amis Off
[DEBUG] 23:35:13: Device: Bureau Off
[DEBUG] 23:35:13: Manual Light Settings: Turned On light: Hall
[DEBUG] 23:35:13: Simulation is deactivated
[DEBUG] 23:35:13: Presence Simulator is Terminated
[DEBUG] 23:35:13: Simu = 0, Exit from scene

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai la version 2.6.1.

Le debug ne m'affiche pas l'heure du prochain sunset.

C'est parce qu'il ne l'a pas trouvé, ou est-ce une amélioration que tu as apportée àla 2.6.2 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

ça fait trois fois que je ne suis pas làle soir chez moi en une semaine ... et ça fonctionne... ?!? chez toi aussi ?

Partager ce message


Lien à poster
Partager sur d’autres sites

merci de t'inquiéter de mon cas.

Cela fait longtemps que je ne suis plus sorti le soir (après le coucher du soleil).

Je ne suis pas encore passé à  la 2.6.2 : je m'en occupe prochainement.

Mais tu confirmes qu'il y a un stà»ut (en belge on comprend l'expression ;)) dans le log de mon post "initial"

 

 

@sebcbien,

ton yaps, est ce que j'appelle de la vrai domotique : tu l'implémentes, et puis tu oublies  :60:  (et ça marche  :74: )

 

J'ai cependant, un petit soucis, il me semble qu'il ne démarre plus (mais comme par définition, il est activé quand je suis absent), et ce depuis (peut-être) le changement d'heure ?

Voici ce que j'ai dans le debug de la scène

[DEBUG] 18:20:53: Presence Simulator | v2.6.1
[DEBUG] 18:20:53: --------------------------------
[DEBUG] 18:20:53: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 19:20:54: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 20:20:54: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 00:20:54: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 01:20:54: Waiting for next Sunset -> Simulation OFF.
[DEBUG] 01:54:54: Presence Simulator is Terminated
[DEBUG] 01:54:54: Simu = 0, Exit from scene

Partager ce message


Lien à poster
Partager sur d’autres sites

oui il y a un stuut, mais c'est peut être du à  autre chose... ;-)

 

ça fonctionne, puis tout d'un coup ça ne foncionne plus, c bizarre ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai un truc bizarre chez moi : je vois dans le log de ton YAPS qu'il démarre, que la variable Simu_presence  (que j'ai définie en tant que predefined variable (ok ?)) change bien de valeur, mais ses changements ne sont pas reportés dans les changements de variables analysés par le module de Steven.

J'ai même supprimé la variable, puis l'ai recréée, mais toujours le même comportement ? Peut-être une piste ?

Je vais essayé en la créant comme une variable globale simple, et aussi en changeant son nom.

Partager ce message


Lien à poster
Partager sur d’autres sites

pour essayer de comprendre ce qui se passe, j'enregistrais (grâce à  IFTTT et Steven) toutes les modifications sur mes variable globales.

Ici celle qui nous préoccupe est Simu-presence.

On constate que, malgré que je vois le démarrage de ton script dans le log de la scène, et malgré que quand je vérifie manuellement dans le panneau des variables, son changement est reporté de manière alléatoire : tous les changements sont loin d'être repris (on devrait voir au min 0,1,0,1,0,1, ...) mais aussi tous les jours de la semaine, vu que l'on travaille tous les jours.

bête question : c'est bien une "predefined variable" Simu_presence qu'il faut créer (avec 2 valeurs possibles : 0 et 1), et pas une variable globale standard ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

oui simu presence est une variable prédéfinie.

 

Mais mon script ne la modifie pas, il s'occupe uniquement de la lire...

Le problème se situe peut être là ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Le problème se situe peut être là...

là:

  • au niveau du script de Steven qui fait un rapport sur les variables modifiées ? Il ne fait également que lire. Ne l'as-tu pas implémenté chez toi ?

N'as-tu pas également rapporté que parfois ça marchait chez toi et parfois pas ?

Partager ce message


Lien à poster
Partager sur d’autres sites

×