-
Notifications
You must be signed in to change notification settings - Fork 0
/
scene.lua
94 lines (69 loc) · 1.88 KB
/
scene.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
--[[
%% properties
3 Temperature
27 value
28 value
29 value
30 value
49 value
68 value
%% globals
--]]
local debug = 0;
local trigger = fibaro:getSourceTrigger();
if (trigger['type'] == 'property') then
local deviceId = tonumber(trigger['deviceID']);
if (debug == 1) then
fibaro:debug("Changing temp id=" .. deviceId);
end
local globalId = fibaro:getGlobalValue("currTempID");
local isError = "";
local count = 0;
if (debug == 1) then
fibaro:debug(deviceId .. " pre first while : "..globalId);
end
while ((globalId ~= "-1") and (isError == "")) do
if (count > 5) then
isError = "Error";
else
fibaro:sleep(1000);
globalId = fibaro:getGlobalValue("currTempID");
count = count + 1;
end
end
if (debug == 1) then
fibaro:debug(deviceId .. " post first while");
end
if ((isError == "") and (globalId == "-1")) then
fibaro:setGlobal("currTempID", deviceId);
globalId = deviceId;
if (debug == 1) then
fibaro:debug(deviceId .. " pre second while : " .. globalId);
end
if (debug == 1) then
fibaro:debug(deviceId .. " Press start : "..globalId);
end
-- on appui sur le boutton
fibaro:call(59, "pressButton", 1);
fibaro:sleep(10*1000);
if (debug == 1) then
fibaro:debug(deviceId .. " End Press start : "..globalId);
end
globalId = fibaro:getGlobalValue("currTempID");
if (globalId ~= "-1") then
fibaro:setGlobal("currTempID", "-1");
local message = "Error : " .. globalId .. " cannot be handled !";
fibaro:debug(message);
end
fibaro:sleep(1000);
else
if (debug == 1) then
fibaro:debug(deviceId .. " Aie err: "..isError.." globalId: " .. globalId);
end
end
if (debug == 1) then
fibaro:debug(deviceId .. " End");
end
else
fibaro:debug("Manual start");
end