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!



Smart Home Forum by FIBARO Team

All Activity

This stream auto-updates     

  1. Past hour
  2. Trigger 'sceneActivation' will not be reseted. If you activate the same scene twice in a row (for example a single click). Then it will not activated the scene again. only the first call. Scene trigger: conditions = { { type = "device", id = 68, property = "sceneActivation", operator = "anyValue", isTrigger = true, } }, operator = "all" } Scene action: local test1 = json.encode(sourceTrigger) print(test1) print('value ='..tostring(sourceTrigger.value)) View (after several clicks): [25.09.2020] [01:14:58] [DEBUG] [SCENE47]: {"id":68,"type":"device","value":16,"property":"sceneActivation"} [25.09.2020] [01:14:58] [DEBUG] [SCENE47]: value =16 If I do the same thing in a quickApp loop, the last called value 16 (single click) will be displayed several times. And in a QuickApp (it's also strange not to call BttnPressed.value ??): local BttnPressed = fibaro.getValue(68, "sceneActivation") self:debug('sceneActivation value is '..tostring(BttnPressed)) View: [25.09.2020] [01:29:18] [DEBUG] [QUICKAPP131]: onInit [25.09.2020] [01:29:19] [DEBUG] [QUICKAPP131]: sceneActivation value is 16 [25.09.2020] [01:29:20] [DEBUG] [QUICKAPP131]: sceneActivation value is 16 [25.09.2020] [01:29:21] [DEBUG] [QUICKAPP131]: sceneActivation value is 16 [25.09.2020] [01:29:22] [DEBUG] [QUICKAPP131]: sceneActivation value is 16 [25.09.2020] [01:29:23] [DEBUG] [QUICKAPP131]: sceneActivation value is 16 [25.09.2020] [01:29:24] [DEBUG] [QUICKAPP131]: sceneActivation value is 16 This shows that it will not be reset. Is there a method that can call to reset it to nil? Now I can't use this function because you can't use the same click twice in a row?
  3. Thank you, Frank, for the detailed reply! I'll follow up with my results.
  4. Today
  5. @gggizmo I hope you still married ...👍 Any performance improvements on latest versions? Thanks for your support and cooperation...
  6. @Rover (and others) Attached emulation QA for binary sensor, just fill the data in main. (ip,user,passwd,device and sampleRate) The QA will emulate binary sensor of your HC2/HCL as standard sensor on HC3 This is not necessary for AOQ ( AOQ can work directly with HC2/HCL but if you need to test some Lua/Block scenes before migration. This is simpler solution than jgab's [email protected] Please used as binarySensor (motion sensor) only. Let me know if it helpful and any other emulation required (like switch, dimmers and etc...) Note: sampleRate is in milliseconds and means time between readings to update QA value binarySensor.fqa
  7. Is it correct that a profile such as a picture is controlled? fibaro.profile('activateProfile',Away=2) Is there any er4 instruction that can utilize this??
  8. Hello! Has anyone used Aeotec Siren 6 or Devolo Siren with HCL; Are any of these devices compatible with HCL?
  9. @Decorpc group doesn't work in the last firmware, you have to do it one by one (or wait for next fw version)
  10. not using Fibaro controller anymore but still use BlueIris
  11. I have same on HC2 - still no resolution 1/10 of scenes is visible...
  12. that is a mystery, only other suggestion i can make is to do a soft reconfiguration on the device. and try again. i have found a few dimmer 2 modules are not saving their parameters correctly.
  13. Hi, You may start your investigation from reading your system logs. Unfortunaly the option is no longer work in 4.600 firmware due to error in script. So you will need to flash custom recovery image, and then custom fw (with ssh password login enabled)
  14. I have the user-manual open when choosing 26(1), 24(2), 25(3). My switch-type is momentary switch. The issue here is that S2 is not sending 26/24/25 code/command... So HC3 is receiving the wrong code/command. Also 3 times is not sending anything at all. Its a mystery... have contacted FIbaro support also, but seems like they have long response-time.
  15. As far as i remember it was: GND -> GND of UART Tx -> Rx of UART Rx -> Tx of UART From up to down as shown on the photo above. Port setup is: 115200 N 8 You may use any serial terminall applicetion, but I sugest to try TeraTerm.
  16. Hi everyone, I'm recently playing a lot with QuickApps, but im finding it difficuilt around choosing best types for my VDs. Is there a site, a document or any resource that would explain me list of all possible device types I can use for my VDs? Resource that explains the purpose, how it's presented in HC3, how it's presented in mobile app, how I can use it in scenes and so on.. Im asking because I'm spending way too much time experimenting with types and i'm pretty sure someone got this covered. This would not be a big pain if not the fact that im using couple files to build QuickApps and is not just matter of copy and paste to a new device.
  17. in ER4. arming and alarms work differently from ER3 and the HC2. We arm alarm partitions. Alarm partitions have names and ids. There is a new function/property :alarm in ER4. Ex. <partition id>:alarm will return the partition structure for partition with id 1 rule("log('Partition 1:%s',1:alarm)") will print out the structure. rule("log('Partition 1 armed:%s',1:alarm.armed)") rule("log('Partition 1 breached:%s',1:alarm.breached)") Will print the armed and breached status of partition 1 rule("1:alarm=true; log('Partition 1 armed')") rule("1:alarm=false; log('Partition 1 disarmed')") Will arm/disarm partition 1. An id of 0 will enable/disable all partitions. One fields of a partition structure is '.devices' that is an array of all devices that belong to a partition. This means that we can do this rule("log('Is all devices in partition 1 safe? = %s',1:alarm.devices:safe)") rule("log('Is any devices in partition 1 breached? = %s',1:alarm.devices:breached)") and we also get triggers when partitions are enabled/disabled and breached....
  18. Thanks for remind me.. my bad. No I don't want to share them...
  19. Well, you can trigger on profile changes. When a profile is activated a trigger is posted #profile{value=<profileId>} So you can trigger like this rule("#profile{value='$id'} => log('Profile %s is activated',id)") So, you could activate and deactivate a set of rules depending on what profile is activated profile_1_rules = { -- Rules associated with profile 1 rule("@07:00 => log('Ping')"), rule("@sunset-00:10 => log('Pong')") } self.EM.disable(profile_1_rules) -- disable rules at startup profile_2_rules = { -- Rules associated with profile 2 rule("@08:00 => log('Ping')"), rule("@sunset => log('Pong')") } self.EM.disable(profile_2_rules) --disable rules at startup rule("#profile{value=1} => enable(prof1_rules); disable(prof2_rules) ") -- Enable rules associated with profile 1 (and disable 2) rule("#profile{value=2} => enable(prof2_rules); disable(prof1_rules) ") -- Enable rules associated with profile 2 (and disable 1) rule("post(#profile{value=QA:activeProfile()})") -- Post current profile at startup so that we enable the right rules
  20. Hi everyone. One simple question, but I don't solve it I have 4 ligths into the same room. I wnat to make a scene were the four lights goes off. Into the scenes tab in HC3 have cevices and groups, but I don't know how to group, for example, the 4 lights into one group.... Can someone help me? THank you very much
  21. fibaro should go with pure python or c or any other lang that is not lua.... even php will be better... why they choose lua ... dont know... more - bash - for 99% ppl will be simple enough without lua stupidity HC2 - no stupid splitted window for lua. And HC3 - why splitted window ? for what ? do You have splitted windows when you open any file and you want to programm something ? in any language ? so you edit two files ? seriously ?
  22. Ooops. I have almost for gotten that your codes are in the AOQ. I suppose you don't want to share it this way.
  23. Hi, How you connect(what is pinout )? what command do you used?
  24. After the Covid if you want the have a vacation in Hungary, feel free to contact me. My wife's goulas has no match.
  25. here is met no weather provider also you may simple send weather forecast from this device: 7AM { conditions = { { type = "date", property = "cron", operator = "match", value = {"00", "7", "*", "*", "*", "*"}, isTrigger = true } }, operator = "any" } if dofile and not hc3_emulator then require("fibaro") hc3_emulator = {startWeb = false, speed = 1} dofile("fibaroapiHC3.lua") return end function getVar(deviceID, varName) for _, v in ipairs(api.get("/devices/" .. deviceID).properties.quickAppVariables) do if v.name == varName then return v.value end end return "" -- return "" as self:getVariable... end function parse_json_date(json_date) local function get_timezone() local ts = os.time() local utcdate = os.date("!*t", ts) local localdate = os.date("*t", ts) -- utc.isdst and 1 or 0 -- +1 hour if daylight saving localdate.isdst = false -- this is the trick -- local x = os.difftime(os.time(localdate), os.time(utcdate)) return os.time(localdate) - os.time(utcdate) end local pattern = "(%d+)%-(%d+)%-(%d+)%a(%d+)%:(%d+)%:([%d%.]+)([Z%+%-])(%d?%d?)%:?(%d?%d?)" local year, month, day, hour, minute, seconds, offsetsign, offsethour, offsetmin = json_date:match(pattern) local timestamp = os.time { year = year, month = month, day = day, hour = hour, min = minute, sec = seconds } local offset = 0 if offsetsign ~= "Z" then offset = tonumber(offsethour) * 60 * 60 + tonumber(offsetmin) if xoffset == "-" then offset = offset * -1 end else offset = get_timezone() end return timestamp + offset end function updateNextData(item, result) for k, v in pairs(item) do if type(v) == "table" then updateNextData(v, result) else result[k] = v end end end function windToDirection(degree) local wind_dir_text = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", "CALM"} degree = math.floor((degree / 22.5) + 0.5) return wind_dir_text[degree + 1] end local dateFrom = os.date("*t") -- now local fc = getVar(1954, "api.met.no") table.sort( fc.properties.timeseries, function(a, b) return a.time < b.time end ) local details = {} for _, v in ipairs(fc.properties.timeseries) do if parse_json_date(v.time) >= os.time(dateFrom) then updateNextData(v.data.next_1_hours, details) updateNextData(v.data.next_6_hours, details) updateNextData(v.data.next_12_hours, details) details.temperature = v.data.instant.details.air_temperature details.humidity = v.data.instant.details.relative_humidity details.wind = v.data.instant.details.wind_speed * 2.3 details.pressure = v.data.instant.details.air_pressure_at_sea_level details.wind_dir = windToDirection(v.data.instant.details.wind_from_direction) break end end function getIcon(symbol) if string.match(symbol, "rain") then return "☔" end if string.match(symbol, "snow") then return "❆" end if string.match(symbol, "sleet") then return "❆" end if string.match(symbol, "fair") then return "☀" end if string.match(symbol, "clear") then return "☀" end if string.match(symbol, "cloud") then return "☁" end if string.match(symbol, "fog") then return "🌫" end return "⚠" end local forecastText = "Weather forecat:\r\n" .. getIcon(details.symbol_code) .. " " .. details.symbol_code .. "\r\n" if details.precipitation_amount > 0 then forecastText = forecastText .. "Rain: " .. details.precipitation_amount .. " мм" .. "\r\n" end forecastText = forecastText .. "Temperature: " .. details.air_temperature_max .. "°C.." .. details.air_temperature_min .. "°C" .. "\r\n" forecastText = forecastText .. "Humidity: " .. details.humidity .. "%" .. "\r\n" forecastText = forecastText .. "Wind: " .. details.wind_dir .. ", " .. details.wind .. " м/с" .. "\r\n" forecastText = forecastText .. "Pressure: " .. tostring(details.pressure * 0.75) .. " mmHg" print(forecastText) api.post("/devices/1818/action/sendMessage", { args = {forecastText, 255464392}, delay = 0 }) met.no.fqa
  26. im assuming you change the 'value' number for 1 click and 2 clicks also what type of switches are you using. when i did mine i used the following: { conditions = { { id = 56, isTrigger = true, operator = "==", property = "sceneActivationEvent", type = "device", value = 24 } }, operator = "any" } { conditions = { { id = 56, isTrigger = true, operator = "==", property = "sceneActivationEvent", type = "device", value = 25 } }, operator = "any" } the remote ID is 56 - the scene activation values are 24 - 2 clicks 25 - 3 clicks my switch parameter 20 setting is momentary switches hence i use codes 24/25 and triple does work. ID 26 in your example is single click code. also your LUA is showing ID 26, whereas your block is showing ID 24... which indicates 24 is 2 click and and 26 is 1 click. use code 25 for triple click
  1. Load more activity
  • Create New...