jay (support) wrote:Sorry, I totally wasn't making the fields=properties leap with you...
Jay,
I think we're slightly misunderstanding each other here....?
I added this to the devices.xml.... And restarted the plugin...
<Field type="checkbox" id="IgnoreHeartbeats">
<Label>Turn Off Heartbeat Warnings</Label>
<Description></Description>
</Field>
This field, shows up in the devices configuration screen... But when I look at the device in python:
>>> print indigo.devices[1646055197]
address : 105
buttonGroupCount : 0
description :
deviceTypeId : X10Device
enabled : True
errorState :
folderId : 833197598
globalProps : MetaProps : (dict)
com.schollnick.indigoplugin.switchboard : (dict)
DeviceCode : 2 (string)
HouseCode : J (string)
IgnoreDevice : false (bool)
IgnoreOrphan : false (bool)
OverrideHeartbeatTimeOut : true (bool)
X10HeartBeatTimeOut : 200 (string)
X10Security : 105 (string)
address : 105 (string)
simpleSeparator1 : (string)
simpleSeparator2 : (string)
simpleSeparator3 : (string)
id : 1646055197
lastChanged : 2000-01-01 00:00:00
model : X10 Monitored Device
name : test X10
pluginId : com.schollnick.indigoplugin.switchboard
pluginProps : emptyDict : (dict)
protocol : Plugin
remoteDisplay : True
states : States : (dict)
Display_onState : false (bool)
Last_Triggered : (string)
Last_Updated : (string)
Last_X10Command : (string)
Last_X10HeartBeat : (string)
onState : false (bool)
supportsAllLightsOnOff : False
supportsAllOff : False
supportsStatusRequest : False
version : 0
Note the lack of IgnoreHeartsbeats.....?
Now a newly created device, will have that field in GlobalProps.... And if I have the users, enter the Device Record, edit it, Save it, and Close the device record the field will be there as well.
(Same device after reserving)
>>> >>> print indigo.devices[1646055197]
address : 105
buttonGroupCount : 0
description :
deviceTypeId : X10Device
enabled : True
errorState :
folderId : 833197598
globalProps : MetaProps : (dict)
com.schollnick.indigoplugin.switchboard : (dict)
DeviceCode : 2 (string)
HouseCode : J (string)
IgnoreDevice : false (bool)
IgnoreHeartbeats : false (bool)
IgnoreOrphan : false (bool)
OverrideHeartbeatTimeOut : true (bool)
X10HeartBeatTimeOut : 200 (string)
X10Security : 105 (string)
address : 105 (string)
simpleSeparator1 : (string)
simpleSeparator2 : (string)
simpleSeparator3 : (string)
id : 1646055197
lastChanged : 2000-01-01 00:00:00
model : X10 Monitored Device
name : test X10
pluginId : com.schollnick.indigoplugin.switchboard
pluginProps : emptyDict : (dict)
protocol : Plugin
remoteDisplay : True
states : States : (dict)
Display_onState : false (bool)
Last_Triggered : (string)
Last_Updated : (string)
Last_X10Command : (string)
Last_X10HeartBeat : (string)
onState : false (bool)
supportsAllLightsOnOff : False
supportsAllOff : False
supportsStatusRequest : False
version : 0
I had made the assumption that dev.stateListOrDisplayStateIdChanged() would force a refresh on that as well....
But Switchboard can have 10-15 devices... And I can't rely on the users forcing a refresh of all those devices....
Is there *
any* way that I can programatically do this? Or request some API manner to do this?
- Ben