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. Netatmo Weather Station suite standalone

    Netatmo Weather Station suite standalone
     
    INTRODUCTION
    Netatmo Weather station suite brings complete integration of Netatmo weather station to HC2 users including rain and wind gauges and support for more than one station.
     
    PREREQUISITES
    Fibaro Home Center 2 with firmware 4.160 or greater
    Sankotronic Lab. Emoji VD standalone
    Netatmo Weather station
     
    FEATURES
    Complete integration of Netatmo weather station with HC2 including rain gauge and anemometer
    Support for multiple Netatmo weather stations
    Support for maximum 3 additional indoor modules
    Smart update system that follows Netatmo weather station cloud updates
    Completely independent installation does not require any more Weather State VD or Main scene FTBE
    Netatmo weather station measurements can be shown on Weather State VD and HC2 web GUI and mobile applications by means of Weather State VD and Weather
    provider plugin
    VD has built in 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.
    Easy setup for VD icons (on UHASTM compatible version is this even easier)
    Global variables are automatically added, monitored and repaired and does not require user intervention
     
    INSTALLATION
    Please check provided User Manual and video from @MarcoTorino71:
     
    PACKAGE CONTENT
    Netatmo Main module VD Netatmo Outdoor module VD Netatmo Additional indoor module VD Netatmo Wind sensor VD Netatmo Rain sensor VD Netatmo Weather station scene Set of icons for all VD's and scene 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.
     
    VERSION HISTORY
    3.3.1 - Scene code changed to get rain amount for past 3 adn 6 hours to better support Irrigation Control VD. All VD's corrected some translations. Rain gauge VD changed labels content to display last 3 hours rain amount 3.3 - Check below version description or consult User manual for more details 3.2 - Corrected rain sensor code and cleaned some bugs in scene. Indoor modules corrected handling of CO2 measurement, improved updating code. 3.0 – This new version is completely redesigned and made independent. Does not require Main scene FTBE and Weather State VD anymore. Updating is now synced with Netatmo cloud so readings are always up to date. 2.0.2 – Code optimized and resolved some bugs   Here is look of the Netatmo Weather set:

     
    Enjoy coding and your new Netatmo weather station suite! 
    Sankotronic
     

    2,592 downloads

       (4 reviews)

    48 comments

    Updated

  2. Philips HUE AIO VD standalone

    Philips HUE AIO VD v3.1
    (standalone version)
    With Philips HUE preview VD v1.1 - brings easier setup and support for multiple Philips HUE bridges
     
     
    INTRODUCTION
    Philips HUE lighting brings colorful way of lighting experience. More about this lights you can find here https://www2.meethue.com/en-us Philips HUE AIO VD is All In One solution for HC2 owners to control Philips HUE lighting with support for all types of HUE lamps made by Philips and some other manufacturers.
     
    PREREQUISITES
    Fibaro Home Center 2 with firmware 4.120 or greater (tested up to 4.540) Philips HUE bridge V1 (round) with firmware up to 01041302 (released 05 February 2018) or Philips HUE bridge V2 (square) with firmware up to 1901181309 (released 07 February 2019)  
    FEATURES
    Consists of two VD's: Philips HUE Preview VD which connects to Philips HUE bridge and downloads information of all lights and groups of lights and greatly simplifies installation of Philips HUE AIO VD that controls individual HUE bulbs or group of bulbs. Also added unreachable icon for Philips HUE bridge v1. Philips HUE Preview VD has button for generating authorization username and for easy connection to Philips HUE bridge Support for multiple HUE bridges and most of the Philips HUE bulbs including bulbs from other manufacturers that can be connected to HUE bridge. HUE AIO VD recognizes different types of bulbs like multicolor, white ambience and dimmable and enables proper controls Can control brightness, hue, saturation, color temperature and transition speed that can be set from instant to 10 seconds duration Buttons to activate colorloop efect and Alerts Multilanguage support with 27 languages included. VD's can use HC2 selected language or user can select any other available language. VD will be automatically translated to the selected language (visible after refreshing page on browser or refreshing network data on Fibaro mobile application) Easy setup for VD icons that will also setup icons for all buttons and sliders of the VD. (on UHASTM compatible version is even more easier to setup VD icons with Icon Preview VD) On HUE AIO VD user can setup separated on and off button or have on/off toggle button Self adding of global variables needed and global variable data integrity checking 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 and this video made by @MarcoTorino71:
     
    PACKAGE CONTENT
    Philips HUE Preview VD v1.1 standalone Philips HUE AIO VD v3.1 standalone Icon pack Philips HUE E27 bulb indoor Icon pack Philips HUE E27 bulb outdoor Icon pack Philips HUE GU10 bulb indoor Icon pack Philips HUE GU10 bulb outdoor Icon pack Philips HUE LED strip indoor User Manual v1.1 EN  
    CREDITS
    Many thanks to BodyArt, gucio1234 and many other Fibaro forum users for help with testing, translations and user 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 Philips HUE AIO VD. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required.
     
    LEGAL NOTICE
    HUE is registered trademark of Philips Lighting Holding B.V. registered internationally.
     
    LATEST NEWS
    1 April 2019
    Philips HUE bridge firmware new version 1901181309 is out. If you upgrade to this latest firmware Philips HUE AIO VD will continue function properly.
     
    VERSION HISTORY
    3.1 - Corrected bug that was causing HUE AIO VD main loop to stop with error if user set light or group ID that does not exists on HUE bridge. Also corrected bug that was not updating list correctly after first scan if user removed or added light or group on HUE bridge.
    3.0 - All In One solution, one VD for all types of bulbs and for control of individual light or group of lights with supporting Philips HUE Preview VD.
    2.1 - added Philips HUE White dimmable VD of same version as color version.
    2.1 - Corrected error handling when HUE bridge is not reachable.
    2.0 - Added On/Off button; two version available: 2.0m with Main loop refresh  or 2.0b with button refresh for systems with more than 15 HUE lamps to improve response and reduce network traffic; changing brightness, color or Saturation sliders now immediately refreshes VD status; code improved so users can easier setup necessary data
    1.5 - Added sliders for color (hue) and Saturation, VD is now getting ID & TCP port setting from VD general tab 
    1.0 - Changing icons based on the brightness level, Changing icons based on HUE lights state (unreachable/error); Error handling for HUE response data, status information in the bottom bar of the VD; detailed comments in LUA code, main loop refresh code added
     
    Here is a new look of Philips HUE AIO VD and companion Philips HUE Preview VD:
     
             
     
    Enjoy coding and your new Philips HUE virtual device!
    Sankotronic  
     
    PS
    This solution is only for HC2. If you have HCL then please check @AkilliYuva.com solution here:
     

    2,519 downloads

       (5 reviews)

    97 comments

    Updated

  3. Weather State & Forecast suite standalone

    Weather State & Forecast suite standalone
     
    UPDATED USER MANUAL (09/10/2021)
    I have updated user manual and added chapter 6.4 Weather Forecast global variable and how to read it
    In this chapter users can find how to get forecast data and use this data in their code.
    Please click on this link to download user manual:  SA WS VD and WF VD User manual v2.3EN.pdf
     
    UPGRADE PROBLEM?
    Please check upgrade instructions in User manual or below in version history.
     
    INTRODUCTION
    Weather state & forecast module enhance HC2 weather capabilities. Weather State & Forecast module in its latest version works with five most popular weather services:
    OpenWeatherMap Accu Weather NEW WeatherBit Weather HERE Weather API NEW Weather Underground NEW Weather Underground PWS  
    bringing completely new level of weather experience to Fibaro Home Center 2 users.
     
    PREREQUISITES
    Fibaro Home Center 2 with firmware 4.160 or greater with installed Weather provider plugin set as main weather provider.
    Sankotronic Lab Emoji VD standalone
    User account for at least one of the available weather services
     
    FEATURES
    With Netatmo Weather station suite or Netatmo Public Weather station suite gives best support for Irrigation Control watering adjustment Works with 7 most popular weather services on the planet Regularly refreshes weather state and forecast User can setup when forecast push and popup notifications will be sent same as e-mail with complete forecast User can install more than one set of VD’s and follow weather for more than one place It is now separated from Netatmo weather station but can still display Netatmo measurements (will be available only with UHAS version) User can add additional sensor for lux and UV Automatically finds weather provider plugin if installed and can then update weather on the HC2 web GUI and mobile applications VD has built in 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 automatically translate current weather and forecast data to selected language Easy setup for VD icons. User can download HC2 Icon Preview VD to easily find icon ID numbers Global variables are automatically added, monitored, repaired and cleaned and does not require user intervention Supported are metric and imperial units for measured data. Wind speed can be set to show in meter per second (m/s) instead of km/h or mph  
    INSTALLATION AND UPGRADE
    Please check provided User Manual
     
    PACKAGE CONTENT
    Weather State VD v2.8.1 Weather Forecast VD v2.8.1 Weather Module scene v2.8.1 (only one scene needed for multiple VD installed)  Icon pack 1 - standard HC weather icons Icon pack 2 - flat weather icons provided by Wunderground User manual EN v2.2  
    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.
     
    VERSION HISTORY
    2.8.1 - Weather Unlocked forecast extended for better support for Irrigation Control VD. Also corrected Weather API rain precipitation display 2.8 - Added new weather services and resolved some bugs, see bellow or User Manual for more details. 2.7.1 - Corrected bug that prevented using Wunderground, corrected day/night weather icons and other bugs. 2.7 - Added scene for safe communication with weather servers. Added e-mail notifications. Added 3 more weather services and updated WU service... For more detailed list check bellow 2.4 – VD completely redesigned and added openweathermap 5 day / 3 hour forecast. VD's update is synced to always have up to date weather info. Solved some more bugs 2.3.1 – Solved bug with Weather State VD update button 2.3 – First release on Fibaro marketplace  
     

    1,994 downloads

       (7 reviews)

    22 comments

    Updated

  4. Main scene FTBE

    Main scene FTBE v1.3.4
     
    UPDATE (30 December 2019)
    Changed only Main scene FTBE code. Changed function for time of day calculation and added use of SleepState global to set time of day to morning when Awake and current time is between midnight and sunrise time.
     
    KNOWN ISSUES v1.3.4
    Sunrise and Sunset VD will not show correctly default sunrise and sunset time set by user in Main scene in case that that times are used due to problem with HC settings. If sunset time is before sunrise time then user must check that night time is not set to start after sunrise. Sunrise & Sunset VD does not check this time automatically. INTRODUCTION
    Main scene FTBE is the beating heart of the HA system. It is the only scene necessary to loop endlessly because it is the source of most important events generated on our gateways and that are time based events! It is looping once every minute making sure that our gateways are aware of the current time, part of the day, week, month and season of the year. Many actions done by our gateways are depending on current time like raising or lowering blinds, lighting control, waking up of our home and us, brewing coffee at proper time (this is extremely nice!), reminding us of important events and many other things. This scene will take care of that  by changing various global variables at appropriate time thus activating other scenes triggered by them and the user can even configure it to start other scenes or press buttons on VD's at predefined intervals or at scheduled times.
     
    PREREQUISITES
    Fibaro Home Center 2 with firmware 4.110 or greater FEATURES
    Consists of scene and three VD's. Main scene FTBE loops and takes care of all timers like darkness, time of day, week days, month and season. Can also be setup to run other scenes, activate buttons on VD's or change global variables value at predefined times. VD's are used to set values of timers and show them on HC2 interface Can be setup to send push messages for scheduled execution of scenes and VD's Can track users location and calculate distance from home Darkness can be changed either by user set sunrise and sunset times or by light level measured by devices Part of the used global variables are automatically added to the system by Sunrise & Sunset VD and are automatically repaired INSTALLATION & UPGRADE
    Please check provided User Manual where all steps are explained in detail and check video from @MarcoTorino71:
    PACKAGE CONTENT
    Main scene FTBE v1.3.4 Sunrise & Sunset VD v1.4.0 Home Status VD v1.0 Home Timers VD v1.0.1 Icons for scene and VD's User Manual EN v1.3 CREDITS
    Many thanks to many Fibaro forum users for help with testing and suggestions for improvements.
    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 Main scene FTBE. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required.
     
     

    2,541 downloads

       (3 reviews)

    17 comments

    Updated

  5. SolarEdge Monitor

    ----------==========     SolarEdge Monitor Virtual Device     ==========----------
     
    I want to share my virtual device to monitor SolarEdge solar panels.
    SolarEdge have the possibility to read your system data with API.
     
    What you need is the VD to download and ad into the Fibaro
    Make a LUA scene where you copy the code
     
    The code is based on @jompa68  Consumption Monitor Scene and I have permission to share my version of it with the change/ integrate of SolarEdge
    With this it also supports 
    @AutoFrank SmartMessageHub and
    @Sankotronic Time Based Events Control
     
    First you need the API key that only a admin of the portal can give to you.
    When the SolarEdge was installed at my home I register the system by myself.
    You only need the serial number that is on the invertor
     
    Go to:
    https://monitoring.solaredge.com
    And select new installer Fill in the information needed see example of serial number to fill in  
    Or ask the site admin to enable the API key
     
    To generate a Site API key:
    For most time people will have standard access to the portal and will not be able to set the API Key them self
    Ask your Installer/ manufacturer to enable the API key by these steps or do it yourself.

    In the Site Admin >> Site Access tab >> Access Control tab >> API Access > section:
    Acknowledge reading and agreeing to the SolarEdge API Terms & Conditions. Click Generate API key. Copy the key. Click Save Use the key in all API requests  
    SolarEdge Scene setup
    Line 23 local vDevId > enter the VD id SE_API > Your API Key SE_CLIENT_ID > Your Client ID Line 41 (true or false) and 42 possibility to calculate rates with the the power you get from the solar panels Line 51 refresh rate > set 60 or higher due API data restrictions of SolarEdge setup you push message when and in what way you want, see description in the scene.

    923 downloads

       (4 reviews)

    17 comments

    Submitted

  6. Automatic Icon Downloader

    Automatic Icon Downloader
     
    What does this device:
    Device can automatically download from dedicated web-page all icons that you use to your HC2. The device can be used by installers to easily download their favorite sets of icons to new HC2, by end users to get back icons after recovery or any other purpose. Device before uploading any icon to your HC2 check if any of selected in IconSet already exists so it should be safe to click on "Download to HC2" button many times.
    This solution has to separate parts: vd and portal. 
     
    Version history:
    0.6 - first published version of AID
     
    To Do VD:
    - future version of virtual device will be updated automatically from internet if user agreed to do it, after HC2 restart
     
    To Do portal:
    - next version will support adding user device icon to library (on, off, state 1-10)
     
    Manual
    1. Download and install virtual device.
     
    2. Go to: www.grace-land.pl/fibaro/aid portal to get your IconSet. Current version looks like below.
     
    Please note some important things:
    - HC2 keeps your icons in 4 separate groups: devices, virtual devices, scenes, rooms. It means that if you want to use one image as room image and virtual device image it needs to be added twice - that is why portal items are divided into four groups (for user convenience - each group has different color)
     

     
    How the portal works?
    You just check all icons in each group you want to add to your IconSet and then click "Get your IconSet".
    Please remember that you can edit this IconSet later. 

     
    What if I have icon/s that is not in portal library?
    There is option to upload your icons and make library bigger. In this case you click on "Add new icons" button. You will be redirected to new page.
    Please note some important things:
    - You can upload many files and many groups in the same time,
    - All icons will be checked before upload. Icon needs to be: PNG file, 128x128 size, unique [portal checks if this icon exists in this group*], no bigger then 1MB (one icon),
    - You will see preview of icons that you want to add but without category,
    - For now there is no option to add "device" icons. I am working on it to make it simple,
    - You will get status whats was added and what not.
     

     
    How to edit my IconSet?
    You need to know your IconSetID and then click on "Edit your IconSet" button. Page will refresh and all icons from your set will be automatically checked.
    What you need to do is to check more icons or uncheck unwanted icons and then click "Update your IconSet".
    Please note that VD doesn't delete icons from your HC2. 
     
    3. After you have your IconSetID there is time to configure virtual device. In this case you need to provide some information.
    a) In VD information please provide IP and TCP port.
    IP: grace-land.pl
    TCP port:  80
    b) In Advanced tab scroll to button and replace needed credentials.
    c) click "Save".
    Please note that virtual device only downloads data so there is no risk in providing credentials. 
    ------------------------------------------------- -- PUT YOUR ADMIN CREDENTIALS ------------------------------------------------- sv_user = '[email protected]'; sv_password = '[email protected]'; sv_automaticDownloaderId = 'iconSetID_from_website';
     

     
    4. Your device is ready to use. You just click on "Download to HC2" and wait. All needed information is in debug for vd button.
    Device before uploading any icon to your HC2 check if any of selected in IconSet already exists so it should be safe to click on "Download to HC2" button many times, but it will take a while.
     

     
    Have fun!
     
    Disclaimer:
    Every of icons on portal [grace-land.pl/fibaro/] aid library are not my property.
    The code wasn't inspired by the somebody mentioned in comment below - the first version of uploading I found in 2013 [https://github.com/rafikel/Fibaro/tree/master/ncplus] - and I went this way to make something usefull.
     
     
     

    535 downloads

       (3 reviews)

    1 comment

    Updated

  7. HC2 Icon Preview VD standalone

    INTRODUCTION
    HC2 Icon Preview VD provides easy way to search custom icons installed on Fibaro Home Center 2 to find their ID number. User can also use it to list through all virtual devices and set their main icon and also icon of all VD buttons and sliders. This capability greatly speeds up building of new virtual devices with many buttons and sliders since their icons can be set at once.
     
    PREREQUISITES
    Fibaro Home Center 2 with firmware 4.120 or greater
    Any internet browser on computer locally connected to HC2
     
    FEATURES
    Provides simple preview of all room, scene and VD custom icons imported to HC2 what makes it great tool for developers and users to find icon ID numbers Provides easy way to setup main icon and icon of all buttons and sliders of all virtual devices installed with just one click on Setup VD icon button VD automatically updates list of the installed virtual devices and icons Multi-language support with 27 languages included (see APPENDIX 1 for the list in user manual). VD can use HC selected language or user can select any other available language. VD will be automatically translated to selected language (visible after refreshing page on browser or refreshing network data on Fibaro mobile application) Global variables are automatically added, monitored and repaired and does not require user intervention  
    INSTALLATION
    Please check provided User Manual and this video by Mr Apple @MarcoTorino71:
     
     
    PACKAGE CONTENT
    HC2 Icon Preview VD v2.1 Standalone Beautiful main icon 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.
     
    VERSION HISTORY
    2.1 – VD completely redesigned and added possibility to set virtual devices main and all buttons and sliders icon. Added checking of global variables integrity and automatic repair. It also automatically updates list of available virtual devices on HC2 and list of custom icons after each change. 1.0 – Code optimized and resolved some bugs 0.1 – First release  
    Here is look of the HC2 Icon preview VD:

    Enjoy coding and your new HC2 Icon Preview virtual device! 
    Sankotronic

    1,312 downloads

       (0 reviews)

    3 comments

    Updated

  8. Advanced Battery Check (ABC) VD standalone

    INTRODUCTION
    Advanced Battery Check VD (further in text ABC VD) scans for all included battery devices and adds them to the list sorted by either battery level, device ID or room ID depending on user settings. Also it can send list of all devices or just devices that needs battery to be replaced to e-mail and/or popup. Can also send push notification with the worst battery status.
     
    PREREQUISITES
    Fibaro Home Center 2 with firmware 4.160 or greater  
    FEATURES
    Scans for all battery powered devices adds them to the list and shows their battery level status. It is possible to scroll through the list of battery devices and see battery level, type, amount of battery needed for selected device and price of the battery (if entered by user). Easy adding or removing battery devices to be ignored Included 30 types of battery devices (products) in ABC VD version 1.0 for the list please check APPENDIX 2 Automatic recognition and adding of not included types of devices (products) for which user can setup battery type, amount needed and price Predefined types of battery types including Unknown and Rechargeable Sends list of all battery devices found or only dead devices and devices with battery level bellow 35% to e-mail and popup notification depending on user selection. Calculates total price for devices that need battery replacement on the bottom of the list sent to e-mail (user need to setup currency and price for batteries) Sends push notification for device with lowest battery level found or dead device It can automatically remember date when battery is replaced on device after updating the list. This is done by comparing previous measured battery level with the currentone. VD has built in multi-language support with 28 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 (visible after refreshing page on browser or refreshing network data on Fibaro mobile application) Easy setup for VD icons (on UHASTM compatible version is this even easier) Global variables are automatically added, monitored and repaired and does not require user intervention  
    INSTALLATION
    Please check provided User Manual and video provided by @MarcoTorino71:
     
    PACKAGE CONTENT
    Advanced Battery Check VD v.1.0 Standalone Icon pack User manual EN  
    TERMS AND CONDITIONS
    Permision 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 licencing 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.
     
    VERSION HISTORY
    1.0 – First release used as a base for UHAS version
     
    Here is look of the ABC VD:

    Enjoy coding and your new ARM virtual device! 
    Sankotronic

    783 downloads

       (0 reviews)

    22 comments

    Updated

  9. 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

    361 downloads

       (0 reviews)

    0 comments

    Updated

  10. Nanoleaf Aurora VD standalone

    Nanoleaf Aurora VD v2.0.1
    (standalone version)
     
    INTRODUCTION
    Nanoleaf Aurora light panels https://nanoleaf.me/en/ brings new way of lighting experience. Nanoleaf Aurora VD enables Fibaro Home Center 2 to control this lights and show their status. This is new updated version.
     
    PREREQUISITES
    Fibaro Home Center 2 with firmware 4.120 or higher (tested up to 4.530) Nanoleaf Aurora starter kit with firmware 1.5.1 up to 3.0.6  
    FEATURES
    Control brightness, hue, saturation, color temperature and activate Aurora 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.
    Support for Rhythm module. VD automatically recognizes if Rhythm module is attached to Aurora light and enables selection of input between built in microphone or aux input. Use Process button to control Aurora light by other scenes and VD Built in button for generating authorization token for easy connection to Aurora 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 and this video made by @MarcoTorino71:
     
    UPGRADE
    To upgrade from v2.0 to v2.0.1 just paste provided code in package over old Main loop code and redo settings
    To upgrade from v1.0s and v1.1 to version 2.0.1  just delete old version and import new version of VD.
     
    PACKAGE CONTENT
    Nanoleaf Aurora VD v2.0.1 (standalone) Icons for VD User manual v1.3 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 Aurora are registered trademarks or trademarks of Nanoleaf Energy Technology ShenZhen Limited registered in PR China and other countries.
     
    LATEST NEWS
    1 April 2019
    Nanoleaf Aurora light panels latest firmware update 3.0.8 is out. If you upgrade to this latest firmware Nanoleaf Aurora VD v2.0 will not be able to show VD main icon for effects anymore due to color mode type name "effects" changed to "effect". Even if effect is selected VD will have icon set for solid color. Other functionality of the VD remained intact and will function properly with this latest firmware.
    12 September 2019
    Nanoleaf Aurora VD is working with the latest Aurora firmware 3.2.0. Problem from 1 April this year with icon functionality is solved!
     
    VERSION HISTORY
    2.0.1 - Corrected bug in VD main loop that prevented saving updated effect
    2.0 - Code rewritten to enable recognizing type of the running and selected effect. Further optimized part of the code and cleaned some bugs.
    1.1 - Corrected some bugs in code and replaced light unreachable icon
    1.0 - First release of standalone version build on code of VD for UHAS™
     
    Here is look of the Nanoleaf Aurora VD:
     
            
     
    Enjoy coding and your new Nanoleaf Aurora virtual device!
    Sankotronic  
     

    270 downloads

       (0 reviews)

    3 comments

    Updated

  11. Holiday Lights

    Holiday Lights [Christmas Lights]
     
    Hello dear Fibaro community!
     
    Christmas time is near so I made this VD to make it possible to automate turning On/Off some lights by using some smart plugs and relay modules, by setting favorite program on RGBW modules and some Philips HUE bulbs that you want to. It is possible to do that manually by just pressing button on VD, or it can be automated completely if you are using Main scene for time based events control scene! But more about that at the end of this post.
     
    ABOUT Holiday Lights VD
    It looks like this:


     
    As you can see from above pictures this VD is very simple. Holiday Time button changes value of predefined global variable "HolidayTime" which enables to automate control of holiday lights. Button LightsOn/Off changes value of predefined global variable "HolidayLights" and turns On or Off lights that you define in code of this button. Let see first what global variables you need to add to variable panel:
     
    GLOBAL VARIABLE SETUP
    Following are predefined global variables (bottom part in panel) that you need to add before importing this VD:
     
    Name of variable   - possible values
    -----------------------------------------------------------------------------------------------------------------------------
    HolidayTime     - possible values: No, Yes or values in your language mapped properly in code (this variable is also used in Very Smart Light™ scene)
    HolidayLights   - possible values: Off, On or values in your language mapped properly in code (this variable is also used in Very Smart Lights™ scene)
    HomeTable       - predefined global variable table with device and scene IDs. Recommended to use since z-wave devices can change their ID with re-inclusion and then is necessary  to edit only scene which make this table and only device ID in scene headers. Much less time and effort is needed than without that option! But if you don't use this feature then you MUST delete following lines from button code:
    -- get the table from global if not using then delete this line!!! local jT = json.decode(fibaro:getGlobalValue("HomeTable")) Now when you added above variables you can import VD.  
    IMPORTING Holiday Lights VD
    Select on HC web GUI Devices and then click on Add or remove device on top of the left column (see picture):

    Next window will open and you will click on "Choose Files":

    Open file dialog will open where you will select downloaded file Holiday_Lights.vfib.json and press Select or Open or Choose button.
     
    SETTING UP Holiday Lights VD
    Virtual device will import and open on General tab where you need to import icons:

    To import icons click on button Change Icon and new window will open:

    Now click on button Choose File and file dialog will open where you will select first icon from the Download folder where they are after downloading and click on button Select.
    Name of the selected icon will show on the right side of the Choose File button. Now press button Add. Repeat same procedure for another icon. When you finished importing icons select Off icon by clicking twice on it to select it for VD main icon. If you don't want to see virtual device default blue box icon then do same for buttons!
     
    You will need icons ID numbers and the easiest way to find out is to drag icon from General tab to the desktop! On desktop it will have name like User1058.png. That number in the name of the icon is it's ID number. If you drag to the desktop first imported icon, then second icon ID will have ID number plus one, eg. User1059.png.
     
    ADDING DEVICES AND LIGHTS
    We are almost done. Just need to click on Advanced tab and edit code of each button and Main loop. In code for button Lights On/Off you need to put names of global variables that you use and do proper mapping of your values to the values used in code, then you need to put your icons IDs and you can change message text which you will get if you try to turn On holiday lights when HolidayTime is set to No. See code bellow:
    -- GLOBAL VARIABLES -- enter names and value mapping of your -- global variables or leave as it is and add to variables panel -- get the table from global if not using then delete this line!!! local jT = json.decode(fibaro:getGlobalValue("HomeTable")); -- enter name of your global variable for holiday time and map -- your values this global value is set with this VD local holidayTime = "HolidayTime"; local holidayTimeMapping = {Yes="Yes", No="No"}; -- enter message when holiday time is not active and trying to turn -- holiday lights On. local messageHolidayTimeOff = "Holiday time is set to No!"; -- enter name of your global variable that indicates holiday lights are -- turned on and map your values. This global variable value is set with -- this VD local holidayLights = "HolidayLights"; local holidayLightsMapping = {On="On", Off="Off"}; -- VD ICONS ---------------------------------------------------- -- enter ID numbers of corresponding icons on your system local iconHolidayOn = 1056; local iconHolidayOff = 1055; Then you need to setup some smart plugs and relay modules that you will use to control Christmas lights. Just add ID numbers between {} brackets separated with comma like in code bellow:
    -- SETUP RELAY, SMART PLUG TO BE CONTROLLED -------------------- -- put in bracket separated by comma ID of smart plugs, switches, -- and dimmers that you want to turn On/Off with this button local deviceID = {238, 140, 1002}; If you have some Philips HUE lamps that you like to use to change colors by other scene or mobile application then you can add their ID numbers between {} brackets separated by comma, if not then just skip this part. At this moment VD will only turn on HUE lamps at predefined brightness, or turn them off. To make them to change color you can use one of many mobile applications from Apple AppStore or Google play. It is possible to make scene that will be started and then run in loop and change HUE lamps color by some program and I may make one but can't promise that it will be available on time since it requires a lot of testing. But if you are interested to have one please leave comment.
     
    If you use Phillips HUE virtual device then set variable VDlightIDtype to "VD" or to "PlugIn" if you use plugins. Set VDdim to the brightness value at which you want bulbs to be turned On (for VD 0-100, for PlugIn 0-254). VDRefreshType you need to set to "Button" if you use Philips HUE VD version 2.0b with button refresh or to "Main" if you use version with Main loop refresh. VDrefreshButton and VDbrightnessSlider are set to numbers that are ok for Philips HUE VD v2.0. If you use other versions or made by you then please put correct button and slider number see code bellow:
    -- SETUP HUE VD OR PLUGIN TO BE CONTROLLED ---------------------- -- enter lights ID controlled by VD or plugin (like HUE) separated -- by comma between brackets or if none leave brackets empty local VDlightID = {jT.dnevni.stojeca, jT.dnevni.lampa1, jT.dnevni.lampa2, jT.fontana.svjetlo1, jT.fontana.svjetlo2, jT.blagovaona.lampa1, jT.blagovaona.lampa2}; -- enter if it is VD (virtual device) "VD" or plugin type "PlugIn" -- REMEMBER!! If you use VD then brightness, color and saturation can be -- set from 0 to 100 and if you use PlugIn then brightnes, color and -- saturation can be set from 0 to 255!!! local VDlightIDtype = "VD"; -- enter brightness value for HUE lamps to which to turn on local VDdim = "30"; -- if it is VD type then enter type of refreshing of VD lights: -- "Main" for main loop or "Button" for button. If it is button then also -- enter nuber of the button bellow: local VDrefreshType = "Button"; -- enter number of refresh button on VD for light local VDrefreshButton = "5"; -- enter number of brightness slider on VD for light local VDbrightnessSlider = "2"; -- NOTE! If you are using Very Smart Lights™ scene then open to edit -- and set VDholidayFlag to 1 for above HUE lamps so when you turn on -- holiday lights then Very Smart Lights scene will not control above -- lamps util Holiday Lights are turned off. Also you can set -- useholidayLights to "Yes" and adjust dimming of the other lighting -- to prefered levels while holiday lights are turned On. Same applies -- for RGBW modules! And now if you have RGBW modules and you want to use your new made programs then you can add to RGBWlightID their ID numbers between {} brackets separated by comma. You can setup different programs for each RGBW module for all seven days of the week! See bellow code as example for two RGBW modules:
    -- RGBW MODULE PROGRAM SETTINGS ----------------------------------------- -- enter lights ID controlled by RGBW MODULE separated by comma between -- brackets or if none leave brackets empty local RGBWlightID = {120, 122}; -- RGBW module has some default programs and more can be added by users, -- here you can define your favorite program for each day of the week -- that will be used for holiday time local RGBWfavorite = {{493, 492, 493, 492, 493, 492, 493}, {1, 3, 4, 2, 1, 4, 3}}; From above example you can see that first RGBW module with ID 120 is playing custom made programs with ID 492 and 493. This are simple programs that are changing four default colors red, yellow, green and blue in different sequence and different speeds and look like this:

     
    The other RGBW module with ID 122 is playing default programs, Fireplace on Sunday, Aurora on Monday, Storm on Tuesday and so on. If you want to find out what is ID of your new program then you can make new scene with just this line of code:
    fibaro:debug("RGBW running program ID number is: "..fibaro:getValue(100, "currentProgramID")) Change 100 for ID number of your RGBW module. First start new program on RGBW module and then run this scene to see program ID number.
     

     
     
    ADDITIONAL INFORMATION
    if you setup and using Main scene for time based events control that can be downloaded from here:
    Then you can setup this VD so that lights are turned On and Off at specific time of the day. Here is example:
    -- SCHEDULED VD SETUP --------------------------------------------------- -- here you can setup VDs that will be executed at predefined time of -- day in format "00:00". You can set up more than one time during day. -- Also you can enter flag for each day of the week when VD will be -- executed or not. See more details bellow. -- enter VD IDs that will run at scheduled time separated by comma. local runVDSchedID = {100}; -- enter here which button to press to execute command local runVDSchedButton = {"2"}; -- enter at what time of day will VD button be pressed separated by comma. -- You can define more than one time in format "00:00" for one VD -- or even use local or global variables like sunsettime or sunrisetime -- Example: {{"13:30", "19:20"}, {sunrisetime, "13:00", sunsettime}} -- in above example first VD button will be pressed at 13:30 and 19:20 -- while second VDs button will be pressed at sunrisetime, 13:00 and -- at sunsettime local runVDSchedHour = {{"07:00", "09:00", "19:00", "23:59"}}; -- enter here flag for each day of the week for VD to press button -- at above scheduled time. if flag 1 the VD button will be pressed and -- if flag 0 then will not be pressed for that day. Remeber, Sunday is -- first day of the week on HC2! Example for two VDs: -- {{1, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 1, 1, 0}} - in this example -- first VDs button will be pressed only on Sunday, and second VDs -- button will be pressed on weekdays but not on weekends (Saturday -- and Sunday). local runVDSchedWeek = {{1, 1, 1, 1, 1, 1, 1}}; -- enter here flag for sending push message when VD buttons is pressed -- 1 for sending message, 0 no messages local runVDSchedPushFlag = {0}; -- enter here message content that will be sent to you when VD is -- executed. If above flag is 0 for any of the VDs then just put -- empty "" for it. local runVDSchedPushMessage = {""}; From above example, button on Holiday Lights VD with ID 100 will be pressed at four different times each day of the week and no push message will be sent. Since it is only one button that flips On/Off, at 7h in the morning lights will be turned On (if where Off), then at 9h will be turned Off. Again at 19h turned On and minute before midnight turned off again.
     
    This is just one way it can be done, but here are many other ways that I will add after posting some other scenes like Very Smart Lights™, Good Morning, Good Night, etc.
     
    Enjoy coding and Holiday lights!! There is more to come soon!
     
    Sankotronic  
     
     
     
     

    415 downloads

       (0 reviews)

    2 comments

    Updated

  12. 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
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    265 downloads

       (0 reviews)

    1 comment

    Updated

  13. Google Calendar Synchronization

    Hi All,
     
    I came across the problem of making my private Google Calendar's entries available in HC2 with the intention of using it in some of my home's automation scenarios. Since I was unable to find any simple solution on the internet I did create my own and here it is 
     
    The scene runs on my HC2 since few weeks without any issues. I did schedule the scene using Sankotronic's Main Scene for Time Based Events and it is synchronizing my Google Cal every hour.
     
     
    There are three basic steps to make the scene working for you:
     
    ·       Provide the link to your google calendar by modifying the address hold in the local variable
    local gCalUrl = https://calendar.google.com/calendar/ical/xxxxxxx.ics
     
    Create global variable GCalendar which will hold the synchronized Google Calendar entries  
    Maintain the translation table monthMapping to map the names of the months to your local language. This is needed due to the fact that global variable “Month” could the name of current month in your local language – which is the case for me.  
    Once GCalendar global variable is synchronized with Google Calendar I can use it in "good morning" scene which is reading the agenda for the day once I'm brushing my teeth in the morning  
     
    Any comments highly appreciated. 
     
    Global variable GCalendar is holding the information on upcoming events. The information is structured in the following way:
    GCalendar = { Name, StartDate, EndDate, WholeDay }; Name holds the name of Calendar event, StartDate and EndDate are the event's start and end-date accordingly, WholeDay is a flag with values "Yes" in case the event was defined as "whole day" and "No" if this isn't the case.
     
    @jompa68 
    jompa68 did create VD which shows today's events from your calendar for current date. VD is attached below (hope you don't mind jompa68 but having it in the first post makes it easier to find  ). 

     
     
    Update 8.3.2017
    Thanks to @jompa68 I realized there is no handling of recurring events. Honestly I did not think this small topic can be so much complicated... anyway. Some basic recurrence rules should now be supported by the script.
     
    Update 12.3.2017
    @emielstroeve figured out that calendar events marked as "whole day" were not recognized by the script. Version 1.2 solves this problem by adding the missing functionality. I did extend the structure of GCalendar variable with additional field "WholeDay". The field contains "Yes" in case the event is defined as "whole day" otherwise the field is set to "No".

    256 downloads

       (0 reviews)

    6 comments

    Submitted

  14. COVID-19 Stats suite

    COVID-19 Stats suite standalone
     
    INTRODUCTION
    COVID-19 Stats suite consists of virtual device and two scenes. It is using free COVID-19 API released by Kyle Redelinghuys. VD is getting back details about global and regional coronavirus data, including latest numbers that are updated close to real-time by gathering information from Johns Hopkins CSSE.
     
    PREREQUISITES Fibaro Home Center 2 with firmware 4.580 or greater
    Sankortonic Lab. Emoji VD standalone
     
    FEATURES
    COVID19 Stats suite is getting details about global and regional corona virus spread and show them on Fibaro mobile app or browser connected to HC2 home page.
    Uses COVID-19 API built by Kyle Redelinghuys to show latest data on corona virus spreading.
    Provides total global pandemic numbers for total and new cases, total and new deaths and total and new recovered cases and total active cases.
    Provides user to select default country to monitor corona virus latest numbers
    Provides user to check corona virus latest numbers for 190 countries worldwide.
    Provides global variable trigger that user can setup to be updated either by global total active cases or their default country active cases. This trigger can then be used to start scene that will send notifications using any available service.
    Multilingual support with 27 languages included. VD can use HC2 selected language or user can select any other available language. VD will be automatically translated to selected language
    Easy setup for VD icons
    Global variables are automatically created, monitored and repaired.
     
    INSTALLATION
    Please check provided User Manual
     
    PACKAGE CONTENT
    COVID-19 Stats VD COVID-19 Stats scene COVID-19 Triggered scene Icon pack for VD and scene User manual EN Updated code for scene and VD main loop and Update button  
    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 COVID-19 Stats suite. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required.

    205 downloads

       (1 review)

    0 comments

    Updated

  15. VD: MQTT bridge

    0) Create HTTP -> MQTT bridge. (skip if you already have)
     
    $ sudo apt-get install mosquitto mosquitto-clients unzip attached mqtt_php.zip to www root folder, for example, /var/www/html/fibaro/mqtt.php  call from browser http://192.168.1.28/fibaro/mqtt.php where "192.168.1.28" www server where you unzip attached mqtt_php.zip and "fibaro/mqtt.php" path in your www server  here is valid response 1) import attached VD to HC2 MQTT_bridge.vfib 
    change VD params

     
    change url path for HTTP bridge in main loop
     

     
    2) create simple HTML test page
     
    <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> </head> <body> <div id="log"></div> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.min.js" type="text/javascript"></script> <script type="text/javascript"> (function () { if (!console) { console = {}; } var old = console.log; var logger = document.getElementById('log'); console.log = function (message) { if (typeof message == 'object') { logger.innerHTML += (JSON && JSON.stringify ? JSON.stringify(message) : String(message)) + '<br />'; } else { logger.innerHTML += message + '<br />'; } } })(); // Create a client instance client = new Paho.MQTT.Client("192.168.1.28", 1884, "clientId"); // set callback handlers client.onConnectionLost = onConnectionLost; client.onMessageArrived = onMessageArrived; // connect the client client.connect({ onSuccess: onConnect }); // called when the client connects function onConnect() { // Once a connection has been made, make a subscription and send a message. console.log("onConnect"); // Topic: home/roomID/deviceType/deviceID //client.subscribe("home/#"); // all events from all home //client.subscribe("home/4/#"); // all events from 4 room //client.subscribe("home/4/com.fibaro.binarySwitch/#"); // only binarySwitch events from 4 room client.subscribe("home/+/com.fibaro.binarySwitch/#"); // only binarySwitch events from all home } // called when the client loses its connection function onConnectionLost(responseObject) { if (responseObject.errorCode !== 0) { console.log("onConnectionLost:" + responseObject.errorMessage); } } // called when a message arrives function onMessageArrived(message) { console.log("Message Arrived: " + message.payloadString); console.log("Topic: " + message.destinationName); } </script> </body> </html>  
    please change 192.168.1.28 in code on IP address HTTP MQTT bridge
    locate on this test page
    you should get page like 
     
     
     
    Good luck!
     

    142 downloads

       (0 reviews)

    4 comments

    Submitted

  16. [VD + SCENE + PHP] APC UPS Monitor and auto shutdown of HC2

    PREFACE :
    I noticed in the Forum that there is some interest for link APC UPS with Fibaro HC2 and have auto shutdown of HC2 if there is no electricity.
     
    I have spent few evenings and I am happy to share what I did.
     
    I want to thank @Sankotronic  for the permission to use part of his code and @Lambik whose icons of UPS I used as a base to create icons representing various status of the UPS device.
    Also I have used a bit of the code of @drboss .
     
    INTRODUCTION :
    The proposed solution reads the status of the UPS device using SNMP protocol and based on this it triggers appropriate actions.
    The status of UPS is represented with the various icons of the VD :
     
    Email messages and pop-up notifications are sent whenever :
                there is electricity outage           the battery level is critical and HC2 shutdown is triggered         the power is restored The status is updated whenever the REFRESH button of VD is pressed.
    For constant monitoring I have used @Sankotronic’s scene „Main Timer“ which presses the button every minute.
     
     
     
    WHAT WE NEED :
    1.
    On HC2 -  we need :
    -       VD for UPS monitoring and triggering actions
    -       Scene to trigger Shutdown of HC2.
     
    2.
    We need web server with PHP Module running on something.
     
     
    It can be RaspberryPI, Windows PC or anything.
     
     
    In my case I have it on iMac and I followed this guide :
     
    https://medium.com/@JohnFoderaro/how-to-set-up-apache-in-macos-sierra-10-12-bca5a5dfffba 
     
    I skipped "Configuring Virtual Hosts" as that was not working for me.
    As my web server is accessible only by my devices, I did not care.
     
    Important is that apache web server is managing PHP scripts .
     
    3.
    SNMP command line tool has to be present on the server (it is present by default on OS X)
     
                  SNMP tool is present by default with OS X.
     
                  Here are links describing how to install it for Windows  -  different resources (not tested) :
     
                  https://www.ipconvertertools.com/snmpwalkinstructions
                  https://syslogwatcher.com/cmd-tools/snmp-walk/
          
    4.
    APC UPS with network management card.
    The presented solution was implemented and tested with APC Smart UPS 3000  with Network Management Card AP9631
     
     
     
    IMPLEMENTATION :
    1.
    Implement web server with PHP module running.
     
    Activate SNMP command line tool on your server (if not already there).
     
    2.
    Copy APC.php script to the web server.
    You have to edit the file with any text editor to provide username and password for your HC2, IPs of HC2 and UPS.
    If username or password contain `@` it has to be replaced with `%40‘
    Eg. If Your username is `[email protected]` You have to enter `user%40`
    Note: You have to make a note of the path to the script.
     
    Here is a code :
     
     
    3.
    Create new scene in HC2 for auto shutdown.
     
     
    IMPORTANT:  You have to pay attention NOT TO CHECK MARK that the scene is starting while HC2 starts.
    The HC2 would restart itself after boot.
    If you do so you have to do restore to factory state and load last working backup.
     
    4.
    Import the VD from the attached .vfib file to your HC2.
    Import all provided icons for graphical representation of the UPS status.
    There is a bunch of global variables needed, but they will be created automatically by the VD – so you do not have to worry. All of these global variables starts with `UPS_` .
     
     
    Edit the `USER SETTINGS` section of the LUA code for the REFRESH button :
     
    The icon for the REFRESH button should be `IconTimer`.
     
    As the parameters for the VD:
    -       enter the IP address of web server with PHP script
    -       enter 80 as a port number
     
     
    That is all.
    I hope those how are interested will be able to implement what I did.
     

     

    117 downloads

       (1 review)

    0 comments

    Updated

  17. Smarter Coffee VD

    Smarter Coffee VD
     
    Hello friends of Fibaro and a good cup of coffee!!!
     
    When I became proud owner of Smarter coffee machine, I didn't know that Smarter is making smart appliances that are actually not connectible to home automation. I have ask them several times if they plan to publish coffee machine API or what ever is needed so that it can became connected part of our every day smarter home. What is the use of smart coffee machine if you have to grab mobile phone every morning in bed to tell it that you want coffee to be brewed!! The answer was always "maybe soon". So I get tired of waiting!
     
    I was intensively searching the wast land of internet and just few days ago finally stumble on at least some kind of solution provided by Simone Margaritelli the evilsocket and Aden Forshaw. Of course their solution is written in python but for me is unacceptable to have additional server even on small PI just to start coffee machine. So done little experimenting because this coffee machine has really simple commands in bytes where first byte is command and last byte is marking end of command. Here is what evilsocket and Aden found and I provide translation to our LUA language with this little knowledge I have just in case if you want to experiment further or do similar VD for iKittle 2:
     
    -- Smarter coffee commands: command - hexadecimal - decimal format used in LUA -------------------------------------------------------------------------------------- brew = "7" = "7" reset = "\x10" = "\16" get wifi aps = "\xD" = "\13" toggle grind = "\x3c\x7e" = "\60\126" set strength = "\x35%\x7e" = "\53\%\126" where % = 0-2 (weak, mid, strong) set cups = "\x36%\x7e" = "\54\%\126" where % = 1-12 cups set config = "\x38\%1\%2\%3\%4\x7e" = "\56\%1\%2\%3\%4\126" where %1 = strength %2 = cups %3 = mode (grind, filter) %4 = warm time warm % min = "\x3e%\x7e" = "\62\%\126" where % = 1-30 min warm stop = "\x4a\x7e" = "\74\126" -- Smarter coffee response response - hex - decimal counterpart ------------------------------------------------------- brewing or OK = "\x03\x00~" = "\3\0~" already brewing = "\x03\x01~" = "\3\1~" invalid argument = "\x03\x04~" = "\3\4~" no carafe = "\x03\x05~" = "\3\5~" no water = "\x03\x06~" = "\3\6~" low water = "\x03\x07~" = "\3\7~" reset ok = "\x03i~" = "\3i~" -- In LUA backslash \ is used to mark byte in the string so it cannot stand alone or be -- last character in string like this: "\" or this "\56\". ''So this is problem if you want -- to combine different values in string commands like for changing number of cups -- since it is impossible to join "\54\" ..cups.. "\126". 'Only possibility that -- came across my mind is to use table with predefined strings for coffee strenght, -- number of cups and Keep wamring time as listed bellow. local comm = "\56"; local cups = {"\1", "\2","\3", "\4","\5", "\6","\7", "\8","\9", "\10", "\11", "\12"}; local stre = {"\0", "\1","\2"}; local mode = {"\0", "\1"}; local time = {"\5", "\10", "\15", "\20", "\25", "\30", "\35", "\40"} local endb = "\126" -- example of building command for setting coffee machine default settings local command = comm..stre[2]..cups[2]..mode[1]..time[1]..endb I should actually put this part in developer section but here it is for those of you who like to play with it.
     
    So here it is SMARTER COFFEE VD V0.1 first release
     
    Smarter_coffee.vfib.json
     
    To be able to use this VD you will need following devices:
    1) HC2 - VD will work only on HC2 due to LUA code (Will try to do HCL version but will not be with all possibilities as LUA version)
    2) Smarter Coffee machine with latest firmware V 22.0 (will work with older version but you will not be able to stop Keep warming or set it to 40 min)
    3) FGWP smart plug or any other similar. It is needed to monitor coffee machine consumption from which is determined if it is brewing, keep coffee warm or stopped
     
    Also after importing VD to your system you need to setup IP address and TCP port. Since it is not possible to get IP address of your precious coffee machine from original app you will need some other app to find it for you. I used Fing on my iPhone. TCP port is 2081. And it should be entered on advanced tab of the VD:

     
    Before you start using VD first you will need to define some global variables in global variable panel. I was planning to add code to do that part for you, but since Fibaro is constantly changing API on HC I decided to leave this part to you. Besides you can put values of global variables in your language but then you will also have to change few things in code of each button and main loop. Will explain later what to change.
     
    So this are global variables that are needed for Smarter coffee VD to work properly:
     
    First are variables (top part in panel):
    Name of variable - possible value that you must enter when adding (DO NOT leave 0 if is not possible value!!)
    -----------------------------------------------------------------------------------------------------------------------------
    SmarterCups       - possible values: between 1 and 12. Do not leave 0. Keeps number of cups of coffee.
    SmarterStrength  - possible values: 0 - Weak, 1 - Medium or 2 - Strong.  Keeps value of coffee strength
    SmarterWarm      - possible values: 5, 10, 15, 20, 25, 30, 35 and 40. Keeps time for how long coffee will be kept warm
     
    Following are predefined global variables (bottom part in panel):
    Name of variable - possible values that you must enter in order I put them here bellow.  
    -----------------------------------------------------------------------------------------------------------------------------
    SmarterBrewed   - possible values: No, Yes. Used to prevent starting brewing twice in a row. This is filter coffee and filter is better to cleaned after each use.
    SmarterDefaults  - possible values: table that contains coffee machine default values for strength, number of cups, mode (Filter or Grind) and time to Keep warm. You need to define only one value with name Table and then save. Open again to edit and then delete Value2. VD will take care of the rest.
    SmarterMode      - possible values: Filter, Grind. It is self explanatory  
    SmarterPush       - possible values: No, Yes. It is used to send push notification only ones from VD main loop when coffee is ready
    SmarterStatus     - possible values: Ready, Not ready, Brewing, Keep warm, Faulty, No carafe, No water, Low water. Status of the machine.
    SmarterUseDef   - possible values: No, Yes. If using default values then VD needs to restore to those values after brewing is finished.
     
    For global variables SmarterBrewed, SmarterMode and SmarterStatus you can use words in your language but if you do then you will have to change in code as follows:
    -- GLOBAL VARIABLES -- enter names and value mapping of your -- global variables or leave as it is and add to variables panel -- "SmarterStatus" is predefined global variable. Enter your -- name and mapping of values local smarterStatus = "SmarterStatus"; -- change value mapping to corresponds to your values in your global variable local smarterStatusMapping = {ready="Ready", notready="Not ready", brewing="Brewing", warming="Keep Warm", faulty="Faulty", nocarafe="No carafe", nowater="No water", lowater="Low water"}; -- "SmarterMode" is predefined global variable local smarterMode = "SmarterMode"; -- change value mapping to corresponds to your values in your global variable local smarterModeMapping = {filter="Filter", grind="Grind"}; -- "SmarterWarm" is global variable possible value 5 to 40 in -- step of 5 local smarterWarm = "SmarterWarm"; -- "SmarterBrewed" is predefined global variable used to change -- machine status local smarterBrewed = "SmarterBrewed"; -- change value mapping to corresponds to your values in your global variable local smarterBrewedMapping = {Yes="Yes", No="No"}; and this has to be done in all code for each button and main loop!
     
    Next step is to add icons and then do mapping of their IDs in the code. Here are the icons in order and with their names in code:
    Main icon that you will set as default on the VD and all buttons except on button Brew and Keep warm:

    In code is named iconBrewing so you will need ID and also set it up on Brew button:

    In code is named iconWarming so you will need ID and also set it up on Keep warm button:

    in code is named iconNoCarafe so you will need ID:

    in code is named iconLoWater and ID is needed:

    in code is named iconNoWater and ID is needed:

    in code is named iconFilter0 you need ID and it is showing setting for Weak strength and Filter mode:

    in code is named iconFilter1 you need ID and it is showing setting for Middle strength and Filter mode:

    in code is named iconFilter2 ID is needed and it is showing setting for Strong coffee and Filter mode:

    in code is named iconGrind0 ID is needed and it is showing setting for Weak coffee and Grind mode:

    in code is named iconGrind1 Id is needed and it is showing setting for Medium coffee and Grind mode:

    and the last one is named in code iconGrind2 Id needed and is showing setting for Strong coffee and Grind mode:

     
    How to get icon ID is explained many times here on forum so I will skip that. After you get ID of all icons then you need to replace them in main loop and for buttons Brew, Keep warm, Weak, Medium, Strong, Change mode, Reset machine and main loop. Code is well commented and looks like this:
    -- VD ICONS ---------------------------------------------------- -- enter ID numbers of corresponding icons on your system local iconBrewing = 1041; local iconWarming = 1042; local iconNoCarafe = 1044; local iconFilter0 = 1045; local iconFilter1 = 1046; local iconFilter2 = 1047; local iconGrind0 = 1048; local iconGrind1 = 1049; local iconGrind2 = 1050; local iconLoWater = 1051; local iconNoWater = 1052; And before you can start enjoying your coffee there is one more touch that needs to be done. You need to go to main loop code and first setup smart plug ID. Look for this code in main loop:
    -- SMART PLUG -------------------------------------------------- -- enter ID nuber of smart plug to which Smarter cofee is -- connected. Smart plug is the only way to check machine status -- at the present moment so it is needed for proper functioning -- of this VD local plugID = 135; Then if you want to be notified by VD when coffee is ready then find this code and enter ID of your mobile devices to which will be send. You can put as many as you like between brackets {} just separate them by comma eg. {2, 45, 121}:
    -- PUSH NOTIFICATIONS ------------------------------------------ -- define users that will receive push notifications when -- coffee is ready if leaved empty no notification will be send local userID = {} -- enter default flags: 1 - will send, 0 - will not send -- must be same number of flas as users local userFlag = {}; -- enter push message text that will be sent when coffee is -- ready local pushMessage = "Coffee is ready!" -- here you can put code that will change flags to whom push -- notification will be sent function setupUsers() -- here you can put code to dynamically change which users -- will get push notifications if you use flags end If you want to change who will receive push notifications you can use variable userFlag for that. For each userID you can enter 1 to send push notification or 0 not to send. Then you can add some code in function setupUsers() where you can change flags as you wish. For example I use that code to stop receiving push notifications when I'm away from home. If you don't need this feature then just leave brackets empty. And of course you can change message for pushMessage to your language.
     
    And if you want to completely translate VD to your language you just need to check all code for this part:
    -- MESSAGES ---------------------------------------------------- -- enter messages in your language -- response messages from coffee machine local _respBrewing = "Brewing"; local _respAlready = "Already brewing"; local _respInvalid = "Invalid argument"; local _respNocarafe = "No carafe" local _respNowater = "No water"; local _respLowater = "Low water"; local _respResetOK = "Reset OK"; local _respCheck = "Check machine"; local _respFailed = "Transfer failed"; -- command sent by this button local _command = "Brew"; -- coffee machine status messages local _statReady = "Ready"; local _statNotready = "Not ready - fill in coffee"; local _statBrewing = "Already brewing!"; local _statWarming = "Warming coffee!"; local _statFaulty = "Faulty - check machine"; local _statNocarafe = "No carafe - put it back"; local _statLowater = "Warning! - Low water"; local _statNowater = "No water - fill tank"; I try to make it easier for you as much as I could in this four days of development so all messages I collected on beginning of the code. Some buttons have more messages, some don't so you better check them all.
     
    At the end just short explanation how it works. Before first run, you will need to check if settings in VD corresponds to machine settings by checking display on the machine or original app. When this is synced you can start using it.
     
    Before first brewing status of VD must be Ready. If it is not you can press button Reset status to just reset VD or Reset machine to reset all to factory settings. Reseting machine will clear all default settings so you will need to send them again by pressing button Set above as default after you make your favorite choice of strength, cups and mode. This default settings will be always set back after brewing coffee no matter what settings was for the last brew. After brewing coffee status of the VD will be always set to Not ready except if there is No carafe in place, or No water or Low water. After rectifying cause: placing carafe in place, filling water and cleaning filter you will need to press button Reset status to put it back into Ready state. If this is too annoying you can always setup some short scene that you will trigger with some switch, button or swipe or whatever and reset VD to Ready status. If you want to keep coffee warm after brewing you can do that by setting time and then pressing button Set above as default so warming will start immediately after brewing, or you can setup time and then press button Keep warm. If during Keep warm you press button Keep warm again this will stop warming but only with new machine firmware. Keep warming time can be set up to 40 minutes. And that's it!
     
    Enjoy coding and coffee!!!  
     
    EDIT
    Still working on 4.180
     

    64 downloads

       (1 review)

    0 comments

    Updated

  18. Nefit Easy thermostat VD

    A virtual device to interface with the Nefit Easy thermostat. First credits where credits are due: this VD leverages  the cool stuff made by Robert Klep.So what you need is to
    Install the nefit-easy-http-server developed by robertklep (see https://github.com/robertklep/nefit-easy-http-server) on another device. I use a raspberry pi. Follow the instructions on the site and check if the server is working properly Install the virtual device you can download here Add the IP address of the device where you run the nefiteasy server in the advanced setting of the VD Same for the port (standard setting of the server is 3000) You can use the icon provided if you like  I use the two buttons at the bottom of the VD to lower the temperature when I am away (trigerred by a scene), and go back to the normal clock program when I'm back home By inspecting the code in the VD I guess you can see how you can read and write data to the server. There are many more info and settings you can extract or change from the server (see https://github.com/robertklep/nefit-easy-core/wiki/List-of-endpoints for the list of endpoints you can use). These are the ones I picked but I assume you understand how to change to your needs  
    Rene.

    68 downloads

       (0 reviews)

    17 comments

    Updated

  19. 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

  20. 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

    82 downloads

       (0 reviews)

    24 comments

    Updated

  21. [VD+Scene] Advanced Alarm Clock

    Advanced Alarm Clock
    First release on the French board in March 2019.
     
    INTRODUCTION
    This VD+Scene Bundle will help you to wake up in better shape by simulating a smooth dawn with any device in your HC2 : Roller Shutters, lights devices and VD.
    After the ignition at the value that you have set up in the VD, the scene can fade one or more speakers. The curves for light and audio fade in can be choosen separately.
    The scene manages itself if it's day or not. So, for each light you will set up in the scene, you can decide if it has to be active everytime, or only when it's day or only when it's night. For example, you can set up a Roller Shutter which is active only if it's day!
    This Bundle can be used as much as you want, just by adding it again and creating a new Global Variable for each new bundle set.
     
    THE SCENE IS ABLE TO MANAGE
    Roller Shutters (FGR22, FGR223...) Dimmers (FGD211, FGD212...) Switchs (FGS211, FGS212, FGS213...) RGBW Devices (FGRGBW, RGBW Controller 1, RGB Controller 2) RGBW Programs (Any Fibaro's programs) Home Center Scenes Any Light VD (Philips Hue, Ikea TRÅDFRI...) Any VD clickable Any Audio VD (Sonos, Yamaha Multicast or any else...)  
    INSTALLATION
    Most of explainations are in the scripts.
    Create a Global Variable which starts with REVEIL_ (what means alarm clock in French ?) and import the Virtual Device you want (12h or 24h).
     
    VD CONFIG
    -- Manageable Alarm Clock Scene Id local SceneID = 193; -- Which room will this VD Manage ? Must be the same than the Scene local ROOM = "ROOM"; -- Days Off local DaysOff = {"Saturday","Sunday"}; -- By defaut, this scene will be launched to have full light at the time set up in the VD : Actual Hour - Dawn Time -- Change this var to anything else if you want to trigg the scene at the hour H. local StartScene = "DEFAULT"; -- Icon's ids local icon_ok = 1156 local icon_wait = 1158 local icon_off = 1160 SceneID : ID of the scene Advanced Alarm Clock ROOM : Value corresponding to the Global Variable you created DaysOff : List here all your days off within quotes marks, separated by commas. Take care of the uppercase at the beggining of the days names! StartScene : Start the scene to have the full ignition at the time set in VD (DEFAULT), or start to begin the dawn's simulation at the time set in the VD (anything else) icon_ok : ID of the icon which will be displayed when the scene is triggered and active icon_wait : ID of the icon ID which will be displayed when an alarm is set and waiting to trigg the scene icon_off : ID of the icon which will be displayed when the alarm is disabled Note: In this Virtual Device, you have to change 3 times the variable's value of ROOM, corresponding to the Global Variable you have created before : REVEIL_ROOM.
     
    VD USE
    Press on : will display 12:00 (or 07:30am in the 12h version). This can be changed by anything else with the variable ClickHour in the corresponding button Sound Volume is in percentage (Act on sliders) Audio fade-in is in seconds Light's Power is in percentage* Dawn's duration is in minutes Once button sets the alarm for the next avalaible scheduele, regardless of the day (DayOff or not). The alarm will automatically be disabled after the dawn's ignition Week of job sets the alarm for everyday, without the days set in the variable table DaysOff. Scene will automatically be launch until it's manually deactivated Recall will recall every parameters set before last VD deactivation Alarm OFF will save every actual parameters and disable the alarm * Rollers Shutters will open at the same time than others lights devices, but will not been affected by Light's Power parameter
    I thought it was better to be able to choose the power of lights, without having a half opened roller shutter.
     
    SCENE
    local ROOM = "ROOM"; -- Room code corresponding to the Global Var created local StartVolume = 15; -- Which Speakers volume value the fadein will start at (percentage) local CurveLight = "linear"; -- Which function will be used to fadein light keys local CurveAudio = "linear"; -- Which function will be used to fadein speakers keys BASIC SETTINGS
    ROOM The famous variable wich has to be the same in the Scene+VD StartVolume could be useful if you don't want to start audio fadein from 1. CurveLight & CurveAudio Curves that will be used to fade lights and audio. See the following image to have a better understanding Note1: If you comment a Curve Variable, the curve will be randomly choosen
    Note2: The curves are possible thanks to the great work that Robert Penners made in 2001.
    POSSIBLE CURVES : Linear + Robert Penner's Easing Equations

    -- Debug Vars local debug = 1; -- 1 Enable / 0 Disable local lang = "en"; -- Debug lang local DisplayNamesorID = "ID"; -- Display DeviceName + RoomName (Names) or Type + ID (ID) on each Debug line local DisplayNamesAtStartup = 1; -- Display Rooms & Names at scene startup (1) or not (0) local DisplayRGBWValues = 1; -- Display RGBW Values increasement when fading in (1) instead of only multiplier (0) local DayLightDelay = 60; -- After sunrise/sunset, it's still daylight for .. mn local VolDiffMin = 5; -- Minimum difference between Start Volume and Volume set in VD (in case of Start Volume > Volume set) local LimitDebugLines = 1; -- Limit number of Debug Lines to 4 max per device and to 20 max per roller shutter -- Changing next var values may seriously impact the scene local CheckAlarmMode = 1; -- Check if the alarm is set and not just memorized before starting sthis scene local DisplayScenesNames = 0; -- Display Scenes Names in debug (1) or not (0)! Active this function may delay the script local tempo = 1; -- Pause between two actions in LightsAction and SpeakersAction functions (s) - It' not recommended to change this value DEBUGS SETTINGS
    debug lang DisplayNamesorID DisplayNamesAtStartup DisplayRGBWValues DaylighDelay VolDiffMin LimitDebugLines CheckAlarmMode If this var value is set on 0, this scene will be able to be launched manually with stored values, even though the VD displays None DisplayScenesNames tempo Note: everything explained in the script!
     
    ADDING YOUR DEVICES
    Add a Roller Shutter (FGR) Parameter "steps" is needed to set how many steps this roller shutter will do to open (to protect motors of 100 steps) table.insert(LightsList, {typ="Shutter", id=279, steps=6}); Add a Dimmer (FGD) table.insert(LightsList, {typ="Dimmer", id=10}); Add a RGBW device (FG-RGB) : To fade a choosen color with RGBW parameters (Set this color at full range, scene will fade this value from 0 to the value set in VD) table.insert(LightsList, {typ="RGBW", id=20, r=150, g=100, b=0, w=255}); Add a RGBW Program : To set a RGBW program, just use "program" parameter Add "start" parameter to manage when this program will be started during the light fadein (in percentage) If no "start" parameter is set, program will be started at the beginning of the scene table.insert(LightsList, {typ="Program", id=20, program=3, start=50}); Add a switch (FGS) Add "start" parameter to manage when this turnon action will be done during the light fadein (in percentage) If no "start" parameter is set, action will be done at the beginning of the scene table.insert(LightsList, {typ="Switch", id=49,start=100}); To add a VD If it's a light VD : Parameter "slider" needed to manage brightness table.insert(LightsList, {typ="VD", id=298, slider=10}); "btn" paramater can be added to set a color preset before the fadein (Be sure that the VD brightness for this button is set et 1%) table.insert(LightsList, {typ="VD", id=298, slider=10, btn=6}); If it's not a light VD (with brightness slider) : Just indicate "btn" parameter table.insert(LightsList, {typ="VD", id=298, btn=6}); Add "start" parameter if you want to manage when this button will be pressed during the dawn fade in (in percentage) table.insert(LightsList, {typ="VD", id=298, btn=6, start=50}); Scene : To start a scene Add "start" parameter to manage when the action will be done during the light fadein (in percentage) If no "start" parameter is set, action will be done at the beginning of the scene table.insert(LightsList, {typ="Scene", id=254, start=50}); To add Speakers VD : One action per key Example for an action on the slider 15 of the VD 245 table.insert(SpeakerAction, {id=245, slider=15}); Example for an action on the button 6 of the VD 245 table.insert(SpeakerAction, {id=245, btn=6});  
    Note: This is an extract of the scene. So you will find it in the scene to help you if needed
    One line = One device
    LightsList typ = Shutter id Roller Shutter ID steps Number of steps which will be done by the roller shutter (to preserve shutter's motor). 2 mini / 20 maxi typ = Dimmer id Device ID typ = VD id VD ID slider Slider number to manage light power btn*  Button to push start* When the button have to be pushed during dawn"s ignition (if not set, the button will be pressed just before acting on slider) typ = RGBW id Device ID r  Red Value(0-255) g Green Value (0-255) b  Blue Value (0-255) w White Value (0-255)  Note: Please write the parameters for a full power. The scene will calculate the values needed from them
    typ = Scene id Device ID start* At which percentage of the dawn's ignition this scene will be started. 1 will be use by default if nothing is set. typ = Switch id Device ID start* At which percentage of the dawn's ignition this switch will be turned on. 1 will be use by default if nothing is set. typ = Program id Device ID program ID of the program to launch start* At which percentage of the dawn's ignition this program will be started. 1 will be use by default if nothing is set. SpeakerAction id VD ID 2nd parameter = Button Type (One or the other) with this button number slider Number of the volume's slider btn Number of the button to push                         Note: This actions will be done in the order you declare them in the script
    Note: items with * are not mandatory
     
    MODE PARAMETER
    This parameter is not mandatory. If not set, all your keys will be used to fade the dawn. You can mix modes and no modes keys!
    For each light key, if you want to see it lighting only when it's day, just add mode="day", or mode="night" if you want to see a key lighting only if it's night.
    To use a key everytime : no mode or mode="both".
     
    WHERE CHANGE GLOBAL VARIABLE "ROOM" VALUE
    At the beginning of the scene In the "Once" Button of the VD In the "Week of Work" Button of the VD In the "Alarm OFF" Button of the VD At the beginning of the Main Loop of the VD Note: Please take care of this changement of value. If the value is not the same everywhere, the scene could not be launched!
     
    DEBUG EXAMPLE

     
    SUPPORT
    In case on any issue, please try again with defaults debug's values and post all your DEBUG lines to help me to understand what happens in your configuration.
     
    CONTENT
    Advanced Alarm Clock Scene v3.6 Multilingual Advanced Alarm Clock Trigger 12h v2.2 for people that have 12-hour clocks (am-pm) Advanced Alarm Clock Trigger 24h v2.2 3 Icons for the VD 1 icon for the Scene info.txt file  
    TRANSLATION
    All Debugs texts are available in english and french. They could be easily translated in any other language without any LUA knowledge, by creating a new language condition and translating every DebugMsg vars.
    Don't hesitate to contact me with the support thread if you want to translate them in another language. Only 37 sentences in the scene v.3.6! Your translations could be added in this official bundle.

     

    124 downloads

       (0 reviews)

    1 comment

    Updated

  22. Bluesound interface, first setup

    Hi, 
     
    here's a quick version to gain basic control of a bluesound device in your network. 
    Make sure to set up the correct IP address.
    TCP port should be 11000
     
    For now the following functions are supported:
    - polling of the status, every second
    - volume
    - pause
    - play


    94 downloads

       (0 reviews)

    1 comment

    Updated

  23. [VD + APP + PHP] Text To Speach (TTS) solution for HC2 and Apple Mac (OS X) - version October 2017

    Text To Speach (TTS) solution for HC2 and Apple Mac (OS X)  - version October 2017:
     
     

     
    PREFACE :
    I am happy to present my second approach for TTS (Text To Speech) and multi room audio for Fibaro HC2 and Apple OS X computer.
    I call it “second approach” rather then second version because it uses different mechanism to control audio of the computer, however the goal remain the same.
    That is also the reason why I decided to publish it in the new thread.
     
    I hope that this guide let you setup TTS on your Fibaro HC2 and Mac computers.
     
     
    INTRODUCTION :
    I have noticed that wide used solution for TTS and multiroom is to use Sonos speakers (probably because of the Fibaro plugin available) and VoiceRSS (http://www.voicerss.org/).
     
     
    My solution is different. It uses the text synthesizer (TTS) which we have already implemented in our computers and which can speak in variety of languages – also those not supported by VoiceRSS. To change text into speech I used “SAY” command of OS X. The other advantage is that we are independent on internet connection and there are no charges for TTS processing. It has also multiroom solution. You can have installed all over your place a number of speakers. The volume of each speaker can be individually adjusted from HC2 (Volume range from 0 to 100 %) so it is possible to select in which room/rooms you hear the voice announcement. 
    If you use the iTunes VD  it is also possible to distribute music.
     
    Integration of iTunes with and HC2 was discussed and published here :
     
     
     
    The supported speakers/devices/protocols are as for now :
    -        Apple AirPlay
    -        Google Chromcast
    -        Bluetooth
    -        Windows computers (with installed app to become AirPlay compatible)
     
     
    The supported languages/voices of OS X v. 10.12.2 (macOS Sierra) are listed in Paragraph 2 below.
     
     
     
    WHAT WE NEED :
    -        Fibaro HC2
    -        Apple Mac computer
    -        Audio Mixer VD installed on HC2
    -        Some LUA experience to fine tune VD on HC2 and have your user defined TTS messages in your scenes
    -        Airfoil by Rouge  Amoeba application installed on Mac - for TTS it is OK to use free demo version
    -        Fibaro TTS Bridge application for OS X by Marcin S. Milewski (gucio1234) installed on Mac
    -        Speakers/audio receivers (any from the list of compatible devices) :
    .    Apple AirPlay
    .    Google Chromcast
    .       Mac , Windows or Linux computer with Airfoil Satellite installed  
    ( see https://rogueamoeba.com/airfoil/ )
    .       iOS or Android device with Airfoil Speakers installed
    (if one wants to have TTS on mobile device)
    .    Bluetooth
     
     
    The presented solution was tested with the following software versions / hardware :
    -        Fibaro HC 2   firmware 4.140
    -        Airfoil for Mac v. 5.5.1
    -        Airfoil Sattelite for Windows v.5.1.6
    -        OS X v. 10.12.2 (macOS Sierra) and OS X v. 10.13 (macOS High Sierra)
    -        Apple AirPort versions A1088, A1264, A1392
    -        JBL Flip 3 Bluetooth Speaker
    -        Fibaro TTS Bridge v. 0.1
    -       Fibaro HC 2  v. 4.110
    It was not tested with Google Chromcast (as I do not have any) but this is supported by Airfoil.
     
     
     
     
    IMPLEMENTATION :
    Please read the whole instruction carefully before you start.
     
     
         1.      
           Define the global variable “PAMessage”  in your HC2 (top part of the Variables’ Panel):
    This variable will store the text you want to convert  to speech, whatever is there, the system will speak when you press TTS button of the VD
     
     
    2.
     
    Test and select desired language/voice for your TTS.
    To change text into speech we used “SAY” command of OS X.
     
     
    Open “Terminal “ application on your Mac.
    Type ‘SAY –v ?’  to see the list of available voices/languages
    Type ‘SAY –v <name of the voice>’ to select the voice of your preference
    Type ‘SAY “THIS IS A TEST MESSGE IN MY LANGUAGE” ’ to test your selected voice
     
     
    More details on this can be found here: https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/say.1.html   
     
    Here is the result of 
    ‘SAY –v ?’ :
     
    3.
     
    Install “Airfoil” for Mac downloaded from  https://rogueamoeba.com/airfoil/ 
     
     
     
     
    NOTE: The free demo version lets to transmit audio up to 10 minutes long (which is more than enough for TTS). After that time the noise distortion will be added by the application.
    If one wants to use Airfoil for transmission of music  it is recommended to purchase a license.
         4.      
    Setup web server with PHP Module running on our Mac computer.
     
    In my case I have it on iMac and I followed this guide :
     
    https://medium.com/@JohnFoderaro/how-to-set-up-apache-in-macos-sierra-10-12-bca5a5dfffba 
     
    I skipped "Configuring Virtual Hosts" as that was not working for me.
    As my web server is accessible only by my devices, I did not care.
     
    Important is that apache web server is managing PHP scripts .
     
    NOTE: If you already implemented iTunes VD, you should have already running web server with PHP module installed.
     
         5.      
    Install Audio Mixer VD on your HC 2.
     
     
     
     
    Define parameters of this VD :
     
    Set IP address of your Apple Mac computer
    Set port number as  7000. The communication between HC2 and Mac will be on port 7000 and this is hard coded in “Fibaro TTS Bridge v..1” application.
    Define in VD as many audio mixer sliders as you have audio devices to be linked with your multi room audio system.
           In the VD attached  FOR EACH SLIDER you have to define the PATH for your PHP script “airfoil.php”.  Also for each slider the local variable ‘pokoj’ has to be defined as substring of the ID of the speakers defined in Airfoil app on Mac.
           (see Paragraph 6 “How to know the IDs of your speakers defined for AirFoil”) 
     
    Example:
    In my case I have my airfoil.php script placed as :
    MacintoshHD/Users/username/Sites/airfoilremote/airfoil.php
    and my path defined in the VD is :
     
    Note :   “LocalSpeaker” is the speaker connected to your Mac.
    Example:
    In my case I have the following local variables for each slider :
     
     
     
    local pokoj = “WIATROLAP"
    local pokoj = “LocalSpeaker"
    local pokoj = "59-a7”
    local pokoj = "POKOJ-3”
    local pokoj = “JADALNIA"
    local pokoj = “AppleTV"
    local pokoj = “ANTRESOLA"
    local pokoj = “MIODARNIA"
     
     
     
    There are three buttons on Audio Mixer VD :
     
     
     
            “Weather Outside”   – to send current weather information to TTS system. In my VD it reads information from Netatmo VD.
                                                  This should be adjusted to user’s preferences.
                                                  User may adjust it to her/his needs at the end when all the rest is up and running.
                                                             
                                                        NOTE: In the code of VD attached it reads the variable from my Netatmo device ID.
                                                                    It will not work for you without fine tuning.
     
     
     
        “Weekday / Time”    – to send TTS with the text taken from HC2 system variables
     
     
     
        “TTS”                        – to send TTS with the text taken from global variable “PAMessage”
    6.
     
    Place the „airfoil.php” file into you OS X computer. The path for it has to match whatever is defined as the path in your VD
    (see example in paragraph 3.)
     
     
     
         7.
         How to know the IDs of your speakers defined for AirFoil
          
          You have to use Apple Script Editor which is application delivered along with your OS X system. no need to purchase or install anything.
          Just use your search bar of OS X system.
     
    You have to write
     
    into Apple Script Editor.
     
         Here is the screen shot of the OS X script editor which shows you the complete IDs of your Airfoil Speakers.
     
     
     
     
     
     
     
     
        You can see that part of each ID  (after @) matches my local variables for each slider of VD.
     
     
         8.
    Setup Airplay/Chromecast/Bluetoth  devices with your Mac 
     
     
    9.
    If you want to have other computers to act as clients with speakers install Airfoil Sattelite for each of them. The app is to be downloaded from https://rogueamoeba.com/airfoil/
     
     
    10.
    If you want to have mobile devices to act as clients with speakers install Airfoil Speakers for each of them. The info on these apps can be found on https://rogueamoeba.com/airfoil/
     
     
     
     
    11.
    Copy the “Fibaro Text to Speech Bridge v.0.1” application to your Mac computer.
     
     
     
     
    Attached is the zipped file. You have to unzip it to have .app file.
     
     
     
     
     
     
     
         NOTE: 
     
         If it happens that HC2 needs to be restarted, it is required to restart “Fibaro Text To Speech Bridge v.0.1”also (Exit and Run).
         Restart of “Fibaro Text To Speech Bridge v.0.1” is to be done after HC2 is back operational.
     
     
     
        FILES TO DOWNLOAD :
     
     
    Application for OS X (zipped) ->   Fibaro_Text-To-Speech_Bridge_0.1.app.zip
     
     
    VD for HC2 ------------------------>   AUDIO_MIXER_+_TTS.vfib 
    ICON for VD of HC2 ------------>     
     
    AIRFOIL.PHP (zipped)  ------>  
    airfoil.php.zip
     
     
     
     
     
     

    37 downloads

       (0 reviews)

    0 comments

    Updated

  24. 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  
     
     

    122 downloads

       (1 review)

    2 comments

    Updated

  25. 20180525 Presence_Detector (posted).vfib

    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

    291 downloads

       (0 reviews)

    1 comment

    Updated


×
×
  • Create New...