Jump to content
  • Announcements

    • T.Konopka

      DOWNLOADS - new way of sharing solutions!   01/17/18

      Dear users, We want you to have a great time here on the Forum, therefore, we are introducing a new tool for sharing solutions! DOWNLOADS - a system of file sharing for all of you. DOWNLOADS - support topics - this is a new category for support topics. Check the short guide for Downloads on how to add a solution (all files have to be approved).   Crowd's Solutions will be closed for new submissions, but still open for replies in remaining topics. We ask the authors of the solutions to add their solutions to Downloads with the link to the topic at the top of the description. We will merge the support topic with the one from Crowd's Solutions.   If you have any questions, feel free to ask our administrators - @T.Konopka and @I.Srodka!
    • T.Konopka

      DOWNLOADS - nowy sposób dzielenia się rozwiązaniami!   01/17/18

      Szanowni użytkownicy, Chcemy, abyście świetnie spędzali czas na Forum, dlatego przedstawiamy wam nowe narzędzie do dzielenia się rozwiązaniami! DOWNLOADS - system dodawania i pobierania plików. DOWNLOADS - support topics - to jest nowa kategoria z tematami wsparcia. Sprawdźcie przewodnik dla Downloads, aby wiedzieć jak dodać rozwiązanie (wszystkie pliki muszą zostać zatwierdzone).   Rozwiązania Społeczności zostaną zamknięte dla nowych tematów, jednak tematy już wczęśniej dodane będą nadal dostępne. Prosimy autorów rozwiązań do przenoszenia ich do Downloads - prosimy o dodanie linkiem do tematu na górze opisu. Połączymy wtedy temat wsparcia z tematem z Rozwiązań Społeczności.   W przypadku pytań, prosimy o kontaktowanie się z administratorami - @T.Konopka and @I.Srodka. (Rozwiązania mogą być dodawane w języku polskim!)


  • Content count

  • Joined

  • Last visited

Community Reputation

120 Excellent


About tinman

  • Rank
  • Birthday 02/23/1971

Profile information

  • Gender
  • Country
  • Gateway/s
    Home Center 2
    Home Center Lite
    Other / Inne


  • Website URL

Recent Profile Visitors

864 profile views
  1. CO sensor Fibaro

    guys, you are wrong, you have 0ppm, which is great -> https://en.wikipedia.org/wiki/Carbon_monoxide_poisoning
  2. DSC NEO Fibaro integration possible

    DSC (Tyco / Johnson Controls) is highly interested in cooperation with Fibaro, we spoke with them about the Integration and forwarded them to Fibaro dev team, now let's hope the best.
  3. Phantom menace (RGBW)

    sure, that's the data coming from input, the rgbw is sending then updates with values, here how it looks like on real zniffer:
  4. HCL time configuration issue - 1970 date

    as you have rework station, i assume you can measure the crystal as well? On C35, you should see clear sine with 32,768kHz. It's good idea as well to check to solder points of the uC Board. Right after power has been applied, you should see on pin 7 data coming out of RTC, so that the last simply check to see if RTC is working without analyzing the I2C. Here we go, RTC and timesync results HCL fw 4.160: I did checked if the RTC is being used at all when changing date/time via location (v4.160 HCL), so i did stopped RTC (by shorting crystal pins) and got time difference (ignore the local / CET hour diff) After time change (manual) and reboot both RTC and Linux time are synced (ignore the local / CET hour diff) Same result has been archived with NTP (again, stopped RTC, changed time to use NTP, after reboot both are synced). I did removed the backup battery, time got reset to 1970 after reboot: In location i did changed to manual (from NTP) - without saving, and changed back to NTP - saved, and time is again ok, watch changes while reboot: After power off for few minutes and power up, HCL still shows proper time: That means, RTC and time sync are properly implemented in v4.160 firmware, it must be hardware issue on your HCL. I'm pretty sure my colleagues from polish Fibaro Technical Support knows how to check / fix such easy thing
  5. Fibaro TRVs not opening rad valves

    I have similar setup, so let me answer what you can do: - the boiler have to run always (bad, as it does consume always energy, even if you set TRV to off) or (with less energy consumption, but still my boiler is running longer than with original thermostat): - the boiler will get "off" command as soon the TRV with highest set temperature (in my case living room, where my sleeping room have lowest set temperature) has been reached for at least 10minutes. No window check here, that was too complex. - the boiler will get "on" command as soon the actual temp on TRV (with highest set temperature) is lower than 1° as the set temperature and no window has been opened in last 15minutes. If window was opened, after 30minutes (that was actually bit too high this winter), the boiler then get on (as auto protection from under-temperature) This setup allows me to use FGT001 (actually with FGR sensor) for all rooms (with lower set temp as living room), and MCO Home thermostat for living room (actually connected between my original thermostat - set to max - and boiler, just to allow data flow from my original thermostat to boiler, dirty but working hack). My setup is experimental, so i will not share any code, but you can get an idea how it can be setup. Btw, there is lot of discussion about Fibaro Heat Controller not working properly, i'm sure some customer have just understanding issues, some environment issues, and other Fibaro TRV problems. For me, i did created simple scene, running for all Fibaro TRVs together with heating plans (when using them without heating plan, probably the way @petergebruers described is better, my scene need Fibaro TRV with heating plans setup!). Here my scene, nothing to set, as it does takes all Fibaro TRVs in account, and if they running manually (or it will get OTA firmware update in the future), my scene will simply ignore them: --[[ %% autostart %% properties %% events %% globals --]] --[[ Script to fix Fibaro Heat Controller in scheduled mode v0.2 2018-01-30 bugfix - active schedule resync bugfix - changes to heat controllers not identified v0.1 2018-01-26 initial release Creator: tinman / intuitech GmbH Distributed under the Creative Commons CC BY-SA 4.0 license, see https://creativecommons.org/licenses/by-sa/4.0/ --]] -- enable debug messages local doDebug = 1 -- get all Fibaro Heat Controllers local filter = { enabled = "true", properties = {zwaveVersion = "4.0"}, isTypeOf = "com.fibaro.FGT001" } -- bugfix function function setScheduledValves() local deviceIds = fibaro:getDevicesId(filter) for deviceIndex,deviceId in ipairs(deviceIds) do local tbl = json.decode(fibaro:getValue(deviceId, "schedules")) for index,schedule in ipairs(tbl) do if (schedule.overrideSchedule == nil) then for scheduleId,scheduleData in ipairs(schedule.schedules) do if scheduleData.status == 'Active' then local setTemp = 21 -- just in case of asgards attacking earth ^^ if tonumber(scheduleData.commands[1].payload[2]) == 2 and tonumber(scheduleData.commands[1].payload[3]) == 0 then setTemp = tonumber(scheduleData.commands[1].payload[4]) elseif tonumber(scheduleData.commands[1].payload[2]) == 34 and tonumber(scheduleData.commands[1].payload[3]) == 0 then setTemp = tonumber(scheduleData.commands[1].payload[4]) / 10 elseif tonumber(scheduleData.commands[1].payload[2]) == 34 and tonumber(scheduleData.commands[1].payload[3]) == 1 then if tonumber(scheduleData.commands[1].payload[4]) == 9 then setTemp = 26.5 elseif tonumber(scheduleData.commands[1].payload[4]) == 19 then setTemp = 27.5 elseif tonumber(scheduleData.commands[1].payload[4]) == 29 then setTemp = 28.5 elseif tonumber(scheduleData.commands[1].payload[4]) == 39 then setTemp = 29.5 end end fibaro:call(deviceId, "setSchedule", "255",json.encode({["type"]="thermostat",["data"]={["setpoint"]={["type"]=1,["value"]=setTemp,["unit"]="C"},["mode"]=1}}),json.encode({["type"]="Minutes",["value"]=10}),json.encode({})); if (doDebug == 1) then fibaro:debug('scheduled mode, temp: ' .. setTemp) fibaro:debug('target temp: ' .. fibaro:getValue(deviceId, "targetLevel")) end -- delete override after 5min and back to schedule setTimeout(function() fibaro:call(deviceId, "removeSchedule", "255"); --print('returned back from forced override'); end, 5*60*1000) -- sleep 10s to allow override to be enabled, -- so schedule with higher id will be ignored fibaro:sleep(10*000) end end else if schedule.overrideSchedule.status == 'Active' then if (doDebug == 1) then fibaro:debug('override mode - nothing to do') end else if (doDebug == 1) then fibaro:debug('no mode set yet or overlap in communication') end end end end end end function syncSchedules() local deviceIds = fibaro:getDevicesId(filter) for deviceIndex,deviceId in ipairs(deviceIds) do if (doDebug == 1) then fibaro:debug('resyncing dev ' .. fibaro:getName(deviceId) .. ' with ID ' .. deviceId) end fibaro:call(deviceId, "retryScheduleSynchronization") -- sync takes up to 50sec, so just wait few more -- before next heat controller will get synced fibaro:sleep(60*1000) end end local sourceTrigger = fibaro:getSourceTrigger(); -- run each every hour at xx:05 and xx:35 only to not colide with heating plans -- run each every hour at xx:47 to sync schedules function timerFunc() local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "00", "01")) and tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "23", "57")) and (os.date("%M") == "05" or os.date("%M") == "35")) then setScheduledValves() elseif ( tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "00", "01")) and tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "23", "57")) and (os.date("%M") == "47")) then syncSchedules() end setTimeout(timerFunc, 60*1000) end if (sourceTrigger["type"] == "autostart") then timerFunc() else if (doDebug == 1) then fibaro:debug('started manually') end syncSchedules() setScheduledValves() end -------------------------- end of script ---------------------------- My approach is to read scheduled values, to set twice a hour Fibaro TRV to same temp value in manual mode (for 5 mins) and then back to heating plan scheduled settings, and to resync heating plan scheduled values once a hour to all Fibaro TRVs. Since i'm using it, there is no temperature "drift" in one or other direction ( i do record the temperature in the office room as well with two other temp servers, to be able to compare what Fibaro TRV is measuring and what others do).
  6. Heat Controller jest tylko produkowany z czestotliwoscia europejska, wiec jesli juz to poszlo na europe nie mam pojecia jak dobrze sie w polsce sprzedaje, ale w niemczech bardzo dobrze.
  7. Opcja - uruchamiaj przy starcie centralki

    dlatego nie mozesz: to jest scena oparta na "czasie" (w tle centralka pyta co minute czy juz jest zachod slonca + 10min). Azeby taka scena dzialala, musi byc jakos raz wystartowana, to nastepuje po zapisaniu i po starcie centralki. Przy starszych wersjach firmware, mozna bylo jeszcze robic sceny i wylaczyc ta opcje, jednak duzo osob nie rozumialao ze musi byc wlaczona zeby scena dzialala, wiec Fibaro automatycznie zmienilo sposob analizy scen, i lesi "widzi" cos z czasem, zalacza automatycznie ta opcje. Uzywasz HC2, wiec mozsz to samo zrobic w LUA (poprostu skonwertowac na LUA, usunac %%autostart, i troche dopasowac), mozesz tez zrobic proste dwi sceny ktore wlaczaja i wylaczaja twoja powyzsza scene fibaro:setSceneRunConfig(9, 'TRIGGER_AND_MANUAL'); fibaro:setSceneRunConfig(9, 'DISABLED'); w zaleznosci czy chcesz zeby byla aktywna czy tez nie
  8. Opcja - uruchamiaj przy starcie centralki

    no a pokaz co masz w zaawansowanych ustawieniach ...
  9. Network Security

    not satel, but other security system, however for satel will be similar setup, just enable specific objects (based on mac) intercommunication over specific port (7094 i think)
  10. Cortana

    for now you can easily build your own app, based on cortana SDK example, to execute scenes or control directly modules.
  11. Network Security

    use router (e.g. Zyxel USG with 2 WAN ports, to have failover as well) with firewall and e.g. objects to allow communication on specific ports between VLANs and from security VLAN to outside world (for e.g. push)
  12. prosze bardzo o informacje ktory przedstawiciel to powiedzial (bo informacja jest bledna, a wiec warto wiedziec kto ma pusty magazyn, bo nie przewidzial zeby wiecej na czas zamowic, i teraz tlumaczy wstrzymaniem produkcji).
  13. spray test is generally not good for any optics, when there is already some dust particles, they will (combined with test spray) break the functionality, so don't use it.
  14. Fibaro Intercom Motion Detection - Recording

    yes, in two ways : - without any scenes - you will need to ask Fibaro Certified Installer to do it for you (specific value must be set via Intercom WebSocket API, currently only available for Installers) - with scene, e.g. trigger on proximity change (untested, but it should work) --[[ %% properties 1234 proxymityStateChanged --]] -- 1234 is deviceID of the Intercom Plugin fibaro:call(1234, "startRecording") -- stop recording after 30sec. setTimeout(function() fibaro:call(1234, "stopRecording"); end, 30 * 1000)
  15. Fibaro Intercom - external relays

    attached ext button script (connected to NO2), - it emulates incoming call events (so one can make use of it in other scenes via intercom plugin) - it records calls when external button has been pressed - it sends push to (one, add more if you need) iOS device. Note: push is linked to Fibaro App, not Intercom App, so when you open it, you have to go to Videogates and open door, when you wish to speak run instead Intercom app manually. Unfortunately don't know (yet) the Fibaro's Intercom Push Server, so i can't link the push directly there) - it turns on/off external Bell --[[ %% properties 5004 input2 %% weather %% events %% globals --]] --[[ ExtButton Intercom Script: - make use of NC2 input as external call button (no ringing, but push) - record on call - turn on/off external Bell - emulate "incoming Call" event, to be able to make use of it (via plugin) in other scenes v0.1 2018-01-17 initial release Creator: tinman / intuitech GmbH Distributed under the Creative Commons CC BY-SA 4.0 license, see https://creativecommons.org/licenses/by-sa/4.0/ --]] -- record any call? 1=yes, 0=no local recordingEnabled = 1 --record lenght in seconds local recordingLength = 10 -- trigger external bell? 1=yes, 0=no local triggerExternalBell = 1 -- the deviceID of the external Bell -- NOTE: you can as well create separate scene -- and trigger on 'incoming call' local externalBellID = 4102 -- enter iphone name local phone = "Myiphone" -- type push message to send local message = "Incoming Call on Intercom" -- show debug messages local doDebug = false ------------------------------------------------------------------ ---------------- do not change anything below -------------------- ------------------------------------------------------------------ if (fibaro:countScenes() > 1) then fibaro:abort(); end function getpluginID() local devices = api.get('/devices') for _, dev in ipairs(devices) do if (dev.type == "com.fibaro.fibaroIntercom") then return dev.id end end end local intercomID = getpluginID() local publishEventUrl = '' local notificationCenterUrl = '' function createIncomingCallEvent() local params = { url = publishEventUrl, method = 'POST', data = json.encode({ ['type'] = 'VideoGateIncomingCallEvent', ['data'] = { ['id'] = intercomID } }) } return params end function createNotificationParams(text, priority) local params = { url = notificationCenterUrl, method = 'POST', data = json.encode({ ['type'] = 'GenericDeviceNotification', ['canBeDeleted'] = true, ['priority'] = priority or 'alert', ['data'] = { ['deviceId'] = intercomID, ['text'] = text or 'Unknown signal', ['title'] = text } }) } return params end local HC2 = net.HTTPClient({ timeout = 10000 }) function httpRequest(params) HC2:request(params.url, { options = { method = params.method, data = params.data, headers = params.headers }, success = function(response) if params.callback then params.callback(response) end end, error = function (error) if params.callback then params.callback(error) end end }) end local phoneid = 1 local devices = api.get('/devices') -- trigger scene if input2 has been changed -- note: input2 need to be set on Intercom App to "none" -- to not open any gate unintentionally if ( tonumber(fibaro:getValue(intercomID, "input2")) == 1 ) then -- find iphone by iphone name for _, dev in ipairs(devices) do if (dev.name == phone ) then phoneid = dev.id end end -- send push message to selected iphone fibaro:call(phoneid, "sendPush", message); if doDebug then fibaro:debug('push sent') end fibaro:sleep(1000) -- emulate call event on HC2 httpRequest(createNotificationParams('Incoming call')) fibaro:sleep(100) httpRequest(createIncomingCallEvent()) if doDebug then fibaro:debug('HCx notification sent') end fibaro:sleep(1000) if triggerExternalBell == 1 then -- trigger external Bell fibaro:call(externalBellID, "turnOn") if doDebug then fibaro:debug('external bell on') end setTimeout(function() fibaro:call(externalBellID, "turnOff"); if doDebug then fibaro:debug('external bell off') end; end, recordingLength * 1000) end if recordingEnabled == 1 then -- start and stop recording (on intercom) of the incoming call fibaro:call(intercomID, "startRecording") if doDebug then fibaro:debug('recording on') end setTimeout(function() fibaro:call(intercomID, "stopRecording"); if doDebug then fibaro:debug('recording off') end; end, recordingLength * 1000) end end