EventRunner

User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Tack @jang!
Nu fungerar det SÅ MYCKET BÄTTRE!
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Systemfel
Medlem
Posts: 384
Joined: 14 Jan 2015, 01:02
9

jang wrote: 13 Oct 2019, 13:14
Systemfel wrote: 13 Oct 2019, 11:54 rule("@05:30 => 199:dim={20,'up',1,'outExpo',0,99}")
-- eller
rule("@05:30 => 199:dim={20,'up'}") -- defaults to linear


kan inte mycket om vd,Men kan man sätta tiden själv och så det blir som en Wake upp light ?
kan tänka mig det är en del kod på det. ?
om ens det går att göra ?
Om du gör en VD per lampa så är det ganska enkelt.
Om VDn kan sätta en fibaro global. Ex 'minLampa' till en Lua tabell av typ
Ex. {id=199, time='05:30', params={20,1,dir='up','linear',0, 99}}
så kan du ha en regel i ER av typ

Code: Select all

rule("@time($minLampa.time) => $minLampa.id:dim=$minLampa.params")
Jag har just uppgraderat till MacOS Catalina och slåss med att få ZeroBrane att fungera - när jag lyckats kan jag återkomma med ett VD exempel.
tack :) får se om jag kan testa få i hop något :)
kör Hc3 och det fungerar bättre och bätttre sakta men säkert :D
PeterM5
Medlem
Posts: 64
Joined: 13 Jul 2016, 10:55
7

jang wrote: 13 Oct 2019, 12:48
PeterM5 wrote: 13 Oct 2019, 10:39 Är det möjligt att använda dimmer funktionen tvärtom, börja på 99 0ch sänka till 5.
Jag har provat med 'down istället för 'up', men det funkar ej.
Jo, men det är kanske lite ointuitivt då start alltid är det minsta värdet och stop det högsta.

Code: Select all

  rule("199:dim={20,'down',1,'linear',5,99}")
 
Tack för hjälpen, nu funkar det, jag ändrade till 94, 99 gick inte.
rule("216:dim={20,'down',1,'linear',5,94}")
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
10
Location: Västerås

Hösten blir kallare och kallare så nu måste motorvärmarstyrningen fixas.
Jag och gumman jobbar olika tider så jag skulle behöva automatisera lite gran.

Har en VD som jag använder flitigt till detta, men jag behöver ändra tiden med hjälp av ER,
det här funkar, men är inte så snyggt

Code: Select all

	rule("@06:15:00 & wday('mon-fri') => VD.CarHeater:btn=2")-- Öka 1 timme
  	rule("@06:15:10 & wday('mon-fri') => VD.CarHeater:btn=2")-- Öka 1 timme
  	rule("@12:00:00 & wday('mon-fri') => VD.CarHeater:btn=3")-- Minska 1 timme
  	rule("@12:00:10 & wday('mon-fri') => VD.CarHeater:btn=3")-- Minska 1 timme
Gör jag så här så "trycker" den på knappen 2 ggr men det går för fort så HC:n registrerar bara 1 tryckning.

Code: Select all

rule("@06:15:00 & wday('mon-fri') => VD.CarHeater:btn=2; VD.CarHeater:btn=2 ")-- Öka 2 timme
Finns det någon smartare lösning?
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
jang
Medlem
Posts: 388
Joined: 05 Jan 2014, 00:44
10
Location: Stockholm

sonnyboy wrote: 18 Oct 2019, 10:21 Hösten blir kallare och kallare så nu måste motorvärmarstyrningen fixas.
Jag och gumman jobbar olika tider så jag skulle behöva automatisera lite gran.

Har en VD som jag använder flitigt till detta, men jag behöver ändra tiden med hjälp av ER,
det här funkar, men är inte så snyggt

Code: Select all

	rule("@06:15:00 & wday('mon-fri') => VD.CarHeater:btn=2")-- Öka 1 timme
  	rule("@06:15:10 & wday('mon-fri') => VD.CarHeater:btn=2")-- Öka 1 timme
  	rule("@12:00:00 & wday('mon-fri') => VD.CarHeater:btn=3")-- Minska 1 timme
  	rule("@12:00:10 & wday('mon-fri') => VD.CarHeater:btn=3")-- Minska 1 timme
Gör jag så här så "trycker" den på knappen 2 ggr men det går för fort så HC:n registrerar bara 1 tryckning.

Code: Select all

rule("@06:15:00 & wday('mon-fri') => VD.CarHeater:btn=2; VD.CarHeater:btn=2 ")-- Öka 2 timme
Finns det någon smartare lösning?
Ja, I ER får man inte göra fibaro:sleep för det stannar upp allt i scenen. Men, man kan använda kommandot wait(<tid>). wait stannar bara upp regeln den är i men låter andra regler fortsätta att köra.

Code: Select all

rule("@06:15:00 & wday('mon-fri') => VD.CarHeater:btn=2; wait(00:00:02); VD.CarHeater:btn=2 ")-- Öka 2 timme
...om nu 2s räcker mellan knapptryckningar, men det tror jag - kanske räcker med 1s?

wait(00:0:02) är samma som wait(2).
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
10
Location: Västerås

Snyggt tackar, funkade direkt, ändrade till 1 sek och det fungerade det med :D :D :D
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
MastrUsr
Medlem
Posts: 202
Joined: 25 Apr 2017, 07:24
6

Hej!
Efter att ha fattat att man skulle lägga till "ER" framför _version så fick jag scenen att atuouppdatera! Snyggt!
Däremot så får jag detta felet och kan inte lista ut varför (scenen uppdateras oavsett). Notera att detta är en nästan helt standard scen med endast några få ändringar...
Felet är vid 15:15:55.
Jag fick det först i både ZeroBrane och i HC2. Jag gick in på github och tog en äldre version (B68) och efter det så finns inte felet kvar i ZeroBrane men det kommer oavsett i HC2.

Code: Select all

[DEBUG] 15:15:54: Posting {"type":"%timeDiffLoop%"} at Fri Oct 18 15:15:54
[DEBUG] 15:15:54: ER3 - EventRunner vnil B70
[DEBUG] 15:15:54: Fibaro software version: 4.530
[DEBUG] 15:15:54: HC2 uptime: 67 hours
[DEBUG] 15:15:54: Sunrise 07:45, Sunset 17:59
[DEBUG] 15:15:54:
[DEBUG] 15:15:54: Loading rules
[DEBUG] 15:15:54: Rule:1[@@00:00:10 => f=!f; || f >> log('Ding!') || true >> log('Dong!')] = OK
[DEBUG] 15:15:54: Catching up:Rule:2[@{06:00,catch} => Util.checkVersion()]
[DEBUG] 15:15:54: Rule:2[@{06:00,catch} => Util.checkVersion()] = OK
[DEBUG] 15:15:54: Rule:3[#ER_version => log('New ER version, v:%s, fix:%s',env.event.version,env.event.fi...] = OK
[DEBUG] 15:15:54: Rule:4[#ER_version => log('...patching scene'); Util.patchEventRunner()] = OK
[DEBUG] 15:15:54:
[DEBUG] 15:15:54: Scene running

[DEBUG] 15:15:55: Error in 'Rule:2[@{06:00,catch} => Util.checkVersion()]': /opt/fibaro/scenes/91.lua:2320: attempt to call field 'HTTPClient' (a nil value)

[DEBUG] 15:15:55:
[DEBUG] 15:15:55: Line 2318:--------- Auto patch ---------------
[DEBUG] 15:15:55: Line 2319: function Util.checkVersion(vers)
[DEBUG] 15:15:55: Line 2320:>>> local req = net.HTTPClient()
[DEBUG] 15:15:55: Line 2321: req:request("https://raw.githubusercontent.com/jangabrielsson/EventRunner/master/VERSION.json",
[DEBUG] 15:15:55: Line 2322: {options = {method = 'GET', checkCertificate = false, timeout=20000},
[DEBUG] 15:15:55:
[DEBUG] 15:15:55: Ding!
[DEBUG] 15:15:56: Posting {"type":"%timeDiffLoop%"} at Fri Oct 18 21:15:56
[DEBUG] 15:16:04: Dong!

Edit: Jag kan passa på att fråga också vad det är tänkt att "_SPEEDTIME = false" och "_MAXTIME = 24*2" i HC2.lua ska göra?
"_System.speed(false)" i "EventRunner3.lua"triggar "snabb emulator" men var sätter jag antalet timmar?


Edit2: När jag kör B70 i ZeroBrane får jag samma felmeddelande som jag beskrivit ovan...
jang
Medlem
Posts: 388
Joined: 05 Jan 2014, 00:44
10
Location: Stockholm

MastrUsr wrote: 18 Oct 2019, 15:21 Hej!
Efter att ha fattat att man skulle lägga till "ER" framför _version så fick jag scenen att atuouppdatera! Snyggt!
Däremot så får jag detta felet och kan inte lista ut varför (scenen uppdateras oavsett). Notera att detta är en nästan helt standard scen med endast några få ändringar...
Felet är vid 15:15:55.
Jag fick det först i både ZeroBrane och i HC2. Jag gick in på github och tog en äldre version (B68) och efter det så finns inte felet kvar i ZeroBrane men det kommer oavsett i HC2.

Code: Select all

[DEBUG] 15:15:54: Posting {"type":"%timeDiffLoop%"} at Fri Oct 18 15:15:54
[DEBUG] 15:15:54: ER3 - EventRunner vnil B70
[DEBUG] 15:15:54: Fibaro software version: 4.530
[DEBUG] 15:15:54: HC2 uptime: 67 hours
[DEBUG] 15:15:54: Sunrise 07:45, Sunset 17:59
[DEBUG] 15:15:54:
[DEBUG] 15:15:54: Loading rules
[DEBUG] 15:15:54: Rule:1[@@00:00:10 => f=!f; || f >> log('Ding!') || true >> log('Dong!')] = OK
[DEBUG] 15:15:54: Catching up:Rule:2[@{06:00,catch} => Util.checkVersion()]
[DEBUG] 15:15:54: Rule:2[@{06:00,catch} => Util.checkVersion()] = OK
[DEBUG] 15:15:54: Rule:3[#ER_version => log('New ER version, v:%s, fix:%s',env.event.version,env.event.fi...] = OK
[DEBUG] 15:15:54: Rule:4[#ER_version => log('...patching scene'); Util.patchEventRunner()] = OK
[DEBUG] 15:15:54:
[DEBUG] 15:15:54: Scene running

[DEBUG] 15:15:55: Error in 'Rule:2[@{06:00,catch} => Util.checkVersion()]': /opt/fibaro/scenes/91.lua:2320: attempt to call field 'HTTPClient' (a nil value)

[DEBUG] 15:15:55:
[DEBUG] 15:15:55: Line 2318:--------- Auto patch ---------------
[DEBUG] 15:15:55: Line 2319: function Util.checkVersion(vers)
[DEBUG] 15:15:55: Line 2320:>>> local req = net.HTTPClient()
[DEBUG] 15:15:55: Line 2321: req:request("https://raw.githubusercontent.com/jangabrielsson/EventRunner/master/VERSION.json",
[DEBUG] 15:15:55: Line 2322: {options = {method = 'GET', checkCertificate = false, timeout=20000},
[DEBUG] 15:15:55:
[DEBUG] 15:15:55: Ding!
[DEBUG] 15:15:56: Posting {"type":"%timeDiffLoop%"} at Fri Oct 18 21:15:56
[DEBUG] 15:16:04: Dong!

Edit: Jag kan passa på att fråga också vad det är tänkt att "_SPEEDTIME = false" och "_MAXTIME = 24*2" i HC2.lua ska göra?
"_System.speed(false)" i "EventRunner3.lua"triggar "snabb emulator" men var sätter jag antalet timmar?
Sorry, jag klantade mig när jag checkade in en version i morse och råkade definera bort 'net'...
Jag har pushat B71 med en fix.
MastrUsr
Medlem
Posts: 202
Joined: 25 Apr 2017, 07:24
6

Snabba fix!
För er som får problem med att scenen inte uppdaterar mer så var jag tvungen att ändra kodraderna 2290 till 2303.

Från:

Code: Select all

 local net = net.HTTPClient()
  Util.defvar('TimeDiff',0)
  Event.event({type='%timeDiffLoop%'},
    function()
      net:request("http://worldtimeapi.org:80/api/ip",{
          option = {method='GET',timeout=5000},
          success = function(resp)
            if resp.status==200 then Util.defvar('TimeDiff',json.decode(resp.data).unixtime-os.time()) end
            Event.post({type='%timeDiffLoop%'},'+/06:00')
          end,
          error = function(resp) print(resp.status) Event.post({type='%timeDiffLoop%'},'+/06:00') end
        })
    end)
  Event.post({type='%timeDiffLoop%'})
Till:

Code: Select all

  local _netTime = net.HTTPClient()
  Util.defvar('TimeDiff',0)
  Event.event({type='%timeDiffLoop%'},
    function()
      _netTime:request("http://worldtimeapi.org:80/api/ip",{
          option = {method='GET',timeout=5000},
          success = function(resp)
            if resp.status==200 then Util.defvar('TimeDiff',json.decode(resp.data).unixtime-os.time()) end
            Event.post({type='%timeDiffLoop%',_sh=true},'+/06:00')
          end,
          error = function(resp) print(resp.status) Event.post({type='%timeDiffLoop%',_sh=true},'+/06:00') end
        })
    end)
  Event.post({type='%timeDiffLoop%',_sh=true})
Last edited by MastrUsr on 18 Oct 2019, 15:42, edited 1 time in total.
MastrUsr
Medlem
Posts: 202
Joined: 25 Apr 2017, 07:24
6

@jang, vad det är tänkt att "_SPEEDTIME = false" och "_MAXTIME = 24*2" i HC2.lua ska göra?
"_System.speed(true)" i "EventRunner3.lua"triggar "snabb emulator" men var sätter jag antalet timmar?
jang
Medlem
Posts: 388
Joined: 05 Jan 2014, 00:44
10
Location: Stockholm

MastrUsr wrote: 18 Oct 2019, 15:21 Jag kan passa på att fråga också vad det är tänkt att "_SPEEDTIME = false" och "_MAXTIME = 24*2" i HC2.lua ska göra?
"_System.speed(false)" i "EventRunner3.lua"triggar "snabb emulator" men var sätter jag antalet timmar?
Jag håller på att gå över från att man ska sätta värden i HC2.lua och istället kunna göra det i sin scen (EventRunner.lua)

I början på sin scen kan man sätta max tid.

Code: Select all

if dofile and not _EMULATED then _EMULATED={name="EventRunner",id=99,maxtime=24} dofile("HC2.lua") end -- For HC2 emulator
maxtime är i timmar.
Man kan tyvärr inte ändra maxtime efter scenen har kört igång.

Sedan som du upptäckt så inuti main() så kan man sätta speedtime och lite annat.
Det är bra att wrappa det i "if _EMULATED then ...." så att inte _System funktionerna anropas när man flyttar över det koden till HC2.
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
10
Location: Västerås

Får något skumt i loggen har B71 installerat men loggen säger något annat.
är det jag som snurrat till det?

[DEBUG] 17:14:23: Villa Söderberg Axelsson - EventRunner v3.0 B71

[DEBUG] 17:14:23: Fibaro software version: 4.560

[DEBUG] 17:14:23: HC2 uptime: 508 hours

[DEBUG] 17:14:23: Sunrise 07:37, Sunset 17:37

[DEBUG] 17:14:24: [{"type":"ER_version"}]>>'Rule:2[#ER_version => phones.sonny:msg=log('New ER version, v:%s, fix:%s',env.event.ver...]'

[DEBUG] 17:14:24: New ER version, v:3.0, fix:B68

[DEBUG] 17:14:24: fibaro:call(phones.sonny,"sendPush","New ER version, v:3.0, fix:B68")

[DEBUG] 17:14:24: [{"type":"ER_version"}]>>'Rule:3[#ER_version => log('...patching scene'); Util.patchEventRunner()]'

[DEBUG] 17:14:24: ...patching scene

[DEBUG] 17:14:25: Patching scene to latest version
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
jang
Medlem
Posts: 388
Joined: 05 Jan 2014, 00:44
10
Location: Stockholm

sonnyboy wrote: 18 Oct 2019, 17:17 Får något skumt i loggen har B71 installerat men loggen säger något annat.
är det jag som snurrat till det?

[DEBUG] 17:14:23: Villa Söderberg Axelsson - EventRunner v3.0 B71

[DEBUG] 17:14:23: Fibaro software version: 4.560

[DEBUG] 17:14:23: HC2 uptime: 508 hours

[DEBUG] 17:14:23: Sunrise 07:37, Sunset 17:37

[DEBUG] 17:14:24: [{"type":"ER_version"}]>>'Rule:2[#ER_version => phones.sonny:msg=log('New ER version, v:%s, fix:%s',env.event.ver...]'

[DEBUG] 17:14:24: New ER version, v:3.0, fix:B68

[DEBUG] 17:14:24: fibaro:call(phones.sonny,"sendPush","New ER version, v:3.0, fix:B68")

[DEBUG] 17:14:24: [{"type":"ER_version"}]>>'Rule:3[#ER_version => log('...patching scene'); Util.patchEventRunner()]'

[DEBUG] 17:14:24: ...patching scene

[DEBUG] 17:14:25: Patching scene to latest version
Nej det var mitt fel. När jag checkar in en ny version måste jag också uppdatera en fil som heter VERSION.lua, och jag hade glömt det. Nu är det gjort.
PeterM5
Medlem
Posts: 64
Joined: 13 Jul 2016, 10:55
7

MastrUsr wrote: 18 Oct 2019, 15:21 Hej!
Efter att ha fattat att man skulle lägga till "ER" framför _version så fick jag scenen att atuouppdatera! Snyggt!
Är det såhär du menar,
local ER_version,_fix = "3.0","B68" -- Oct 13, 2019
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
10
Location: Västerås

PeterM5 wrote: 19 Oct 2019, 13:06
MastrUsr wrote: 18 Oct 2019, 15:21 Hej!
Efter att ha fattat att man skulle lägga till "ER" framför _version så fick jag scenen att atuouppdatera! Snyggt!
Är det såhär du menar,
local ER_version,_fix = "3.0","B68" -- Oct 13, 2019
Jag har så här
local _version,_fix = "3.0","B71" -- Oct 18, 2019


rule("@@06:00 => Util.checkVersion()") -- Check for new version every morning at 6:00
rule("#ER_version => phones.sonny: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...
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
jang
Medlem
Posts: 388
Joined: 05 Jan 2014, 00:44
10
Location: Stockholm

sonnyboy wrote: 19 Oct 2019, 13:30
PeterM5 wrote: 19 Oct 2019, 13:06
MastrUsr wrote: 18 Oct 2019, 15:21 Hej!
Efter att ha fattat att man skulle lägga till "ER" framför _version så fick jag scenen att atuouppdatera! Snyggt!
Är det såhär du menar,
local ER_version,_fix = "3.0","B68" -- Oct 13, 2019
Jag har så här
local _version,_fix = "3.0","B71" -- Oct 18, 2019


rule("@@06:00 => Util.checkVersion()") -- Check for new version every morning at 6:00
rule("#ER_version => phones.sonny: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...
från och med B71 ska det funka igen.
MastrUsr
Medlem
Posts: 202
Joined: 25 Apr 2017, 07:24
6

PeterM5 wrote:
MastrUsr wrote: 18 Oct 2019, 15:21 Hej!
Efter att ha fattat att man skulle lägga till "ER" framför _version så fick jag scenen att atuouppdatera! Snyggt!
Är det såhär du menar,
local ER_version,_fix = "3.0","B68" -- Oct 13, 2019
Du fick ju svar, men ja. Det är så jag menar + att man avkommenterar de tre (?) regler som har med update att göra!

Skickat från min SM-N960F via Tapatalk

User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Jag försöker få mina Aeon Minimote's att fungera i ER, men det funkar inte. Reglerna för KeyFob, som jag hittat fungerar inte heller. Så vad är det som är fel?
Nu kör jag separata scener för Minimote som ser ut så här...

Code: Select all

--[[ 
%% properties 
19 sceneActivation 
%% globals 
--]] 
local ButtonPressed = fibaro:getValue(19, "sceneActivation") 

if ( tonumber(ButtonPressed) == 1) then 
  fibaro:call(46, "turnOn")
  fibaro:debug("Minimote Button 1 Pressed Sovrum ON")
  
elseif ( tonumber(ButtonPressed) == 2) then
  fibaro:call(46, "turnOff")
  fibaro:debug("Minimote Button 2 Pressed Sovrum OFF") 

elseif ( tonumber(ButtonPressed) == 3) then 
  fibaro:call(135, "turnOn")
  fibaro:debug("Minimote Button 3 Pressed Lampa RH ON") 

elseif ( tonumber(ButtonPressed) == 4) then 
  fibaro:call(135, "turnOff") 
  fibaro:debug("Minimote Button 4 Pressed Lampa RH OFF") 

elseif ( tonumber(ButtonPressed) == 5) then
  fibaro:call(85, "turnOn")
  fibaro:debug("Minimote Button 5 Pressed Lampa YH ON")
  
elseif ( tonumber(ButtonPressed) == 6) then
  fibaro:call(85, "turnOff")
  fibaro:debug("Minimote Button 6 Pressed Lampa YH OFF")
  
elseif ( tonumber(ButtonPressed) == 7) then
  fibaro:call(181, "turnOn")
  fibaro:debug("Minimote Button 7 Pressed Hall ON")
  
elseif ( tonumber(ButtonPressed) == 8) then
  fibaro:call(181, "turnOff")
  fibaro:debug("Minimote Button 8 Pressed Hall OFF") 
else 
fibaro:debug("No response") 
I ER har jag försökt med detta, men jag får ingen respons alls i loggen.
Headern

Code: Select all

--[[
%% properties
%% events
19 sceneActivation (har även testat med 19 CentralSceneEvent)
%% globals
%% autostart 
--]] 
Deklarationen

Code: Select all

  minimote = {sov = 19, vard = 21},
Reglerna

Code: Select all

  rule("minimote.sov:central.keyId==1 => sovrum.lampa:on")  	-- Key 1 tänd sovrumslampan
  rule("minimote.sov:central.keyId==2 => sovrum.lampa:off")  	-- Key 2 släck sovrumslampan
  rule("minimote.sov:central.keyId==3 => arbetsrum.rh_dim:on")	-- Key 3 tänd lampa RH
  rule("minimote.sov:central.keyId==4 => arbetsrum.rh_dim:off")	-- Key 4 släck lampa RH
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
jang
Medlem
Posts: 388
Joined: 05 Jan 2014, 00:44
10
Location: Stockholm

RH_Dreambox wrote: 20 Oct 2019, 11:44 Jag försöker få mina Aeon Minimote's att fungera i ER, men det funkar inte. Reglerna för KeyFob, som jag hittat fungerar inte heller. Så vad är det som är fel?
Nu kör jag separata scener för Minimote som ser ut så här...

Code: Select all

--[[ 
%% properties 
19 sceneActivation 
%% globals 
--]] 
local ButtonPressed = fibaro:getValue(19, "sceneActivation") 

if ( tonumber(ButtonPressed) == 1) then 
  fibaro:call(46, "turnOn")
  fibaro:debug("Minimote Button 1 Pressed Sovrum ON")
  
elseif ( tonumber(ButtonPressed) == 2) then
  fibaro:call(46, "turnOff")
  fibaro:debug("Minimote Button 2 Pressed Sovrum OFF") 

elseif ( tonumber(ButtonPressed) == 3) then 
  fibaro:call(135, "turnOn")
  fibaro:debug("Minimote Button 3 Pressed Lampa RH ON") 

elseif ( tonumber(ButtonPressed) == 4) then 
  fibaro:call(135, "turnOff") 
  fibaro:debug("Minimote Button 4 Pressed Lampa RH OFF") 

elseif ( tonumber(ButtonPressed) == 5) then
  fibaro:call(85, "turnOn")
  fibaro:debug("Minimote Button 5 Pressed Lampa YH ON")
  
elseif ( tonumber(ButtonPressed) == 6) then
  fibaro:call(85, "turnOff")
  fibaro:debug("Minimote Button 6 Pressed Lampa YH OFF")
  
elseif ( tonumber(ButtonPressed) == 7) then
  fibaro:call(181, "turnOn")
  fibaro:debug("Minimote Button 7 Pressed Hall ON")
  
elseif ( tonumber(ButtonPressed) == 8) then
  fibaro:call(181, "turnOff")
  fibaro:debug("Minimote Button 8 Pressed Hall OFF") 
else 
fibaro:debug("No response") 
I ER har jag försökt med detta, men jag får ingen respons alls i loggen.
Headern

Code: Select all

--[[
%% properties
%% events
19 sceneActivation  (har även testat med 19 CentralSceneEvent)
%% globals
%% autostart 
--]] 
Deklarationen

Code: Select all

  minimote = {sov = 19, vard = 21},
Reglerna

Code: Select all

  
  rule("minimote.sov:central.keyId==1 => sovrum.lampa:on")  	-- Key 1 tänd sovrumslampan
  rule("minimote.sov:central.keyId==2 => sovrum.lampa:off")  	-- Key 2 släck sovrumslampan
  rule("minimote.sov:central.keyId==3 => arbetsrum.rh_dim:on")	-- Key 3 tänd lampa RH
  rule("minimote.sov:central.keyId==4 => arbetsrum.rh_dim:off")	-- Key 4 släck lampa RH
Ok, din remote använder 'SceneActivation' event, medan keyfob använder 'CentralSceneEvent' - så de fungerar olika.
För att komma åt SceneActivation's värde används :scene (samma som fibaro:getValue(id,'sceneActivation'))
Så du kan göra såhär

Code: Select all

%% properties
19 sceneActivation
%% events
%% globals
%% autostart 
--]] 
Deklarationen

Code: Select all

  minimote = {sov = 19, vard = 21},
Reglerna

Code: Select all

  rule("minimote.sov:scene ==1 => sovrum.lampa:on")  	-- Key 1 tänd sovrumslampan
  rule("minimote.sov:scene==2 => sovrum.lampa:off")  	-- Key 2 släck sovrumslampan
  rule("minimote.sov:scene ==3 => arbetsrum.rh_dim:on")	-- Key 3 tänd lampa RH
  rule("minimote.sov:scene ==4 => arbetsrum.rh_dim:off")	-- Key 4 släck lampa RH
  
Du skulle kunna spara några knappar genom att låta knapparna toggla lamporna

Code: Select all

  rule("minimote.sov:scene ==1 => sovrum.lampa:toggle")  	-- Key 1 togglar sovrumslampan
  rule("minimote.sov:scene ==2 => arbetsrum.rh_dim:toggle")	-- Key 2 togglar lampa RH
  
EDIT: hade lagt sceneActivation felaktigt under %% events istället för det korrekta %% value.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Code: Select all

 rule("minimote.sov:scene ==1 => sovrum.lampa:toggle")  	-- Key 1 togglar sovrumslampan
  rule("minimote.sov:scene ==2 => arbetsrum.rh_dim:toggle")	-- Key 2 togglar lampa RH
Stort tack @jang, nu fungerar det som det skall. Jag förstår bara inte varför konfigureringen är så annorlunda mot KeyFob, för den gör ju samma sak.
Och att toggla är ju fiffigt, men jag sparar egentligen inga knappar på det eftersom kort tryck tänder och långt tryck släcker.
Jag skulle iofs kunna använda långt tryck till andra funktioner, men det är tillräckligt jobbigt att hålla reda på fyra knappar :-)
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Post Reply