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


Search the Community

Showing results for tags 'hc3'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • FIBARO Community
    • FIBARO Portal and Forum policy
    • FIBARO
    • Say hello!
    • Off-topics
  • FIBARO Update
    • FIBARO System Update
    • FIBARO Mobile Update
  • FIBARO Community Support
    • Scenes and Interface
    • FIBARO Products
    • FIBARO Mobile
    • FIBARO HomeKit
    • FIBARO Assistant Integrations
    • Other Devices / Third-party devices
    • Tutorials and Guides
    • Home Automation
    • Suggestions
  • FIBARO Społeczność
    • FIBARO
    • Przywitaj się!
    • Off-topic
  • FIBARO Aktualizacja
    • FIBARO System Aktualizacja
    • FIBARO Mobile Aktualizacja
  • FIBARO Wsparcie Społeczności
    • Sceny i Interfejs
    • FIBARO Urządzenia
    • FIBARO Mobilnie
    • FIBARO HomeKit
    • Integracja z Amazon Alexa i Google Home
    • Urządzenia Firm Trzecich
    • Poradniki
    • Automatyka Domowa
    • Sugestie

Categories

  • Scenes
  • Virtual Devices
  • Quick Apps
  • Icons

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Facebook


Google+


Skype


Website URL


WhatsApp


Country


Gateway/s


Interests

  1. I had an issue with some Z-wave devices that insists to be disconnected from HC3. Have tried to relocate HC3 (as much as possible w/o irritating my wife) without success, always had some disconnected devices. But during the relocation have noticed that in some specific spot all devices have been connected. The problem to achieve full coverage, requires accuracy of ONE millimeter! Have tried to understand, why? I have my own SMS system connected to HC3 and when a specific corner of HC3 has touched the antenna (accidently) I have a good coverage. So.... I took a piece of metal and actually stuck it under HC3 like antenna (see below), now I have an excellent coverage. It's sound like a joke, but it's not a joke at all. After that have found an image of HC3 board, and YES, the Z-wave antenna is actually located on that corner of the box. Of course, will try to get a proper 868Mhz antenna to attach instead of current solution, but hey! it does the job. By the way did the same for Zigbee antenna also and again, a good improvement. There is a good logic behind that. Since HC3 has internal on-board printed antennas, any piece of metal could work as extender. Of course, it should be placed correctly otherwise it will cause interference. Let's say it's like wireless charging that we are using daily for our phones, as you know you should place the phone in very specific area. Here the actual image (please forgive me for the mess, the cost of moving the equipment around) In addition, I recommend using Z-wave repeater NEO Coolcam Z-Wave EU Repeater Sensor Compatible Zwave System 700 Series Home Automation - AliExpress It does work very well (not like AoenLabs extender which always shown as unconfigured device on all Fibaro systems). This extender configured and all parameters could be defined. Best repeater I ever had. I am very curios if it helps to others... please let me know if it works for you too.
  2. Dzień dobry. Być może coś źle robię, ale mimo usilnych starań nie udało mi się dodać żadnego urządzenia Zigbee do centrali HC3 podłączonej w trybie SLAVE. Na centrali MASTER - wszystko działa bez zarzutu. Slave - nie widzi zigbee. Może ktoś zna rozwiązanie tego problemu? Będę wdzięczny za pomoc.
  3. A thread to share some coding techniques for QuickApps? Because QAs are "long running scenes" (they don't have to be loaded and restarted for every event) - it is actually worthwhile to build up a library of "nice to have" code and include them in QAs. Here is Fibaro's manual for QuickApps. Here is Fibaro's manual for creating QuickAppChild devices Here is Fibaro's manual for using MQTT client Here is Fibaro's manual for WebSocket client List of posts: Introduction to the QuickApp anatomy - tutorial Part 1. Lua functions and object-oriented programming. (QuickApp is a OO class, so we need that base) Part 2. The basic QuickApp functions and what they do... and how. Part 3. More on QuickApp event handling - interaction with the UI and fibaro.call(<quickApp>,"name",...) Part 4. QuickAppChildren and how to raise them... what makes them tick? Also a tutorial on using classes in QuickApps here... All functions and variables available in the QuickApp Lua environment Logging functions (replacement for color/html tags + tostring for customised data structure) Shared functions calls between QuickApps (Here is an improved version) Off-line HC3api to use fibaro.* calls on PCs/Linux/Mac (fibaroapiHC3.lua) Polling for triggers in a QuickApps (like fibaro.getSourceTrigger()) Here is another method using a helper QA Patching 'setTimeout' so you get an error message if the function crashes A generic template for a QuickApp A simple code-lock QuickApp (demonstrating the UI with buttons) A QuickApp for scheduling user profiles (demonstrates UI buttons that change labels/text to present options) It doesn't' actually schedules the profile yet. (here is a working version) Structuring a QuickApp using event handlers to cope with asynchronous calls - like when using net.HTTPClient() instead of FHTTP(). looping with setInterval (without drifting) A QD reporting if other QDs are crashing (leveraging the "polling for triggers" code) Coding and debugging HC3 QuickApps offline using PC/Mac/Linux and a Lua IDE (and auto-creating a proxy on the HC3) An example of a QuickApp that download and installs scenes and QuickApps from a repository (files in a flat format) Coding and debugging of HC3 scenes using fibaroapiHC3.lua (not strictly about QuickApps but related) - can speed-up time A more complex QD that reads Google calendars or iPhone calendars and schedule custom events (uses the QuickApp structure for asynchronous calls in a previous tip) A substitute for Lua's loadstring() Here is another method of loading code dynamically into a QA Creating proxy devices on the HC3 to share devices between HC2 and HC3 A "webhook" QD - pushing events to external apps Adding interfaces to QA's - ex. power and battery and updating the properties (updates the little battery and power icon UI) @tinman Using '/plugin/publishEvent' to emit 'centralSceneEvent' (and a few other) .... Ex. keyfob QA by @tinman QA Toolbox. A modular toolbox of add-on functions to QAs that makes it easier to develop QAs 'basic' - Generic QA functions for loggin, loading modules, and management - used by all other modules. (some documentation) 'childs' - QA functions to easily manage quickAppChild devices. Loading, saving state, getting UI events etc. 'events' - QA functions for defining event handlers and structuring your code accordingly. Makes it easy to setup timers in various ways... 'triggers' QA functions for recieving triggers like Scenes do. The events module will receive triggers if loaded, but own handler can be defined. 'rpc' - QA functions for declaring (synchronous) remote functions from other QAs files - QA functionality for copying files between QAs pubsub - QA functions for event publish/subscribe... ui - QA functions for manipulation the UI elements of a QA lua parser/compiler - QA function for emulating loadstring and evaluating Lua expression from strings profiler - Functions for timing code used in QA Reading label/button/slider values. Sha2.lib crypto libs for HC3 (MD5, HMAC, SHA-1, SHA-224, SHA-256, SHA-512/224, SHA-512/256, SHA-384, SHA-512, SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256) @tinman aes crypto lib @tinman List of HC3 device types and interfaces @tinman Readers note. I started to call QuickApp devices for QDs (as in QuickApp Device, thought QAs sounded like Question and Answers). So, I use the word QD here and there but I'm not religious about it...
  4. Anybody having success updating motion sensor to 3.4 from 3.3 on HC3? My update is basically forever in this state. Of course I did manual wake up of the device, but still 0%. Any ideas where (some API) to look for more information?
  5. I want to know how to integrate HC3 with Broadlink RM4 PRO? If anyone created Quick apps for Broadlink devices could you please share with me the details?
  6. I want to do some normal validation of the UI (normal for people other than Fibaro which doesn't seem to understand the finer things of the user interface concepts). My immediate desire is to take two values from the UI and pass them both to the API where they will be processed. The device is a thermostat and is using the com.fibaro.hvacSystemAuto device type. This presents the user a heating setpoint and a cooling setpoint when the thermostat is in Auto mode. But when the "Set" button is pressed, it sends the heat setpoint as an action, then it sends the cool setpoint. But the API expects both setpoints when the device is in Auto. Further, it burps if the heat setpoint is hotter than the cool setpoint. Even worse, the device control is in the cloud so the round trip is quite slow. It appears that the heat setpoint property I retrieve using fibaro.getValue(self.id, "heatingThermostatSetpoint") doesn't appear to be the value which was just sent (and passed to the cloud) during the heat setpoint onAction() method [remember, BOTH values are sent to the API on each call]. My original idea was to adjust the current setpoints so that the cooling setpoint was 2° higher than the heating setpoint when that setpoint is about to be set if they are not already in a valid state. Then, during the cooling setpoint adjustment, I would change the heating setpoint to be 2° cooler than the cooling setpoint if they are not already in a valid state. Of course an even better solution would be to be able to peek at the other setpoint in the UI and send it. And ideally, I would like to be able to keep the state of the two setpoints in a valid state at all times. The app used by the thermostat adjusts the heating down if the cooling setpoint is adjusted down too much or it adjusts the cooling up if the heating setpoint is adjusted up too much. So it would be good practice to do something similar in the Fibaro UI. 🙄 But that's not likely to happen anytime in my lifetime or my children's lifetimes either. The code I'm using is: elseif (self.properties.thermostatMode == "Auto") then self:debug('Original coolingThermostatSetpoint ' .. self.properties.coolingThermostatSetpoint) -- The coolingThermostatSetpoint must be greater than the heatingThermostatSetpoint. -- Since both the heating and cooling setpoints are updated individually but the -- API must be adjusted for both values at the same time, there are problems when -- the heating setpoint is hotter than the cooling setpoint. Solution (for now) is to -- adjust the coolingThermostatSetpoint to be 2° higher than the new heatingThermostatSetpoint. -- **Note: If the user has not set these two setpoints correctly, the actual heating and cooling -- setpoints will reflect a 2° difference from whichever setpoint has been called last. local coolValue = fibaro.getValue(self.id, 'coolingThermostatSetpoint') self:debug(string.format("getValue() returned %f", coolValue)) if coolValue <= roundedHeatValue then coolValue = roundedHeatValue + 2 end My first pass used the self.properties.coolingThermostatSetpoint value. Then I tried the call to fibaro.getValue() but that didn't seem to help either. The code to set the cooling setpoint is a duplicate of the above except the heating setpoint is adjust downward by 2 vs. the cooling setpoint being adjusted upward. So what am I doing wrong? Thanks in advance to any ideas or solutions. Peter PS: After working on this some more I FINALLY recognized this is a symptom of the async nature of web communication. Both setpoints are called back to back (duh). But the first call gets all the way to sending the API command out and then yields while that happens asynchronously. Then the other setpoint is changed and does the same thing. EXCEPT, the original heating setpoint has not been updated in the hub because that process is not executed until the success of the API call. I know how basic this is to people but I'm something of a dinosaur and cannot get it through my pea-sized, dinosaur brain that things have to happen asynchronously because of the latency of internet communications. Ok....now I'm back on board with all of this and I must find some elegant solution to resolve this. Forgive me for showing my ignorance but I learned a valuable lesson (again, but maybe it will stick this time).
  7. I have an issue with removing a Danalock from my HC3. I first tried to reconfigure the lock but it does not reconfigure, this is weeks ago. When trying to remove the lock nothing happens. when I try to force delete the lock I get the following Z-Wave trace: ”ID 1607: NOP sending succeeded. The device has not been removed. Please use Learning Mode to remove it.” Is there any other way to delete the device?
  8. Hello, I have climate shcedule problems with hc3. Now I use HC3 (now 5.140, had the same issue before with previous firmwares too), Heatit z-temp2 thermostat, fibaro relay module. My problem: I can clearly see that the issue is caused by the virtual device Thermostat& Heating zone (plugin used for manual mode). We use the heating in schedule mode, at every temperature change has the same strange thing. For example: From 4-6 pm we ask for 18 celsius, than 6-7pm we ask for 21 celsius, from 7pm again 18celsius. Now at 6pm every time the schedule mode sets the 21 celsius but immidiately after the manual mode turns on (without manually use, we do not touch the thermostat nor the application or anything for climate change) and gives again the 21 pm but with the plugin's parameter it stays for 4hours. So instead of 7pm 18 celsius the system stays on 21 for 3 more hours... Btw... I have so much trouble with HC3. The lights, scenes, heating. It has so many problems... With HC2 everything works just fine and HC3 I have issues from the beginning. I use it since about 6 months and had no sollution for many problems. Hope someone can help me, cause I need to solve this heating problem asap. Thank you!
  9. Czy ktoś może pomóc w wykonaniu QA? Potrzebne aby QA : - po naciśnięciu przycisku wykonało - "open" danego urządzenia - sprawdziło stan czujnika binarnego i zwróciło jego wartość w formie "otwarte" gdy true lub "zamknięte" gdy false - wpisało stan czujnika w etykiecie QA Przykład: function QuickApp:wjazd_open() -- nazwa przycisku QA hub.call(1955, "open") -- otwarcie bramy (smart implant zwiera styki) self:updateView("wjazd_label", "text", "Brama wjazdowa: " .. tostring(hub.getValue(152, "value")) ) -- 152 to czujnik otwarcia bramy end
  10. Hi everyone, I have a lua scene that turns a light on when motion is detected and turns it off after 1 minute. How can I make it not turn the light off if it has been previously turned on manually using the switch? Here is the code for the scene { conditions = { { id = 220, isTrigger = true, operator = "==", property = "value", type = "device", value = true } }, operator = "all" } fibaro.call(185, 'turnOn') fibaro.setTimeout(60000, function() fibaro.call(185, 'turnOff') end) Thanks a lot
  11. Version 1.1

    78 downloads

    Netatmo Weather Station QA standalone v1.1 INTRODUCTION Netatmo Weather station QA brings complete integration of Netatmo weather station to HC3, HC3Lite and Yubii Home users including rain and wind gauges and support for more than one station. PREREQUISITES Fibaro HC3, HC3Lite or Yubii Home with firmware 5.150 or greater One or more Netatmo Weather station FEATURES Complete integration of Netatmo weather station with HC3, HC3Lite and Yubii Home including rain gauge and anemometer Only one QA is needed for any number of Netatmo Weather stations and their included modules. Support for Netatmo weather station main module without outdoor module included Support for maximum 3 additional indoor modules per station Smart update system that follows Netatmo weather station cloud updates Netatmo weather station measurements are shown on child devices added for each measurement of all stations and their modules found QA has built in multi-language support with 32 languages included. QA can use HC selected language or user can select any other available language. AVAILABLE DOWNLOAD Netatmo Weather station QA v1.1 Netatmo Weather station QA User manual v1.1 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 this QA. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required. VERSION HISTORY 1.1 - first public release as open source. LOOK & FEEL Enjoy coding and your new Netatmo weather station QA! Sankotronic
  12. Version 1.0

    16 downloads

    Nanoleaf Aurora QA standalone v1.0 INTRODUCTION Nanoleaf Aurora QA brings complete integration of Nanoleaf Aurora light panels to HC3, HC3Lite and Yubii Home. PREREQUISITES Fibaro HC3, HC3Lite or Yubii Home with firmware 5.150 or greater Nanoleaf Aurora light panels FEATURES Enables HC3, HC3Lite and Yubii Home to control Nanoleaf Aurora lights and show their status Can control brightness, hue, saturation, color temperature and activate color effects QA automatically updates list of the available effects when added or deleted with Nanoleaf mobile application Has buttons for light effects selection and activation Selected and running effect type can be recognized by emoji icon in front of the of the effect name. If Nanoleaf Aurora light has attached Rhythm module this QA will recognize it and enable selection between built in microphone or AUX input. Rhythm module is automatically activated when rhythm effect is activated Has button for generating authorization token for easy connection to the Nanoleaf Aurora light QA has built in multi-language support with 32 languages included. QA can use HC selected language or user can select any other available language. AVAILABLE DOWNLOAD Nanoleaf Aurora QA v1.0 Nanoleaf Aurora QA User manual v1.0 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 this QA. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required. VERSION HISTORY 1.0 - first public release as open source. LOOK & FEEL Enjoy coding and your new Nanoleaf Aurora QA! Sankotronic
  13. Version 1.0

    11 downloads

    Nanoleaf Shapes QA standalone v1.0 INTRODUCTION Nanoleaf Shapes QA brings complete integration of Nanoleaf Canvas, Shapes, Lines and Elements lights to HC3, HC3Lite and Yubii Home. PREREQUISITES Fibaro HC3, HC3Lite or Yubii Home with firmware 5.150 or greater Nanoleaf Canvas, Shapes, Lines or Elements light FEATURES Enables HC3, HC3Lite and Yubii Home to control Nanoleaf lights and show their status Can control brightness, hue, saturation, color temperature and activate color effects QA automatically updates list of the available effects when added or deleted with Nanoleaf mobile application Has buttons for light effects selection and activation Selected and running effect type can be recognized by emoji icon in front of the of the effect name. Nanoleaf Canvas, Shapes, Lines and Elements light control panel has built in Rhythm module and there is no AUX input available. Rhythm module is automatically activated when rhythm effect is activated Has button for generating authorization token for easy connection to the Nanoleaf light QA has built in multi-language support with 32 languages included. QA can use HC selected language or user can select any other available language. AVAILABLE DOWNLOAD Nanoleaf Shapes QA v1.0 Nanoleaf Shapes QA User manual v1.0 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 this QA. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required. VERSION HISTORY 1.0 - first public release as open source. LOOK & FEEL Enjoy coding and your new Nanoleaf Shapes QA! Sankotronic
  14. Version 1.1

    45 downloads

    Netatmo Indoor Air Quality Monitor QA standalone v1.1 INTRODUCTION Netatmo Indoor Air Quality Monitor QA brings complete integration of Netatmo Indoor Air Quality Monitor (coach) to HC3, HC3Lite and Yubii Home users with support for more than one monitor. PREREQUISITES Fibaro HC3, HC3Lite or Yubii Home with firmware 5.150 or greater One or more Netatmo Indoor Air Care Monitor (coach) FEATURES Complete integration of Netatmo Indoor Air Quality Monitor(s) Only one QA is needed for multiple Netatmo Indoor Air Quality Monitors Smart update system that follows Netatmo Indoor Air Quality Monitors cloud updates Netatmo Indoor Air Quality Monitor measurements are shown on child devices added for each measurement of all monitors QA has built in multi-language support with 32 languages included. QA can use HC selected language or user can select any other available language. AVAILABLE DOWNLOAD Netatmo Indoor Air Quality Monitor QA v1.1 Netatmo Indoor Air Quality Monitor QA User manual v1.1 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 this QA. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required. VERSION HISTORY 1.1 - first public release as open source. LOOK & FEEL Enjoy coding and your new Netatmo Indoor Air Care Monitor QA! Sankotronic
  15. Hi all I have the issue to include my existing devices in S2 Mode, but because most of the capable devices are 1-2 years old I do not have the packaging/info anymore. Is there a way to do this in some way? cheers joystick
  16. Hi, I'm trying to configure ZXT-600 with my HC3 but I have some challenges/bugs. *Disclaimer - at this moment I'dont want to use any specific AC. I'm doing this as a "dry run" before final installation 1. HC3 without any problem recognize ZXT-600 "devices". ZXT-600 is wotking wit USB power adaptor. 2. I'm trying to configure ZXT-600 based on manual (https://1d7d2411-2e94-4f8c-a95f-87afc2c677d4.filesusr.com/ugd/6dacfa_70e9d19869b44299b27f501fd1673f85.pdf) . At the beginning I added two parameters: - 27 [Set IR Code number from built-in code library 27 (0x1B)] - I choose one of the Mitsubishi - 30 [Set Auto Report Condition Trigger By Room Temperature change 30 (0x1E)] - I choose value what menas based on manual "Auto report if room temperature is different from last report. 1(0x01) = 1°F (0.5°C)" ZXT-600 has been assigned to room Kuchnia/Kitchen (details on below print screen) I used iOS Fibaro application for HC3 and it looks that HC3/ZXT-600 doesn't work ijn proper way. 1. Even when I'm using parameter "Auto report if room temperature is different from last report. 1(0x01) = 1°F (0.5°C)" temperature doesn't change. Mobile application and Fibaro HC3 dashboard present one value (updated during power adaptor has been detached/attached) Is it a bug, malfunction or my lack of knowledge how to configure devices ? 2. I assume that should be possible send IR commnad (on, off, cooling, heating ...) from mobile application->HC3->ZXT-600 to air condition IR receiver. Maybe I'm wrong or I miss something. Unfortunatelly I haven't or I can't see any places in mobile/web applications where I could be do this Please let me know about your thoughts/experience. Thank you
  17. Hello, After a parameter change of a MultiSensor the 'busy indicator' kept circling without saving parameters so I rebooted the HC3. After the reboot all Leds on the front of the HC3 are solid copper except for the Security LED that is blinking. After that manual reboot my HC3 is not visible anymore in software. Nowhere. - Not in the Fibaro Finder - Not in the DHCP Client list of my Router - In the Fibaro Remote Acces website ( https://dom.fibaro.com/cmh/home-center/list) it is visible but in Red with a red cross icon. - In the HC3 configuration interface (COMPONENTS.DEVICE-LIST.MAIN-HEADER.LOCAL-LIST) nothing appears (icon keeps rotating). The procedures in the manual are not clear for me: -1- Using the (+) Recovery button it says "Put in Recovery mode". I did this but how can I see/know it is in recovery mode when I have no User Interface? -2- Hold for xx seconds when network-icon and wif-icon are blinking = they never blink except during startup. They also do not blink after holding the (+) button for 20 s. This means I do not get a change to reset the network settings or switch between Dynamic and static IP. Because the IP address stays invisble I can not find a way to do a factory reset because I have no User Interface. Can someone help me to get my HC3 up and running again? How can I factory reset the HC3 when I have no interface at all? Thank you in advance for your support.
  18. Hi there, recently updated to a HC3 and would like to add 2 Deye inverter to the energy panel. I did my research, but no idea how to implent it. Inverters are accesible via http://username.password@IP/status.html. Any idea and help would be great! Regards Francisco
  19. Hi Brains, This was working fine with my HC2. I've just moved to HC3 and I'm perplexed by the following behaviour: I have a Fibaro Dimmer with an S2 button and I have parameter 28 active and everything else is default. And this is happening with 5 separate dimmers. So when I double click the S2 btn for the first time it prints out DoubleClick and works fine. However the second time I double click it though it doesn't do anything. I try it again and nothing. I then single click the S2 btn and it prints out Click. I then double click and it works and prints out DoubleClick. However I try double clicking again and nothing. Same thing happens for single clicking the S2; first time it works and prints Click. Try it again and nothing happens. Try it again still nothing. Its not until I double click and it prints DoubleClick and then can single click and it prints Click. Any ideas what I've done wrong? { conditions = { { id = 23, isTrigger = true, operator = "anyValue", property = "sceneActivation", type = "device" } }, operator = "all" } local Debugger = 'True' local sa = sourceTrigger if sa.value == 16 then if Debugger == 'True' then print('Click') end end if sa.value == 22 then if Debugger == 'True' then print('Hold') end end if sa.value == 23 then if Debugger == 'True' then print('Release') end end if sa.value == 24 then if Debugger == 'True' then print('DoubleClick') end end if sa.value == 25 then if Debugger == 'True' then print('TripleClick') end end if sa.value == 26 then if Debugger == 'True' then print('Click') end end
  20. fibaroapiHC3.lua Note, I currently only support my new emulator, TQAE, and have moved all my development to that - please check it out... It's a rewrite with the learnings I have made coding fibaroapiHC3.lua... (Note: The new version of the emulator has gone through extensive rewrite and is stabilising (0.300). The old version of the emulator is here fibaroapiHC3_classic.lua.) This is a thread for the fibaroapiHC3.lua sdk that is under development (keeping it separate from the HC3 QuickApps coding - tips and tricks thread) I've started to run and test HC3 QuickApps offline and have made a fibaroapi.lua file that can be included to emulate the fibaro calls and call out to the HC3. This means that a whole QA can be developed offline, debugged and verified before deploying to the HC3. Something that significantly reduces the development process. It's an emulation so it's not 100% but it will cater for 99.99% of the needs to catch bugs, get decent error messages when things doesn't work (like timers). Be able to set breakpoints and inspect states etc. It's complete enough to run the most demanding QuickApps that I have found on the forum so far... If it runs in the emulator and it doesn't run on the HC3 or vice versa I will prioritise to fix it. Latest version here fibaroapiHC3.lua (v0.311) The code is updated weekly so please make sure you have the latest... It was inspired by the old fibaroapi for the HC2 in a thread started by @riemers but has evolved with more extensive support to create a better debugging and "offline experience"... in fact, it's really an HC3 emulator now. The video is an earlier version of the emulator but the principles are more or less the same. Note the nice tooltip and autocompletion of fibaro commands we get with the fibaroapiHC3plugin for ZBS. Enable English subtitles to see instructions... Some benefits: Use a modern development environment such as ZeroBrane Studio (free for Mac/PC/Linux, HC3 plugin here) on your laptop/PC to develop and debug QuickApps and Scenes. Here is a good introduction to Lua (using ZeroBrane) Step through code, inspect Lua variables, set break-points etc - all that is possible in a good IDE. Faster to pin-point errors as the error messages are better than on the HC3 - stack-traces etc. Advanced timer info (setTimeout) warning of late timers and from where the offending function was called if a timer function crashes. Info from where an eronous json.encode was called from in your code so you can easily find the error (instead of seeing a line from deep inside the json encoder) Use the whole Fibaro API fibaro.call etc and net.HTTPClient(), setTimeout(), json.ecode/decode, QuickApp self:functions like self:getVariable, self:updateView Support for MQTT client and QuickApp child devices Both QuickApps and Scenes are supported. Scenes support most conditions and are triggered by real triggers from the HC3 or simulated triggers. Speed up clock to run faster than real time, to watch a Scene or QuickApp over days/weeks/months in seconds. Start at any given time and date - test if your scene behaves on week-ends ? Automatically create a proxy QuickApp on the HC3 that sends UI clicks back to the code your are running and displays self:updateView updates. This way you can test the QuickApp UI (buttons etc) and still debug the main code on your PC. Develop and run multi-file QuickApps, allowing you to build up a library of common code to share between your QAs. Run completely disconnected from the HC3 simulating devices and other resources (now you can take your coding with you on your vacation ) There is a possibility to download resource definitions from the HC3 and use them (devices, globals etc) while running disconnected. Load multiple QAs/Scenes into the emulator at the same time to debug interaction patterns between QAs (or just run all your QAs offline and use the HC3 as a wave GW ) Telnet into the running emulator to capture logs or issue Lua commands like turning on/off devices at runtime to test you QA/Scene. Move the code as-is over to the HC3 when it runs in the emulator - and it will most likely run on the HC3. Scenes needs to be moved to conditions/actions part on the HC3 - may automat that in the future. Oh, and an emulated Web GUI for the quickApp so you can try out button/slider clicks without connecting to the HC3. And lastly, it makes it fun to develop code for the HC3 To get going download the fibaroapiHC3.lua and put in in the working directory where you code your QA(s) If you run ZerobraneStudio (recommended) paste this and run if dofile and not hc3_emulator then dofile("fibaroapiHC3.lua") end--hc3 hc3_emulator.downloadPlugin() hc3_emulator.downloadAssets() Please note the 'end--hc3' that ends the 'if dofile and not hc3_emulator then' statement. It requires the '--end' comment so I can recognise it. Also, you need to set the Lua interpreter to version 5.3 (In ZBS, Menu ; Project -> Lua Interpreter -> Lua 5.3) It will install the. ZBS plugin in ~/.zbstudio/packages and some code templates in ~/.zbstudio/hc3emu/ (Restart ZBS for the plugin to. be installed) Create a Lua file and create a header + QA/scene code. An example of a minimal QA can look like if dofile and not hc3_emulator then hc3_emulator = { name = "My QA", poll=1000, -- Poll for triggers from the HC3 every 1s credentials = {ip="192.168.1.X", user="<user>", pwd="<password>"} } dofile("fibaroapiHC3.lua") end--hc3 function QuickApp:onInit() fibaro.call(88,"turnOn") -- turns on device 88 on your HC3 end We wrap the emulator specific stuff inside "if dofile and not hc3_emulator then .... end" as the symbol 'dofile' is not defined on the HC3 and will thus be false and not include the code - This means that we can take the code as-is and paste it into the HC3 and it works. Note the credentials that contains the IP, username and password so that the emulator can access the HC3 box. If you use ZBS and the plugin there is an Edit-HC3 SDK templates-> menu that will insert a standard QA and Scene header + code in the current buffer. Most of the functions are there and will be improved over time. There are support for net.HTTPClient() and setTimeout/clearTimeout and api.* There are support for getting triggers and events from the HC3 Support for auto-creating a QuickApp proxy with UI elements that sends events back to the code being debugged. There are support for both QuickApps and Scenes (with conditions) Currently supported (v 0.300) fibaro.debug(type,str) fibaro.warning(type,str) fibaro.trace(type,str) fibaro.error(type,str) fibaro.call(deviceID, actionName, ...) fibaro.getType(deviceID) fibaro.getValue(deviceID, propertyName) fibaro.getName(deviceID) fibaro.get(deviceID,propertyName) fibaro.getGlobalVariable(varName) fibaro.setGlobalVariable(varName ,value) fibaro.getRoomName(roomID) fibaro.getRoomID(deviceID) fibaro.getRoomNameByDeviceID(deviceID) fibaro.getSectionID(deviceID) fibaro.getIds(devices) fibaro.getAllDeviceIds() fibaro.getDevicesID(filter) fibaro.scene(action, sceneIDs) fibaro.profile(profile_id, action) fibaro.callGroupAction(action,args) fibaro.alert(alert_type, user_ids, notification_content) fibaro.alarm(partition_id, action) fibaro.setTimeout(ms, func) fibaro.clearTimeout(ref) fibaro.setInterval(ms, func) fibaro.clearInterval(ref) fibaro.emitCustomEvent(name) fibaro.wakeUpDeadDevice(deviceID) fibaro.sleep(ms) net.HTTPClient() net.TCPSocket() net.UDPSocket() net.WebSocketClient() -- needs extra download net.WebSocketClientTLS() -- needs extra download api.get(call) api.put(call <, data>) api.post(call <, data>) api.delete(call <, data>) setTimeout(func, ms) clearTimeout(ref) setInterval(func, ms) clearInterval(ref) mqtt.Client.connect(uri, options) -- needs extra download <mqttclient>:addEventListener(message,handler) <mqttclient>:subscribe(topic, options) <mqttclient>:unsubscribe(topics, options) <mqttclient>:publish(topic, payload, options) <mqttclient>::disconnect(options) plugin.mainDeviceId plugin.deleteDevice(deviceId) plugin.restart(deviceId) plugin.getProperty(id,prop) plugin.getChildDevices(id) plugin.createChildDevice(prop) class QuickAppBase class QuickApp class QuickAppChild json.encode(expr) json.decode(string) QuickApp:onInit() -- called at startup if defined QuickApp - self:setVariable(name,value) QuickApp - self:getVariable(name) QuickApp - self:debug(...) QuickApp - self:updateView(elm,type,value) QuickApp - self:updateProperty() QuickApp - self:createChildDevice(props,device) QuickApp - self:initChildDevices(table) sourceTrigger - scene trigger Supported scene events: {type='alarm', id=<id>, property='armed', value=<value>} {type='alarm', id=<id>, property='breached', value=<value>} {type='alarm', property='homeArmed', value=<value>} {type='alarm', property='homeBreached', value=<value>} {type='weather', property=<prop>, value=<value>, old=<value>} {type='global-variable', property=<name>, value=<value>, old=<value>} {type='device', id=<id>, property=<property>, value=<value>, old=<value>} {type='device', id=<id>, property='centralSceneEvent', value={keyId=<value>, keyAttribute=<value>}} {type='device', id=<id>, property='accessControlEvent', value=<value>} {type='device', id=<id>, property='sceneActivationEvent', value=<value>} {type='profile', property='activeProfile', value=<value>, old=<value>} {type='location', id=<uid>,property=<locationId>, value=<geofenceAction>, timestamp=<timestamp>} {type='custom-event', name=<name>} {type='UpdateReadyEvent', value=_} {type='onlineEvent', value=<bool>} Some of the parameters that affect the behaviour of the emulator and can be set in the header are: hc3_emulator.name=<string> -- Name of QuickApp, default "QuickApp" hc3_emulator.id=<QuickApp ID> -- ID of QuickApp. Normally let emulator asign ID. (usually 999 for non-proxy QA) hc3_emulator.poll=<poll interval> -- Time in ms to poll the HC3 for triggers. default false hc3_emulator.type=<type> -- default "com.fibaro.binarySwitch" hc3_emulator.speed=<speedtime> -- If not false, time in hours the emulator should speed. default false hc3_emulator.proxy=<boolean> -- If true create HC3 procy. default false hc3_emulator.UI=<UI table> -- Table defining buttons/sliders/labels. default {} hc3_emulator.quickVars=<table> -- Table with values to assign quickAppVariables. default {}, hc3_emulator.offline=<boolean> -- If true run offline with simulated devices. default false hc3_emulator.autocreate=<boolean> -- Autocreate local resources hc3_emulator.apiHTTPS=<boolean> -- If true use https to call HC3 REST apis. default false hc3_emulator.deploy=<boolean>, -- If true deploy code to HC3 instead of running it. default false hc3_emulator.assetDirectory=<string> -- Directory where assets shoud be downloaded (ZBS). Default ~/.zbstudio/hc3emu hc3_emulator.resourceFile=<string> -- When doing a resource download, use this file as default. hc3_emulator.db=<boolean/string>, -- If true load a "resource download" from hc3_emulator.resourceFile or string hc3_emulator.htmlDebug=<boolean> -- Try to convert html tags to ZBS console cmds (i.e. colors) hc3_emulator.terminalPort=<boolean> -- Port used for socket/telnet interface hc3_emulator.webPort=<number> -- Port used for web UI and events from HC3 hc3_emulator.HC3_logmessages=<boolean> -- Defult false. If true will push log messages to the HC3 also. hc3_emulator.supressTrigger -- Make the emulator ignore certain events from the HC3, like = PluginChangedViewEvent hc3_emulator.negativeTimeout=<boolean> -- Allow specification of negative timeout for setTimeout (will fire immediatly) hc3_emulator.strictClass=<boolean> -- Strict class semantics, requiring initializers hc3_emulator.consoleColors=<table> -- Maps fibaro.debug/self:debug etc to color (debug.color enables color debugging) hc3_emulator.sysConsoleColors=<table> -- Maps colors used for system logs hc3_emulator.userdataType=<boolean> -- If true intercepts type(...) to return 'userdata' for our Lua classes. Some apps checks this... Some useful emulator functions: hc3_emulator.setOffline(<boolean>,<boolean>) -- hc3_emulator.getIPaddress() -- Return HC3 IP address hc3_emulator.prettyJsonFormat(<table>) -- Return json formatted string of Lua table hc3_emulator.postTrigger(<event>,[<time ms>]) -- Posts a trigger to the emulator... hc3_emulator.loadScene(...) -- Load scene from file or HC3... hc3_emulator.loadQA(...) -- Load QA from file or HC3... hc3_emulator.downloadPlugin() -- (ZBS). Default ~/.zbstudio/packages hc3_emulator.downloadAssets() -- (ZBS). Default ~/.zbstudio/hc3emu hc3_emulator.downloadResources([<filename>]) -- Downloads a "backup" of HC3 resources hc3_emulator.loadResources([<filename>]) -- ...that can be loaded as "local" resources for the emulator. Some debug flags that can be set with hc3_emulator.debug.<flag>=<value> fibaro=false, -- Logs calls to fibaro api trigger=true, -- Logs incoming triggers from HC3 or internal emulator timers=nil, -- Logs low level info on timers being called, very noisy. refreshloop=false, -- Logs evertime refreshloop receives events mqtt=true, -- Logs mqtt message and callbacks http=false, -- Logs all net.HTTPClient():request. ALso includes the time the request took api=false, -- Logs all api request to the HC3 onAction=true, -- Logs call to onAction (incoming fibaro.calls etc UIEvent=true, -- Logs incoming UIEvents, from GUI elements zbsplug=true, -- Logs call from ZBS plugin calls webServer=false, -- Logs requests to /web/ including headers webServerReq=false, -- Logs requests to /web/ excluding headers files=false, -- Logs files loaded and run color=true, -- Logs in console using ANSI colors (see hc3_emulator.consoleColors for mapping) locl=true, -- Log creation of local devices breakOnInit=<boolean> -- Tries to set breakpoint on QuickApp:onInit (mobdebug) breakOnLoad=<boolean> -- Tries to set breakpoint on first line in loaded file (mobdebug) breakOnError=<boolean> -- Tries to break after error (makes it easier to look at call stack etc) ctx=false, -- Logs Lua context switches timersSched=false, -- Logs when timers are scheduled timersWarn=0.500, -- Logs when timers are called late or setTimeout with time < 0 timersExtra=true, -- Adds extra info to timers, like from where it's called and definition of function (small time penalty) In the example in the beginning, the HC3 credentials are listed in the header. If you don't want that (it's easy to forget it and share the code with your passwords in plain sights<9 you can create a credentials.lua file with your secret stuff and it will be automatically included by the SDK. The format should be return { ip="2912.168.77", user="admin", pwd="admin", mySecret="hgskjfhgjhgkdfh" } It returns a Lua table with the relevant keys. ip, user,and pwd is used to log into the HC3. We have added another key here to 'mySecret'. Assume that you want you QA to have a defined quickAppVariable with the value of mySecret. It could be the password to log into an external services. Then you can do like this if dofile and not hc3_emulator then hc3_emulator = { name="My QA", quickVars = {["password"]="$CREDS.mySecret"}, This define a quickAppVariable with the name 'password' and it fetches the key 'mySecret' from the credentials table and uses that as the value. When you QA starts up you can do self:getVarible('password') and it will return the credential. This is useful as not to litter your code with visible credentials. NOTE. Be aware that if you deploy the real QA with hc3_emulator.deploy=true or using the menu commands with the plugin, the deployed QA will have the quickAppVariable defined and if you upload that for sharing people will see your credential. If someone wants to try this in another IDE than Zerobrane that I use (like Visual Studio) the only thing that could be an issue is to have access to the Lua libraries require("socket") -- LuaSocket require("socket.url") -- LuaSocket require("socket.headers") -- LuaSocket require("ltn12") -- LuaSocket require("mime") -- LuaSocket require("lfs") -- LuaFileSystem They are pretty standard lua libraries - based on LuaSocket. @10der has managed to run it under Visual Studio on Windows. Here is an updated library/project map to work with the latest version of the emulator vscode_fibaro_bin.zip. Note that you should update the fibaroapiHC3.lua file provided i the archive when new are released as I will not update this archive for every new release. @petergebruers also have some tips. Any improvements are happily received (in code) and credits will be due granted. Links to notable post Here is a description of the various way to use the emulator when developing code (high-level) Some in-depth posts Running "Offline" (TBD) Running in "Mix mode". Mixing real devices and locally emulated devices (TBD) Running with a "Proxy QA" (TBD) Using real QA as "Proxy" (TBD) Downloading HC3 resources to file and emulate them locally (TBD) Running standard Lua with access to HC3 functions (developing management scripts etc) (TBD) Loading multiple QAs/Scenes and run them in parallel in the emulator (also getting QAs/Scenes from the HC3 and install them in emulator on the fly...) (TBD) Running faster than real-time and manipulating start dates (TBD) A ZeroBrane plugin to make life easier while debugging A post introducing the SDK with QuickApps. A post introducing the SDK with Scenes. Scene support is not complete. Creating and debugging multi-file QuickApps The debug flags that can be set are described The new dynamic load functions to run multiple QAs/Scenes in the emulator are described Telneting into the emulator to capture logs and issuing Lua calls <here> (nice way to test your code) Using the Web GUI Debugging setTimeout code and tracking timers. MQTT support. Another post with running a scene completly without being connected to the HC3. Some notes on the implementation of the SDK - if you would like to hack on it A collection of QA's I developed with the SDK - which means that they can be run offline ChildrenOfHue. A QA that creates QA children devices for your Hue devices (It's the Hue QA I use myself these day) iOSLocator. An iOS geopresence QA. iCal (iOS,Google) QA Telegram QA. Event watcher QA. Helper QA to get/subscribe on event triggers Vonage/Nexmo SMS service. Send SMS. Changelog: v 0.67 - numerous bug fixes caused by the restructuring. hc3_emulator.start{startTime="07:00 4/5/2000"} - will start the simulation at the given time. v 0.68 - fibaro.debug behaves more like original. v 0.70 - better offline support and speeding. v 0.72 - More offline and support for downloading HC3 resources to be used while running disconnected from the HC3 v 0.73 - Various speed-time related bugs v 0.75 - Better http sync behaviour. Set hc3_emulator.asyncHTTP=true to get some pseudo asynchronous behaviour v 0.77 - Support for 5.030.45. Initial support for childDevices and fixes for the changed handling of UI events v 0.78 - UI fix. Name of callbacks defaults to button.."Clicked", unless you have a onReleased=name or onChanged=name in the UI table struct. v 0.80 - Fixed bug in self:getVariable and self:setVariable v 0.81 - Better quickVariables handling for proxies, and self.childDevices list updated when children are deleted. v 0.83 - self:getVariable returns the empty string "" if the variable does not exists according to the latest behaviour on the HC3... 'class' is not redefined if available from Luabind... However, I've not had a chance to test if it's 100% compatible yet... v 0.84 - Initial support for mqtt. You need to have installed https://github.com/xHasKx/luamqtt so that require("mqtt") works from fibaroapiHC3.lua. I have tried to mimic the HC3 mqtt api but I have not really used mqtt that much so if someone uses it with fibaroapiHC3.lua and discovers if stuff is not compatible with the HC3 implementation please let me know and we fix it. v 0.85 - Compatibility fix for function 'class' to adhere more closely to the HC3/luabind version v 0.90 - Cleanup of code, Better handling of children and QuickApps, ZBS color output with ansi escapes; hc3_emulator.colorDebug=true v 0.93 - New model for QuickApp proxies. Better child device compatibility. v 0.95 - Various bug fixes - log prints more in line with HC3 log console. fibaro.emitCustomEvent bug fix. v 0.98 - First support for backup/download/upload with the ZeroBrane plugin (another post here) v 0.99 - Better trigger handling and new way to include SDK in your QA/scene code. No hc3_emulator.start at the end. v 0.100 - Web GUI emulator for QuickApps. New format for using credentials.lua. Bug fixes... v 0.102 - Better handling of children and their quickAppVariables v 0.104 - Rewrite of offline mode. Better web UI support. v 0.105 - Support for new QA file format (proxies work again) v 0.106 - Added support for net.UDPSocket() v 0.109 - UDPSocket bug fix. ( @10der), property() support for class() - much harder than it looks... v 0.110 - Oops, serious bug in 'class' affecting ...everything. Hopefully fixed. v 0.111 - Removed unnecessary os.exit(). urlencode api calls ( @10der) v 0.112 - UDP fixes. ( @10der) v 0.114 - Bug fix (global 'self' escaped) v 0.115 - Bug in url encode for api calls. UDPSocket :bind(ip,port) function added. v 0.116 - :bind(ip,port) really fixed.... v 0.117 - startup fix v 0.119 - "Softer os.exit()" - better compatibility with Visual Studio (thanks @10der) v 0.120 - Debugger friendly QuickApp class (no __index). First version of file/backup v 0.121 - api.get bug fix. Faster proxy/deploy. v 0.123 - QuickApp:setVariable bug (thanks @10der) v 0.124 - fibaro.clearTimeout added, MQTT fixes. v 0.125 - fibaro.alarm() was buggy - fixed. Set self.USERPIN to pincode to allow fibaro.alarm("disarm") to be allowed from emulator. v 0.126 - fix __fibaro_get_device() ( @10der) v 0.128 - fix sort order of triggers. Default room in offline mode ( @10der) v 0.130 - fix UI handling ( @rangee. More UI options. v 0.131 - fix uiCallbacks not always updating when updating proxy v 0.135 - fixes... v 0.137 - TCPSocket fixes v 0.138 - setTimeout for negative times are inserted in the queue.... i.e. will execute as soon as possible. v 0.140 - fixed bug with setInterval (clearInterval within a setInterval function didn't work...) v 0.141 - fix bug in net.TCPClient() v 0.145 - bug in printout of sockets... stricter class constructor requirements v 0.148 - MQTT event format bug ( @jayrock) v 0.150 - Initial websocket support. Need to download wsLua_ER.lua from my github and put in project directory. v 0.152 - support fibaroapiHC3plug.lua v0.4 v 0.155 - bugfixes. v 0.156 - html color bugfix v 0.198 - New version of emulator with better support for everything. Thanks to @petrkl12 that has been a guinea pig and helped in debugging the code. v 0.200 - Fixed bug in speedTime. plugin.restart() now restarts the QA in a correct way. v 0.299 - Major rewrite of the HC3 API - cleaner architecture and prepared for being split into sub-files (I'm approaching 10k lines now). Note 'end--hc3' required to end header. v 0.300 - Bugfixes from v0.299 v 0.301 - Better/simpler class definition - easier to debug/step into classes (avoiding __index unless class uses property() )
  21. Hello everyone, I have a house with 9 battery operated device, 4 of them is thermostat. I got a mail today about 2 thermostat battery low, but all of the battery % of all devices are in 100%. It is not possible, for sure. Anyone came across with this? Any solution? Thank you Gabor
  22. Hi All, Please guide me to right way to get args in scene on HC3 HC2 code to get scene args was: local args = fibaro:args() on HC3 it not working now Tried: local args = fibaro.args() -> got error: attempt to call a nil value (field 'args') local args = fibaro:args(). -> got error: attempt to call a nil value (method 'args') LUA editor don't show any functions containing "args".... Help, please... Thanks
  23. Hi all!! Thank you all for this forum and all nice people that helping eachother out. Now its my turn to ask a question regarding LUA scripting, a script that makes my system to stall within 24h What the script basicaly does is that it checks if doors, windows, motionsencors etc is open or closed and then send it to a QA but also to a global value from a standard LUA scene. I am running the QA on diffrent screens in my home to so i get a nice view of what´s going on. The global value i pick up then i am arming the house and sending it to a a TTS-script. Always nice to hear a voice that tells me that a window is open etc... when i am leaving. But i think something is draining resources, i have tried to only activate the script via Conditions and Triggers, but also via a loop with diffrent sleep times. It does not say in Diagnostics that i am out of recourses se my sample below short version (The script works fine but after aprox 24h HC3 stalls or not working as expected ). How can i do it better ? ::BEGIN:: local var = {}; local debug = 1; ----------------WINDOWS------------ local Windows = ""; local WindowsAlarm = ""; local WindowsLiving = ""; local WindowsLivingAlarm = ""; local WLiving = fibaro.getValue(249, "value"); --...and 6 more sencors ----------------DOORS------------ local Doors = ""; local DoorsAlarm = ""; local Freezer = "" ; local FreezerAlarm = "" ; local DFreezer = fibaro.getValue(355, "value") ; --...and 10 more sencors ----------------MOTION---------- local Motion = ""; local MotionAlarm = ""; local Kitchen = ""; local KitchenAlarm = ""; local MKitchen = fibaro.getValue(21, "value"); --...and 7 more sencors ----------------Switches 1st and 2nd floor---- --...About 30 switches ----------------TEMPS---------------------- --... collecting temps round house ----------------Secure-------------------- local SecureFrontdoor = " " local Parm = " " -- ...Checking if frontdoor is locked and if it is armed etc... ----------------Garage-------------------- -- ... same with garage local Garage = "Garage : " ..IR ..Outlet ..Mainlight ..Port ----------------Setting Variable--------- if WLiving == true then WindowsLiving = "Livingroom" WindowsLivingAlarm = "Vardagsrums fönster, " end; if DFreezer == true then Freezer= "Frys, " FreezerAlarm = "Frysdörr. " end ; if MKitchen == true then Kitchen = "Köket, " KitchenAlarm = "Rörelse i köket, " end; if fibaro.getValue(30, "value") == true then sink = fibaro.getName(30)..", " end; -------------CONSOLIDATE --------------- Windows = "Fönster: " ..WindowsLiving .." " .. Bathroom; -- for screens QA var.WindowsAlarm = WindowsLivingAlarm ..BathroomAlarm; Doors = "Dörrar: " ..Refrigerator .." "..StoreTrash ; -- for screens QA var.DoorsAlarm = RefrigeratorAlarm ..StoreTrashAlarm ; Motion = "Rörelse:" ..Kitchen .." "..Shower ; -- for screens QA var.MotionAlarm = KitchenAlarm ..ShowerAlarm ; -- .. and some more... -------------SEND UPDATES---------------------------------------------------------------------- fibaro.call(103,"updateView","windows","text", Windows); fibaro.call(103,"updateView","doors","text", Doors) fibaro.call(103,"updateView","detectors","text", Motion); fibaro.call(103,"updateView","avgtemp","text", avgtemp) ; fibaro.call(103,"updateView","secure","text", SecureFrontdoor .." " ..Parm ); fibaro.call(103,"updateView","garage","text", Garage) ; fibaro.call(103,"updateView","first","text",first) ; fibaro.call(103,"updateView","second","text",second) ; fibaro.setGlobalVariable('Status',json.encode(var)) -------------DEBUG-------------- ------Loop Me ------------------ fibaro.sleep(5*1000); goto BEGIN
  24. QA for creating HomeTable in global variables in HC3. Why using hometable? Instalation: 1. upload this QA 2. In QA variables you can change name for hometable, name for scenes and time for regular update of hometable 3. In QA -> source files -> ManualData you can add your own data (it will be also saved in final hometable in global variables) How to read data from hometable: -- in case that your name for hometable is default=HomeTable local tbl = fibaro.getGlobalVariable("HomeTable") local HT = json.decode(tbl) -- structure for devices is <room>.<deviceName> local idQA_TV=HT.LivingRoom.TV -- structure for scenes is <ScenesName>.<sceneName> -- default value for <ScenesName> is Scenes local idSc_Lights=HT.Scenes.Lights -- structure for your own inputs from ManualData local myValue1=HT.myData1.myNameValue1 -- 0 local myValue2=HT.myData1.myNameValue2 -- "default value" Names for rooms, devices and scenes are corrected by following replaces: {["%."]="",["-"]="",["%("]="",["%)"]="",["&"]="",[":"]="",["%["]="",["%]"]="",["%+"]="",["%%"]="",["%/"]="",["%$"]=""} {["Á"]="A",["Ä"]="A",["Ą"]="A",["À"]="A",["Â"]="A",["Č"]="C",["Ć"]="C",["Ç"]="C",["Ď"]="D",["É"]="E",["Ě"]="E",["Ë"]="E",["Ę"]="E",["È"]="E",["Ê"]="E",["Í"]="I",["Ï"]="I",["Î"]="I",["Ĺ"]="L",["Ľ"]="L",["Ł"]="L",["Ň"]="N",["Ń"]="N",["Ó"]="O",["Ô"]="O",["Ö"]="O",["Ő"]="O",["Œ"]="O",["Ŕ"]="R",["Ř"]="R", ["Š"]="S",["Ś"]="S",["Ť"]="T",["Ú"]="U",["Ů"]="U",["Ü"]="U",["Ű"]="U",["Ù"]="U",["Û"]="U",["Ý"]="Y",["Ÿ"]="Y",["Ž"]="Z",["Ż"]="Z",["Ź"]="Z",["á"]="a",["ä"]="a",["ą"]="a",["à"]="a",["â"]="a",["č"]="c",["ć"]="c",["ç"]="c",["ď"]="d",["é"]="e",["ě"]="e",["ë"]="e",["ę"]="e",["è"]="e",["ê"]="e",["í"]="i",["ï"]="i",["î"]="i",["ĺ"]="l",["ľ"]="l",["ł"]="l",["ň"]="n",["ń"]="n",["ó"]="o",["ö"]="o",["ô"]="o",["ő"]="o",["œ"]="o",["ř"]="r",["ŕ"]="r",["š"]="s",["ś"]="s",["ť"]="t",["ú"]="u",["ů"]="u",["ü"]="u",["ű"]="u",["ù"]="u",["û"]="u",["ý"]="y",["ÿ"]="y",["ž"]="z",["ż"]="z",["ź"]="z"} Hometable in global variables will be overwrite only if newly generated hometable will be different. Version of QA HomeTable: 0.12 - 21.1.2021 HomeTable.fqa
  25. What does the "Save energy to database "do (device configuration)? I figure out the "Use stored energy data in Energy Panel", the "Use instantaneous power in Energy Panel calculations" and the "Calculate energy used", but can't figure out what the "Save energy to database" do...
×
×
  • Create New...