Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


Search the Community

Showing results for tags 'LUA'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • FIBARO Community
    • FIBARO Portal and Forum policy
    • FIBARO
    • Say hello!
    • Off-topics
  • FIBARO Update
    • FIBARO System Update
    • FIBARO Mobile Update
  • FIBARO Community Support
    • Scenes and Interface
    • FIBARO Products
    • FIBARO Mobile
    • FIBARO HomeKit
    • FIBARO Assistant Integrations
    • Other Devices / Third-party devices
    • Tutorials and Guides
    • Home Automation
    • Suggestions
  • FIBARO Społeczność
    • FIBARO
    • Przywitaj się!
    • Off-topic
  • FIBARO Aktualizacja
    • FIBARO System Aktualizacja
    • FIBARO Mobile Aktualizacja
  • FIBARO Wsparcie Społeczności
    • Sceny i Interfejs
    • FIBARO Urządzenia
    • FIBARO Mobilnie
    • FIBARO HomeKit
    • Integracja z Amazon Alexa i Google Home
    • Urządzenia Firm Trzecich
    • Poradniki
    • Automatyka Domowa
    • Sugestie

Categories

  • Scenes
  • Virtual Devices
  • Quick Apps
  • Icons

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Facebook


Google+


Skype


Website URL


WhatsApp


Country


Gateway/s


Interests

  1. Hi all Is there a fibaro killscene and startscene command similar to hc2? Thanks
  2. Dear All, I'm confused to run scene with or without "while true do" cycle to use scene all triggered command change. I have the following easy code without "while true do" to change the airfresh working status if the alarm system is on or off. Work without an problem, if the alarm system status ( thrue smart implant input ) is changed the wall plug of the airfresh also changed Here is the LUA code: --[[ %% autostart %% properties 34 value %% events %% globals --]] local alarm local airfreshId = 55; local airfreshStatus function airfresh() alarm = tonumber(fibaro:getValue(34, 'value')); airfreshStatus = tonumber(fibaro:getValue(airfreshId, 'value')); if ( alarm == 0 and airfreshStatus == 0 ) then fibaro:call(airfreshId, "turnOn"); elseif ( alarm == 1 and airfreshStatus == 1 ) then fibaro:call(airfreshId, "turnOff"); end; end; -- Main program airfresh(); And here is the similar LUA code when I need to switch on or off the bathroom electrical radiator heating. If I use this LUA code without "while true do" cycle and I change the termostat adjustment no any action happened. If I use the same code with "while true do" cycle this work perfect. --[[ %% autostart %% properties 28 value 29 value 281 value 272 value %% events %% globals --]] local thermostat -- id:28 radiator thermosztat local roomtemp -- id:29 room temperature local radiatorheatId = 54; -- id:54 radiator heating local heatingwater -- id:281 boiler heating water temp local heatingwaterpump -- id:272 heating water pump local tempswitch = true; function radiator() thermostat = tonumber(fibaro:getValue(28, 'value')); roomtemp = tonumber(fibaro:getValue(29, 'value')); heatingwater = tonumber(fibaro:getValue(281, "value")); heatingwaterpump = tonumber(fibaro:getValue(272, "value")); if ( (roomtemp - thermostat) >= 0 ) then tempswitch = false; else tempswitch = true; end; if ( ( tempswitch == true and heatingwater < 30 and heatingwaterpump == 0 ) ) then fibaro:call(radiatorheatId, "turnOn"); else fibaro:call(radiatorheatId, "turnOff"); end; end; -- Main program while true do radiator(); fibaro:sleep(60000); -- Wait 1 minute end; Can you please advise why I need to run while true do cycle in the 2nd program, if the 1st program run without this cycle perfect ? Thank you
  3. Hello, I'm interested to learn more about scripting to automate the home with HC3. Which "languages" would you recommend to learn? I know there is documentation about LUA on manuals.fibaro.com, but I don't have any "programming skills" yet. So that a step to far for me at the moment. I also found this app https://getmimo.com/ (not sponsored content), maybe this is something easy to understand the basics. Let me know if you have any other suggestion!
  4. Hi guys I ask for Lua scene to control the lights automatically into star's by motion detection bt problem not for that The problem is I want that scene work between 6 pm to 7am and if motion detection don't detect any move then turn off light after 20 minutes Any one hare can help my to do that And Thanks for every one
  5. I use the following code and it gives me nicely a table of devices when applied in a scene, however when I apply it in Main of a VD, it returns null. Anyone a suggestion ? local data = { args = { 1 }, filters = { { filter = "hasProperty", value = { "power" } } } } local devices = fibaro:callGroupAction("deviceID", data)
  6. can someone help me? I am trying to create a scene that checks to see if a variable changes. if variable x=1 don't check variable (do nothing) but if variable x=0 then continuously search to see if a variable x changes from 0 to 1 then the loop stops until variable x changes to 0 again. *yes there is another scene that will change it from 0 to 1. *Edit, I figured this out.
  7. Hi Everyone, Since a couple of weeks im trying to learn a bit about Lua programming. At the moment im struggling to find an answer to my problem. To switch floor heating pump i used a power plug on my central heating boiler to measure the power usage to turn on the power of the floor heating pump (also a power plug). First i made a simple block scene which worked fine at first but now i found out that also when im using tap water the central heating boiler is using a significant amount of power. so the idea is to use the living room temp. sensor and the power measurement of the central heating boiler to switch the floor heating pump. Since the margin is very small im trying to do a double check so check if the conditions match, sleep for 3 minutes and check the conditions again before powering off. This is a bit of the code i used but get a error. if (PowerCV <'1') and (PompStatus >'1') then fibaro:debug('wacht 3 min voor uitschakelen') fibaro:sleep(10000) fibaro:debug(' 3 min later') and (PowerCV <'1') and (PompStatus >'1') then fibaro:call(191, "turnOff") fibaro:debug('Pomp staat nu uit') end it seems like im not able to check another set of conditions after the "sleep". is there a way to do this? all help is appreciated. thank!
  8. I have a scene that gets the sunrise and sunset for the day. I recently noticed that both sunrise and sunset times are not correct. They are about 30min - 1 hour off from what they should be. has anyone else seen this issue? Does anyone know if fibaro is going to fix it? @T.Konopka
  9. I have come across several Fibaro LUA functions that do not seem to be documented in the available Fibaro LUA manual. Here are a few examples: fibaro:getName(id) fibaro:getRoomNameByDeviceID(id) The use of formatting codes in fibaro:debug("text") And fibaro:call(id, "sendPush", "text..") and similar commands for e-mail etc. I have successfully used all of these and probably more. I am sure there are still more functions/calls out there which are only known from scenes published on the forum. Is there a more complete documentation available? Has anyone collected these semi-secret functions into a private document that may be shared?
  10. Guys, i simple need to send this command using a VD: Button1: PUT http://admin:[email protected]/ISAPI/ContentMgmt/record/control/manual/start/tracks/101 Button2:PUT http://admin:[email protected]/ISAPI/ContentMgmt/record/control/manual/stop/tracks/101 How can i do? Do u have some example? There ia also a way to check the status of the command? Regards Gianluca
  11. Hi Everyone v 2.6 now available for users that have the SMsgH installed Three offerings - Please read below to see which is right for you 1) WWWAPI Monitor {v1.0} - New (Mar8th) - vd that monitors only availability of the internet with option for sonos-api device. (leverages Smart Message Hub {v1.0} 2) Network Device Monitor VD {v2.5} - vd that can monitor several + devices and has built-in alert notification options (pushover/pc2popup/hc2email/allinone) or 3) Network Device Monitor VD {v2.6} - vd that can monitor several + devices and deigned to be used with the recently released Smart Message Hub {v1.0} Regards [Autofrank] LAN Monitor / Network Device Monitor {v2.6} ------ to be used with Smart Message Hub {v 1.0} Modified to to be used with Smart Message Hub - Label check removed to simplify virtual device 4 simple steps to upgrade from v2.5 to v2.6 Import the new virtual device Configure your SendMsg preferences Copy your v2.5 jsonNetwork table to v 2.6 and set UpdateData to 'true' Set UpdateData to 'false' and that's it !! LAN Monitor / Network Device Monitor {v2.5} ------ has built in Notification Services The main difference between 2.0 and 2.5 are the following Virtual Device ONLY - ( no need for separate scene, table updates are now done through VD) Global variable table is created automatically created for new users Added HC2 Popup service as an extra notification option The following features are still available Individual LAN devices can be marked for Alert Alert Notification options configurable for HC2 email (default), pushover, or ALLINONE (@jompa68) One Alert will be received when device goes offline and another when it comes back online Online/Offline status is captured in global table that can be used to trigger other events Debug routine called vdCheck will verify that correct quantity of vd labels and format was setup Status/Error/Check feedback through the virtual device log console as visible through the Web UI I use this to monitor Internet, Unifi Security Gateway, HC2, Sonos API (pi), TV's, Sat Box, Apple TV, Droid Box, Alarm Panel, Alarm Gateway, Syn NAS Global cache device, Cameras, Tablets, Sonos players, Access points and phones. Alerts setup for Internet, USG, Sonos API, Access points, cameras, Sonos players, Alarm panel, alarm gateway and NAS. There are some nuances with some devices such as TV's and Phones. Open Ports of some devices that were shared by users Internet google (port 80) Sonos players/zone (port 1400) Sonos API (port 5005 or 5006) Raspberry Pi Hosting API (port 22) iPhone Port (port 62078) Smarter coffee maker (port 2081) Smarter iKittle (port 2081) Philips TV 47PFL5000 (port 1925) Foscam cameras (port 88) NAS Netgear U6 (port 80) Global cache GC100-12 (port 21) Humax FoxSat satellite receiver(port 80) Apple TV Gen 3 (port 5000) NPET MXQ Pro TV Box - Android 5.1 (port 7002) Sony TV’s (port 80) Samsung TV (port 8080) Synology NAs DS415Play (port 80) SPC Gateway (port 80) Siemens Alarm Panel (port 443) HKVision IP Camera (port 80) Unifi security Gateway (port 80) Unifi UniFi AC LR Access Point (port 22) Samsung Galaxy S6 / S7 (port 5060) Samsung Tablet (port 5060) Generic Android Tablets (port 5060) Airport Express and Airport Extreme (port 5009) Amazon Echo Dot and Fullsize Echo (port 4070) == INSTALLATION: Upgrading from 2.0 == - Import the LAN Monitor 2.5 VD and copy in device table from Update Network Table 2.0 - Run VD with updateData = "true" to update the Network table (default setting is false) - Run VD with updateData = "false" to operate in normal mode - Update notification and frequency of update options == INSTALLATION: First Time Users == STEP 1 - Import the LAN Monitor 2.5 virtual device - Populate the device table. Device, ip, port and enter alert = "1" for device notification - alert is user configurible per device - alert = 1 (enable alerts - alerts sent if it goes offline or comes back online ) - alert = 0 (disable alerts for this device) - Select the notification options - Run VD with updateData = "true" to populate the device table - Run VD with updateData = "false" to operate in normal mode Step 2 (optional) - create labels to display device status in VD - Create one label for each device in the global variable table, use the default ID - Label1, Label2, etc. - Enter Label Names (1, 2, 3, etc) to match order order of devices in Table (devices can be skipped but ID's must match) - Select Main label to display one device when observing through Web UI - If you want to use all labels you can use Set vdCheck = "true" to confirm correct quantity and format of labels. == FILES == Use the version if you don't have Smart Message Hub installed >> Network device Monitor VD {v2.5} ------------> LAN_Monitor_2.5.vfib Use this version if you HAVE Smart Message Hub installed >> Network Device Monitor VD {v 2.6} -----------> LAN_Monitor_2.6.vfib Thanks to @jompa68 , @petergebruers , @sonnyboy and @boerremk for their input Regards -f
  12. Witam, Od wczoraj zmagam się z problemami z HC2. Sceny nie uruchamiają się automatycznie. Miałem wcześniej dużo działących już scen i dopisałem wczoraj nową i przestało działać. Robiłem kilka restartów i nic. Nie widziałem, żeby firmware się aktualizował. Obecna wersja to 4.530. Jeśli odpalę sceny ręcznie to zadziałają, więc kod jest poprawny. Jakieś pomysły?
  13. The documentation on Fibaro LUA states that the call fibaro:get(deviceID, property) "gets the latest data (value and time of last modification) of the device properties". The similar call fibaro:getValue(deviceID, property) is said to "get the current value of the device (deviceID) property". Apart from the difference that the first call may also retrieve the time of last modification, they seem to do identical jobs. I have seen, however, (I forget where) that the wording latest and current is significant. Am I right that the fibaro:get call retrieves its value from the latest value stored in the HC2, while the fibaro:getValue call retrieves it directly by a call to the device? If so, it is worth knowing when making a choice between the two, and the documentation could have been clearer. My specific reason for asking, is that I have a Fibaro door/window sensor, where the temperature measurement has been unchanged for several days, which is unlikely. In a small test script I used both the get and the getValue calls, and they returned identical values. The call used was simply fibaro:getValue(520, "value") and similarly for get. Time of last modification confirms that the value has not been changed for 215 000 seconds (60 hours). If communication had been lost with this device, would it not refuse to return a value from the getValue call? Or does it use the stored value if the device is unresponsive?
  14. Tried to combine two converted blok scenes to one, but now it wont trigger... Any suggestions ? ------------------------------------------------------------------------------------------------------------------------- --[[ %% autostart %% properties %% weather %% events %% globals --]] local sourceTrigger = fibaro:getSourceTrigger(); local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "04:00") ) or ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "15:00") ) ) then fibaro:setGlobal("reclameverl", "1"); fibaro:debug("var reclverl set to 1") fibaro:sleep(60*1000) elseif ( ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "09:00") ) or ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "18:00") ) ) then fibaro:setGlobal("reclameverl", "0"); fibaro:debug("var reclverl set to 0") fibaro:sleep(60*1000) end ---------------------------------------------------------------------------------------------------------------------------------------------------- I,m hoping someone can give me a hint.... Gary set var reclverl.lua
  15. Hi could some explain to me what kind of variable or syntax this command needs fibaro:call(ID_RGB_CONTROLLER, "setColor", "0", "255", "0", "0") If i define local R_value = 255 fibaro:call(ID_RGB_CONTROLLER, "setColor", R_value, "255", "0", "0") "R_value" is not defined. The command fails. I tried character and single numeric, global and local etc. or do i have to use a table for all of the 4 values? I didn't find an example. Thanks Gerhard
  16. Hi could some explain to me what kind of variable or syntax this command needs fibaro:call(ID_RGB_CONTROLLER, "setColor", "0", "255", "0", "0") If i define local R_value = 255 fibaro:call(ID_RGB_CONTROLLER, "setColor", R_value, "255", "0", "0") "R_value" is not defined. The command fails. I tried character and single numeric, global and local etc. or do i have to use a table for all of the 4 values? I didn't find an example. Thanks Gerhard
  17. Cześć wszystkim! Jestem nowy na forum i nowy w temacie LUA. Walczę i szukam po forum od dłuższego czasu. Wiele problemów już rozwiązałem, ale ten zalazł mi konkretnie za skórę i potrzebuję pomocy ? Mam scenę, która ma działać zależnie od obecności w biurze. 3 czujniki po naruszeniu zaczynają odliczać czas i jeśli zostaną naruszone ponownie, odliczają od początku. Jeśli odliczą do zera to wyłączają światła i inne rzeczy. Oznacza to, że nikogo w biurze już nie ma. Kolejne naruszenie któregoś z czujnika wywołuje efekt odwrotny, czyli wszystko się włącza. Jest jednak jeden wyjątek, którym jest jeden z laptopów, którego nie obejmuje żaden czujnik. Jest on podpięty przez wallpluga i daje informację o zużyciu energii ~10W. Niestety nie umiem ustawić, aby po wyłączeniu laptopa scena zaczynała odliczać czas. Cały czas, bez względu na to czy jest on włączony czy nie, licznik stoi na maksymalnej wartości i nie zaczyna odliczania w dół. Zaczyna to odliczanie dopiero gdy zmieniłem wartość z "power" na "value" i dałem > 0 czyli włączony wallplug. Na ten moment działa to w ten sposób, czyli wnioskuję, że pozostałe elementy sceny są poprawne. Mimo wszystko nie zadowala rozwiązanie, w którym trzeba wyłączyć wallplug, żeby licznik zaczynał odliczać obecność w biurze. Pomocy, kod poniżej --[[ %% autostart %% properties 70 value 657 value 694 value 775 value %% events %% globals --]] --funkcje local czujnikbiuro = (tonumber(fibaro:getValue(70, "value")) > 0); local czujnikwejscie = (tonumber(fibaro:getValue(657, "value")) > 0); local czujnikmagazyn = (tonumber(fibaro:getValue(694, "value")) > 0); local delay = 600 --włączanie zmiennej PRACA = ON if czujnikbiuro or czujnikwejscie or czujnikmagazyn then fibaro:setGlobal("PRACA", "ON"); fibaro:debug("Witaj w salonie Fibaro"); end --uruchamianie pracy if fibaro:getGlobalValue("PRACA") == "ON" then fibaro:call(46, "open"); fibaro:debug("Zasłona została otwarta"); fibaro:startScene(349); fibaro:debug("Muzyka gra przez głośnik Sonos"); fibaro:startScene(530); fibaro:debug("Automatyczne działanie ekspozycji LED włączone"); fibaro:call(16, "turnOn"); fibaro:call(15, "turnOn"); fibaro:call(17, "turnOn"); fibaro:debug("Profile LED nad stołem zostały włączone"); fibaro:call(376, "setValue", "70"); fibaro:debug("AmstLED ustawiony na 70 procent"); fibaro:call(177, "turnOn"); fibaro:debug("Telewizor włączony"); fibaro:call(420, "turnOn"); fibaro:debug("Lampa nad TV włączona"); end --utrzymywanie stanu włączonego przez 10min bezruchu if fibaro:getGlobalValue("PRACA") == "ON" then local turnOffTime = os.time() + delay while turnOffTime > os.time() do if (tonumber(fibaro:getValue(657, "value"))) > 0 or (tonumber(fibaro:getValue(694, "value"))) > 0 or (tonumber(fibaro:getValue(70, "value"))) > 0 or (tonumber(fibaro:getValue(775, "value"))) > 0 then turnOffTime = os.time() + delay end fibaro:debug("zwłoka: "..tostring(turnOffTime - os.time())) fibaro:sleep(5000) end end --wyłączanie pracy po 10min bezruchu fibaro:call(46, "close"); fibaro:call(16, "turnOff"); fibaro:call(15, "turnOff"); fibaro:call(17, "turnOff"); fibaro:call(681, "turnOff"); fibaro:call(376, "turnOff"); fibaro:call(177, "turnOff"); fibaro:startScene(352); fibaro:debug("Do widzenia");
  18. This is not a question but a small contribution, if anyone should be interested. The task was this: How can I control indoor ventilation to avoid temperature/humidity combinations that risk growth of mold or mildew? The first trick was to find a simple formula for this risk zone. I used a calculator in www.dpcalc.org which indicates risk/no risk for a given temp/hum combination. Testing this for realistic values for normal indoor or basement use, I found this simple linear correlation would work: Humidity limit (%) = 91.2 - 1.184 * temp For temp>22 the limit is set constant at 65 %. Temperature is in degrees C. Example: If the temperature is 10 C, the relative humidity should stay below 79.4% to avoid the risk of mold growth. Assuming you have one or several ventilation fans, and one or several temperature/humidity measurements, you can use this to start the fans when the humidity level exceeds the limit. Alternatively, you can increase the set point for a relevant heater, to increase temperature and reduce relative humidity in the room. A push warning to the owner could also be included. I have chosen to only start the ventilation fans, and I include a small LUA script to achieve this. My temperature/humidity measurements are from two Aeotec Multi6 units, but any such sensor may be used. Feel free to implement any part of this script to suit your purpose. Please share here if you use these ideas in other ways or have related ideas yourself. Moldfan_demo.lua
  19. Hi, I am very confused by the functioning and documentation of "startLevelIncrease" that was made available a while ago. It is not documented, I think, outside of the release notes for the release, but the description there was: Ok, so I assume that devices with this call available in the interface when making a Lua scene will work for this. I also assume, since the documentation is a bit vague here, that the first optional parameter gives a time in milliseconds (usually the case) in which the change should have occurred, and a starting level. So, this code should dim up a light from 0 in 30 seconds then: fibaro:call(24, "startLevelIncrease",30*1000,0) But it does not. It dims in just about one second, and it does not matter att all what you specify in the third parameter. Trying it with a TKB plug in dimmer, which makes the call available in the Fibaro lua scene editor (so I guess it should work?)
  20. Hi everyone, is there any way how to obtain (access) information from HC2 heating schedules in LUA scripts? I need to work with information about what temperature and when it is going to be set in some particular rooms. I can workaround this by making heating schedules sort of static and completely overpass heating panel in HC2, but that would be a bit contra productive, right? Thanks Edit: BTW my first post here, so please be gentle
  21. Several posts on this forum recommend including a check in LUA scenes to ensure that only one instance of the scene is currently running. The recommended code is similar to this: if fibaro:countScenes() > 1 then scenes = fibaro:countScenes() fibaro:debug(os.date("%d %b").." Scenes active "..scenes) fibaro:abort(); end The main panel for each scene, however, includes a parameter controlling max. running instances: Why is it necessary to include the extra code, if this parameter already limits the scene to one active instance? Is it only to get the explicit warning from the fibaro:debug() command?
  22. Is there a way to get the user ids of the Home Centre, either manually through the UI or using Lua? If anybody has any pointers on how to use users in Lua that would help. At the moment I'm just trying to add them to a JSON table, but I would also like to use the user ids in code maybe. Thanks in advance.
  23. Witam Mam prośbę, czy mógłby mi ktoś rzucić okiem na kod pętli głównej urządzenia wirtualnego? Mianowicie chodzi o to, że urządzenie działa poprawnie, służy do sterowania klimakonwektorem, jednak nie wyświetla mi stanu poszczególnych elementów na etykietach. Co zrobiłem źle w kodzie pętli głównej? klima_salon_2(1).vfib
  24. Version 20180525

    311 downloads

    20180525 (Stable) release Added/Changed: - Added some code to the mainloop to detect critical error occurring when a device is forced-removed [ERROR] line 195: attempt to perform arithmetic on a nil value
  25. I have created different scenes in the block scene editor. These are all working except for the one that should do the following: 1. When I arm the alarm, the door sensor is armed. 2. When I open the door it should give me 10 seconds before the alarm goes off. 3. If I disarm the alarm, therefore disarm the door sensor within 10 seconds the alarm should not go off. This all works fine with a minor detail: if I shut the door within 10 seconds the alarm does not go off, while it should go off unless I have disarmed the alarm. I have tried the following block scene: First I tried stating at the device that if it's armed and breached it should trigger and I put a 10 second delay at the end. That did not work. Then I tried the above method checking if the door is device is triggered while armed and breached AND if after 10 seconds the device is NOT disarmed. By the way I also tried the statement if after 10 seconds it IS armed. Both with the same result: If I close the door quickly enough, I'm inside and the alarm is not triggered. Then I thought that maybe it just does not work that well within the block scenes. So I transfered it to LUA (automatic method by Fibaro). The LUA code I get, looks horrendous though. I'm not a developer, but this does not look as very well written code to me. --[[ %% properties 200 value 200 armed %% weather %% events %% globals --]] local startSource = fibaro:getSourceTrigger(); if(startSource["type"] == "other") then fibaro:call(49, "turnOn"); fibaro:call(104, "turnOn"); fibaro:startScene(12); fibaro:call(203, "sendDefinedPushNotification", "4"); fibaro:call(207, "sendDefinedPushNotification", "4"); setTimeout(function() fibaro:call(49, "turnOff"); fibaro:call(104, "turnOff"); end, 900000) else if (( (tonumber(fibaro:getValue(200, "value")) > 0 and tonumber(fibaro:getValue(200, "armed")) > 0) ) and ( tonumber(fibaro:getValue(200, "armed")) ~= 0 )) then local delayedCheck0 = false; if ( (tonumber(fibaro:getValue(200, "value")) > 0 and tonumber(fibaro:getValue(200, "armed")) > 0) ) then delayedCheck0 = true; end setTimeout(function() local delayedCheck1 = false; local tempDeviceState1, deviceLastModification1 = fibaro:get(200, "value"); if (( tonumber(fibaro:getValue(200, "armed")) ~= 0 ) and (os.time() - deviceLastModification1) >= 10) then delayedCheck1 = true; end local startSource = fibaro:getSourceTrigger(); if ( ( delayedCheck0 == true and delayedCheck1 == true ) or startSource["type"] == "other" ) then fibaro:call(49, "turnOn"); fibaro:call(104, "turnOn"); fibaro:startScene(12); fibaro:call(203, "sendDefinedPushNotification", "4"); fibaro:call(207, "sendDefinedPushNotification", "4"); setTimeout(function() fibaro:call(49, "turnOff"); fibaro:call(104, "turnOff"); end, 900000) end end, 10000) end end So here I am, with the big question to you out there: is there anyone who has this working and what code do you have?
×
×
  • Create New...