EventRunner 4 - QuickApp HC3

Systemfel
Medlem
Posts: 338
Joined: 14 Jan 2015, 01:02
6

RH_Dreambox wrote: ↑11 Mar 2021, 15:32
Systemfel, fick du någon ordning på Earth Hour?
Om jag minns rätt så körde jag exakt den koden i min gamla HC2, men nu i HC3 funkar det inte.
Jag får samma resultat som dig, den släcker, och sedan förblir det släckt :-( Kan det vara en liten bugg i ER4?


Prövade att ändra datum och köra det som det vore idag. och inget tändes igen ,tyvärr. vi får helt enkelt vänta och se när Jang Har tid att titta på scriptet :)
kör Hc3 och det fungerar bättre och bätttre sakta men säkert :D
Systemfel
Medlem
Posts: 338
Joined: 14 Jan 2015, 01:02
6

Tjenare alla hoppas allt är väl med er.
Jag har en undran e det någon som vet hur man får med värdet från en temp sensor i ett push meddelande i Event Runner 4. Så hur hämtar jag ut värdet från Tilluften och får med det värdet i push meddelandet ?

Mobiler = 21
rule("Tilluften:value < 11 => wait(00:00:10); Mobiler:msg=log('Test av vent ')")
kör Hc3 och det fungerar bättre och bätttre sakta men säkert :D
Systemfel
Medlem
Posts: 338
Joined: 14 Jan 2015, 01:02
6

Systemfel wrote: 16 Mar 2021, 22:46 Tjenare alla hoppas allt är väl med er.
Jag har en undran e det någon som vet hur man får med värdet från en temp sensor i ett push meddelande i Event Runner 4. Så hur hämtar jag ut värdet från Tilluften och får med det värdet i push meddelandet ?

Mobiler = 21
rule("Tilluften:value < 11 => wait(00:00:10); Mobiler:msg=log('Test av vent ')")
Löste det efter lite funderande
rule("Tilluften:value < 11 => wait(00:00:10); Mobiler:msg=log('Tilluften är nu %s och fläkten startar. ',Tilluften:value)")
kör Hc3 och det fungerar bättre och bätttre sakta men säkert :D
Borgstrand
Medlem
Posts: 45
Joined: 08 Nov 2015, 11:23
6

jang wrote: 08 Oct 2020, 12:49
Ok, slut på del 2. Del 3 blir en genomgång av de kommandon som kan användas i regler.
Kom det någonsin en del 3 i detta? En genomgång i av alla kommandon som kan användas i regler skulle vara mycket bra…

Likväl nyfiken på möjlighet att köra flera EV4 QA’s, är det t.ex. möjligt att ha en för all belysnings automatik, en för larm hantering och en tredje för annan automation? Fungerar det felfritt direkt eller får man problem om man utan modifieringar kör igång multipla EV4 QA’s?
Systemfel
Medlem
Posts: 338
Joined: 14 Jan 2015, 01:02
6

Hej Jang jag tror det har blivit något fel Med eventrunner 4 om det är någon uppdatering som gått fel
har inte gjort något på flera veckor med scriptet. tydligen i dag så fungerar inte vissa delar av eventrunner 4
får detta felet ..

Code: Select all

[2021-05-05] [07:10:08] [ERROR] [QUICKAPP61]: Error in '{Badsensor,Duschsensor}:breached =>
             || Badlux:value < 39 & 06:00..10:00 >> log('Badrums lampan tänd %80 ');Badrumslampa:value=80; -- lampan 80%
             || Badlux:value < 20 & 10:00..16:00 >> log('Badrums lampan tänd %50 ');Badrumslampa:value=50  -- lampan 50%
             || Badlux:value < 36 & 16:00..21:00 >> log('Badrums lampan tänd %60 ');Badrumslampa:value=80  -- lampan 60%
             || Badlux:value < 35 & 21:00..23:00 >> log('Badrums lampan tänd %80 ');Badrumslampa:value=80  -- lampan 80%
             || Badlux:value < 10 & 23:00..06:00 >> log('Badrums lampan tänd %30 ');Badrumslampa:value=30  -- lampan 30%
             || 81:breached >> log("Badrums Sensor Main är aktiverad!")
             || 86:breached >> log("Badrums Sensor Dusch aktiverad")
             ': ./include/EventRunner.lua:1277: Parser error char 143 (';') in expression '{Badsensor,Duschsensor}:breached =>
             || Badlux:value < 39 & 06:00..10:00 >> log('Badrums lampan tänd %80 ');Badrumslampa:value=80; -- lampan 80%
             || Badlux:value < 20 & 10:00..16:00 >> log('Badrums lampan tänd %50 ');Badrumslampa:value=50  -- lampan 50%
             || Badlux:value < 36 & 16:00..21:00 >> log('Badrums lampan tänd %60 ');Badrumslampa:value=80  -- lampan 60%
             || Badlux:value < 35 & 21:00..23:00 >> log('Badrums lampan tänd %80 ');Badrumslampa:value=80  -- lampan 80%
             || Badlux:value < 10 & 23:00..06:00 >> log('Badrums lampan tänd %30 ');Badrumslampa:value=30  -- lampan 30%
             || 81:breached >> log("Badrums Sensor Main är aktiverad!")
             || 86:breached >> log("Badrums Sensor Dusch aktiverad")
             ' (./include/EventRunner.lua:1071: Bad expression)[2021-05-05] [07:10:08] [ERROR] [QUICKAPP61]: main() error:./include/EventRunner.lua:2250: Main() ERROR:./include/EventRunner.lua:2094: ./include/EventRunner.lua:1277: Parser error char 143 (';') in expression '{Badsensor,Duschsensor}:breached => || Badlux:value < 39 & 06:00..10:00 >> log('Badrums lampan tänd %80 ');Badrumslampa:value=80; -- lampan 80% || Badlux:value < 20 & 10:00..16:00 >> log('Badrums lampan tänd %50 ');Badrumslampa:value=50 -- lampan 50% || Badlux:value < 36 & 16:00..21:00 >> log('Badrums lampan tänd %60 ');Badrumslampa:value=80 -- lampan 60% || Badlux:value < 35 & 21:00..23:00 >> log('Badrums lampan tänd %80 ');Badrumslampa:value=80 -- lampan 80% || Badlux:value < 10 & 23:00..06:00 >> log('Badrums lampan tänd %30 ');Badrumslampa:value=30 -- lampan 30% || 81:breached >> log("Badrums Sensor Main är aktiverad!") || 86:breached >> log("Badrums Sensor Dusch aktiverad") ' (./include/EventRunner.lua:1071: Bad expression) 
Så här ser koden ut

-------------- Badrums styrningen -----------------------
Badrumslampa = 78 Badsensor = 81 Duschsensor = 86 Badlux = 83
--Tänder belysningen i badrummet
rule([[{Badsensor,Duschsensor}:breached =>
|| Badlux:value < 39 & 06:00..10:00 >> log('Badrums lampan tänd %80 ');Badrumslampa:value=80; -- lampan 80%
|| Badlux:value < 20 & 10:00..16:00 >> log('Badrums lampan tänd %50 ');Badrumslampa:value=50 -- lampan 50%
|| Badlux:value < 36 & 16:00..21:00 >> log('Badrums lampan tänd %60 ');Badrumslampa:value=80 -- lampan 60%
|| Badlux:value < 35 & 21:00..23:00 >> log('Badrums lampan tänd %80 ');Badrumslampa:value=80 -- lampan 80%
|| Badlux:value < 10 & 23:00..06:00 >> log('Badrums lampan tänd %30 ');Badrumslampa:value=30 -- lampan 30%
|| 81:breached >> log("Badrums Sensor Main är aktiverad!")
|| 86:breached >> log("Badrums Sensor Dusch aktiverad")
]])
--Släcker belysningen badrummet
rule("trueFor(00:02,{Badsensor,Duschsensor}:safe) => log('Belysningen är nu släckt i badrummet.');Badrumslampa:off") -- Släcker lampan
------------------------------Badrums scen slut -----------------------------------------
kör Hc3 och det fungerar bättre och bätttre sakta men säkert :D
User avatar
Texan
Medlem
Posts: 162
Joined: 25 Dec 2015, 15:07
5

Hej,

Skulle vilja få hjälp med att få min ER3 funktioner till ER4.

Tack på förhand


Code: Select all

--[[
%% properties
527 value
507 value
563 value
465 value
471 value
51 value
211 value
456 value
426 value
%% events
5 CentralSceneEvent
22 GeofenceEvent
%% globals 
TimeOfDay
Test
%% autostart 
--]] 

if dofile and not _EMULATED then _EMULATED={name="EventRunner",id=99,maxtime=24} dofile("HC2.lua") end -- For HC2 emulator

local _version,_fix = "3.0","B90"  -- Oct 3, 2020  

local _sceneName   = "Texan smart hem"                                 -- Set to scene/script name
--local _homeTable   = "devicemap"                            -- Name of your HomeTable variable (fibaro global)
local _HueUserName = "iOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"                           -- Hue API key
local _HueIP       = "192.168.0.XX"                         -- Hue bridge IP
--local _NodeRed     = "http://192.168.1.YY:8080/EventRunner" -- Nodered URL
--local _TelegBOT    = "t34yt98iughvnw9458gy5of45pg:chr9hcj"  -- Telegram BOT key
--local _TelegCID    = 6876768686                             -- Telegram chat ID

if loadfile then local cr = loadfile("credentials.lua"); if cr then cr() end end
-- To not accidently commit credentials to Github, or post at forum :-)
-- E.g. Hue user names, icloud passwords etc. HC2 credentials is set from HC2.lua, but can use same file.

-- debug flags for various subsystems (global)
_debugFlags = { 
  post=true,invoke=false,triggers=true,dailys=false,rule=false,ruleTrue=false,
  fcall=true, fglobal=false, fget=false, fother=false, hue=false, telegram=false, nodered=false,
}
-- options for various subsystems (global)
_options=_options or {}

-- Hue setup before main() starts. You can add more Hue.connect() inside this if you have more Hue bridges.
function HueSetup() if _HueUserName and _HueIP then Hue.connect(_HueUserName,_HueIP) end end

---------- Main ------------ Here goes your rules ----------------
function main()
  local rule,define = Rule.eval, Util.defvar

  if _EMULATED then
    --_System.speed(true)               -- run emulator faster than real-time
    --_System.setRemote("devices",{5})  -- make device 5 remote (call HC2 with api)
    --_System.installProxy()            -- Install HC2 proxy sending sourcetriggers back to emulator
  end

  local HT =  -- Example of in-line "home table"
  {
    dev = 
    { livingroom = {lampaOrange = 87, lampaWindow = 449, lampaGold = 254, lampaMedia = 503},
      kitchen = {lampaWind  = 33, lampaSink = 68, lampaTable = 103, machineCoffee = 150},
      balcony = {lampaWall  = 138, lampaHead = 78},
      bathroom = {lampaBad = 329, lampaMirr = 335},
      bedroom = {lampaWindo = 30},
      closet = {lampaCloset = 152},
      computerroom = {lampaComp = 28, lampaRed = 432, lampaDim = 308, lampaNy = 577},
      hallway = {lampaHall = 40, lampaLamp = 159},
    },
    other = "other"
  }

 --or read in "HomeTable" from a fibaro global variable (or scene)
--local HT = type(_homeTable)=='number' and api.get("/scenes/".._homeTable).lua or fibaro:getGlobalValue(_homeTable) 
--HT = type(HT) == 'string' and json.decode(HT) or HT
  Util.defvars(HT.dev)            -- Make HomeTable variables available in EventScript
  Util.reverseMapDef(HT.dev)      -- Make HomeTable variable names available for logger
--
  --Hue.dump() -- Kör en gång för att få Hue namn. Kommentera sedan bort den
  Hue.define ("LampaBed1",12001)   ---- Hue lampor enligt hue namn
  Hue.define ("LampaBed2",12002) 
  Hue.define ("Hue outdoor pedestal 1",12003)
  --
  --
 -- Dina regler
 --rule("@now+00:00:02 => livingroom. lampaBed:on") -- Test light, turn on 2 seconds after ER started/saved
 --rule("@sunset-00:10 & wnum % 2 == 1 => kitchen.lampaTak:value=30") -- Sätt till 30%, udda veckor, solnedgång-10min
 --
  -- Tänd och släck jämna veckor ( Jämn vecka = 0, Udda = 1)
  --
   --rule("@04:28 & wday('mon') & wnum%2 == 0 => kitchen.lampaSink:value=10") -- Sätt till 20%, jämna veckor, soluppgång-10min
   --rule("@04:29 & wday('mon') & wnum%2 == 0 => kitchen.lampaWind:value=1") -- Sätt till on%, jämna veckor, soluppgång-10min
   --rule("@04:29 & wday('mon') & wnum%2 == 0 => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
   ----rule("@05:29 & wday('mon-fri') & wnum%2 == 1 => livingroom.lampaWindow:value=1") 
   ----rule("@04:29 & wday('mon,thu') & wnum%2 == 1 => livingroom.lampaWindoww:value=1")
   ----rule("@05:28 & wday('tue,wed,fri') wnum%2 == 1 => livingroom.lampaWindow:value=1")
   ----rule("@04:28 & wday('mon,thu') & wnum%2 == 1 => kitchen.lampaSink:value=10") -- Sätt till 20%, jämna veckor, soluppgång-10min
   ---rule("@05:28 & wday(tue,wed,fri') wnum%2 == 1 => kitchen.lampaSink:value=10")
   ----rule("@05:29 & wday('mon-fri') & wnum%2 == 1 => kitchen.lampaWind:value=1") -- Sätt till on%, jämna veckor, soluppgång-10min
   ----rule("@04:29 & wday('mon,the') & wnum%2 == 1 => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
  --rule("@05:29 & wday('mon-thu') & wnum%2 == 0 => livingroom.lampaWindow:value=1")
   --rule("@04:59 & wday('fri') & wnum%2 == 0 => kitchen.lampaSink:value=10") -- Sätt till 20%, jämna veckor, soluppgång-10min
   --rule("@04:58 & wday('fri') & wnum%2 == 0 => kitchen.lampaWind:value=1") -- Sätt till on%, jämna veckor, soluppgång-10min
   --rule("@04:58 & wday('fri') & wnum%2 == 0 => computerroom.lampaComp:value=1")
   --rule("@05:00 & wday('fri') & wnum%2 == 0 => livingroom.lampaWindow:value=1")
   --rule("@07:30 & wday('mon-fri') & wnum%2 == 0 => kitchen.lampaSink:off")
   ----rule("@08:15 & wday('mon-fri') & wnum%2 == 0 => kitchen.lampaWind:off") --Användes inte
  --
  -- Tänd och släck udda veckor ( Udda vecka = 1, jämna =0)
  --
   --rule("@04:28 & wday('mon') & wnum%2 == 1 => kitchen.lampaSink:value=10") -- Sätt till 20%, jämna veckor, soluppgång-10min
   --rule("@04:29 & wday('mon') & wnum%2 == 1 => kitchen.lampaWind:value=1") -- Sätt till on%, jämna veckor, soluppgång-10min
   --rule("@04:29 & wday('mon') & wnum%2 == 1 => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
   ---rule("@04:29 & wday('mon-fri') & wnum%2 == 0 => livingroom.lampaWindow:value=1") --
   ---rule("@04:28 & wday('mon-fri') & wnum%2 == 0 => kitchen.lampaSink:value=10") -- Sätt till 20%, udda veckor
   ---rule("@04:29 & wday('mon-fri') & wnum%2 == 0 => kitchen.lampaWind:value=1") -- Sätt till on, udda veckor
   --rule("@04:29 & wday('mon-fri') & wnum%2 == 0 => computerroom.lampaComp:value=1")
   --rule("@04:29 & wday('tue-thu') & wnum%2 == 1 => livingroom.lampaWindow:value=1")
   --rule("@04:10 & wday('fri') & wnum%2 == 1 => kitchen.lampaSink:value=10") -- Sätt till 20%, udda veckor, soluppgång-10min
   --rule("@04:10 & wday('fri') & wnum%2 == 1 => kitchen.lampaWind:value=1") -- Sätt till on, udda veckor, soluppgång-10min
   --rule("@04:10 & wday('fri') & wnum%2 == 1 => computerroom.lampaComp:value=1")
   --rule("@04:11 & wday('fri') & wnum%2 == 1 => livingroom.lampaWindow:value=1")
   ---rule("@07:30 & wday('mon-fri') & wnum%2 == 1 => kitchen.lampaSink:off")
   ----rule("@08:17 & wday('mon-fri') & wnum%2 == 1 => kitchen.lampaWind:off") --Användes inte
   ----rule("@sunrise+00:10 & wday('mon-fri') & wnum%2 == 1 => livingroom.lampaTak:value=0")  --Användes inte
   ----rule("@08:10 & wday('mon-fri') & wnum%2 == 1 => livingroom.lampaTak:value=0")  -- Användes inte
  --  
  -- Tända veckodagar
   --rule("@04:29 & wday('mon,thu') => livingroom.lampaWindow:value=1")
   --rule("@05:29 & wday('tue,wed,fri') => livingroom.lampaWindow:value=1")
   --rule("@04:29 & wday('mon,thu') => kitchen.lampaWind:value=1")
  -- rule("@05:29 & wday('tue,wed,fri') => kitchen.lampaWind:value=1")
   --rule("@04:29 & wday('mon,thu') => kitchen.lampaSink:value=10")
  -- rule("@05:29 & wday('tue,wed,fri') => kitchen.lampaSink:value=10")
   --rule("@04:29 & wday('mon,thu') => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
   --rule("@05:29 & wday('tue,wed,fri') => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
   --rule("@04:29 & wday('mon,thu') => computerroom.lampaDim:value=75") -- Lampa datarumsfönster
   --rule("@05:29 & wday('tue,wed,fri') => computerroom.lampaDim:value=75") -- Lampa datarumsfönster
   --rule("@04:29 & wday('mon,thu') => computerroom.lampaNy:value=1") -- Lampa datarumsfönster
   --rule("@05:29 & wday('tue,wed,fri') => computerroom.lampaNy:value=1") 
  
  ---
  -- Släcka
   rule("@07:30 & wday('mon-fri') => kitchen.lampaSink:off")
  ---
  --Soluppgång-tända
   --rule("@sunrise-01:10 => livingroom.lampaWindow:value=1")
   --rule("@sunrise-01:30 => kitchen.lampaWind:value=1")
   --rule("@sunrise-01:34 => computerroom.lampaComp:value=1")
   --rule("@sunrise+00:20 & wday('mon-fri') => bedroom.lampaWindo:value=1")
  --Soluppgång-släcka
   rule("@sunrise+01:30 => livingroom.lampaWindow:off")
   rule("@sunrise+01:30 => kitchen.lampaWind:off")
   --rule("@sunrise+01:34 => computerroom.lampaComp:off")
   rule("@sunrise+01:34 => bedroom.lampaWindo:off")
   --rule("@sunrise+01:34 => computerroom.lampaDim:off")
   rule("@sunrise+01:34 => computerroom.lampaNy:off")
  --Solnedgång-livingroom
   rule("@sunset-00:51 => livingroom.lampaWindow:value=1")
   rule("@sunset-00:55 => livingroom.lampaMedia:value=1")
   rule("@sunset+00:01 => livingroom.lampaOrange:value=1")
  --Solnedgång-kitchen
   rule("@sunset-00:51 => kitchen.lampaWind:value=1")
   rule("@sunset-00:51 => kitchen.lampaTable:value=1")
  --Solnedgång-computerroom
   --rule("@sunset-00:50 => computerroom.lampaComp:value=1")
   --rule("@sunset-00:50 => computerroom.lampaDim:value=75")
   rule("@sunset-00:50 => computerroom.lampaNy:value=1")
   --rule("@sunset+00:30 => computerroom.lampaRed:value=1")
  --Solnedgång-bedroom
   rule("@sunset-00:54 => bedroom.lampaWindo:value=1")
  --Solnedgång-balcony
  --rule("@sunset+00:02 => balcony.lampaWall:value=65")
   rule("@sunset+00:02 => balcony.lampaHead:value=1")
  --Solnedgång-hallway
   rule("@sunset-00:45 => hallway.lampaLamp:value=1")
  --
  --Tidsregler - computerrum
   --rule("@23:50 & wday('sun-thu') => computerroom.lampaComp:off")
   --rule("@00:22 & wday('fri-sun') => computerroom.lampaComp:off")
   --rule("@23:50 & wday('sun-thu') => computerroom.lampaDim:off")
   --rule("@00:22 & wday('fri-sun') => computerroom.lampaDim:off")
   rule("@23:50 & wday('sun-thu') => computerroom.lampaNy:off")
   rule("@00:22 & wday('fri-sun') => computerroom.lampaNy:off")
  
   --rule("@23:50 & wday('sun-thu') => computerroom.lampaRed:off")
   rule("@00:22 & wday('fri-sun') => computerroom.lampaRed:off")
  --Tidsregler - hallway
   rule("@07:20 & wday('mon-fri') => hallway.lampaLamp:off") --ifall man glömmer släcka på veckorna på morgonen
   rule("@23:20 & wday('sun-thu') => hallway.lampaLamp:off")
   rule("@23:59 & wday('fri-sat') => hallway.lampaLamp:off")
  --Tidsregler - bedroom
   rule("@22:00 & wday('sun-thu') => bedroom.lampaWindo:off")
   rule("@23:58 & wday('fri-sat') => bedroom.lampaWindo:off")
  --Tidsregler - kitchen
   rule("@07:20 & wday('mon-sun') => kitchen.machineCoffee:off") --säkerställa att kaffebryggaren är avslagen
   rule("@07:20 & wday('mon-sun') => kitchen.lampaSink:off") --ifall man glömmer släcka
   rule("@23:57 & wday('sun-thu') => kitchen.lampaWind:off")
   rule("@00:30 & wday('fri-sun') => kitchen.lampaWind:off")
   rule("@23:56 & wday('sun-thu') => kitchen.lampaTable:off")
   rule("@00:29 & wday('fri-sun') => kitchen.lampaTable:off")
  --Tidsregler - livingroom
   rule("@23:55 & wday('sun-thu') => livingroom.lampaWindow:off")
   rule("@00:35 & wday('fri-sun') => livingroom.lampaWindow:off")
   rule("@23:58 & wday('sun-thu') => livingroom.lampaGold:off")
   rule("@00:36 & wday('fri-sun') => livingroom.lampaGold:off")
   --rule("@23:56 & wday('sun-thu') => livingroom.lampaChrist:off")
   --rule("@00:37 & wday('fri-sun') => livingroom.lampaChrist:off")
   rule("@23:45 & wday('mon-sun') => livingroom.lampaOrange:off")
   rule("@23:05 & wday('mon-sun') => livingroom.lampaMedia:off")
  --Tidsregler - balcony
   --rule("@17:03 & wday('mon-sun') => balcony.lampaWall:off") --släcker innan julbelysning tänder
   --rule("@17:03 & wday('mon-sun') => balcony.lampaHead:off") --släcker innan julbelysning tänder
  -- rule("@23:57 & wday('sun-thu') => balcony.lampaWall:off")
   rule("@23:56 & wday('sun-thu') => balcony.lampaHead:off")
   --rule("@00:40 & wday('fri-sun') => balcony.lampaWall:off")
   rule("@00:39 & wday('fri-sun') => balcony.lampaHead:off")
  --
 --rule("@08:10 & wday('mon-fri') & wnum%2 == 0 => livingroom.lampaTak:value=0")
 --
--
   --rule("@now+00:00:02 => 12001:on") -- Test light, turn on 2 seconds after ER started/saved
  --rule("@now+00:00:02 => 12002:on") -- Test light, turn on 2 seconds after ER started/saved
  --
  --Hue Lampor--
  --
    rule("@sunset+00:01 => 12003:on")
    rule("@23:55 => 12003:off")
  --rule("@sunset+03:00 & wday('mon-fri') => 12001:value='Night scene' ")
    --Rule.eval("@19:03 & wday('mon-fri') => 12001:on") 
   -- Rule.eval("@19:03 & wday('mon-fri') => 12001:value=50")
   --
   -- Tänd och släck udda veckor ( Udda vecka = 1 )
  --
  -- EARTH HOUR #######################################
  lights={28,30,33,40,68,75,78,87,103,138,159,181,203,237,254,308,432,447,449} -- eller hämta värden från HomeTable
  rule("earthDates={2021/3/27/20:30,2022/3/26/20:30}")
  rule("for _,v in ipairs(earthDates) do log(osdate('Earth hour %c',v)); post(#earthHour,v) end")
  rule("#earthHour => states = lights:value; lights:off; wait(01:00); lights:value = states")
  --
  -- Lux styrd från balkongen
  
  --rule("sensor=426; lampor={432,159}")
  --rule("once(sensor:lux < 15) & 09:00..19:00 => lampor:on")
  --rule("once(sensor:lux >= 15) & 09:00..19:00 => lampor:off")
  --
  --Badrummet
  --
  motionsensor1 = 527
  motionsensor2 = 507
  mksensor = 456
  badSensors = {motionsensor1, motionsensor2}
  bathroom = { lampaBad = 100, lampaMirr = 101}

  Util.triggerVar('iBadrum')
  rule("mksensor:safe & 04:10..22:30 => bathroom.lampaBad:value=100; bathroom.lampaMirr:value=1")
  rule("badSensors:breached & 04:10..22:30 => bathroom.lampaBad:value=100; bathroom.lampaMirr:value=1")
  rule("badSensors:breached & 22:30..04:10 => bathroom.lampaBad:value=5; bathroom.lampaMirr:off")
  rule("mksensor:safe & 22:30..04:10 => bathroom.lampaMirr:off; bathroom.lampaBad:value=5")

  rule("mksensor:breached => iBadrum = false") -- Dörr öppnas, vi vet inte om ngn är i badrummet
  rule("badSensors:safe => if mksensor:safe then iBadrum = true end") -- Sensor breached och dörr stängd, ngn inne i badrummet 

  rule("trueFor(00:03,badSensors:safe & mksensor:value & !iBadrum) => bathroom.lampaBad:off; bathroom.lampaMirr:off") -- check if sensors safe for 5min, retrigger rule every time door value changes
   ---rule("trueFor(00:04,sensors:safe) => lampaMirr:off")  
  --
  --Garderoben--
  --
   closetSensors1 = 465
   closetSensors2 = 563
   closetSensors = {closetSensors1, closetSensors2}
   rule("closetSensors:breached => closet.lampaCloset:value=1")
   rule("trueFor(00:02,closetSensors:safe) => closet.lampaCloset:value=0")
  --
  --Köket
  --
   kitchenSensors = 471
   rule("kitchenSensors:breached & 20:30..23:59 => kitchen.lampaSink:value=10")
   rule("trueFor(00:02,kitchenSensors:safe) & 18:30..23:59 => kitchen.lampaSink:value=0")
  --
  --
  --Hallen--
  --
   doorsensor = 211
   motionsensor = 51
   sensors = {doorsensor, motionsensor}
   rule("sensors:breached & 04:10..22:00 => hallway.lampaHall:value=75")
   rule("sensors:breached & 22:00..04:10 => hallway.lampaHall:value=15")
   rule("trueFor(00:03,sensors:safe) => hallway.lampaHall:off")
  --rule("@sunrise-00:10 & wday('mon-fri') & wnum % 2 == 0 => kitchen.lampaTak:value=40") -- Sätt till 40%, jämna veckor, mån-fre, soluppgång-10min
 
 -- Regler kan bli långa så man kan använda Lua strängar över flera rader som definieras med [[ ]] och identera de lite snyggare
 -- Slå av, jämna veckor, sista fredagen i månaden , soluppgång-10min
 --rule([[@sunrise-00:10 & wday('fri') day('lastw-last') & wnum % 2 == 0  => kitchen.lampaTak:value=40]]) 
--rule("@@00:00:05 => f=!f; || f >> log('Ding!') || true >> log('Dong!')") -- example rule logging ding/dong every 5 second
--
--
--
--Nodered.connect(_NodeRed)            -- Setup nodered functionality
--Telegram.bot(_TelegBOT)              -- Setup Telegram bot that listens on oncoming messages. Only one per BOT.
--Telegram.msg({_TelegCID,_TelegBOT},<msg>)  -- Send msg to Telegram without BOT setup
  --  
-- Push till telefonen  
  --
  rule("myPhoneID=337")
  rule("@{20:32,catch} => Util.checkVersion()") -- Check for new version every morning at 20:00 and at restart
  rule("#ER_version => myPhoneID:msg=log('New ER version, v:%s, fix:%s',env.event.version,env.event.fix)")
  ---rule("#ER_version => log('...patching scene'); Util.patchEventRunner()") -- Auto patch new versions, kommentera bort för att ta ner patchen
--
 -- Helt automatiskt men iband kan scenen stanna efter "patchningen"
--
  --rule("@{20:56,catch} => Util.checkVersion()") -- Check for new version every morning at 20:00 and at restart
  --rule("#ER_version => log('New ER version, v:%s, fix:%s',env.event.version,env.event.fix)")
  --rule("#ER_version => log('...patching scene'); Util.patchEventRunner()") -- Auto patch new versions...
  if _EMULATED then 
    --dofile("example_rules3.lua")
  end
end

jang
Medlem
Posts: 360
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Reglerna ser ut som vanligt. Lite förändringar i början (man behöver inte deklarera triggers)
Hue har inte inbyggd support i ER längre. Jag rekommenderar en Hue QA så att lamporna ser ut som vanliga devices.
Ex. https://forum.fibaro.com/topic/49113-hc ... ent=224574
eller https://forum.fibaro.com/topic/52054-qu ... ll-in-one/

Ladda ner v5fix59 från här
https://forum.fibaro.com/topic/31180-tu ... ent=211149
Ersätt innehållet i filen 'main' med koden nedan. Ta bort Hue.define.

Code: Select all

_debugFlags.trigger = true -- log incoming triggers
_debugFlags.fcall=true     -- log fibaro.call
_debugFlags.post = true    -- log internal posts
_debugFlags.rule=true      -- log rules being invoked (true or false)
_debugFlags.ruleTrue=true  -- log only rules that are true
_debugFlags.pubsub=false   -- 

------------- Put your rules inside QuickApp:main() -------------------

function QuickApp:main()    -- EventScript version
  local rule = function(...) return self:evalScript(...) end          -- old rule function
  self:enableTriggerType({"device","global-variable","custom-event","profile","alarm"}) -- types of events we want

  local HT =  -- Example of in-line "home table"
  {
    dev = 
    { livingroom = {lampaOrange = 87, lampaWindow = 449, lampaGold = 254, lampaMedia = 503},
      kitchen = {lampaWind  = 33, lampaSink = 68, lampaTable = 103, machineCoffee = 150},
      balcony = {lampaWall  = 138, lampaHead = 78},
      bathroom = {lampaBad = 329, lampaMirr = 335},
      bedroom = {lampaWindo = 30},
      closet = {lampaCloset = 152},
      computerroom = {lampaComp = 28, lampaRed = 432, lampaDim = 308, lampaNy = 577},
      hallway = {lampaHall = 40, lampaLamp = 159},
    },
    other = "other"
  }

  --or read in "HomeTable" from a fibaro global variable (or scene)
--local HT = type(_homeTable)=='number' and api.get("/scenes/".._homeTable).lua or fibaro:getGlobalValue(_homeTable) 
--HT = type(HT) == 'string' and json.decode(HT) or HT
  Util.defvars(HT.dev)            -- Make HomeTable variables available in EventScript
  Util.reverseMapDef(HT.dev)      -- Make HomeTable variable names available for logger
--
  --Hue.dump() -- Kör en gång för att få Hue namn. Kommentera sedan bort den
  Hue.define ("LampaBed1",12001)   ---- Hue lampor enligt hue namn
  Hue.define ("LampaBed2",12002) 
  Hue.define ("Hue outdoor pedestal 1",12003)
  --
  --
  -- Dina regler
  --rule("@now+00:00:02 => livingroom. lampaBed:on") -- Test light, turn on 2 seconds after ER started/saved
  --rule("@sunset-00:10 & wnum % 2 == 1 => kitchen.lampaTak:value=30") -- Sätt till 30%, udda veckor, solnedgång-10min
  --
  -- Tänd och släck jämna veckor ( Jämn vecka = 0, Udda = 1)
  --
  --rule("@04:28 & wday('mon') & wnum%2 == 0 => kitchen.lampaSink:value=10") -- Sätt till 20%, jämna veckor, soluppgång-10min
  --rule("@04:29 & wday('mon') & wnum%2 == 0 => kitchen.lampaWind:value=1") -- Sätt till on%, jämna veckor, soluppgång-10min
  --rule("@04:29 & wday('mon') & wnum%2 == 0 => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
  ----rule("@05:29 & wday('mon-fri') & wnum%2 == 1 => livingroom.lampaWindow:value=1") 
  ----rule("@04:29 & wday('mon,thu') & wnum%2 == 1 => livingroom.lampaWindoww:value=1")
  ----rule("@05:28 & wday('tue,wed,fri') wnum%2 == 1 => livingroom.lampaWindow:value=1")
  ----rule("@04:28 & wday('mon,thu') & wnum%2 == 1 => kitchen.lampaSink:value=10") -- Sätt till 20%, jämna veckor, soluppgång-10min
  ---rule("@05:28 & wday(tue,wed,fri') wnum%2 == 1 => kitchen.lampaSink:value=10")
  ----rule("@05:29 & wday('mon-fri') & wnum%2 == 1 => kitchen.lampaWind:value=1") -- Sätt till on%, jämna veckor, soluppgång-10min
  ----rule("@04:29 & wday('mon,the') & wnum%2 == 1 => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
  --rule("@05:29 & wday('mon-thu') & wnum%2 == 0 => livingroom.lampaWindow:value=1")
  --rule("@04:59 & wday('fri') & wnum%2 == 0 => kitchen.lampaSink:value=10") -- Sätt till 20%, jämna veckor, soluppgång-10min
  --rule("@04:58 & wday('fri') & wnum%2 == 0 => kitchen.lampaWind:value=1") -- Sätt till on%, jämna veckor, soluppgång-10min
  --rule("@04:58 & wday('fri') & wnum%2 == 0 => computerroom.lampaComp:value=1")
  --rule("@05:00 & wday('fri') & wnum%2 == 0 => livingroom.lampaWindow:value=1")
  --rule("@07:30 & wday('mon-fri') & wnum%2 == 0 => kitchen.lampaSink:off")
  ----rule("@08:15 & wday('mon-fri') & wnum%2 == 0 => kitchen.lampaWind:off") --Användes inte
  --
  -- Tänd och släck udda veckor ( Udda vecka = 1, jämna =0)
  --
  --rule("@04:28 & wday('mon') & wnum%2 == 1 => kitchen.lampaSink:value=10") -- Sätt till 20%, jämna veckor, soluppgång-10min
  --rule("@04:29 & wday('mon') & wnum%2 == 1 => kitchen.lampaWind:value=1") -- Sätt till on%, jämna veckor, soluppgång-10min
  --rule("@04:29 & wday('mon') & wnum%2 == 1 => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
  ---rule("@04:29 & wday('mon-fri') & wnum%2 == 0 => livingroom.lampaWindow:value=1") --
  ---rule("@04:28 & wday('mon-fri') & wnum%2 == 0 => kitchen.lampaSink:value=10") -- Sätt till 20%, udda veckor
  ---rule("@04:29 & wday('mon-fri') & wnum%2 == 0 => kitchen.lampaWind:value=1") -- Sätt till on, udda veckor
  --rule("@04:29 & wday('mon-fri') & wnum%2 == 0 => computerroom.lampaComp:value=1")
  --rule("@04:29 & wday('tue-thu') & wnum%2 == 1 => livingroom.lampaWindow:value=1")
  --rule("@04:10 & wday('fri') & wnum%2 == 1 => kitchen.lampaSink:value=10") -- Sätt till 20%, udda veckor, soluppgång-10min
  --rule("@04:10 & wday('fri') & wnum%2 == 1 => kitchen.lampaWind:value=1") -- Sätt till on, udda veckor, soluppgång-10min
  --rule("@04:10 & wday('fri') & wnum%2 == 1 => computerroom.lampaComp:value=1")
  --rule("@04:11 & wday('fri') & wnum%2 == 1 => livingroom.lampaWindow:value=1")
  ---rule("@07:30 & wday('mon-fri') & wnum%2 == 1 => kitchen.lampaSink:off")
  ----rule("@08:17 & wday('mon-fri') & wnum%2 == 1 => kitchen.lampaWind:off") --Användes inte
  ----rule("@sunrise+00:10 & wday('mon-fri') & wnum%2 == 1 => livingroom.lampaTak:value=0")  --Användes inte
  ----rule("@08:10 & wday('mon-fri') & wnum%2 == 1 => livingroom.lampaTak:value=0")  -- Användes inte
  --  
  -- Tända veckodagar
  --rule("@04:29 & wday('mon,thu') => livingroom.lampaWindow:value=1")
  --rule("@05:29 & wday('tue,wed,fri') => livingroom.lampaWindow:value=1")
  --rule("@04:29 & wday('mon,thu') => kitchen.lampaWind:value=1")
  -- rule("@05:29 & wday('tue,wed,fri') => kitchen.lampaWind:value=1")
  --rule("@04:29 & wday('mon,thu') => kitchen.lampaSink:value=10")
  -- rule("@05:29 & wday('tue,wed,fri') => kitchen.lampaSink:value=10")
  --rule("@04:29 & wday('mon,thu') => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
  --rule("@05:29 & wday('tue,wed,fri') => computerroom.lampaComp:value=1") -- Lampa datarumsfönster
  --rule("@04:29 & wday('mon,thu') => computerroom.lampaDim:value=75") -- Lampa datarumsfönster
  --rule("@05:29 & wday('tue,wed,fri') => computerroom.lampaDim:value=75") -- Lampa datarumsfönster
  --rule("@04:29 & wday('mon,thu') => computerroom.lampaNy:value=1") -- Lampa datarumsfönster
  --rule("@05:29 & wday('tue,wed,fri') => computerroom.lampaNy:value=1") 

  ---
  -- Släcka
  rule("@07:30 & wday('mon-fri') => kitchen.lampaSink:off")
  ---
  --Soluppgång-tända
  --rule("@sunrise-01:10 => livingroom.lampaWindow:value=1")
  --rule("@sunrise-01:30 => kitchen.lampaWind:value=1")
  --rule("@sunrise-01:34 => computerroom.lampaComp:value=1")
  --rule("@sunrise+00:20 & wday('mon-fri') => bedroom.lampaWindo:value=1")
  --Soluppgång-släcka
  rule("@sunrise+01:30 => livingroom.lampaWindow:off")
  rule("@sunrise+01:30 => kitchen.lampaWind:off")
  --rule("@sunrise+01:34 => computerroom.lampaComp:off")
  rule("@sunrise+01:34 => bedroom.lampaWindo:off")
  --rule("@sunrise+01:34 => computerroom.lampaDim:off")
  rule("@sunrise+01:34 => computerroom.lampaNy:off")
  --Solnedgång-livingroom
  rule("@sunset-00:51 => livingroom.lampaWindow:value=1")
  rule("@sunset-00:55 => livingroom.lampaMedia:value=1")
  rule("@sunset+00:01 => livingroom.lampaOrange:value=1")
  --Solnedgång-kitchen
  rule("@sunset-00:51 => kitchen.lampaWind:value=1")
  rule("@sunset-00:51 => kitchen.lampaTable:value=1")
  --Solnedgång-computerroom
  --rule("@sunset-00:50 => computerroom.lampaComp:value=1")
  --rule("@sunset-00:50 => computerroom.lampaDim:value=75")
  rule("@sunset-00:50 => computerroom.lampaNy:value=1")
  --rule("@sunset+00:30 => computerroom.lampaRed:value=1")
  --Solnedgång-bedroom
  rule("@sunset-00:54 => bedroom.lampaWindo:value=1")
  --Solnedgång-balcony
  --rule("@sunset+00:02 => balcony.lampaWall:value=65")
  rule("@sunset+00:02 => balcony.lampaHead:value=1")
  --Solnedgång-hallway
  rule("@sunset-00:45 => hallway.lampaLamp:value=1")
  --
  --Tidsregler - computerrum
  --rule("@23:50 & wday('sun-thu') => computerroom.lampaComp:off")
  --rule("@00:22 & wday('fri-sun') => computerroom.lampaComp:off")
  --rule("@23:50 & wday('sun-thu') => computerroom.lampaDim:off")
  --rule("@00:22 & wday('fri-sun') => computerroom.lampaDim:off")
  rule("@23:50 & wday('sun-thu') => computerroom.lampaNy:off")
  rule("@00:22 & wday('fri-sun') => computerroom.lampaNy:off")

  --rule("@23:50 & wday('sun-thu') => computerroom.lampaRed:off")
  rule("@00:22 & wday('fri-sun') => computerroom.lampaRed:off")
  --Tidsregler - hallway
  rule("@07:20 & wday('mon-fri') => hallway.lampaLamp:off") --ifall man glömmer släcka på veckorna på morgonen
  rule("@23:20 & wday('sun-thu') => hallway.lampaLamp:off")
  rule("@23:59 & wday('fri-sat') => hallway.lampaLamp:off")
  --Tidsregler - bedroom
  rule("@22:00 & wday('sun-thu') => bedroom.lampaWindo:off")
  rule("@23:58 & wday('fri-sat') => bedroom.lampaWindo:off")
  --Tidsregler - kitchen
  rule("@07:20 & wday('mon-sun') => kitchen.machineCoffee:off") --säkerställa att kaffebryggaren är avslagen
  rule("@07:20 & wday('mon-sun') => kitchen.lampaSink:off") --ifall man glömmer släcka
  rule("@23:57 & wday('sun-thu') => kitchen.lampaWind:off")
  rule("@00:30 & wday('fri-sun') => kitchen.lampaWind:off")
  rule("@23:56 & wday('sun-thu') => kitchen.lampaTable:off")
  rule("@00:29 & wday('fri-sun') => kitchen.lampaTable:off")
  --Tidsregler - livingroom
  rule("@23:55 & wday('sun-thu') => livingroom.lampaWindow:off")
  rule("@00:35 & wday('fri-sun') => livingroom.lampaWindow:off")
  rule("@23:58 & wday('sun-thu') => livingroom.lampaGold:off")
  rule("@00:36 & wday('fri-sun') => livingroom.lampaGold:off")
  --rule("@23:56 & wday('sun-thu') => livingroom.lampaChrist:off")
  --rule("@00:37 & wday('fri-sun') => livingroom.lampaChrist:off")
  rule("@23:45 & wday('mon-sun') => livingroom.lampaOrange:off")
  rule("@23:05 & wday('mon-sun') => livingroom.lampaMedia:off")
  --Tidsregler - balcony
  --rule("@17:03 & wday('mon-sun') => balcony.lampaWall:off") --släcker innan julbelysning tänder
  --rule("@17:03 & wday('mon-sun') => balcony.lampaHead:off") --släcker innan julbelysning tänder
  -- rule("@23:57 & wday('sun-thu') => balcony.lampaWall:off")
  rule("@23:56 & wday('sun-thu') => balcony.lampaHead:off")
  --rule("@00:40 & wday('fri-sun') => balcony.lampaWall:off")
  rule("@00:39 & wday('fri-sun') => balcony.lampaHead:off")
  --
  --rule("@08:10 & wday('mon-fri') & wnum%2 == 0 => livingroom.lampaTak:value=0")
  --
--
  --rule("@now+00:00:02 => 12001:on") -- Test light, turn on 2 seconds after ER started/saved
  --rule("@now+00:00:02 => 12002:on") -- Test light, turn on 2 seconds after ER started/saved
  --
  --Hue Lampor--
  --
  rule("@sunset+00:01 => 12003:on")
  rule("@23:55 => 12003:off")
  --rule("@sunset+03:00 & wday('mon-fri') => 12001:value='Night scene' ")
  --Rule.eval("@19:03 & wday('mon-fri') => 12001:on") 
  -- Rule.eval("@19:03 & wday('mon-fri') => 12001:value=50")
  --
  -- Tänd och släck udda veckor ( Udda vecka = 1 )
  --
  -- EARTH HOUR #######################################
  lights={28,30,33,40,68,75,78,87,103,138,159,181,203,237,254,308,432,447,449} -- eller hämta värden från HomeTable
  rule("earthDates={2021/3/27/20:30,2022/3/26/20:30}")
  rule("for _,v in ipairs(earthDates) do log(osdate('Earth hour %c',v)); post(#earthHour,v) end")
  rule("#earthHour => states = lights:value; lights:off; wait(01:00); lights:value = states")
  --
  -- Lux styrd från balkongen

  --rule("sensor=426; lampor={432,159}")
  --rule("once(sensor:lux < 15) & 09:00..19:00 => lampor:on")
  --rule("once(sensor:lux >= 15) & 09:00..19:00 => lampor:off")
  --
  --Badrummet
  --
  motionsensor1 = 527
  motionsensor2 = 507
  mksensor = 456
  badSensors = {motionsensor1, motionsensor2}
  bathroom = { lampaBad = 100, lampaMirr = 101}

  Util.triggerVar('iBadrum')
  rule("mksensor:safe & 04:10..22:30 => bathroom.lampaBad:value=100; bathroom.lampaMirr:value=1")
  rule("badSensors:breached & 04:10..22:30 => bathroom.lampaBad:value=100; bathroom.lampaMirr:value=1")
  rule("badSensors:breached & 22:30..04:10 => bathroom.lampaBad:value=5; bathroom.lampaMirr:off")
  rule("mksensor:safe & 22:30..04:10 => bathroom.lampaMirr:off; bathroom.lampaBad:value=5")

  rule("mksensor:breached => iBadrum = false") -- Dörr öppnas, vi vet inte om ngn är i badrummet
  rule("badSensors:safe => if mksensor:safe then iBadrum = true end") -- Sensor breached och dörr stängd, ngn inne i badrummet 

  rule("trueFor(00:03,badSensors:safe & mksensor:value & !iBadrum) => bathroom.lampaBad:off; bathroom.lampaMirr:off") -- check if sensors safe for 5min, retrigger rule every time door value changes
  ---rule("trueFor(00:04,sensors:safe) => lampaMirr:off")  
  --
  --Garderoben--
  --
  closetSensors1 = 465
  closetSensors2 = 563
  closetSensors = {closetSensors1, closetSensors2}
  rule("closetSensors:breached => closet.lampaCloset:value=1")
  rule("trueFor(00:02,closetSensors:safe) => closet.lampaCloset:value=0")
  --
  --Köket
  --
  kitchenSensors = 471
  rule("kitchenSensors:breached & 20:30..23:59 => kitchen.lampaSink:value=10")
  rule("trueFor(00:02,kitchenSensors:safe) & 18:30..23:59 => kitchen.lampaSink:value=0")
  --
  --
  --Hallen--
  --
  doorsensor = 211
  motionsensor = 51
  sensors = {doorsensor, motionsensor}
  rule("sensors:breached & 04:10..22:00 => hallway.lampaHall:value=75")
  rule("sensors:breached & 22:00..04:10 => hallway.lampaHall:value=15")
  rule("trueFor(00:03,sensors:safe) => hallway.lampaHall:off")
  --rule("@sunrise-00:10 & wday('mon-fri') & wnum % 2 == 0 => kitchen.lampaTak:value=40") -- Sätt till 40%, jämna veckor, mån-fre, soluppgång-10min

  -- Regler kan bli långa så man kan använda Lua strängar över flera rader som definieras med [[ ]] och identera de lite snyggare
  -- Slå av, jämna veckor, sista fredagen i månaden , soluppgång-10min
  --rule([[@sunrise-00:10 & wday('fri') day('lastw-last') & wnum % 2 == 0  => kitchen.lampaTak:value=40]]) 
--rule("@@00:00:05 => f=!f; || f >> log('Ding!') || true >> log('Dong!')") -- example rule logging ding/dong every 5 second
--
--
--
--Nodered.connect(_NodeRed)            -- Setup nodered functionality  --  
-- Push till telefonen  
  --
  rule("myPhoneID=337")
  rule("@{20:32,catch} => Util.checkForUpdates()")
  rule("#File_update{} => myPhoneID:msg=log('New ER version:%s - %s',env.event.file,env.event.version)")
  --rule("#File_update{} => Util.updateFile(env.event.file)")

  ---rule("#ER_version => log('...patching scene'); Util.patchEventRunner()") -- Auto patch new versions, kommentera bort för att ta ner patchen
--
  -- Helt automatiskt men iband kan scenen stanna efter "patchningen"
--
  --rule("@{20:56,catch} => Util.checkVersion()") -- Check for new version every morning at 20:00 and at restart
  --rule("#ER_version => log('New ER version, v:%s, fix:%s',env.event.version,env.event.fix)")
  --rule("#ER_version => log('...patching scene'); Util.patchEventRunner()") -- Auto patch new versions...

end

User avatar
Texan
Medlem
Posts: 162
Joined: 25 Dec 2015, 15:07
5

@jang

Tack för hjälpen, nu har jag kommit igång med att få till allt på hc3 som jag hade på hc2 i ER. :D
Systemfel
Medlem
Posts: 338
Joined: 14 Jan 2015, 01:02
6

Hej jang hoppas allt är väl med dig

jag har en undran jag får inte earthHour att fungera . Den släcker ju lamporna så långt är det ju bra Men state delvis när den ska veta vad lamporna hade för status
den vill inte tända lamporna igen får iloggen nil i värde !1 har testat att ändra och ha mig och läsa men går bet på detta helt
är det något jag inte aktiverat i Eventrunner4 eller..

Code: Select all

lights={267,252,65,67,78,111,129,158,292,127,216,210,205,286,297,302,305,410,421,384,389,392,272,329,276,490}--Lampor
 rule("earthDates={2021/3/27/20:30,2022/3/26/20:30,2023/3/25/20:30}")
 rule("for _,v in ipairs(earthDates) do log(osdate('Earth hour %c',v)); post(#earthHour,v) end")
 rule("#earthHour => wait(00:00:10); Mobileralla:msg=log('Earth Hour har inletts, belysningen tänds igen om 1 timme')")
 rule("#earthHour => lightState == lights:value") 
 rule("#earthHour => lightstates == lights:value; lights:off; wait(01:00); lights:value = lightStates")
Ha det göttt
kör Hc3 och det fungerar bättre och bätttre sakta men säkert :D
jang
Medlem
Posts: 360
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Några konstigheter, så här borde det se ut

Code: Select all

lights={267,252,65,67,78,111,129,158,292,127,216,210,205,286,297,302,305,410,421,384,389,392,272,329,276,490}--Lampor
 rule("earthDates={2021/3/27/20:30,2022/3/26/20:30,2023/3/25/20:30}")
 rule("for _,v in ipairs(earthDates) do log(osdate('Earth hour %c',v)); post(#earthHour,v) end")
 rule("#earthHour => wait(00:00:10); Mobileralla:msg=log('Earth Hour har inletts, belysningen tänds igen om 1 timme')")
 rule("#earthHour => lightstates = lights:value; lights:off; wait(01:00); lights:value = lightstates")
 
lightstates skrevs med litet och stort s.
== istället för = i fjärde regeln.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1165
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

@jang, Kan det vara något mer som är fel, för jag lyckades inte med den här koden heller.
Belysningen släcks, men den tänds aldrig igen.

Code: Select all

lights = {26,219,30} -- Test-lampor
    rule("earthDates={2021/08/10/11:39}")
    rule("for _,v in ipairs(earthDates) do log(osdate('Earth hour %c',v)); post(#earthHour,v) end")
    -- rule("#earthHour => lightstates = lights:value; lights:off; wait(01:00); lights:value = lightstates")
    rule("#earthHour => lightstates = lights:value; lights:off; wait(00:01); lights:value = lightstates") -- 1 minut, endast för test
HC3 (5.080 Z-Wave 2) med ER4
jang
Medlem
Posts: 360
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Well, när man gick till HC3 så ändrade man en del.
"Binary lights" hade tidigare kommandot "setValue", fibaro:call(id,"setValue",0) som slog av ljuset och fibaro:call(id,"setValue",1) som slog på ljuset, Numera supportar inte binary switches setValue alls utan bara turnOff/turnOn.
Så, koden som funkade på HC2 funkar inte på HC3 då koden försöker göra fibaro.call(id,"setValue",true) för att återställa ett ljus. Det funkar dock med multileveSwitches.
Nåväl, jag har laddat upp fix73 av ER4 som "lägger till" setValue kommandot till binary witches så att det ska funka. Det är inte så snyggt men som sagt det borde funka.
Du kan prova.

Själv tycker jag att det är en designmiss av Fibaro att ta bort kommandot....
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1165
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

Nåväl, jag har laddat upp fix73 av ER4 som "lägger till" setValue kommandot
@jang
Är det någon tidsfördröjning innan jag kan hämta Fix73? (Klockan är nu 08:59)
Min senaste uppdatering är EventRunner4 v0.5fix71 och jag har inte lyckats tvinga fram någon senare version.
HC3 (5.080 Z-Wave 2) med ER4
jang
Medlem
Posts: 360
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Sorry, jag måste ha misslyckats med att pusha den nya versionen. Nu ska den finnas.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1165
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

@jang
Ursäkta att jag är lite besvärlig, men det har uppstått lite komplikationer.
Efter Fix 73 händer inget med Earth Hour, lamporna varken släcks eller tänds.
Och så får jag ett ERROR då jag sparar ER.

EDIT....
Nu beter sig ER4 normalt igen.
Felmeddelandet orsakades av nedanstående kod som av okänd anledning inte vill vara med i Fix 73.
Därför har jag inaktiverat koden tills vidare.

Med koden inaktiverad så fungerar Earth Hour igen :-)

Code: Select all

Util.defTriggerVar('golvtemp_ut',0)
rule("math.abs(uterum_temp.golv:temp - golvtemp_ut) >= 2 => golvtemp_ut = uterum_temp.golv:temp").start()
rule([[once(golvtemp_ut >= 20) & 08:00..20:00 =>
$TTS = 'Meddelande från växthuset! Nu kan du ta ut plantorna.&vol=12'
]])
Attachments
Error fix 73.png
Fix 73.png
Fix 73.png (9.24 KiB) Viewed 2520 times
HC3 (5.080 Z-Wave 2) med ER4
Systemfel
Medlem
Posts: 338
Joined: 14 Jan 2015, 01:02
6

jang wrote: 10 Aug 2021, 10:26 Några konstigheter, så här borde det se ut

Code: Select all

lights={267,252,65,67,78,111,129,158,292,127,216,210,205,286,297,302,305,410,421,384,389,392,272,329,276,490}--Lampor
 rule("earthDates={2021/3/27/20:30,2022/3/26/20:30,2023/3/25/20:30}")
 rule("for _,v in ipairs(earthDates) do log(osdate('Earth hour %c',v)); post(#earthHour,v) end")
 rule("#earthHour => wait(00:00:10); Mobileralla:msg=log('Earth Hour har inletts, belysningen tänds igen om 1 timme')")
 rule("#earthHour => lightstates = lights:value; lights:off; wait(01:00); lights:value = lightstates")
 
lightstates skrevs med litet och stort s.
== istället för = i fjärde regeln.
Hej igen ska testa :) Och jo nu fungerar det :) tipp topp Tack Jang

Men nu när du har lagt ut fix73 så slutade något annat att fungera
har dödat detta så länge så ser vi om det löser sig :)

Code: Select all

--rule("@06:00 & 06:00..10:00-1 => post(#TOD{value='Morning'})").start()
  --rule("@10:00 & 10:00..18:00-1 => post(#TOD{value='Day'})").start()
  --rule("@18:00 & 18:00..22:00-1 => post(#TOD{value='Evening'})").start()
 -- rule("@22:00 & 22:00..06:00-1 => post(#TOD{value='Night'})").start()
 
får detta felet som du ser under
[2021-08-11] [17:04:24] [ERROR] [QUICKAPP582]: main() error:./include/EventRunner.lua:2363: Main() ERROR:./include/main.lua:105: attempt to index a nil value
kör Hc3 och det fungerar bättre och bätttre sakta men säkert :D
jang
Medlem
Posts: 360
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Vad är rad 105 i main?
ERROR:./include/main.lua:105

Har du en regel som genererar felet?
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1165
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

@jang
Se även mitt inlägg ovan, jag tror att våra problem orsakas av samma kod i ER4 och de uppstod efter fix 73.
HC3 (5.080 Z-Wave 2) med ER4
jang
Medlem
Posts: 360
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

fix74 fixar problemet.
Systemfel
Medlem
Posts: 338
Joined: 14 Jan 2015, 01:02
6

jang wrote: 11 Aug 2021, 17:20 Vad är rad 105 i main?
ERROR:./include/main.lua:105

Har du en regel som genererar felet?
yws det är dessa rader som gör att jag får felet det fungerade innan fix 73

Code: Select all

--rule("@06:00 & 06:00..10:00-1 => post(#TOD{value='Morning'})").start()
  --rule("@10:00 & 10:00..18:00-1 => post(#TOD{value='Day'})").start()
  --rule("@18:00 & 18:00..22:00-1 => post(#TOD{value='Evening'})").start()
 -- rule("@22:00 & 22:00..06:00-1 => post(#TOD{value='Night'})").start()
kör Hc3 och det fungerar bättre och bätttre sakta men säkert :D
Post Reply