…and while we’re at it, how about Scenes in the Misc > Tables menu showing name, last run, enable/ disable, timers, triggers … to work just like the Devices table?
v >=905
partially in v 906 , but showing triggers, timers is more complex, would take more time and one scene have many timers or triggers so are we intereseted just by the count ?
Thank you, and thank you (for both features) !! As usual, astonishingly fast service.
but showing triggers, timers is more complex, would take more time and one scene have many timers or triggers so are we intereseted just by the count ?
Yes, I should say just the count for both triggers and timers. If we want more detail, we go to the scene editor, but here we get a great overview of the system.
What about device variable watches? A count for those too? (maybe there is - I haven’t looked yet!!)
Hey amg0,
Since you’re making this even prettier (getting ready for 1.0?) and you just added the Scenes table, can you add an option for the lua in the Triggers table?
Always awesome work, thanks!
[quote=“akbooer, post:84, topic:188330”]Thank you, and thank you (for both features) !! As usual, astonishingly fast service.
but showing triggers, timers is more complex, would take more time and one scene have many timers or triggers so are we intereseted just by the count ?
Yes, I should say just the count for both triggers and timers. If we want more detail, we go to the scene editor, but here we get a great overview of the system.
What about device variable watches? A count for those too? (maybe there is - I haven’t looked yet!!)[/quote]
wip
[quote=“ilikelife, post:85, topic:188330”]Hey amg0,
Since you’re making this even prettier (getting ready for 1.0?) and you just added the Scenes table, can you add an option for the lua in the Triggers table?
Always awesome work, thanks![/quote]
wip
What he said!
Following the same lines as the “Scenes” menu, could we have an “Attributes” one, which would give a sorted list of the top-level scalar attributes of the system.
Here is an executable specification for what it might do:
-- this just gets the user_data (you have this already!)
local a,b = luup.inet.wget "http://172.16.42.14:3480/data_request?id=user_data2"
local json = require "openLuup.json"
local user_data = json.decode (b)
-- this sorts out the interesting bits (no tables, no multi-lines)
local index = {}
for a,b in pairs (user_data) do
if type(b) ~= "table" then
index[#index+1] = a
end
end
table.sort (index)
for _,a in ipairs (index) do
local b = (tostring(user_data[a])):match "%C+" or ''
print (("%-32s %s"):format(a,b))
end
which for one of my systems gives this sort of thing:
AutomationDevices 0
BuildVersion *1.7.1248*
City_description Oxford
Country_description UNITED KINGDOM
DataVersion 949401022
DataVersion_Static 86
DeviceSync 1447949413
Device_Num_Next 95
KwhPrice 0.15
LoadTime 1447949401
Mode 1
ModeSetting 1:DC*;2:DC*;3:DC*;4:DC*
PK_AccessPoint 45101161
PluginsSynced 1
RA_Server vera-us-oem-relay41.mios.com
RA_Server_Back vera-us-oem-relay11.mios.com
Region_description England
Scene_Num_Next 10
ServerBackup 1
Server_Device vera-us-oem-device12.mios.com
Server_Device_Alt vera-us-oem-device11.mios.com
ShowIndividualJobs 0
StartupCode require "AKB_startup"
SvnVersion *14765*
TemperatureFormat C
UnassignedDevices 0
Using_2G 0
breach_delay 30
currency ?
date_format dd/mm/yy
device_sync 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,23,24,25,29,30,31,33,41,42,43,44,45,46,47,49,50,51,56,63,64,68,69,71,72,81,82,83,84,90,91,93,94
energy_dev_log 41,
firmware_version 1
gmt_offset 0
ir 0
latitude 51.0
local_udn uuid:4d494342-5342-5645-0000-000002b03069
longitude -1.0
mode_change_delay 30
mode_change_mode
mode_change_time
model Sercomm NA301
net_pnp 0
setup_wizard_finished 1
shouldHelpOverlayBeHidden true
skin mios
sync_kit 0000-00-00 00:00:00
timeFormat 24hr
timezone 0
zwave_heal 1446623139
This is really useful data for a developer and interested user, and along with Devices and Scenes gives a pretty complete overview of the system configuration.
[quote=“akbooer, post:89, topic:188330”]Following the same lines as the “Scenes” menu, could we have an “Attributes” one, which would give a sorted list of the top-level scalar attributes of the system.
Here is an executable specification for what it might do:
-- this just gets the user_data (you have this already!)
local a,b = luup.inet.wget "http://172.16.42.14:3480/data_request?id=user_data2"
local json = require "openLuup.json"
local user_data = json.decode (b)
-- this sorts out the interesting bits (no tables, no multi-lines)
local index = {}
for a,b in pairs (user_data) do
if type(b) ~= "table" then
index[#index+1] = a
end
end
table.sort (index)
for _,a in ipairs (index) do
local b = (tostring(user_data[a])):match "%C+" or ''
print (("%-32s %s"):format(a,b))
end
which for one of my systems gives this sort of thing:
AutomationDevices 0
BuildVersion *1.7.1248*
City_description Oxford
Country_description UNITED KINGDOM
DataVersion 949401022
DataVersion_Static 86
DeviceSync 1447949413
Device_Num_Next 95
KwhPrice 0.15
LoadTime 1447949401
Mode 1
ModeSetting 1:DC*;2:DC*;3:DC*;4:DC*
PK_AccessPoint 45101161
PluginsSynced 1
RA_Server vera-us-oem-relay41.mios.com
RA_Server_Back vera-us-oem-relay11.mios.com
Region_description England
Scene_Num_Next 10
ServerBackup 1
Server_Device vera-us-oem-device12.mios.com
Server_Device_Alt vera-us-oem-device11.mios.com
ShowIndividualJobs 0
StartupCode require "AKB_startup"
SvnVersion *14765*
TemperatureFormat C
UnassignedDevices 0
Using_2G 0
breach_delay 30
currency ?
date_format dd/mm/yy
device_sync 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,23,24,25,29,30,31,33,41,42,43,44,45,46,47,49,50,51,56,63,64,68,69,71,72,81,82,83,84,90,91,93,94
energy_dev_log 41,
firmware_version 1
gmt_offset 0
ir 0
latitude 51.0
local_udn uuid:4d494342-5342-5645-0000-000002b03069
longitude -1.0
mode_change_delay 30
mode_change_mode
mode_change_time
model Sercomm NA301
net_pnp 0
setup_wizard_finished 1
shouldHelpOverlayBeHidden true
skin mios
sync_kit 0000-00-00 00:00:00
timeFormat 24hr
timezone 0
zwave_heal 1446623139
This is really useful data for a developer and interested user, and along with Devices and Scenes gives a pretty complete overview of the system configuration.[/quote]
in v930
amg0, I love the new buttons.
I never like to nitpick but when you have time could you simply match the padding between the devices to the padding between Rooms, Category, Filter from the screenshot?
I’m sure you have better things to do so no rush please, and thank you if you can.
I don’t know how others would feel about this, but when I am in Devices, looking at a particular room, and then click Scenes, I would prefer by default to display the scenes from the same room, vs the room the scenes were last viewed in, possibly days earlier.
A very small thing. Something to ponder.
Could device variable watches be included in the Triggers table and also a count of them per scene on the Scene table?
Graph option extension
The graph option for variables to push to Thingspeak is a great innovation, but a bit restrictive. It would be fantastic to be able to extend this to other servers (such as syslog, SQL, DataYours, …)
It seems to me that a simple and flexible way to accomplish this would be to allow an AltUI configuration variable which specifies a user-defined alternative (global function name) to the watch variable routine. It would be called with exactly the same parameters as a normal Luup watch callback, but it could be defined to do anything you like. There might, perhaps, also be a way to register an alternative form to the Thingspeak configuration panel which pops up when the graph button is pressed, to allow further user-defined configuration on a per-variable basis.
Third-party developers could then provide ‘plugin’ callback routines, which can simply be run in Lua Startup, to handle their favourite databases.
As well as this, it would be nice anyway to have a More > Tables > Archived variables list, which shows which devices/services/variables have this data archiving facility enabled. It’s otherwise a very long hunt through all the devices.
More → Tables …
Can the local data remember the number of rows to display for a given view in addition to remembering the columns to display? I find myself changing from 10 rows to all rows, all the time.
Cheerz!
when I am in Devices, looking at a particular room, and then click SceneI’m with you on this one, plus when I go into scene edit I would like to see the Room pull down list already defaulted to the current room.
@akbooer Like the suggestion about expanding the watch process to other servers. I have been playing around with PVOutput.org. At a minimum you need the current time (easy enough), a power and an energy variable to watch, plus an APIkey and Solar SystemID. Plus some other stuff that would be hard coded such as the URL. Seems it could be made to work.
[quote=“dklinkman, post:95, topic:188330”]More → Tables …
Can the local data remember the number of rows to display for a given view in addition to remembering the columns to display? I find myself changing from 10 rows to all rows, all the time.
Cheerz![/quote]
unfortunately it seem bootgrid does not support this easily
in v949
[quote=“dklinkman, post:92, topic:188330”]I don’t know how others would feel about this, but when I am in Devices, looking at a particular room, and then click Scenes, I would prefer by default to display the scenes from the same room, vs the room the scenes were last viewed in, possibly days earlier.
A very small thing. Something to ponder.[/quote]
in v949
[quote=“amg0, post:97, topic:188330”][quote=“dklinkman, post:95, topic:188330”]More → Tables …
Can the local data remember the number of rows to display for a given view in addition to remembering the columns to display? I find myself changing from 10 rows to all rows, all the time.
Cheerz![/quote]
unfortunately it seem bootgrid does not support this easily[/quote]
What might be possible is a settable option to “Always display all table rows” (which is really what I am thinking of), and then based on that initialize bootgrid with rowCount = -1, or rowCount = [to the array]. In the former case it appears the row select dropdown will be absent which is a slight downside.