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!



Smart Home Forum by FIBARO Team

Search the Community

Showing results for tags 'http'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • 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


  • Scenes
  • Virtual Devices
  • Quick Apps
  • Icons

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start






Website URL





Found 39 results

  1. Hi all, I am looking to build out my understanding of the HC2 Rest API. Specifically its capacity to execute a lot of calls (as opposed to what functions are available) and what else leverages the API and battles for capacity. I have two reasons for posting the topic - (a) I may be having an issue and am trying to debug and (b) increasing my systems knowledge. My understand is that the API is used the following... If an http request is made to the HC2 from an external system If a http request is made from a browser to the HC2 .. but is it used for ... The android app I run on my tablets/phones ( yes ? ) The iOS app running on some ipads/phones ( yes ? ) If the HC2 scene makes a http request to an external system ( assume no ? ) Does the HC2 FW itself leverage the API in anyway ( assume not ?) If a scene executes a http request to localhost / (assume yes ?) .. what else uses it ? now if I send a lot of API calls.. What would people expect to be a resonable number before thresholds are hit (100 per second, 400 per second, 1000 per second ?) ----- assuming the are basic calls, (ie return a sensor state, true-false, return, global variable value,etc What starts to happen to system resources ? ---- Do I start to run out of memory ----- Do I see my CPU utilisation start to peak close to 100% ------ or does the system stay stable and the eveything start to slow down ? Thanks Frank
  2. CANCEL THIS - I SOLVED IT WITH A VD USING THE MAIN LOOP Hi, This is prob not a huge mystery and something basic I'm missing. If I remove the While true do loop from the code below and execute it manually it works okay but once I add the while loop to get it check all the time the scene doesn't run Could somebody take a look and tell me where I'm being stupid Thanks -F --[[ %% autostart %% properties %% events %% globals --]] -- Configuration - Scene Info sceneName = "Sonos State tracker" sceneVersion = "1.0.1" -- Scene Description -- Track and stores the state of three of the sonos -- zones so the respective amp can be switched on -- Configuration - Device IDs -- none for this scene -- Validate Number of Scene Instance if (fibaro:countScenes()>1) then --fibaro:debug("stop scene") fibaro:abort() end -- read playroom state function StateFunc() while true do fibaro:sleep(2000) -- execute this every 2 seconds if fibaro:getGlobal("G_SPC_AREA_STATUS_1") == "UNSET" then -- don't check if we are not at home http = net.HTTPClient({ timeout = 3000 }) url = '' controlHeaders = {['content-type'] = 'application/json; charset=utf-8'} http:request(url, { options = { headers = controlHeaders, method = 'GET', }, success = function(response) if response.status == 200 then local responds = json.decode(response.data) local zPRState = responds.zoneState fibaro:debug(zPRState) fibaro:setGlobal("Sonos_PRState", zPRState); end end, }) -- read living room state http = net.HTTPClient({ timeout = 3000 }) url = '' controlHeaders = {['content-type'] = 'application/json; charset=utf-8'} http:request(url, { options = { headers = controlHeaders, method = 'GET', }, success = function(response) if response.status == 200 then local responds = json.decode(response.data) local zLRState = responds.zoneState fibaro:debug(zLRState) fibaro:setGlobal("Sonos_LRState", zLRState); end end, }) -- read dining room state http = net.HTTPClient({ timeout = 3000 }) url = '' controlHeaders = {['content-type'] = 'application/json; charset=utf-8'} http:request(url, { options = { headers = controlHeaders, method = 'GET', }, success = function(response) if response.status == 200 then local responds = json.decode(response.data) local zDRState = responds.zoneState fibaro:debug(zDRState) fibaro:setGlobal("Sonos_DRState", zDRState); end end, }) end -- end if statement end -- end while loop end -- end function -- Main Scene execution code StateFunc()
  3. Hi, I was wondering if anybody had tried this before. I am looking to ping a device on my home network to see if it is 'online' and then store something like an online/offline in a variable that I can display. I use static IP's for all the devices I am looking to monitor I was thinking about using the arp approach and see if the device is returned as part of the list Has anybody tried this before .. or do people think it may be possible or is there another route ? Thoughts appreciated Thanks Frank
  4. hi I thought I read somewhere that multiple http commands are not executed in the order that they are listed in the scene. I have a scene and it doesn't work 100% of the time and I think this may be the issue I tried grouping 3 or 4 commands into one http request and added a few sleep but with limited success sample script... function tempFunc() -- music on local http1 = net.HTTPClient() -- ungroup bed lauren-ethan from other rooms http1:request('') http1:request('') http1:request('') http1:request('') http1:request('') fibaro:sleep(200) local http2 = net.HTTPClient() -- ungroup bed frank from other rooms http2:request('') http2:request('') http2:request('') http2:request('') http2:request('') fibaro:sleep(200) -- select radio favourite local http3 = net.HTTPClient() http3:request('') http3:request('') fibaro:sleep(1000) -- clean up to make sure master room spaekers remain joined and volume is correct local http4 = net.HTTPClient() http4:request('') http4:request('http://1922168.1.89:5005/BED_FRANK/Volume/14') http4:request('') fibaro:sleep(1000) -- setup music for kids at night local http5 = net.HTTPClient() http5:request('') http5:request('') fibaro:sleep(1000) -- clean up to make sure master room speakers remain joined and volume is correct local http6 = net.HTTPClient() http6:request('') http6:request('http://1922168.1.89:5005/BED_FRANK/Volume/14') http6:request('') end BACKGROUND I am using the nodejs sonos bridge and need to be to execute http commands in a certain sequence of commands ie ungroup RoomA, RoomB, RoomC Group Room B with RoomZ Set station to Fav1 and play Adjust volume to 18% Complications arise when they are executed out of sequence Has anybody experienced this and have a solution...
  5. Hi, I am leveraging a bridge to interact with my sonos systems The command to invoke is simple.... but if I want to have more than one word i need to separate them with a %20 in the url ..like Now if I drop the following url into a browser (note space between 'hi' and 'there') there It works !!!... ..but if i use it in a scene it doesn't I had this working from a scene before so I asked the developer of the sonos bridge and he said .. the last part is the important bit.....so my question is how can I get the http request in the scene to invoke the url so I don't have to add the %20 as spaces I tried a number of options but can only seem to find a way to encode headers or data but not the url I am 99% sure I had this working but in a recent overzealous clean up of my code I must have deleted the sample code that worked for me. Could anybody help ? Thanks -Frank
  6. Hi Folks, I have just started to use openremote and cant even get a simple switch to work. It seem to required the following Power On command - Power Off command - Sensor Does anybody know what the sensor http request should be This is what is required Thanks Frank
  7. I'm guessing it's not currently possible to set a virtual device icon to a url as of 4.082? Gave it a shot and was a little amazed this isn't possible. Since custom plugins have been disabled, I guess it leaves virtual devices as the only method for controlling 3rd party systems and devices. Not very easy to work with FIbaro. Making a nice Squeezebox remote has been a headache and looks pretty nasty. Was hoping to at least use the cover art for the icon. Is there any other workarounds? (or a way to "inject" custom plugins? )
  8. Hi Trying to learn a little more about http requests and api. I'm looking for a little help here and sorry if it's a rookie question.... I have the following code (thanks peterb) local zoneID = 5 function call(api) local HC2 = net.HTTPClient() HC2:request(""..api, { success = function(status) local result = status.data fibaro:debug("Re: " .. result) end, error = function(err) fibaro:debug("HTTP call error: " .. err) end, options = {method = "GET" } }) end call('/spc/zone/'..zoneID) it creates the following output [DEBUG] 20:57:12: table: 0x8ac1c78 [DEBUG] 20:57:12: Re: {"status":"success","data":{"zone":{"id":"5","type":"0","zone_name":"Landing PIR","area":"1","area_name":"Home","input":"0","logic_input":"0","status":"0","proc_state":"0","inhibit_allowed":"1","isolate_allowed":"1"}}} I am trying to display the zone data in the array such as id, type I thought it should be something like fibaro:debug("zone.type: " .. result.zone.type) but I don't know enough about how to extract the various parts from an array I tried to find a good post on the forum but couldn't but if there is one I don't mind picking my way through it. any help (including an explanation) would be really appreciated... Thanks -F
  9. Hi folks, I'm trying to read the value of a temp sensor and display in a webpage I was trying to use a http call (the device is is 871) If I drop the following into a browser I get all the data back http://HC2IP/api/871 but I want to just display the 'value' field which contains the actual temp value I tried the following and some versions http://HC2IP/api/871?field=value but it didn't seem to work Alternatively if somebody has some webpage code that reads some value thought the API and displays it, I could work with that as well Any suggestions ? Thanks -F
  10. Hi folks, I'm looking for some help or some directing. I've searched the forum but can't find what I'm looking for even though it has to be there and tried before. I am trying to create a scene to read and adjust my heating system through the API The steps would be - login over http passing username and password. (this would activate a session) - read back the authentication code to use in next step - issue a post to the API to read or adjust the heating (over http) any help or pointing me to other forum posts would be appreciated Thanks Frank Edit: I've attached a wireshark trace export of the transaction requesting a 1 deg decrease. I blanked out some email addresses and site specific information for privacy. This is essentially what I am trying to replicate through a scene if it's possible. ws trace export.txt
  11. I wonder if there is any plans on expanding the functionality of the virtual device in Fibaro HC2. As it works now it´s most suitable to use for controlling some other device with buttons, slider etc, and if you want to display data from another device all you can use is the label. My wish is that you should be able to choose the type of the virtual device. For example, if you want it to appear as a thermometer or humidity device, and be able to set the value of this device via http api and lua. This would open up the possibility to add virtual devices that gets updated via for example node-red or http from other sources. And in the user interface they will show up as a "common" sensor. That would be really nice. I think this functionality would make the platform more attractive for many people, and open up the integration between different protocols and vendors. Is it just me or is anybody else missing this functionality?
  12. Im trying to control my foscam IP camera (PTZ and other) over the http commands. From any regular browser its a pice of cake. I would like to create virtual device where each button will represent specific command for camera control. I succeeded to create a scene with LUA to execute the commands: --[[ %% properties %% globals --]] local httpClient = net.HTTPClient(); httpClient:request('') However when I use the same code in VD with LUA, it doesn't work. I would like to avoid creating 10 scenes and call the scenes from VD, I would like to execute the code directly from VD. Is it possible? Thanx for any advice.
  13. Hello, I'm trying to get the PushOver-scene working. But i get error "[ERROR] 20:55:45: line 11: attempt to index global 'net' (a nil value) at the line 'local selfhttp = net.HTTPClient({timeout=2000}) " My HC2 is running at version 3.590. Can some tell me what is wrong here? Thnx! John
  14. Hi All, I am seeing a fair few posts mentioning HTTP commands. Is it possible to control any Fibaro device outside of the Iphone apps, using browser http:// commands? If so what is the syntax please? Will it work from all browsers? ie Chrome, Firefox, etc Thanks
  • Create New...