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


Virtual Devices

The category contains virtual devices submitted by users.
Downloading and submission terms have to be accepted.
Types of files accepted: LUA, VFIB, ZIP, TAR, RAR, JSON.
Virtual devices have to be described properly, screen shots are optional.
Support topics are created automatically here Virtual devices
Report topics and files that are no longer supported by authors.
All the files submitted have to be approved by administrators.

81 files

  1. Ambient Weather Station VD

    Ambient Weather Station VD standalone
     
    INTRODUCTION
    Ambient Weather station (AWS) VD reads measurements provided by Ambient weather stations which are connected to ambientweather.net service on internet. VD is tested with Ambient Weather station WS-1401-IP OBSERVER, but should also work with other similar types of Ambient weather stations.
     
    PREREQUISITES
    Fibaro Home Center 2 with firmware 4.560 or greater
    Emoji VD standalone must be downloaded and installed for AWS VD to function properly.
    At least one Ambient weather station connected to internet and user application key and API key
     
    FEATURES
    User can install multiple instances of VD for as many Ambient Weather stations he/she might have. Uses ambient weather cloud API to retrieve latest measurements. Provides measurements in imperial or metric units and also wind speed in m/s. Provides global variables for indoor and outdoor temperature, indoor and outdoor humidity, wind and gust speed, rain event, solar radiation, UV, outdoor and indoor PM25 and CO2 that can be used to trigger block or LUA scenes for specific user actions. Multi-language support with 27 languages included (see APPENDIX 1 for the list). VD can use HC selected language or user can select any other available language. VD will be automatically translated to selected language Easy setup for VD icons (on UHAS™ compatible version is this even easier) Global variables are automatically added, monitored, repaired and cleaned and does not require user intervention  
    INSTALLATION
    Please check provided User Manual
     
    PACKAGE CONTENT
    Ambient Weather Station VD v1.1 Icon pack User manual EN  
    TERMS AND CONDITIONS
    Permission to use, copy, modify and distribute this software and its documentation for educational, research, personal use and non-profit purposes, without fee and without a signed licensing agreement is hereby granted, provided that the copyright notice, with "Terms and conditions" and "Disclaimer" appear in all copies, modifications and distributions. It is strictly forbidden to sell, rent, lease and/or lend this software for profit without prior consent from the Author.
     
    DISCLAIMER
    This software is provided by copyright owner "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author and distributor be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
    Fibar Group S.A. and their employees are not responsible for support of the ABC VD. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required.
     

    78 downloads

       (0 reviews)

    0 comments

    Submitted

  2. Yeelight Manager

    VD YEELIGHT MANAGER
    Originally released on domotique-fibaro.fr
    v. 1.3.0 - 14/01/2018
     
    I present the VD Yeelight Manager which, as its name suggests, allows you to integrate Yeelight products with the HC2. To be very precise, I only have a Bedside Lamp and I have not tested this VD with other products. However, since the API is generic, there are no reasons that it does not work too. The only limit, I did not integrate in the DV management of the background light since the Bedside Lamp does not have such a light.
     
    To use it, simply enter the IP of the Yeelight in the IP field of the DV, and the port in the Port field of the DV (the port used by the Yeelights is 55443). You can add or change elements of the virtual device according to your needs (the white light bulb does not need, for example, anything related to color management), as long as the TCP Connection and Transmission buttons keep their respective names (btnTCPConnection and btnTransmission). Yeelight Manager will find them himself by these names.
     
    In order to be able to manage a Yeelight 'almost' like a module, simply insert in the scene or the code of the button or Main Loop the following code:
    _y={credits='Yeelight Controller v. 1.3.0 - Copyright 2018 Olivier Meyer - GNU GPLv3',global='y_yeelight_global',item='y_yeelight_',props={power=true,bright=true,ct=true,rgb=true,hue=true,sat=true,color_mode=true,flowing=true,delayoff=true,flow_params=true,music_on=true,name=true,bg_power=true,bg_flowing=true,bg_flow_params=true,bg_ct=true,bg_lmode=true,bg_bright=true,bg_rgb=true,bg_hue=true,bg_sat=true,nl_br=true},f=fibaro,debug=function(s,m,c)s.f:debug(string.format('<span style="color:%s;">%s</span>', c, m))end,here=function(s)local h=type(s.f.getSelfId)=='nil' if h then return h,__fibaroSceneId else return h,s.f:getSelfId(),_elementID_ end end,log=function(s)local h=s:here()if h then local a=s.f:args()if a then if a[1].yeelight then s:debug(a[1].debug,a[1].color);s:debug(a[1].command,a[1].color);os.exit()end end end end,getBtn=function(s,i,n)local c,r=0,api.get('/devices/'..tostring(i))['properties']['rows'] local x=#r for a=1,x do local y=#r[a].elements for b=1,y do c=c+1 if n==r[a].elements[b].name then return c end end end s:debug('[Yeelight] Unable to locate button '..n..', check virtual device '..i,'Tomato');return nil end,build=function(s,m,p)local c='{"id":1, "method":"'..m..'", "params":['for i=1,#p do if type(p[i])=="number"then c=c..p[i]else c=c..'"'..p[i]..'"'end;if i~=#p then c=c..', 'end end;c=c..']}\r\n'return c end,load=function(s,v)local g=s.f:getGlobalValue(v)if string.len(g or '')>0 then local d=json.decode(g)if d and type(d)=='table'then return d else s:debug('[Yeelight] Unable to process data, check variable','Tomato')end else s:debug('[Yeelight] No data found!','Tomato')end return nil end,set=function(s,i,d)local g=s:load(s.global)if g[tostring(i)]then local a,b,c=s:here();g[tostring(i)].scene=a;g[tostring(i)].id=b;g[tostring(i)].button=c;g[tostring(i)].command=d;s.f:setGlobal(s.global,json.encode(g))end end,call=function(s,i,m,p)local b=s:getBtn(i,'btnTransmission')if b==nil then return nil end;local c=s:build(m,p)s:set(i,c)s.f:call(i,'pressButton',b)end,getValue=function(s,i,p,g)if s:checkP(p) then if type(g)~='table' then g=s:load(s.item..i)end if g.properties then if g.properties[p] then if g.properties[p].value then return g.properties[p].value end end end s:debug('[Yeelight] Unable to get value of '..tostring(p)..', please check variable.','Tomato');end return nil end,getModificationTime=function(s,i,p,g)if s:checkP(p) then if type(g)~='table' then g=s:load(s.item..i)end if g.properties then if g.properties[p] then if g.properties[p].modificationTime then return g.properties[p].modificationTime end end end s:debug('[Yeelight] Unable to get modification time of '..tostring(p)..', please check variable.','Tomato');end return nil end,get=function(s,i,p)local g=s:load(s.item..i);return s:getValue(i,p,g),s:getModificationTime(i,p,g)end,getStatus=function(s,i)local g=s:load(s.item..i)if g then if g.status then return g.status end end return nil end,getLastChange=function(s,i)local g=s:load(s.item..i)if g then if g.last then return g.last end end return nil end,checkP=function(s,p)if not s.props[p] then s:debug('[Yeelight] '..p..' is not an existing property!','Tomato') return false end return true end} _y:log() This code above offers the following functions:
    _y:call(id, method, params) which allows to send a command to the lamp. The various buttons of the VD give examples. To go further, please have a look at the Yeelight API documentation  : Yeelight_Inter-Operation_Spec.pdf _y:get(id, property) which does exactly the same thing as fibaro:get() _y:getValue(id, property) which does exactly the same thing as fibaro:getValue() _y:getModificationTime(id, property) which does exactly the same thing as fibaro:getModificationTime() _y:getStatus(id) which returns "online" if the lamp is connected to the wifi network, and "offline" otherwise _y:getLastChange(id) which returns a table containing the properties that have just been modified and their new value  
    The logs generated by the call () function are displayed in the debug zone of the scene (do not forget the _y: log () line and allow enough instances) or in the button or main loop of the virtual module from which the function was used.
     
    To use these lamps as scene triggers, the VD automatically creates a global variable y_yeelight_XXX, where XXX is the ID of the VD. This global variable contains all the properties of the lamp and is updated in real time.
    For example, to start a scene when a Yeelight is turned on:
    --[[ %% globals y_yeelight_XXX --]] _y={credits='Yeelight Controller v. 1.3.0 - Copyright 2018 Olivier Meyer - GNU GPLv3',global='y_yeelight_global',item='y_yeelight_',props={power=true,bright=true,ct=true,rgb=true,hue=true,sat=true,color_mode=true,flowing=true,delayoff=true,flow_params=true,music_on=true,name=true,bg_power=true,bg_flowing=true,bg_flow_params=true,bg_ct=true,bg_lmode=true,bg_bright=true,bg_rgb=true,bg_hue=true,bg_sat=true,nl_br=true},f=fibaro,debug=function(s,m,c)s.f:debug(string.format('<span style="color:%s;">%s</span>', c, m))end,here=function(s)local h=type(s.f.getSelfId)=='nil' if h then return h,__fibaroSceneId else return h,s.f:getSelfId(),_elementID_ end end,log=function(s)local h=s:here()if h then local a=s.f:args()if a then if a[1].yeelight then s:debug(a[1].debug,a[1].color);s:debug(a[1].command,a[1].color);os.exit()end end end end,getBtn=function(s,i,n)local c,r=0,api.get('/devices/'..tostring(i))['properties']['rows'] local x=#r for a=1,x do local y=#r[a].elements for b=1,y do c=c+1 if n==r[a].elements[b].name then return c end end end s:debug('[Yeelight] Unable to locate button '..n..', check virtual device '..i,'Tomato');return nil end,build=function(s,m,p)local c='{"id":1, "method":"'..m..'", "params":['for i=1,#p do if type(p[i])=="number"then c=c..p[i]else c=c..'"'..p[i]..'"'end;if i~=#p then c=c..', 'end end;c=c..']}\r\n'return c end,load=function(s,v)local g=s.f:getGlobalValue(v)if string.len(g or '')>0 then local d=json.decode(g)if d and type(d)=='table'then return d else s:debug('[Yeelight] Unable to process data, check variable','Tomato')end else s:debug('[Yeelight] No data found!','Tomato')end return nil end,set=function(s,i,d)local g=s:load(s.global)if g[tostring(i)]then local a,b,c=s:here();g[tostring(i)].scene=a;g[tostring(i)].id=b;g[tostring(i)].button=c;g[tostring(i)].command=d;s.f:setGlobal(s.global,json.encode(g))end end,call=function(s,i,m,p)local b=s:getBtn(i,'btnTransmission')if b==nil then return nil end;local c=s:build(m,p)s:set(i,c)s.f:call(i,'pressButton',b)end,getValue=function(s,i,p,g)if s:checkP(p) then if type(g)~='table' then g=s:load(s.item..i)end if g.properties then if g.properties[p] then if g.properties[p].value then return g.properties[p].value end end end s:debug('[Yeelight] Unable to get value of '..tostring(p)..', please check variable.','Tomato');end return nil end,getModificationTime=function(s,i,p,g)if s:checkP(p) then if type(g)~='table' then g=s:load(s.item..i)end if g.properties then if g.properties[p] then if g.properties[p].modificationTime then return g.properties[p].modificationTime end end end s:debug('[Yeelight] Unable to get modification time of '..tostring(p)..', please check variable.','Tomato');end return nil end,get=function(s,i,p)local g=s:load(s.item..i);return s:getValue(i,p,g),s:getModificationTime(i,p,g)end,getStatus=function(s,i)local g=s:load(s.item..i)if g then if g.status then return g.status end end return nil end,getLastChange=function(s,i)local g=s:load(s.item..i)if g then if g.last then return g.last end end return nil end,checkP=function(s,p)if not s.props[p] then s:debug('[Yeelight] '..p..' is not an existing property!','Tomato') return false end return true end} _y:log() local function run() --executed on light on end local trigger = fibaro:getSourceTrigger() if trigger.type == "global" then if trigger.name == "y_yeelight_XXX" then if _y:getLastChange(XXX)["power"] == "on" then run() end end end

    359 downloads

       (0 reviews)

    0 comments

    Updated

  3. Heating

    Heating VD, which I use especially when I go on winter holidays.
    On the day of departure we have no time to adjust heating, so a few days before using this VD I set the date/time when the heating should be turned off and date/time when it should be turned on again. Of course you can use this VD everyday just to turn on/off heating or to set the heating timer on/off.
     
    When it turn off the heating it just turn on vacation mode for every zone.
     
    Features:
    instant turn on/off the heating in all zones set the date and time when the heating will be turned off and/or turned on _ - change on/off setting time ❌ - clear timer ♻️ - refresh button - you don't need to touch it. It's called programmatically displaying the current state (on/off) sending push messages about changing heating state (by scheduler)  
    Customization:
    change the VD labels to your own language set mobile device id to get push messages about changing heating state -- USER MODIFICATION local pushDeviceId = 0 -- mobile device id to send push messages local scheduleFreq = 1 -- [min] -- END OF USER MODIFICATION Screenshot:

     
    Icon:

    Enjoy...

    105 downloads

       (0 reviews)

    0 comments

    Updated

  4. Sleep Timer & Scheduler

    Initially it was supposed to be a simple Sleep Timer, similar to what we have in TV but later I added some new functions and now it is a simple Scheduler and Sleep Timer in one VD.
     

     
    Features:
    Sleep Timer - just set the time after which the device will be turned off or turned on Scheduler - set the time when the the device should be turned on and the time when the the device should be turned off (or in the reverse order - first turn off and then turn on) Filtering devices - you can choose only devices with turnOff action attribute Filtering rooms - you can choose only rooms which have devices with turnOff action attribute _ - change on/off setting time ✔ - add device to schedule ❌ - remove device from schedule; triple click to clear the schedule Refresh button - you don't need to touch it. It's called programmatically Displaying the current schedule Logging the events to debug window: add, remove, turn on, turn off automatic support for plugins with turnOff action attribute support for custom virtual devices and plugins instant turn on/off (VD and plugins also) presenting the current device state ( ⚡ when the device is on, and - when is off)  
    Customization:
    change the VD labels to your own language change the texts in the Refresh button code and in the main code: local lT = { newLine = "<br/>", -- change to "\n" if you use this VD on iOS mobile mainly or " " for Android scheduledDevices = "Scheduled devices" }        Actually there is a problem with breaking lines in labels, so you can choose new line char. More details here.
     
    add your own virtual devices or plugins in main loop code:
    local extraDevices = { -- deviceId, commandOn, parameterOn, commandOff, parameterOff ["335"] = { "pressButton", "2", "pressButton", "3" }, ["339"] = { "setVolume", "20", "setMute", "" }, } icons:
     

     
    Enjoy...

    112 downloads

       (0 reviews)

    2 comments

    Updated

  5. Venus_GX.vfib

    Venus_GX.vfib
     
    Please enter the local IP address of your Venus in the LUA "Main loop"
    ( under advanced settings of the virtual device)
                                    vvvvvvvvvvv
    local Venus_IP = "192.168.1.11"
     
    Just replace the numbers with yours(keep the " characters)
     

    49 downloads

       (0 reviews)

    0 comments

    Updated

  6. VD - Switch CCGX Relais .lua

    VD - Switch CCGX Relais .lua
     
    A VD that can switch the AC-Out2 relais of the Victron inverter
    One can not directly switch the Quattro relais,
    therefore I used the “Venus GX Relais 2” (currently NOT used) and connected it to the contacts of the “AUX inputs of the Quattro inverter
    and you have to install an assistant on the Quattro to do the final switching o the Relays.

    30 downloads

       (0 reviews)

    0 comments

    Submitted

  7. VD-BMS.lua

    VD-BMS.lua
     
    This is for Canbus BMS
    I have a BYD Battery monitor.
    Most of the Registers are have only "0" valiues and I extracted only what I found having some values.
     
    -- Unit ID     /DeviceInstance    Remark
    -- 225            512                CAN-bus BMS

    12 downloads

       (0 reviews)

    0 comments

    Submitted

  8. VD-Quattro.lua

    VD-Quattro.lua
     
    -- READ Venus Register 3-63  UNIT ID = 242
     
     
     
     

    19 downloads

       (0 reviews)

    0 comments

    Submitted

  9. VD-Solar-Charger.lua

    VD-Solar-Charger.lua
     
    This extracts all available information from the MPPT charger.
     
    --  Unit ID        Instance in VRM
    --    245            258                Venus GX VE.Direct 1 port (ttyO2)
    --    243            260                Venus GX VE.Direct 2 port (ttyO4)

    18 downloads

       (0 reviews)

    0 comments

    Submitted

  10. VD-Venus.lua

    VD-Venus.lua
     
    Extracts all info from Unit ID 100
     
    -- READ Venus Register 840-846  UNIT ID 100

    17 downloads

       (0 reviews)

    0 comments

    Submitted

  11. Quattro.vfib

    Quattro.vfib

    27 downloads

       (0 reviews)

    0 comments

    Submitted

  12. MPPT_1_HQ..5M.vfib

    MPPT_1_HQ..5M.vfib

    33 downloads

       (0 reviews)

    0 comments

    Submitted

  13. Inverter_AC2_On_Off.vfib

    Inverter_AC2_On_Off.vfib
     
    Switches Relais 2 on Venus GX.

    42 downloads

       (0 reviews)

    0 comments

    Submitted

  14. CAN-bus_BMS.vfib

    CAN-bus_BMS.vfib

    34 downloads

       (0 reviews)

    0 comments

    Submitted

  15. Nanoleaf Canvas VD standalone

    Nanoleaf Canvas VD v1.0.1
    (standalone version)
     
    INTRODUCTION
    Nanoleaf Canvas light panels https://nanoleaf.me/en/ brings new way of lighting experience. Nanoleaf Cavas VD enables Fibaro Home Center 2 to control this lights and show their status.
     
    PREREQUISITES
    Fibaro Home Center 2 with firmware  4.530 (can work on older versions same as Nanoleaf Aurora VD down to 4.120) Nanoleaf Canvas starter kit with firmware 1.1.0 or greater  
    FEATURES
    Enables HC2 to control Nanoleaf Canvas lights and show their status
    Control brightness, hue, saturation, color temperature and activate Canvas effects VD automatically updates list of the available effects when added or deleted with Nanoleaf mobile application Scroll with buttons through available effects on VD and activate Selected and running effect type can now be recognized by small icon in front of the effect name.
    Canvas control light panel has built in Rhythm module and there is no AUX input available. Rhythm module is automatically activated when rhythm effect is activated Use Process button to control Canvas light by other scenes and VD Built in button for generating authorization token for easy connection to Canvas light Multilanguage support with 27 languages. VD will be automatically translated to HC selected language or user can select any other available language. Easy setup for VD icons with automatic setup of icons for buttons and sliders too. (UHAS™ compatible version has even more easier icon setup) User can setup VD to have separated on and off buttons or to have toggle on/off button Light can be turned on/off with buttons and brightness slider. Even if brightness slider is used to turn off Aurora light, VD remembers last brightness settings so if light is turned back on with button it will be turned on at last brightness level. Self adding and checking of global variable data integrity. Automatic repair of global variables without user intervention New approach to programming other code to control this VD enables future upgrades without needing to change that code. (See more about that in User Manual provided)  
    INSTALLATION
    Please check provided User Manual where all steps are explained in detail.
     
    PACKAGE CONTENT
    Nanoleaf Canvas VD v1.0.1 (standalone) Icons for VD User manual v1.1 EN  
    CREDITS
    Many thanks to @gucio1234 and @Bodyart from forum.fibaro.com for help with testing, translations and manual.
     
    TERMS AND CONDITIONS
    Permission to use, copy, modify, and distribute this software and its documentation for educational, research, personal use and non-profit purposes, without fee and without a signed licensing agreement, is hereby granted, provided that the copyright notice, with "Terms and Conditions" and "Disclaimer" appear in all copies, modifications, and distributions. It is strictly forbidden to sell, rent, lease and/or lend this software for profit without prior consent from the Author. 
     
    DISCLAIMER
    This software is provided by copyright owner "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author and distributor be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
    Fibar Group S.A. and their employees are not responsible for support of the Nanoleaf Aurora VD. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required. 
     
    LEGAL NOTICE
    Nanoleaf and Canvas are registered trademarks or trademarks of Nanoleaf Energy Technology ShenZhen Limited registered in PR China and other countries.
     
    NEWS
    1 April 2019
    Nanoleaf Canvas light panels latest firmware update v1.2.0 is out. If you upgrade to this latest firmware Nanoleaf Canvas VD v1.0 functionality will remain intact and will continue function properly.
    12 September 2019
    Canvas VD is working flawlessly with Canvas latest firmware version 1.5.0
     
    VERSION HISTORY
    1.0.1 - Corrected bug in VD main loop that prevented saving updated effect
    1.0 - First release of standalone version build on code of VD for UHAS™
     
    Here is look of the Nanoleaf Canvas VD:
     

     
    Enjoy coding and your new Nanoleaf Canvas virtual device!
    Sankotronic  
     
     

    121 downloads

       (1 review)

    2 comments

    Updated

  16. Checking devices connected to the WI-FI network Sprawdzanie urządzeń podłączonych do sieci WI-FI

    Checking devices connected to the WI-FI network

    Checking devices connected to WI-FI

    We create a global variable, for example TabletSony

    Then we import the Tablet_Sony_WI-FI virtual device after loading the device, we change the name according to our own needs, e.g. phone of the wife, etc., enter the IP address and port of the device to be checked if it is connected to the local network



    tcpSocket = Net.FTcpSocket ("192.168.1.009", 8071) - ip address and device port

    bytes, errorCode = tcpSocket: write ("test")


    local device = 743 - virtual device id

    if errorCode == 0

    then

    fibaro: call (device, "setProperty", "currentIcon", 1181) - id of the ON icon

    fibaro: setGlobal ("TabletSony", "1"); - we create a global variable called eg TabletSony

    fibaro: log ("Sony ON tablet ..os.date ("% H:% M ")) - displays the status of the device and the time on the notification bar


    else

    fibaro: call (device, "setProperty", "currentIcon", 1179) - id of the OFF icon

    fibaro: setGlobal ("TabletSony", "0");

    fibaro: log ("Sony OFF Tablet" ..os.date ("% H:% M")); ")) - displays the device status and time on the notification bar



        

    end            
     
    Sprawdzanie urządzeń podłączonych do WI-FI
    Tworzymy zmienną globalną np. TabletSony 
    Następnie importujemy urządzenie wirtualne Tablet_Sony_WI-FI po załadowaniu urządzenia zmieniamy według własnych potrzeb nazwę np. telefon  żony itd. ,wpisujemy adres ip i port  urządzenia które ma być sprawdzane czy jest podłączone do sieci lokalnej
     
     
    tcpSocket = Net.FTcpSocket("192.168.1.009", 8071) -- adres ip i port urządzenia
    bytes, errorCode = tcpSocket:write("test")
     
    local device = 743 -- id urządzenia wirtualnego
    if errorCode == 0
    then
    fibaro:call(device, "setProperty", "currentIcon", 1181) -- id ikony ON
    fibaro:setGlobal("TabletSony", "1"); -- tworzymy zmienną globalną o nazwie np. TabletSony
    fibaro:log("Tablet Sony ON  "..os.date("%H:%M"));-- wyświetla na pasku powiadomienie stan urządzenia oraz godzinę
     
    else
    fibaro:call(device, "setProperty", "currentIcon", 1179) -- id ikony OFF
    fibaro:setGlobal("TabletSony", "0");
    fibaro:log("Tablet Sony OFF  "..os.date("%H:%M")); "));-- wyświetla na pasku powiadomienie stan urządzenia oraz godzinę
     
     
        
    end
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    264 downloads

       (0 reviews)

    1 comment

    Updated

  17. Sonos Remote v1.0.1.vfib

    This is the Sonos Remote V1.0.1 VD device

    363 downloads

       (0 reviews)

    0 comments

    Submitted

  18. SOnos TTS.vfib

    This is the sonos TTS VD file

    237 downloads

       (0 reviews)

    0 comments

    Submitted

  19. BLE Detector - Presence detector based on iNode LAN and BLE devices

    Features
    The virtual device communicates with iNode LAN, receives and decodes information about all BLE devices available nearby. This allows tracking user presence if small BLE tags are attached to their belongings (like notiOne with a bunch of keys, e.g.).
    What you need 
    iNode LAN - it can detect any Bluetooth 4.0/4.1 device (Bluetooth Low Energy = BLE) BLE tag (iNode Beacon , TrackR , notiOne , etc.) Installation
    Configure your iNode LAN to use unicast or broadcast for sending datagrams (UDP packets) Go to the Setup page. For "BLE IP address" put your HC2 IP address (unicast) or broadcast address (192.168.1.255e.g.). For "BLE IP port" you may leave the default value (20000). Create a new virtual device (BLE Detector). Update IP Address and TCP Port (use the same values as for iNode LAN in step 1). Create a new scene (BLE Users). Update config values in the scene (provide names and MAC addresses of persons and their belongings).  
    That's all to make it work!
    Now you can use global variables you have defined in Lua scene (users variable) to check if a person is away or home.
    Want to tweak it? Sure!
    There are more options. Please read all the comments in the source code.
    You may try to:
    define MACs of devices to ignore in discovery (your iNode LAN itself), define signal values for IN/OUT events (separately for each user), define the timeout value for each device (this also makes user away), turn on/off debug messages. Zip file content
    Virtual device: "BLE Detector". Lua scene with user detection configuration: "BLE Users". Device icon for iNode LAN. FAQ
    What are these scripts missing?
    Only basic information is decoded from BLE datagrams (counter, MAC address, and signal strength). If you use iNode Sensors you will not get additional values (like temperature, pressure, magnetic or movement changes).
     
    Why is it better than other solution (x) of presence detection?
    It does not depend on any movement in your house,  which can make many false positives - a running dog e.g. (x = motion sensors) It is independent of other devices. HC2 communicates directly with iNode LAN. (x = RaspberryPi to read iNode and press some virtual buttons in HC2) More stable results (x = python script from iNode website; explained below).   
    The Python script published by iNode manufacturer for presence detection uses only signal strength. That means to detect that someone is leaving we need to use some (lower part) signal range to have the record of going away. This additionally reduces the signal range for detecting "being home" (higher part of the signal range) and can give effect to the person appearing and disappearing all the time.
    To avoid that we also check the latest timestamp of the device activity. Owing to this feature we may extend range signal for "being home" to all possible values, and use only timeout to decide whether a person is home or not (set "-100" to both signalIn and signalOut in users config to achieve that).
     
    What messages should I expect to get from working device?
    Here are some logs of the working device...
    [DEBUG] 23:29:58:   No: 35216   MAC: 00:12:6F:E0:BB:DB   Signal: -16 dBm [DEBUG] 23:30:03:   No: 35217   MAC: C0:36:A0:DC:87:99   Signal: -79 dBm [DEBUG] 23:30:08:   No: 35218   MAC: 00:12:6F:E0:BB:DB   Signal: -16 dBm [DEBUG] 23:30:09:   No: 35219   MAC: C0:36:A0:DC:87:99   Signal: -79 dBm [DEBUG] 23:30:12:   No: 35220   MAC: C0:36:A0:DC:87:99   Signal: -69 dBm and the scene:
    [DEBUG] 23:30:21:   MAC: C0:36:A0:DC:87:99   Signal: -79 (dBm)   Time ago: 0 (sec) [DEBUG] 23:30:21:   MAC: DF:12:45:F7:40:65   Signal: -84 (dBm)   Time ago: 30 (sec) [DEBUG] 23:30:21: Gienia is home [DEBUG] 23:30:21: Zenek is home [DEBUG] 23:30:24:   MAC: DF:12:45:F7:40:65   Signal: -84 (dBm)   Time ago: 0 (sec) [DEBUG] 23:30:24:   MAC: C0:36:A0:DC:87:99   Signal: -79 (dBm)   Time ago: 3 (sec) [DEBUG] 23:30:24: Zenek is home [DEBUG] 23:30:24: Gienia is home Is it a stable solution? Can you share any experience about it?
    For my configuration, I am using two pieces of notiOne. They are really tiny, the batteries are supposed to stay alive for about a year (from my experience it was usually about 6 months). Additionally, you can track them whenever someone with BLE and their App is near. 

    The results I get in my flat, where walls are made of silicate blocks, are quite stable. iNode LAN can detect these notiOnes with the weakest signal (-90 to -88 dBm) from a distance of 7-8 meters even through two silicate walls (24cm + 12cm thick). So placing iNode LAN in the middle of the flat covers the whole area.

    My iNode LAN works with firmware version published in December 2017 ("FW date: Dec 14 2017/09:10:32"). I had no issues about it for more than 18 months right now. It is stable. I even use it as a power failure indicator: it is not plugged to UPS (whereas HC2 and NAS are), so when the device disappears from my LAN, I know there is something wrong with the power line.
     
    Is there any way to extend Bluetooth range for iNode LAN? My house is too large for a single device of that kind.
     
    Well, the device range is connected to Bluetooth limitations. If you need a larger area to be covered with BLE devices detection you could use more then one iNode LAN device. Each device should use a different global variable for storing detected BLE events (BleDevicesA, BleDevicesB, ...). The best way to merge these results would be an updated Lua scene, which could analyze more variables and properly select best data (i.e. select stronger signal if the same BLE tag is seen in many iNode LAN devices). This is not supported with the current version of Lua scene.
    Another (not so nice, but quicker to achieve) workaround for that could be duplicating not only the BLE Detector VD but also the BLE Users scene. Each scene copy should have different global variables for users (like: isZenekHomeA, isZenekHomeB, ...) and additional code can interpret these variables to get final detection value (local isZenekHome = isZenekHomeA or isZenekHomeB or ...)

    46 downloads

       (0 reviews)

    0 comments

    Updated

  20. Airly Status - Air Quality Sensor based on Airly.eu (API 2.0)

    Device features
    Periodic reports on air quality for a defined location.
    Be warned about the smog conditions at your place instantly.
     
     
     
     
     
    Advantages for everyone
    Automatic status update. Custom interval value for update queries. Manual update is also available (via button). May use "interpolation mode" (enabled by default in Lua scene). Airly gives you an option to calculate estimated values for any location near their stations, to see more then just what is exactly measured by the station. You may select the language used for Airly messages. Polish and English are supported. Colors to visualize Smog description. This will work on PC only. The mobile app does not interpret HTML tags. Icon color is changing according to air quality measured. The colors are in correspondence with Airly recommendations. One of three different air quality indexes from Airly might be selected. Airly supports: "AIRLY_CAQI", "CAQI" and "PIJP". Each may have different levels, descriptions, and pieces of advice. Customizable location for reports. The location might be read automatically from your Home Center box or it might be set as a fixed one. Data retrieved from Airly are stored in a global variable. The variable might be used to trigger another scene.  
     
    Advantages for geeks
    Using the newest API 2.0. Missing pieces of data from Airly are properly detected and do not stop the device from working. No label "flickering" ("50%" → "missing data" → "52%", e.g.) on data updates. Changes on any update are reported once. Clear information about the license (MIT). Make any changes you want, distribute, sell or whatever. Just include my name and the copywrite information. Easy to change labels content, data grouping within labels, etc. (data selectors within one config variable labelConfig). Source code easy to maintain and develop: rich debug information; separation of acquisition, extraction and data presentation, etc. Installation
    Import the virtual device and create a new Lua scene with the code provided in the file. Add device icons and update their IDs in the virtual device main loop. Replace 'xxx...x' with the key you can get from Airly free of charge. Start the Lua scene manually (just for the first time). (optional) Customize: update interval, display language, labels content and many more (see details below). Configuration
    Read comments in Lua scene and VD main loop. 
    Each configuration parameter is described there in details.
    Zip file content
    Virtual device: "Airly Status". Lua scene for grabbing data from Airly: "Airly Status scraper". Nine device icons to visualize air quality. Screenshots. FAQ
    How can I get Airly API key?
    Get one from developer.airly.eu. When you register an account within that website you will get your free API key.
    How to upload/add device icons?
    Open (any) virtual device configuration page. Press "Change icon". Press "Select file" (in the bottom), choose file, then confirm with "Add" button (even lower). Please make sure to execute step 1 properly. Icons in Home Center are divided into several categories. If your icons are placed not in the "virtual device collection", they will not be visible for the device.
    How can I get an icon ID?
    Open (any) virtual device configuration page. Press "Change icon". Right click on the icon you want to get an ID. Select "Open graphics in a new tab". The address should be like: "http://hc2/fibaro/n_vicons/User1003.png". 1003 is your ID in this case. How can I change the language for all displayed information?
    Change config variable in Lua scene. Only "pl" and "en" messages are supported by Airly API. Update display name of each label. Update labels content (if needed) by editing labelConfig variable in VD main loop. There is the same string formatting as for the Lua print function.

    179 downloads

       (0 reviews)

    2 comments

    Updated

  21. Konnected Alarm Panel

    Hello Everyone,
    I 've tried Konnected alarm panel in parallel with my old alarm system, and it is working great. (Konnected)
    My task that was assigned to myself was to integrate Konnected directly to my HC2.
    So with a little LUA magic we have ready the Konnected Virtual Device for HC2.
    You can find the Virtual Device Repository here.
    Enjoy!
     
     

    67 downloads

       (0 reviews)

    3 comments

    Updated

  22. Advanced Radiation Monitor (ARM) VD standalone

    INTRODUCTION
    ARM VD collects radiation levels from all available stations around the world and shows 5 nearest stations to your location and one station with highest reading. It is using map of radiation detector stations on [email protected] website. [email protected] is a Polish science project using the distributed computing capabilities of the BOINC platform. The main goal of the project is to create a free and continuously updated map of radiation levels available for everyone, by gathering information about gamma radiation using sensors connected to the computers of volunteers willing to participate in the project. Project is completely non-commercial, participating will be free of charge (excluding cost of detector) and the software will be licensed under the GNU General Public License (GPL).
      PREREQUISITES Fibaro Home Center 2 with firmware 4.120 or greater  
    FEATURES
    ARM VD collects radiation levels from all available stations around the world and shows 5 nearest stations to your location and one station with highest readings Simple installation and setup. Uses Developer HERE Geocode API freemium plan to show radiation monitor station location, nearest city name and country. Multi-language support with 27 languages included. Easy setup for VD icons (on UHASTM compatible version is this even easier) Global variables are automatically added, monitored and repaired.  
    INSTALLATION
    Please check provided User Manual where all steps are explained in detail
     
    PACKAGE CONTENT
    Advanced Radiation Monitor VD v2.2 standalone Colorful icon pack User Manual v1.2 EN  
    CREDITS
    Many thanks to BodyArt and gucio1234 from Fibaro forum for help with coding, testing, translations and user manual and andre from http://forum.lic.pl for the original idea.
     
    TERMS AND CONDITIONS
    Permission to use, copy, modify and distribute this software and its documentation for educational, research, personal use and non-profit purposes, without fee and without a signed licensing agreement is hereby granted, provided that the copyright notice, with "Terms and conditions" and "Disclaimer" appear in all copies, modifications and distributions. It is strictly forbidden to sell, rent, lease and/or lend this software for profit without prior consent from the Author.
     
    DISCLAIMER
    This software is provided by copyright owner "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author and distributor be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
    Fibar Group S.A. and their employees are not responsible for support of the ARM VD. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required.
     
    VERSION HISTORY
    2.2 – Corrected bug that was stopping code on error if HERE service does not send city name for the location provided by VD.
    2.1 – Replaced Google location service to get nearest city name and country and introduced HERE service. Also moved code for getting country and city name for location of the station from scene to Update button on VD.
    2.0 – Completely revamped ARM VD to show five nearest radiation measuring stations and the one with highest measuring. Also introduced Google service to retrieve nearest city name and country for the station location provided.
     
    Here is look of the ARM VD:
     

     
    Enjoy coding and your new ARM virtual device! 
    Sankotronic  

    173 downloads

       (0 reviews)

    5 comments

    Submitted

  23. [VD] BBQ Guru CyberQ WIFI

    Monitor:
    Fan speed Temperature of the Pit and core temperatures of Food1, Food2 and Food 3 probes in Celsius or Fahrenheit. Status of each of the temperature sensors ("OK", "HIGH", "LOW", "DONE", "ERROR", "HOLD", "ALARM", "SHUTDOWN"). Status codes are also available as global variables for use in block scenes. Control:
    1.    Temperature setpoints for the Pit and Food1, Food2 and Food 3 cores.
    2.    Timer and timeout actions (none, sound alarm, hold pit at set temperature, shutdown fan; or any scene-based action you specify.
    3.    Ramp the pit temperature (cook and hold) from any selected food item.
     
    Installation and configuration:
    Install the CyberQ WIFI VD, which you can download below. I will also post it on Fibaro Marketplace.
     
    Enter the CyberQ WIFI IP address and port number in the advanced settings. Scroll down to the main loop section to set the authentication details. 

    11 downloads

       (0 reviews)

    1 comment

    Updated

  24. Honeywell_Lyric_API

    This is an API for Honeywell Lyric T6. The idea is based on Remco B's version for the Honeywell Evo.
     
    Using a virtual device with API scene, you can change setpoint and set away, holiday and schedule modes. Because it is a virtual device, you can call these buttons from any other scene. For example I use it while tracking my phones location, this creates options for GeofenceMode in combination with ScheduleMode
     
    You will need a webserver (or access to a webserver) for the initial setup. This is to retrieve some keys from Honeywell. As soon as you have the keys, you do not need the webserver anymore. For further details please follow instruction in the pdf and use at own risk.
     
    release 1.1 added checkCertificate option to bypass https check.
     
     
    Installation instructions Honeywell Lyric API.pdf
     
    Fibaro_Lyric_API.lua

    81 downloads

       (0 reviews)

    24 comments

    Updated

  25. Volumio_VD_1.0

    Here's a virtual device I created to control my Volumio Music Player, which is running on a Rasbperry Pi.
    Volumio comes with an own built-in ReST API that I use for the this virtual device.
     
    You must have your Volumio connected to your local area network (the same as Fibaro HC).
    After importing the virtual device, set the IP address and the port (default port 80) to point at your Volumio.
     
    Offical site of Volumio: www.volumio.org
    Volumio ReST API documentation: www.volumio.github.io/docs/API/REST_API.html
     
    Note: Tested on Fibaro HC2 4.180
     
    Enjoy.

    100 downloads

       (0 reviews)

    0 comments

    Updated


×
×
  • Create New...