Skip to content

Commit

Permalink
Version 0.17.6 (Beta 17.6)
Browse files Browse the repository at this point in the history
* Added Firmware and Model to the Server Options UI to allow the user
to change the model and firmware that appear in HomeKit for each device
(not yet implemented in the Homebridge script, coming soon)
* Added auto server restart if Firmware of Model fields are changed
* Added new selection in the 'Add to HomeKit' field to add a streaming
source for cameras as development on that feature continues.  This is
for future use and is experimental but it's easier to start getting
these things worked into the UI before the feature is live so that
it'll work out of the box.  Yes, this is an indication that getting
cameras working is likely not too far off.
* Changed UI so that when the form is saved after the initial config it
will always open back up to the devices view
* Changed help URL in plist so that if a user clicks the question mark
icon on the device it will take them to the wiki page for server
configuration
* Additional unicode changes to try to resolve non-ascii characters
([Issue
#63](#63)
* Added additional debug logging to try to capture a startup issue
reported by one user ([Issue
#61](#61)
  • Loading branch information
Colorado Four Wheeler authored and Colorado Four Wheeler committed Mar 16, 2018
1 parent 3b81943 commit 61acea3
Show file tree
Hide file tree
Showing 5 changed files with 208 additions and 84 deletions.
16 changes: 13 additions & 3 deletions CHANGES.md
@@ -1,14 +1,24 @@
Release Notes
==========

Version 0.17.5 (Beta 17.5)
Version 0.17.6 (Beta 17.6)
==========
* Fixed error running action groups that was inadvertently broken when adding exceptions for Hue bulbs ([reported on the forums](http://forums.indigodomo.com/viewtopic.php?p=156870#p156870))
* Removed update checking function from plugin until it's advertised on the store (the options are still there, but the actual function itself will do nothing)
* Added Firmware and Model to the Server Options UI to allow the user to change the model and firmware that appear in HomeKit for each device (not yet implemented in the Homebridge script, coming soon)
* Added auto server restart if Firmware of Model fields are changed
* Added new selection in the 'Add to HomeKit' field to add a streaming source for cameras as development on that feature continues. This is for future use and is experimental but it's easier to start getting these things worked into the UI before the feature is live so that it'll work out of the box. Yes, this is an indication that getting cameras working is likely not too far off.
* Changed UI so that when the form is saved after the initial config it will always open back up to the devices view
* Changed help URL in plist so that if a user clicks the question mark icon on the device it will take them to the wiki page for server configuration
* Additional unicode changes to try to resolve non-ascii characters ([Issue #63](https://github.com/Colorado4Wheeler/HomeKit-Bridge/issues/63)
* Added additional debug logging to try to capture a startup issue reported by one user ([Issue #61](https://github.com/Colorado4Wheeler/HomeKit-Bridge/issues/61)

Previous Release Notes
==========

Version 0.17.5 (Beta 17.5)
---------------
* Fixed error running action groups that was inadvertently broken when adding exceptions for Hue bulbs ([reported on the forums](http://forums.indigodomo.com/viewtopic.php?p=156870#p156870))
* Removed update checking function from plugin until it's advertised on the store (the options are still there, but the actual function itself will do nothing)

Version 0.17.4 (Beta 17.4)
---------------
* Fixed one metric crap-ton of places where non-ascii characters might cause errors (fixes [non-standard ASCII error reported on the forum](http://forums.indigodomo.com/viewtopic.php?p=156853#p156853))
Expand Down
4 changes: 2 additions & 2 deletions EPS HomeKit Bridge.indigoPlugin/Contents/Info.plist
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>PluginVersion</key>
<string>0.17.5</string>
<string>0.17.6</string>
<key>ServerApiVersion</key>
<string>2.0</string>
<key>IwsApiVersion</key>
Expand All @@ -18,7 +18,7 @@
<array>
<dict>
<key>CFBundleURLName</key>
<string>http://forums.indigodomo.com/viewtopic.php?f=201</string>
<string>https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Server-Device</string>
</dict>
</array>
</dict>
Expand Down
80 changes: 73 additions & 7 deletions EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/Devices.xml
Expand Up @@ -4,6 +4,7 @@
<!-- =========== HomeKit Server =========== -->
<Device type="relay" id="Server">
<Name>HomeKit Accessory Server</Name>
<SupportURL>https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Server-Device</SupportURL>
<ConfigUI>
<Field type="label" id="lbl_deviceLimitReached" visibleBindingId="deviceLimitReached" visibleBindingValue="true" alwaysUseInDialogHeightCalc="true">
<Label>HomeKit can handle up to 99 devices and/or actions per server, you have reached this limit. You can create additional servers if you need more than 99 devices and/or actions.
Expand Down Expand Up @@ -59,14 +60,48 @@
<Label>Accessory prefix:</Label>
</Field>

<Field type="checkbox" id="autoStartStop" defaultValue="true" visibleBindingId="configOption" visibleBindingValue="config">
<Label> </Label>
<Description>Enable server auto start</Description>
<Field type="label" id="lbl_spacer8" visibleBindingId="configOption" visibleBindingValue="config" >
<Label>
</Label>
</Field>


<Field type="menu" id="modelValue" defaultValue="indigoSubmodel" visibleBindingId="configOption" visibleBindingValue="config">
<Label>Model source:</Label>
<List>
<Option value="indigoModel">Indigo device model</Option>
<Option value="indigoSubmodel">Indigo device model &amp; submodel</Option>
<Option value="indigoName">Indigo item name</Option>
<Option value="indigoType">Indigo device type</Option>
<Option value="pluginName">Plugin name</Option>
<Option value="pluginType">Plugin device type</Option>
</List>
<CallbackMethod>formFieldChanged</CallbackMethod>
</Field>

<Field type="menu" id="firmwareValue" defaultValue="indigoVersion" visibleBindingId="configOption" visibleBindingValue="config">
<Label>Firmware source:</Label>
<List>
<Option value="indigoModel">Indigo device model</Option>
<Option value="indigoSubmodel">Indigo device model &amp; submodel</Option>
<Option value="indigoName">Indigo item name</Option>
<Option value="indigoType">Indigo device type</Option>
<Option value="indigoVersion">Indigo device version</Option>
<Option value="pluginName">Plugin name</Option>
<Option value="pluginType">Plugin device type</Option>
<Option value="pluginVersion">Plugin version</Option>
</List>
<CallbackMethod>formFieldChanged</CallbackMethod>
</Field>

<Field type="label" id="lbl_spacer7" visibleBindingId="configOption" visibleBindingValue="config" >
<Label>
</Label>
</Field>


<Field type="checkbox" id="autoStartStop" defaultValue="true" visibleBindingId="configOption" visibleBindingValue="config">
<Label> </Label>
<Description>Enable server auto start</Description>
</Field>


<!-- =========== Device List Area Starts Here =========== -->
Expand Down Expand Up @@ -170,7 +205,7 @@
<Option value="devicefiltered">Devices not shared from any server</Option>
<Option value="action">Actions not shared from this server</Option>
<Option value="actionfiltered">Actions not shared from any server</Option>

<Option value="stream">Custom camera stream (Experimental)</Option>
</List>
<CallbackMethod>formFieldChanged</CallbackMethod>
</Field>
Expand All @@ -193,11 +228,42 @@
<Description>If an actual device or action has been selected and it isn't -all-, -none- or -line-</Description>
</Field>

<!-- =========== custom camera stream =========== -->
<Field type="textfield" id="videoURL" visibleBindingId="objectType" visibleBindingValue="stream" alwaysUseInDialogHeightCalc="true" >
<Label>Video URL:</Label>
</Field>

<Field type="textfield" id="stillURL" visibleBindingId="objectType" visibleBindingValue="stream" alwaysUseInDialogHeightCalc="true" >
<Label>Still URL:</Label>
</Field>

<Field type="textfield" id="maxStreams" visibleBindingId="objectType" visibleBindingValue="stream" alwaysUseInDialogHeightCalc="true" >
<Label>Streams:</Label>
</Field>

<Field type="textfield" id="camWidth" visibleBindingId="objectType" visibleBindingValue="stream" alwaysUseInDialogHeightCalc="true" >
<Label>Width:</Label>
</Field>

<Field type="textfield" id="camHeight" visibleBindingId="objectType" visibleBindingValue="stream" alwaysUseInDialogHeightCalc="true" >
<Label>Height:</Label>
</Field>

<Field type="textfield" id="fps" visibleBindingId="objectType" visibleBindingValue="stream" alwaysUseInDialogHeightCalc="true" >
<Label>FPS:</Label>
</Field>

<!-- =========== homekit fields =========== -->
<Field type="checkbox" id="homeKitTypeEnabled" defaultValue="true" hidden="true">
<Label> </Label>
<Description>Determines if the HomeKit type can be changed</Description>
</Field>

<Field type="textfield" id="alias" hidden="false" visibleBindingId="deviceOrActionSelected" visibleBindingValue="true" alwaysUseInDialogHeightCalc="true" >
<Label>HomeKit Name:</Label>
</Field>

<Field type="menu" id="hkType" defaultValue="none" visibleBindingId="deviceOrActionSelected" visibleBindingValue="true" alwaysUseInDialogHeightCalc="true">
<Field type="menu" id="hkType" defaultValue="none" enabledBindingId="homeKitTypeEnabled" visibleBindingId="deviceOrActionSelected" visibleBindingValue="true" alwaysUseInDialogHeightCalc="true">
<Label>HomeKit Type:</Label>
<List class="self" filter="#plugin#[index=hkType, callback=serverListHomeKitDeviceTypes, ref=hideWrappedItems, nocache=true]" method="getCustomList" dynamicReload="true"/>
</Field>
Expand Down
Expand Up @@ -882,8 +882,10 @@ def getStashRecordForObject (self):
return r

except Exception as e:
e.args += (u"Server Id: {}".format(self.serverId),)
if self.serverId != 0: e.args += (u"Server data: {}".format(unicode(indigo.devices[self.serverId].pluginProps)),)
self.logger.error (ext.getException(e))

return None

#
Expand Down

0 comments on commit 61acea3

Please sign in to comment.