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.

85 files

  1. VD-Quattro.lua

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

    29 downloads

       (0 reviews)

    0 comments

    Submitted

  2. Control McLighting v2 based on ESP8266 board

    Control ESP8266 lighting gadget developed by Tobias Blum
     
    Change light modes and control through HC2
     
    Requirements:
     
    ESP8266 board programmed with McLighting software For every button you should change "local led_pin = [your control pin]" Use your own ip address and port  
    Fell free use and modify,but let me have a copy please for improving my knowledge.

    25 downloads

       (0 reviews)

    0 comments

    Updated

  3. VD-BMS.lua

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

    23 downloads

       (0 reviews)

    0 comments

    Submitted

  4. LookO2 - Air Quality Sensor

    ———————————————————————————————————————————————————————
    Current Version: 1.15
    Fibaro Marketplace: https://marketplace.fibaro.com/items/looko2-air-quality-sensor
    ———————————————————————————————————————————————————————
     
    Witajcie,

    Jakiś czas temu poruszałem tu temat pomiaru Czystości Powietrza (szczególnie PM2.5) we własnym mieszkaniu lub na zewnątrz z określonej okolicy.
    W założeniu chodziło o to aby Fibaro potrafiło pobierać dane z własnego czujnika a następnie wyświetlać je i wykorzystywać dalej w działaniu (np. uruchomienie oczyszczacza)
    Nie znalazłem gotowego rozwiązania, a z dostępnych (w racjonalnej cenie) najsensowniejsze wydawało się zastosowanie własnego czujnika Looko2 - z obserwacji, dane wyglądają na dość dokładne,
    stosują dobre czujniki i udostępniają API (tu wymagany token).
    Jak dla mnie idealnie było by, gdyby, przynajmniej ostatnia średnia odczytu i podstawowe dane były dostępne bezpośrednio przez API Web interfejsu urządzenia, w lokalnym LANie
    - ale podobno nie można mieć wszystkiego więc póki co zadowalam się API w chmurze

    Tutaj podziękowania w stronę zespołu LOOKO2, który wykazał się otwartością na moje pytania dotyczące danych z czujnika a nawet dodał do API parametry, których pierwotnie tam nie było.
    Wirtualka została przekazana również do nich, więc być może pojawi się także na stronie projektu.
    Po cichu liczę, że na jej bazie FIBARO może przygotuje kiedyś jakiś plugin, być może ze statystyką danych na wykresach centralki
     
    Jeśli chodzi o samo urządzenie to wygląda następująco:
     

     

     
    Całość tzn. plik wirtualki, ikony, oraz opis parametrów znajdują się w dołączonym zipie.
    Po imporcie urządzenia, należy dodać niezbędne ikony oraz dodać ich ID do configa wirtualki.
    Ponadto należy podać tam ID interesującego nas czujnika - ja nie mam jeszcze własnego więc
    pobieram dane z dostępnego w pobliżu, oraz token - można go uzyskać mailowo od suportu Looko2.
    W celu działania PUSHy oraz dalszego wykorzystania jakości, należy dodać zmienną globalną
    o nazwie określonej w konfiguracji. (W przypadku wielu urządzeń / czujników - dla każdego tworzymy nową zmienną), oraz określić ID urządzeń mobilnych/
    Wszystkie parametry opisane są w dołączonym pliku oraz komentarzach w konfiguracji samego urządzenia.
    Cała konfiguracja znajduje się w pierwszej części kodu urządzenia i nie powinna sprawiać żadnych problemów.

    Czas odświeżania danych z API również można modyfikować w konfiguracji - wstępnie zdefiniowałem go na 15 minut.
    W mojej ocenie jest to zupełnie wystarczające a częstsze odświeżanie danych nie ma sensu, bo prezentowane w API dane
    to średnia ostatnich odczytów - co czyni odczyt bardziej poglądowym niż odczyt chwilowy.
     
    Całość kodu znajduje się w pętli głównej, podczas testowania urządzenia (pewnie około 2 miesiące) zdarzyły mi się sporadyczne
    zawieszenia - może 2 - dlatego nie zdecydowałem się na pakowanie kodu pod przycisk i wyzwalanie go sceną.
     
    W przypadku interfejsu webowego urządzenie prezentuje jakość poprzez ikonę oraz nr indeksu jakości w dolnej belce pod ikoną urządzenia.
    Po wyświetleniu szczegółów, prezentowane są dokładne dane o aktualnej jakości powietrza. Nazwa urządzenia oraz lokalizacja IN / OUT prezentowana w szczegółach urządzenia, pobierana jest z API czujnika,
    natomiast pomieszczenie odzwierciedla umiejscowienie czujnika w strukturze pomieszczeń centralki FIBARO.
    Procentowe zanieczyszczenie wyliczane jest w oparciu o dostępne normy (z wyjątkiem PM1 - tu nie znalazłem danych więc jako normę przyjąłem 20 µg/m3 - oczywiście można to zmienić w konfiguracji)
    Do zmiennej globalnej zapisywana jest informacja o ogólnej jakości powietrza z ustawionego czujnika (0 najlepsza, 1 dobra, itd.) - zakres zgodny z dostępnymi normami i dostępny na stronie czujników

    W przypadku urządzeń mobilnych występują drobne problemy z wyświetlaniem m.in z przejściem do nowej linii - szerzej problem opisałem tutaj:
     
    Ogólnie po wprowadzeniu prawidłowego tokenu, wszystko powinno działać bez większych problemów.
    Bez podania tokenu urządzenie będzie wyświetlało informacje o błędzie z tym związaną.
     

    22 downloads

       (0 reviews)

    0 comments

    Submitted

  5. piCorePlayer

    Vertual Device to control piCorePlayer on raspberrypi
     

    19 downloads

       (0 reviews)

    0 comments

    Updated

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

    Text To Speach (TTS) solution for HC2 and Apple Mac (OS X) :

     
     
    PREFACE :
    It took me two months of tests to make this solution at present stage and I had to learn a little Python and Applescript.
    I am aware that lots of details can be improved. However all programmers knows there are no software without bugs and there is never final version. The attached OS X app is fully functional and it is called “Fibaro Airfoil Bridge v.0.1”.
    I had no experience with OS X programming. This is the very first OS X app I wrote.
     
     
    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. 
     
    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) :
     
     
    PLANS FOR FUTURE :
    Fine tune the app and improve GUI of Fibaro Airfoil Bridge application.
    Enhance the functionality with multiroom audio with distribution music from internet radio and iTunes.
     
    This is an open project and I count on your constructive comments.
    If there is anybody who would like to be involved in future enhancements please let me know in private message.
     
     
    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 Airfoil Bridge  by Marcin S. Milewski (gucio1234) installed on Mac
    -        Speakers/audio receivers (any from the list of compatible devices) :
    o   Apple AirPlay
    o   Google Chromcast
    o   Mac , Windows or Linux computer with Airfoil Satellite installed
    o   iOS or Android device with Airfoil Speakers installed (if one wants to have TTS on mobile device)
    o   Bluetooth
     
    The presented solution was tested with the following software versions / hardware :
    -        Airfoil for Mac v. 5.5.1
    -        Airfoil Sattelite for Windows v.5.1.6
    -        OS X v. 10.12.2 (macOS Sierra)
    -        Apple AirPort versions A1088, A1264, A1392
    -        JBL Flip 3 Bluetooth Speaker
    -        Fibaro Airfoil 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 variables in your HC2 (top part of the Variables’ Panel):
                      “PAMessage”  - This variable will store the text you want to convert  to speech.
                      “AudioMixer” – This variable will store the audio mixer settings for the devices.
         2.      
    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 two ports:  7000 and 7001.
    Define in VD as many audio mixer sliders as you have audio devices to be linked with your multi room audio system. Provide names for each slider corresponding to the devices/rooms you want to control. You may use your local language names, with spaces and local characters.
     
    IMPORTANT:
    Remember what is the order of your sliders. It is needed in next steps for proper link between HC2 and Mac.
     
     
    The LUA code for each slider has to be same but it depends on the number of sliders one has defined. Here are examples :
     
    If there are two sliders, LUA definition for each should be :
     
    If  there are four sliders, LUA definition for each should be :
     
    Adjust the LUA code of each slider according to number of sliders there are  in your VD.
     
    There are four buttons on Audio Mixer VD (they can be adjusted for user’s preferences ):
     
            “Test Message”       – to send a test message to TTS system. In my VD the predefined test message is in Polish. It should be adjusted to your language.
     
        “TTS”                      – to execute TTS with the text taken from global variable “PAMessage”
     
              “Weather Outside” – to send present weather conditions to TTS system. In my case it is based on global weather variables received from Netatmo weather station. The message is in Polish. It should be adjusted to your local language and preferences.
     
         “Send Data”           – to send audio mixer settings from HC2 to Airfoil without processing any TTS
     
     
     
     
         3.
    Test and select desired language/voice for your TTS.
    To change text into speech I 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   
     
         4.
    Setup Airplay/Chromecast/Bluetoth  devices with your Mac 
     
    5.
    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/
     
    6.
    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/
     
     
    7.
    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 (which I hope will be introduced with future version of my solution)  it is recommended to purchase a license.
     
    IMPORTANT:
    All the names of the audio devices configured with  Airfoil HAVE TO HAVE names of the speakers without spaces and without any special/national characters. Rename the devices in Airfoil if it is needed.
     
     
     
     
    8.
    Copy the “Fibaro Airfoil Bridge v.0.1” application to your Mac computer. DO NOT RUN IT YET.
    Attached is the zipped file. You have to unzip it to have .app file.
     
    IMPORTANT:
    Right click on “Fibaro Airfoil Bridge v.0.1” and select “Show Package Content”
    Navigate to   Contents -> Resources
    Locate the file “SpeakersNAME.txt”
    Edit the file “SpeakersNAME.txt”. Put names of your speakers each in the new line. They have to be same as names defined in Airfoil (paragraph 7.).  The order of the speakers is EXACTLY SAME as order of the sliders of your HC 2 VD “Audio Mixer” (paragraph 2.) .
    NOTE: The very first speaker has to be “LocalSpeaker” which is the default speaker of your Mac computer. This has to be defined even if you do not use the speaker of your Mac.
     
    Here is an example of “SpeakersNAME.txt” file:
    LocalSpeaker JADALNIA AppleTV PC-ANTRESOLA POKOJ-3 WIATROLAP MIODARNIA  
    9.
    After the “SpeakersNAME.txt” is updated one can run “Fibaro Airfoil Bridge v.0.1” applicaton.
     

     
     
         NOTE: 
         If it happens that HC2 needs to be restarted, it is required to restart “Fibaro Airfoil Bridge v.0.1”also (Exit and Run).
          Restart of “Fibaro Airfoil Bridge v.0.1” is to be done after HC2 is back operational.
     
     
     
    IMPORTANT:
    This is known bug with 0.1 version. If you want to close the app use the EXIT button on the main window or the EXIT option of the second pull down menu.
    If you close the app with red circle on top left corner of the application’s window or with the QUIT option from the first pull down menu the application is not closed completely. In this case you have to find its icon on the bottom bar of OS X, right click and force close it .
     
     
     

    17 downloads

       (0 reviews)

    0 comments

    Updated

  7. Dane ze stacji meteorologicznej UMK

    Urządzenie wirtualne wyświetlające parametry pogodowe pobierane ze stacji meteorologicznej UMK. Najbardziej przyda się osobom z Torunia i okolic
     
    Samo urządzenie wyświetla dane ze zmiennych globalnych, które są przy pomocy api fibaro aktualizowane przy pomocy skryptu php. Wymagane jest wobec tego posiadanie w sieci lokalnej serwera z apachem i php oraz dodanie skryptu do harmonogramu zadań cron dla cyklicznej aktualizacji.
     
    Mam nadzieję, że komuś się przyda. 
     
    Pozdrawiam 
    m4fibaro_umk_meteo_php.zip

    14 downloads

       (0 reviews)

    0 comments

    Updated

  8. [VD] BBQ Guru CyberQ WIFI

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

    14 downloads

       (0 reviews)

    1 comment

    Updated

  9. CO_MANAGER

    https://github.com/litepl/fibaro-heating-vd
     
    Heating solution VD, based on Danfoss's thermostats and temperature sensors.

    13 downloads

       (0 reviews)

    0 comments

    Submitted

  10. LOQED Touch Smart Lock Virtual Device for FIBARO Home Center 2

    What features does the LOQED Touch Smart Lock offer with Fibaro?
    The LOQED Touch Smart Lock & Fibaro integration is done via the local bridge API.
    Currently, the following functionalities are supported:
    Send real-time status changes of the lock (open, unlock, lock) and battery, Wi-Fi, Bluetooth state to the Fibaro HC2 gateway.
    Receive commands from the Fibaro HC2 gateway to change the lock state (open, unlock, lock).
    Only English language supported, however you can edit the VD code to add your own language.
    Currently this VD can’t decode json data POSTed by the bridge, as FIBARO API simply ignores any unknown data and accept only JSON key args:[{}]. Therefore, one can’t decode who opened/closed the LOQED via App (or if it was manually, with knob).
    Security consideration: the LOQED bridge sends any status change (e.g. "the door was opened") to Fibaro over an unsecure HTTP connection in your Wi-Fi network. There is no way to add digital signature (like used by LOQED QuickApp on e.g. Home Center 3) into the Home Center 2 VD. Note that this does not affect opening/locking the door, it is only concerns the status information.
    Requirements
    A supported gateway, such as:
    Fibaro Home Center 2
     
    Installation
    Step 1: create API key
    Go to https://app.loqed.com/API-Config and log in with your LOQED app e-mail address and password (note that you will be logged out of the LOQED app). Click on the “API Configuration tool" button. Click the “Add new API key” button. Set any name and create the API key. It is normal the “Remove unlocking/locking checkbox is greyed out.
    After the key is created, click on the "view / edit" button. Leave this screen open.
     
    Step 2: Install the Loqed VD on the Fibaro HC2 gateway
    Login into your Fibaro gateway.
    Download the VD, unzip the content, go to "Devices" -> "Add or Remove Device"->"Import virtual device" and click "select file".
    Select the "LOQED.vfib" file and upload it.

    Once uploaded, few things need to be set in the VD, go to advanced tab of the VD:
    enter the LOQED Bridge IP Address into the VD "IP Address" field enter 80 for the VD "TCP Port" field

      in each every Button (Lock, Unlock and Open) code window, change these two variables: local loqed_key_id = 0 local loqed_key = 'TE9RRUQgVkQgdi4wMSBmb3IgSG9tZSBDZW50ZXIgMiAoYykgdGlubWFu' to the values from the LOQED API Config website
      loqed_key_id is LOQED API Config -> "API Keys (incoming webhooks)" -> "Local Key ID"
    loqed_key is LOQED API Config -> "API Keys (incoming webhooks)" -> "Key"

     
    Save the VD.

    You should get now some values displayed in the VD,



    if this is working please change the loop value in VD mail loop window to something like e.g. 10 minutes 
     
    fibaro:sleep(1000*60*10)
    instead of the 10 seconds
     
    fibaro:sleep(1000*10)
    which are fine for test, but not daily use.


     
     
    Step 3: Setup Variables on the Fibaro HC2 gateway
    Go to "Panels" -> "Variables Panel"
    Scroll down to "Predefined variables"
    Click on "Add"
    For variable name use "LOQED"
    Add two extra values, you need totally 4 of them
    For the values use following values:
    open unlocked locked unknown

      Click on save.

    Later, you will be able to run your own block and LUA scenes, based on the LOQED variable values.
     
    Step 4: Create webhook scenes on the Fibaro HC2 gateway
    Go to scenes, and click on create -> new -> LUA
    You need totally 4 scenes, the scene name does not matter, the scene ID is only important (for LOQED webhook).
    For the vd_id please use the LOQED VD device ID, which you previously wrote down.

    for "Open State" scene
    --[[ %% properties %% events %% globals --]] -- change the xxx below to the LOQED VD ID on your HC2 local vd_id = xxx fibaro:call(vd_id, "setProperty", "ui.LabelStatus.value", "Open") fibaro:setGlobal("LOQED", "open")
    for "Locked State" scene
    --[[ %% properties %% events %% globals --]] -- change the xxx below to the LOQED VD ID on your HC2 local vd_id = xxx fibaro:call(vd_id, "setProperty", "ui.LabelStatus.value", "Locked") fibaro:setGlobal("LOQED", "locked")
    for "Unlocked State" scnene
    --[[ %% properties %% events %% globals --]] -- change the xxx below to the LOQED VD ID on your HC2 local vd_id = xxx fibaro:call(vd_id, "setProperty", "ui.LabelStatus.value", "Unlocked") fibaro:setGlobal("LOQED", "unlocked")
    for "Unknwon Position" scene
    --[[ %% properties %% events %% globals --]] -- change the xxx below to the LOQED VD ID on your HC2 local vd_id = xxx fibaro:call(vd_id, "setProperty", "ui.LabelStatus.value", "Unknown position") fibaro:setGlobal("LOQED", "unknown")
    Write down the scene IDs, you will need them in Step 7
     
    Step 5: Test VD / Scenes
    Go to "Your Home" on your HC2 webpage, to be able to see the VD and scenes together.

     

    Clicking on the Open, Unlock and Lock buttons of the VD should controll your LOQED Lock, additionally you should see in the VD "Lock state" label some messages,
    e.g. when you click on "Unlock" the status will be "Unlock clicked" right after you clicked, and "Unlock executed" right after your LOQED Lock recieved that command.
     
    Executing (simply manually click on start) of the 4 scenes, should change the VD "Lock state" label to "open", "locked", "unlocked" and "unknown position".
    If all these tests are successful, you can continue with the next step.
     
    Step 6: Create a user and set access permissions on the Fibaro HC2 gateway
    Go to Settings->Access Control
    Create new local user, e.g. loqed
    Setup password for the user, please don't use any special characters


    Change the user Access Control rights, give the user full access to the LOQED VD and these 4 LUA webhook scenes

     

     
     
    Step 7: Create webhooks on LOQED bridge
    The LOQED bridge can send any status change of the lock to your gateway as soon as they happen. For this, you need to set some URL's on the LOQED Bridge.
     
    You need to create 4 webhooks on the LOQED Bridge to inform the gateway about the 4 different lock statuses.
     
    Go to https://app.loqed.com/API-Config --> "Outgoing Webhooks via LOQED Bridge" --> click the button "Add/delete webhooks".
    On that page, add the following URLs:

    http://gw_user:gw_password@gw_ip/api/scenes/123/action/start
    (only for the night lock trigger, change the 123 to the ID of the "Locked State" scene)

    http://gw_user:gw_password@gw_ip/api/scenes/124/action/start
    (only for the latch trigger, change the 124 to the ID of the "Unlocked State" scene)

    http://gw_user:gw_password@gw_ip/api/scenes/125/action/start
    (only for the open trigger, change the 125 to the ID of the "Open State" scene)
     
    http://gw_user:gw_password@gw_ip/api/scenes/126/action/start
    (only for the unknown state trigger, change the 126 to the ID of the "Unknwon Position" scene)
     
    Above, "gw_user" and "gw_password" is your gateway's username and password created in previous step, "gw_ip" is the IP of ypur Home Center 2
     

     
     
    Done
     
    That's it! You can now control your LOQED Touch using Fibaro Home Center 2.
     

     
     
    Questions?
    If you have any questions regarding this VD, comments or improvements requests, please send me PM
     
    tinman
     
     
     
     

    13 downloads

       (0 reviews)

    0 comments

    Updated


×
×
  • Create New...