Is there a HTTP Request you can send to receive the status of a single device.
I have been using http://:3480/data_request?id=sdata&output_format=xml
But as i have over 30 zwave devices in my system there is a lot of information returned and it is slowing down the process of my control system getting the status.
I would like to be able to just a query a single device in the hope of getting a smaller return.
I have got slightly closer i can send http://:3480/data_request?id=variableget&DeviceNum=6&serviceId=urn:upnp-org:serviceId:SwitchPower1&Variable=Status
My problem is it only returns the Status 1 or 0 i need it to also return the the device ID or the device name.
In your opening post you said you wanted the status, so the variableget should do the trick indeed. Maybe explain a bit what you want to do exactly with the devicename so we can help you further.
Perhaps you could use http://:3480/data_request?id=lu_status&output_format=xml&DeviceNum=6
[quote=“Pietor, post:3, topic:190586”]In your opening post you said you wanted the status, so the variableget should do the trick indeed. Maybe explain a bit what you want to do exactly with the devicename so we can help you further.
Perhaps you could use http://:3480/data_request?id=lu_status&output_format=xml&DeviceNum=6
I am looking a displaying an image in my control system that corresponds with the status of a light. The problem i have is this request only returns 1 or 0 i need it to return a device identifier for the status as well so i can tell 2 different devices apart.
ID=6 Status=0
So i can get to
IF Device ID 6 = 0 then Device 6 image = x
ELSE IF Device ID 6 = 1 hen Device 6 image = xx
Did you try http://:3480/data_request?id=lu_status&output_format=xml&DeviceNum=6 ?
I still don’t understand your issue, which programming language are you using? When you request the variableget command, you already know the deviceid (devicenum) right? So what is the real issue here?
There are other optional arguments to he various status requests to only show what has changed since the last poll … Then the amount of data to transfer and parse is much smaller. You will need to review the Wiki for details. The topic is something like user interface loops.
[quote=“Pietor, post:6, topic:190586”]Did you try http://:3480/data_request?id=lu_status&output_format=xml&DeviceNum=6 ?
I still don’t understand your issue, which programming language are you using? When you request the variableget command, you already know the deviceid (devicenum) right? So what is the real issue here?[/quote]
Im using Irule as my home automation controller there feedback phasing allows for tokenized or starts with / Ends with, prefix, suffix, target vaule.
i have noticed my feedback has been starting to get slower and slower as i have kept on adding devices and installing plugins, as the feedback response has turned into novel.
i would ideally like to just get a response that showed either the device ID or name and then the status and level only.
But to be honest I don’t think it is the amount of data you receive for one request, but it actually is the number of requests you make that slows the process down?
This is exactly also the problem with my iRule system. I have over 70 devices and if I use the “http://IP:3480/data_request?id=sdata&output_format=xml”, the large feedback xml list is probably slowing down the processing and the updating of all related buttons. So I’m also looking for a command which only returns the status of a selected group of devices.
If I need only the status of e.g. devices 41, 62, 163, the command mentioned above returns text like this:
…
…
But in this example I only need this:
So I’m looking for a command which returns the status of one or more specified devices in this syntax. The commands suggested in previous posts return a different syntax. Which means I have to change all feedbacks in iRule, just to ‘catch’ the desired information.
You need to follow the UI loop model.
It POLLs all the data … which is more than you want.
But it supports delta changes since the last request. So the first request is large, and after that it is much smaller.
If you can persist the state during a restart, you can get a delta from your persisted state as well.
So in a SINGLE request you can find out if ANY of your 70 devices changes, and what changed.
Okay, I will try. But I hope you can give the specific command for this request?
I don’t know if it will work. The iRule system works with sending a request over and over again (in my case every 1 sec.). If I open the iRule app and only the changes are reported back to iRule, I don’t have all information. iRule needs all information to setup all icons and buttons properly, also the ones which didn’t change state since the last request. The default state of an icon or button can be different than the actual state of the concerning device in Vera.
Goto the Wiki and read up on the User Interface loop using user_data and lu_status (for delta changes since last request), and user_data2 (for initial state).
All of the user interfaces (UI5, UI7, AltUI), remote apps (You name it on Android, IPhone, OpenHAB, OpenLuup) use this interface.
Why … because it was designed by Vera to be efficient (after the first request).
If you want to make a LOT of requests, one device at a time, continue polling each device.
If you only have a handful of devices it might be acceptable.
However it will not scale and will become slow, and users will move away.
Best Home Automation shopping experience. Shop at Ezlo!