diff --git a/BaseFiles/Common/homegenie_factory_config.zip b/BaseFiles/Common/homegenie_factory_config.zip
index 46411f22a..40baa4c16 100644
Binary files a/BaseFiles/Common/homegenie_factory_config.zip and b/BaseFiles/Common/homegenie_factory_config.zip differ
diff --git a/BaseFiles/Common/html/pages/configure/interfaces/configlet/zwave.html b/BaseFiles/Common/html/pages/configure/interfaces/configlet/zwave.html
index 1c9eb4a52..02426e1ee 100644
--- a/BaseFiles/Common/html/pages/configure/interfaces/configlet/zwave.html
+++ b/BaseFiles/Common/html/pages/configure/interfaces/configlet/zwave.html
@@ -2,21 +2,37 @@
-
-
-
Discovery on Startup
-
-
+
+
+
+
Discovery on Startup
+
+
+
+
+
+
Command Delay
+
+
+
+
@@ -33,9 +49,9 @@
ZWave Common Tasks
@@ -48,7 +64,7 @@
ZWave Discovery
@@ -118,37 +134,33 @@
}
});
});
- // populate startup discovery list
- startupDiscoverySelect.empty();
- startupDiscoverySelect.append('');
- startupDiscoverySelect.append('');
- // set current configured startup discovery
+
+ startupDiscoverySelect.selectmenu().selectmenu('refresh', true);
+ // get current configured startup discovery
HG.Configure.MIG.InterfaceCommand(_this.Id, 'Options.Get', 'StartupDiscovery', '', function (startupDiscovery) {
- startupDiscoverySelect.val(startupDiscovery.ResponseValue);
- startupDiscoverySelect.selectmenu('refresh', true);
+ if (startupDiscovery && startupDiscovery.ResponseValue != '') {
+ startupDiscoverySelect.val(startupDiscovery.ResponseValue);
+ startupDiscoverySelect.selectmenu('refresh', true);
+ }
});
// bind to startup discovery change event
startupDiscoverySelect.change(function (event) {
HG.Configure.MIG.InterfaceCommand(_this.Id, 'Options.Set', 'StartupDiscovery', encodeURIComponent($(this).val()));
});
- // populate command delay list
- delaySelect.empty();
- delaySelect.append('');
- delaySelect.append('');
- delaySelect.append('');
- delaySelect.append('');
- delaySelect.append('');
- delaySelect.append('');
- // set current configured delay
+ delaySelect.selectmenu().selectmenu('refresh', true);
+ // get current configured delay
HG.Configure.MIG.InterfaceCommand(_this.Id, 'Options.Get', 'Delay', '', function (delay) {
- delaySelect.val(delay.ResponseValue);
- delaySelect.selectmenu('refresh', true);
+ if (delay && delay.ResponseValue != '') {
+ delaySelect.val(delay.ResponseValue);
+ delaySelect.selectmenu('refresh', true);
+ }
});
- // bind to port select change event
+ // bind to command delay change event
delaySelect.change(function (event) {
HG.Configure.MIG.InterfaceCommand(_this.Id, 'Options.Set', 'Delay', encodeURIComponent($(this).val()));
});
+
// populate serial port list
HG.Configure.Interfaces.ServiceCall('Hardware.SerialPorts', function (ports) {
portSelect.empty();
@@ -242,9 +254,9 @@
zwave_NodeAdd(function (res) {
var nodeid = _this.NodeOperationPopup.find('[data-ui-field=nodeid]');
var message = _this.NodeOperationPopup.find('[data-ui-field=message]');
- if (res != 0) {
+ if (res.ResponseValue != 0) {
HG.WebApp.Control.UpdateModules();
- nodeid.html(res);
+ nodeid.html(res.ResponseValue);
message.html('node added.');
}
else {
@@ -263,9 +275,9 @@
zwave_NodeRemove(function (res) {
var nodeid = _this.NodeOperationPopup.find('[data-ui-field=nodeid]');
var message = _this.NodeOperationPopup.find('[data-ui-field=message]');
- if (res != 0) {
+ if (res.ResponseValue != 0) {
HG.WebApp.Control.UpdateModules();
- nodeid.html(res);
+ nodeid.html(res.ResponseValue);
message.html('node removed.');
}
else {
diff --git a/BaseFiles/Common/html/pages/configure/maintenance/_maintenance.js b/BaseFiles/Common/html/pages/configure/maintenance/_maintenance.js
index 3c1c7b37e..91d647e04 100644
--- a/BaseFiles/Common/html/pages/configure/maintenance/_maintenance.js
+++ b/BaseFiles/Common/html/pages/configure/maintenance/_maintenance.js
@@ -90,22 +90,19 @@ HG.WebApp.Maintenance.InitializePage = function () {
html: ""
});
HG.System.UpdateManager.InstallUpdate(function (res) {
- var r = eval(res);
- if (typeof r != 'undefined') {
- // TODO: ....
- if (r[0].ResponseValue == 'OK') {
- $('#configure_system_updateinstall_status').html('Update install complete.');
- setTimeout(function() { window.location.replace("/"); }, 3000);
- }
- else if (r[0].ResponseValue == 'RESTART') {
- $('#configure_system_updateinstall_status').html('Installing files... (HomeGenie service stopped)');
- }
- else if (r[0].ResponseValue == 'ERROR') {
- $('#configure_system_updateinstall_status').html('Error during installation progress.');
- //
- $.mobile.loading('hide');
- HG.WebApp.Maintenance.LoadUpdateCheckSettings();
- }
+ // TODO: ....
+ if (res.ResponseValue == 'OK') {
+ $('#configure_system_updateinstall_status').html('Update install complete.');
+ setTimeout(function() { window.location.replace("/"); }, 3000);
+ }
+ else if (res.ResponseValue == 'RESTART') {
+ $('#configure_system_updateinstall_status').html('Installing files... (HomeGenie service stopped)');
+ }
+ else if (res.ResponseValue == 'ERROR') {
+ $('#configure_system_updateinstall_status').html('Error during installation progress.');
+ //
+ $.mobile.loading('hide');
+ HG.WebApp.Maintenance.LoadUpdateCheckSettings();
}
});
});
@@ -127,22 +124,18 @@ HG.WebApp.Maintenance.InitializePage = function () {
HG.System.UpdateManager.DownloadUpdate(function (res) {
$.mobile.loading('hide');
HG.WebApp.Maintenance.LoadUpdateCheckSettings();
- //
- var r = eval(res);
- if (typeof r != 'undefined') {
- // TODO: ....
- if (r[0].ResponseValue == 'OK') {
- $('#configure_system_updateinstall_status').html('Update files ready.');
- $('#configure_system_updateinstall_button').removeClass('ui-disabled');
- }
- else if (r[0].ResponseValue == 'RESTART') {
- $('#configure_system_updateinstall_status').html('Update files ready. HomeGenie will be restarted after updating.');
- $('#configure_system_updateinstall_button').removeClass('ui-disabled');
- }
- else if (r[0].ResponseValue == 'ERROR') {
- $('#configure_system_updateinstall_status').html('Error while downloading update files.');
- $('#configure_system_updateinstall_button').addClass('ui-disabled');
- }
+ // TODO: ....
+ if (res.ResponseValue == 'OK') {
+ $('#configure_system_updateinstall_status').html('Update files ready.');
+ $('#configure_system_updateinstall_button').removeClass('ui-disabled');
+ }
+ else if (res.ResponseValue == 'RESTART') {
+ $('#configure_system_updateinstall_status').html('Update files ready. HomeGenie will be restarted after updating.');
+ $('#configure_system_updateinstall_button').removeClass('ui-disabled');
+ }
+ else if (res.ResponseValue == 'ERROR') {
+ $('#configure_system_updateinstall_status').html('Error while downloading update files.');
+ $('#configure_system_updateinstall_button').addClass('ui-disabled');
}
});
});
@@ -361,8 +354,7 @@ HG.WebApp.Maintenance.LoadSettings = function () {
HG.WebApp.Maintenance.LoadUpdateCheckSettings = function () {
$.mobile.loading('show');
$('#configure_system_updateinstall_button').addClass('ui-disabled');
- HG.System.UpdateManager.GetUpdateList(function (data) {
- var releasedata = eval(data);
+ HG.System.UpdateManager.GetUpdateList(function (releasedata) {
if (releasedata.length == 0) {
$('#configure_system_updatemanager_info').html('No updates available.');
$('#configure_system_updatemanager_detailsscroll').hide();
diff --git a/BaseFiles/Common/html/pages/control/widgets/homegenie/generic/mediareceiver.js b/BaseFiles/Common/html/pages/control/widgets/homegenie/generic/mediareceiver.js
index 420c1c8c9..cf214f507 100644
--- a/BaseFiles/Common/html/pages/control/widgets/homegenie/generic/mediareceiver.js
+++ b/BaseFiles/Common/html/pages/control/widgets/homegenie/generic/mediareceiver.js
@@ -95,28 +95,28 @@
if (_this.PendingRequests == 0 && !_this.IsMouseDown) {
var servicecall = HG.Control.Modules.ServiceCall;
_this.PendingRequests++;
- servicecall('AvMedia.GetTransportInfo', module.Domain, module.Address, '', function (res) {
- var trinfo = eval(res)[0];
- var state = trinfo.CurrentTransportState;
- if (_this.Widget != null) {
- var playbutton = _this.Widget.find('[data-ui-field=media_play]');
- var pausebutton = _this.Widget.find('[data-ui-field=media_pause]');
- if (state == 'PAUSED_PLAYBACK') {
- playbutton.show();
- pausebutton.hide();
- }
- else if (state == 'STOPPED') {
- playbutton.show();
- pausebutton.hide();
- _this.Widget.find('[data-ui-field=media_position]').html('');
- }
- else if (state == 'PLAYING') {
- playbutton.hide();
- pausebutton.show();
- servicecall('AvMedia.GetPositionInfo', module.Domain, module.Address, '', function (res) {
- var posinfo = eval(res)[0];
- _this.Widget.find('[data-ui-field=media_position]').html(posinfo.RelTime);
- });
+ servicecall('AvMedia.GetTransportInfo', module.Domain, module.Address, '', function (trinfo) {
+ if (typeof trinfo != 'undefined') {
+ var state = trinfo.CurrentTransportState;
+ if (_this.Widget != null) {
+ var playbutton = _this.Widget.find('[data-ui-field=media_play]');
+ var pausebutton = _this.Widget.find('[data-ui-field=media_pause]');
+ if (state == 'PAUSED_PLAYBACK') {
+ playbutton.show();
+ pausebutton.hide();
+ }
+ else if (state == 'STOPPED') {
+ playbutton.show();
+ pausebutton.hide();
+ _this.Widget.find('[data-ui-field=media_position]').html('');
+ }
+ else if (state == 'PLAYING') {
+ playbutton.hide();
+ pausebutton.show();
+ servicecall('AvMedia.GetPositionInfo', module.Domain, module.Address, '', function (posinfo) {
+ _this.Widget.find('[data-ui-field=media_position]').html(posinfo.RelTime);
+ });
+ }
}
}
_this.PendingRequests--;
@@ -125,7 +125,7 @@
_this.PendingRequests++;
servicecall('AvMedia.GetVolume', module.Domain, module.Address, '', function (res) {
if (_this.Widget != null) {
- _this.Widget.find('[data-ui-field=media_volume]').val(res);
+ _this.Widget.find('[data-ui-field=media_volume]').val(res.ResponseValue);
_this.Widget.find('.ui-slider').width(250);
_this.Widget.find('[data-ui-field=media_volume]').slider('refresh');
}
@@ -134,7 +134,7 @@
// get mute status
_this.PendingRequests++;
servicecall('AvMedia.GetMute', module.Domain, module.Address, '', function (res) {
- if (res == '0' || res.toLowerCase() == 'false') {
+ if (res.ResponseValue.toLowerCase() == 'false') {
_this.Widget.find('[data-ui-field=media_mute]').attr('src', 'pages/control/widgets/homegenie/generic/images/media_mute.png');
_this.IsMuted = false;
}
diff --git a/BaseFiles/Common/html/pages/control/widgets/homegenie/generic/mediaserver.js b/BaseFiles/Common/html/pages/control/widgets/homegenie/generic/mediaserver.js
index 48966638d..5b5d55576 100644
--- a/BaseFiles/Common/html/pages/control/widgets/homegenie/generic/mediaserver.js
+++ b/BaseFiles/Common/html/pages/control/widgets/homegenie/generic/mediaserver.js
@@ -99,7 +99,7 @@
});
_this.ControlPopup.find('[data-ui-field=path]').html(path);
$.mobile.loading('show');
- HG.Control.Modules.ServiceCall('AvMedia.Browse', _this.Module.Domain, _this.Module.Address, folderid, function (data) {
+ HG.Control.Modules.ServiceCall('AvMedia.Browse', _this.Module.Domain, _this.Module.Address, encodeURIComponent(folderid), function (data) {
browselist.empty();
browsefiles.empty();
var items = eval(data);
@@ -172,7 +172,7 @@
LoadItemData: function(item) {
var _this = this;
var vid = item.attr('data-context-id');
- HG.Control.Modules.ServiceCall('AvMedia.GetItem', _this.Module.Domain, _this.Module.Address, vid, function (data) {
+ HG.Control.Modules.ServiceCall('AvMedia.GetItem', _this.Module.Domain, _this.Module.Address, encodeURIComponent(vid), function (data) {
var title = $(data.item).attr('dc:title');
if (typeof title != 'undefined' && title.length > 0)
item.find('h3').html(title);
@@ -183,6 +183,10 @@
var sampleFrequency = '';
var thumbnail = '';
var links = [];
+ // if item.res is not an array, we turn it into an array of one element
+ if (typeof data.item.res != 'undefined' && data.item.res.constructor !== Array) {
+ data.item.res = [ data.item.res ];
+ }
$.each(data.item.res, function(idx, el){
var protocolInfo = '';
try {
@@ -191,16 +195,8 @@
if (typeof protocolInfo == 'undefined' || protocolInfo == '')
return true;
var protocolUrl = $(el).attr('#text');
- if (protocolInfo.indexOf('/') > 0) {
- var format = '';
- var f = protocolInfo.substring(protocolInfo.indexOf('/')+1);
- if (f.indexOf(':') > 0) {
- f = f.substring(0, f.indexOf(':'));
- if (f.indexOf('-') > 0)
- f = f.substring(f.lastIndexOf('-')+1);
- format = f;
- }
- if (protocolInfo.indexOf(':image/') > 0) {
+ if (protocolInfo.indexOf(':') > 0) {
+ if (protocolInfo.indexOf(':image/') > 0 || protocolInfo.indexOf(':fanart:') > 0 || protocolInfo.indexOf(':poster:') > 0) {
if (thumbnail == '')
thumbnail = protocolUrl;
if (links.length == 0) {
@@ -212,6 +208,14 @@
links.push(btn);
}
} else {
+ var format = '';
+ var f = protocolInfo.substring(protocolInfo.indexOf('/')+1);
+ if (f.indexOf(':') > 0) {
+ f = f.substring(0, f.indexOf(':'));
+ if (f.indexOf('-') > 0)
+ f = f.substring(f.lastIndexOf('-')+1);
+ format = f;
+ }
var bitrate = $(el).attr('@bitrate');
if (typeof bitrate == 'undefined' || bitrate == 0)
bitrate = '';
diff --git a/BaseFiles/Common/programs.xml b/BaseFiles/Common/programs.xml
index 9ebe1e969..6c91b305b 100644
--- a/BaseFiles/Common/programs.xml
+++ b/BaseFiles/Common/programs.xml
@@ -135,7 +135,7 @@ Program.GoBackground();
- 2015-11-01T20:32:29.859822Z
+ 2015-11-10T12:14:12.346427Z
CSharp
true
@@ -255,7 +255,7 @@ For instructions see: http://developers.meethue.com/gettingstarted.html .Devices and Things
- 2015-11-01T20:32:30.383584Z
+ 2015-11-10T12:14:12.861784Z
CSharp
true
@@ -428,8 +428,8 @@ while (Program.IsEnabled)
To activate this widget specify a valid user <strong>Key</strong> that can be obtained creating an account from <u>http://www.wunderground.com/weather/api/d/login.html</u>
Weather and Enviroment
- 2015-11-01T20:34:04.175301Z
-
+
+ 2015-11-10T12:14:13.361861Z
CSharp
true
@@ -501,7 +501,7 @@ while (Program.IsEnabled)
- 2015-11-01T20:32:31.362043Z
+ 2015-11-10T12:14:13.851527Z
CSharp
true
@@ -1102,7 +1102,7 @@ Program.GoBackground();
- 2015-11-01T20:32:31.862301Z
+ 2015-11-10T12:14:14.352093Z
CSharp
true
@@ -1149,7 +1149,7 @@ Program.GoBackground();
- 2015-11-01T20:32:32.364398Z
+ 2015-11-10T12:14:14.85267Z
CSharp
true
@@ -1282,7 +1282,7 @@ var _armdisarm = new Action<bool>((armHome)=>{
if (Program.Parameter("Status.Level").Value == "0")
{
// disarming
- Program.Parameter("HomeGenie.SecurityTriggered").Value = "0";
+ Program.RaiseEvent("HomeGenie.SecurityTriggered", "0", "Security System");
}
else
{
@@ -1446,7 +1446,7 @@ while (Program.IsEnabled)
int sirenStatus = 0;
while (Program.IsEnabled && Program.Parameter("HomeGenie.SecurityTriggered").Value == "1")
{
- if (sirenStatus == 0 && watchTimer.Elapsed.TotalSeconds >= Program.InputField("System.SirenStartTime").DecimalValue)
+ if (sirenStatus == 0 && watchTimer.Elapsed.TotalSeconds >= Program.Option("System.SirenStartTime").DecimalValue)
{
watchTimer.Stop();
sirenModules.On();
@@ -1454,7 +1454,7 @@ while (Program.IsEnabled)
watchTimer.Start();
sirenStatus = 1;
}
- else if (sirenStatus == 1 && Program.InputField("System.SirenMaxTime").DecimalValue > 0 && watchTimer.Elapsed.TotalSeconds >= Program.InputField("System.SirenMaxTime").DecimalValue)
+ else if (sirenStatus == 1 && Program.Option("System.SirenMaxTime").DecimalValue > 0 && watchTimer.Elapsed.TotalSeconds >= Program.Option("System.SirenMaxTime").DecimalValue)
{
// turn off sirens if max time was set and elapsed
sirenModules.Off();
@@ -1474,31 +1474,9 @@ while (Program.IsEnabled)
Security Alarm System
Basic Security Alarm System
Security
-
-
- checkbox
-
- Sensor,DoorWindow,DoorLock
- HomeGenie.SecuritySensor
- Use as Security Sensor
-
-
- checkbox
-
- Sensor,DoorWindow,DoorLock
- HomeGenie.SecurityTriggerHome
- Also trigger when armed Home
-
-
- checkbox
-
- Siren,Light,Dimmer,Switch
- HomeGenie.SecurityAlarm
- Use as Security Alarm
-
-
-
- 2015-11-01T20:32:32.871462Z
+
+ 2015-11-10T12:15:41.832722Z
+
CSharp
true
@@ -1595,7 +1573,7 @@ Program.GoBackground();
Z-Wave
- 2015-11-01T20:32:33.366118Z
+ 2015-11-10T12:14:15.855555Z
CSharp
true
@@ -1650,7 +1628,7 @@ Program.GoBackground();
- 2015-11-01T20:32:33.865962Z
+ 2015-11-10T12:14:16.355826Z
CSharp
true
@@ -1759,7 +1737,7 @@ Program.Run();
Messaging and Social
- 2015-11-01T20:32:34.369428Z
+ 2015-11-10T12:14:16.859257Z
CSharp
true
@@ -2097,7 +2075,7 @@ Currently limited to one client channel.
- 2015-11-01T20:32:35.371366Z
+ 2015-11-10T12:14:17.861448Z
CSharp
true
@@ -2195,7 +2173,7 @@ energy consumption.
Energy Management
- 2015-11-01T20:32:35.88248Z
+ 2015-11-10T12:14:18.373084Z
CSharp
true
@@ -2344,7 +2322,7 @@ It requires that a manufacturer specific get has been issued on the node.Z-Wave
- 2015-11-01T20:32:36.373069Z
+ 2015-11-10T12:14:18.86263Z
CSharp
true
@@ -2591,7 +2569,7 @@ while (Program.IsEnabled)
- 2015-11-01T20:32:36.876029Z
+ 2015-11-10T12:14:19.36597Z
CSharp
true
@@ -6749,7 +6727,7 @@ while (Program.IsEnabled)
- 2015-11-01T20:32:37.888167Z
+ 2015-11-10T12:14:20.380879Z
CSharp
true
@@ -7462,7 +7440,7 @@ Also it lets you dim last addressed module using Up/Down button which can be def
- 2015-11-01T20:32:38.383342Z
+ 2015-11-10T12:14:20.868012Z
CSharp
true
diff --git a/BaseFiles/Common/programs/90.dll b/BaseFiles/Common/programs/90.dll
index f7a3747b4..da1bd6045 100755
Binary files a/BaseFiles/Common/programs/90.dll and b/BaseFiles/Common/programs/90.dll differ
diff --git a/Externals/g-labs/MIG.Controllers.dll b/Externals/g-labs/MIG.Controllers.dll
index 06c64afdc..0cc988d1f 100755
Binary files a/Externals/g-labs/MIG.Controllers.dll and b/Externals/g-labs/MIG.Controllers.dll differ
diff --git a/Externals/g-labs/MIG.Controllers.dll.mdb b/Externals/g-labs/MIG.Controllers.dll.mdb
index 5927ac5eb..98d496259 100644
Binary files a/Externals/g-labs/MIG.Controllers.dll.mdb and b/Externals/g-labs/MIG.Controllers.dll.mdb differ
diff --git a/Externals/g-labs/MIG.HomeAutomation.dll b/Externals/g-labs/MIG.HomeAutomation.dll
index 7e7055865..3dc4c8708 100755
Binary files a/Externals/g-labs/MIG.HomeAutomation.dll and b/Externals/g-labs/MIG.HomeAutomation.dll differ
diff --git a/Externals/g-labs/MIG.HomeAutomation.dll.mdb b/Externals/g-labs/MIG.HomeAutomation.dll.mdb
index ac9a3313d..72cba9393 100644
Binary files a/Externals/g-labs/MIG.HomeAutomation.dll.mdb and b/Externals/g-labs/MIG.HomeAutomation.dll.mdb differ
diff --git a/Externals/g-labs/MIG.Media.dll b/Externals/g-labs/MIG.Media.dll
index e713762ec..134424d53 100755
Binary files a/Externals/g-labs/MIG.Media.dll and b/Externals/g-labs/MIG.Media.dll differ
diff --git a/Externals/g-labs/MIG.Media.dll.mdb b/Externals/g-labs/MIG.Media.dll.mdb
index e66ca7906..02b4b45b5 100644
Binary files a/Externals/g-labs/MIG.Media.dll.mdb and b/Externals/g-labs/MIG.Media.dll.mdb differ
diff --git a/Externals/g-labs/MIG.Protocols.dll b/Externals/g-labs/MIG.Protocols.dll
index 5fb618c54..1683af12c 100755
Binary files a/Externals/g-labs/MIG.Protocols.dll and b/Externals/g-labs/MIG.Protocols.dll differ
diff --git a/Externals/g-labs/MIG.Protocols.dll.mdb b/Externals/g-labs/MIG.Protocols.dll.mdb
index 52fc7f321..98abd2dab 100644
Binary files a/Externals/g-labs/MIG.Protocols.dll.mdb and b/Externals/g-labs/MIG.Protocols.dll.mdb differ
diff --git a/Externals/g-labs/MIG.dll b/Externals/g-labs/MIG.dll
index a244f4661..1ae420ea2 100755
Binary files a/Externals/g-labs/MIG.dll and b/Externals/g-labs/MIG.dll differ
diff --git a/Externals/g-labs/MIG.dll.mdb b/Externals/g-labs/MIG.dll.mdb
index 43154770b..89fd85215 100644
Binary files a/Externals/g-labs/MIG.dll.mdb and b/Externals/g-labs/MIG.dll.mdb differ
diff --git a/Externals/g-labs/ZWaveLib.dll b/Externals/g-labs/ZWaveLib.dll
index 6dc779735..4c6ebd199 100755
Binary files a/Externals/g-labs/ZWaveLib.dll and b/Externals/g-labs/ZWaveLib.dll differ
diff --git a/Externals/g-labs/ZWaveLib.dll.mdb b/Externals/g-labs/ZWaveLib.dll.mdb
index 0104f857b..403d66daf 100644
Binary files a/Externals/g-labs/ZWaveLib.dll.mdb and b/Externals/g-labs/ZWaveLib.dll.mdb differ
diff --git a/Externals/g-labs/ZWaveLib.xml b/Externals/g-labs/ZWaveLib.xml
index 1492aca03..ad0f64a4a 100644
--- a/Externals/g-labs/ZWaveLib.xml
+++ b/Externals/g-labs/ZWaveLib.xml
@@ -334,10 +334,18 @@
Discovery progress event handler.
+
+
+ Heal progress event handler.
+
Occurs during discovery process.
+
+
+ Occurs during heal process.
+
Node operation progress event handler.
@@ -376,6 +384,11 @@
Gets or sets the name of the serial port.
The name of the port.
+
+
+ Gets or sets the amount of command delay.
+
+ The length of the delay in ms.
Gets the status.
@@ -409,6 +422,10 @@
Query capabilities, Supported Classes and Manufacturer Specific of each node.
+
+
+ Iterate through the nodes and performa a heal on each one
+
Gets the node information frame.
@@ -504,6 +521,11 @@
Raises the discovery progress event.
Arguments.
+
+
+ Raises the heal progress event.
+
+ Arguments.
Raises the node operation progress event.
diff --git a/HISTORY.TXT b/HISTORY.TXT
index 84443f622..7efce9a17 100644
--- a/HISTORY.TXT
+++ b/HISTORY.TXT
@@ -1,5 +1,12 @@
RELEASE HISTORY
+18/11/2015 v1.1-beta.501
+ - Added UPnP AvMedia.Seek command
+ - Added configurable command delay and heal network options to ZWave interface
+ - Fix blocking event propagation. Events are now processed asynchronously (also solves issue #237)
+ - Fix Security Alarm program events propagation issue
+ - Fixed Media Server browser widget not listing/linking files encoded in one format only; fixed also issues with XBMC and Kodi media player
+
05/11/2015 v1.1-beta.500
- Fixed ZWave interface sensor timeout bug and sensor Status.Level "0.01" bug
- Disabled limit of max one opened http connection per program in NetHelper
diff --git a/HomeGenie/Service/HomeGenieService.cs b/HomeGenie/Service/HomeGenieService.cs
index 39a0a1a02..86c82d2ec 100644
--- a/HomeGenie/Service/HomeGenieService.cs
+++ b/HomeGenie/Service/HomeGenieService.cs
@@ -546,8 +546,11 @@ private void migService_InterfacePropertyChanged(object sender, InterfacePropert
{
LogError(ex);
}
-
- masterControlProgram.SignalPropertyChange(sender, module, args.EventData);
+ // Prevent event pump from blocking on other worker tasks
+ Utility.RunAsyncTask(() =>
+ {
+ masterControlProgram.SignalPropertyChange(sender, module, args.EventData);
+ });
}
else
{
diff --git a/HomeGenie/release_info.xml b/HomeGenie/release_info.xml
index 7e18b6f92..9e44f9ee0 100644
--- a/HomeGenie/release_info.xml
+++ b/HomeGenie/release_info.xml
@@ -1,16 +1,12 @@
HomeGenie
- 1.1 beta r500
+ 1.1 beta r501
Latest public release.
- - Fixed ZWave interface sensor timeout bug and sensor Status.Level "0.01" bug
- - Disabled limit of max one opened http connection per program in NetHelper
- - Improved media server widget with thumbnails and support for multiple bitrates and formats
- - Added UPnP interface command "AvMedia.GetItem"
- - Improved camera widget
- - Fixed 'continuous Event Stream disconnection' bug when running on old mono ARM-hf (eg. Raspberry Pi)
- - Updated Spanish locales
- - Disabled periodic Weather Underground program notifications in the UI
- - Reverted XTenLib to the using of Thread instead of Task
- 2015-11-05T16:58:52.0000Z
+ - Added UPnP AvMedia.Seek command
+ - Added configurable command delay and heal network options to ZWave interface
+ - Fix blocking event propagation. Events are now processed asynchronously (also solves issue #237)
+ - Fix Security Alarm program events propagation issue
+ - Fixed Media Server browser widget not listing/linking files encoded in one format only; fixed also issues with XBMC and Kodi media player
+ 2015-11-18T14:25:17.0000Z
diff --git a/HomeGenie_Linux/Packager/DEBIAN/md5sums b/HomeGenie_Linux/Packager/DEBIAN/md5sums
index e66aadb00..fc166af64 100644
--- a/HomeGenie_Linux/Packager/DEBIAN/md5sums
+++ b/HomeGenie_Linux/Packager/DEBIAN/md5sums
@@ -3,7 +3,7 @@
513c0ab6c041976fe0bfc13a0c3f1690 usr/local/bin/homegenie/websocket-sharp.dll
a2cfe6b2fa0fe02e41ed5aa6a592376e usr/local/bin/homegenie/UnitsNet.dll
cc27215f3e44078c573b0018b7f6d4c5 usr/local/bin/homegenie/homegenie_stats.db
-03f881af9b27c78e41f349bfc35f5fe8 usr/local/bin/homegenie/MIG.dll
+2d16ca040e4fb13e049781295f061c13 usr/local/bin/homegenie/MIG.dll
86342aca3b08488c2ae376b62f5af544 usr/local/bin/homegenie/startup_debug.sh
fd387d7e07d27394fb2fa2d323ff8c5c usr/local/bin/homegenie/CREDITS.TXT
ed3022822cd3dc3348bb51dc054f1574 usr/local/bin/homegenie/IronPython.dll
@@ -39,25 +39,25 @@ e6d7626e06a8028c8759d354ac0292ef usr/local/bin/homegenie/lib/shared/uk/CronExpr
b3a0e50dfe3bfb988838c3eb8892095f usr/local/bin/homegenie/lib/shared/no/CronExpressionDescriptor.resources.dll
b28c8e3d0dd93543461eb01f2e5a0ee2 usr/local/bin/homegenie/lib/shared/de/CronExpressionDescriptor.resources.dll
9152e305b5638cacf958dab918e0a5b7 usr/local/bin/homegenie/lib/shared/UPnP.dll.mdb
-307ff2f4e8793df854f930424f2873e0 usr/local/bin/homegenie/lib/mig/MIG.Controllers.dll
-1667324c690ff6888da4e63da9c8682f usr/local/bin/homegenie/lib/mig/MIG.Media.dll
+419c63466303958863e3cb552f2acc91 usr/local/bin/homegenie/lib/mig/MIG.Controllers.dll
+4b9a7d5996299f8066ede35cd17a68b2 usr/local/bin/homegenie/lib/mig/MIG.Media.dll
37ec56873a3a793a229c008c38262b62 usr/local/bin/homegenie/lib/mig/XTenLib.dll
71cbc2cbf22d9703ddf26767d3bf814b usr/local/bin/homegenie/lib/mig/lircconfig.xml
d74542475a616d242338fa16c60e3678 usr/local/bin/homegenie/lib/mig/W800Rf32Lib.dll
4b2e8cdefcdd848a1e4293864093ff7d usr/local/bin/homegenie/lib/mig/v4l/debian64_libCameraCaptureV4L.so
6d8594a2978b5070055a4c1ad0d460f5 usr/local/bin/homegenie/lib/mig/v4l/debian64_libCameraCaptureV4L.so.gd3
9fa7c1e2979434e4fd3eeb8fa259184c usr/local/bin/homegenie/lib/mig/v4l/raspbian_libCameraCaptureV4L.so
-4f907935988508832672e37aa92e8c89 usr/local/bin/homegenie/lib/mig/MIG.HomeAutomation.dll
-285173b225a6acbf4d898f7b91d573bc usr/local/bin/homegenie/lib/mig/MIG.Protocols.dll
+e3d04de67f8e4cf9fa4259a39130421d usr/local/bin/homegenie/lib/mig/MIG.HomeAutomation.dll
+ca71de7a3c556db84be080f0275a4e6d usr/local/bin/homegenie/lib/mig/MIG.Protocols.dll
e2f6b564cb161a24fbd82e93352d1c9b usr/local/bin/homegenie/lib/mig/LibUsbDotNet.dll
-1ea9479ac6c39ca30fb079e7dcc8ec82 usr/local/bin/homegenie/lib/mig/ZWaveLib.dll
+da761d87ae5ca72947c8bb9239d2e5ff usr/local/bin/homegenie/lib/mig/ZWaveLib.dll
13874c9fb26ea8a5ea60d59a38ba450e usr/local/bin/homegenie/lib/mig/lircremotes.xml
359671d90f8a459524a8c844347ac1d5 usr/local/bin/homegenie/programs/71.dll
451906d98a1f31a32990553938684324 usr/local/bin/homegenie/programs/93.dll
4df6385424534c8e92a51f83bccd0ded usr/local/bin/homegenie/programs/81.dll
3f9f11df5a2b3e0320e2b4d63f63377d usr/local/bin/homegenie/programs/200.dll
4bb09308fbff24bcbb4f169da6571389 usr/local/bin/homegenie/programs/26.dll
-02dd90f8a52af40f021b08bde9eefec7 usr/local/bin/homegenie/programs/90.dll
+b89b7a0ff3dd8496e8ac315c9b621331 usr/local/bin/homegenie/programs/90.dll
45647c37ceea6c0438e2b21a16caeaf7 usr/local/bin/homegenie/programs/76.dll
abc1f4ad41eacbd09e77d583d90b88a8 usr/local/bin/homegenie/programs/84.dll
1bb73529eb4f53abf9bcec7477a729cf usr/local/bin/homegenie/programs/28.dll
@@ -109,7 +109,7 @@ f85bd266c0d92a420ea12d5835156db8 usr/local/bin/homegenie/programs/7.dll
f44705a2e7251541db32e4761cf6bae6 usr/local/bin/homegenie/programs/41.dll
8efb9babdfbfb500e59f0cc1c10d372c usr/local/bin/homegenie/programs/16.dll
6e911e0a393f7d7d6f2de035fa4f883b usr/local/bin/homegenie/Microsoft.Scripting.Metadata.dll
-d5d1f74245aeb8adc3c7bf2964a0e77f usr/local/bin/homegenie/HomeGenie.exe.mdb
+57a8aca478abd78e3cea01ba4bb02783 usr/local/bin/homegenie/HomeGenie.exe.mdb
edb4222ca9b4aa24ff7ad7dc5d63ab89 usr/local/bin/homegenie/NetClientLib.dll.mdb
198a54b1a3bba2d5300270ea6f1b9cb5 usr/local/bin/homegenie/Common.Logging.dll
037a39c0e60471e2ad6a155519aabaf8 usr/local/bin/homegenie/Common.dll.mdb
@@ -124,9 +124,9 @@ b367f1a0f7ba435a0c92f591f4ae0070 usr/local/bin/homegenie/Raspberry.IO.Component
027d050500b7bb55a5ff9ae25aff0168 usr/local/bin/homegenie/Linux.dll
702ba55b7993d65eee480c723c150a1d usr/local/bin/homegenie/Raspberry.IO.InterIntegratedCircuit.dll
2074c256e8b7a372e28490a436a8e04d usr/local/bin/homegenie/NLog.dll
-aec0904531f8f71908ca988931e71828 usr/local/bin/homegenie/HISTORY.TXT
+990e3ec9796ebbbfb52339201630e514 usr/local/bin/homegenie/HISTORY.TXT
3435a8ca2eb89ec7fc13a463590121c0 usr/local/bin/homegenie/README.TXT
-ea6b979fb9b1201d5dcb36772a3ce4c3 usr/local/bin/homegenie/programs.xml
+edfb063870ff9ba02471e0f7213317ef usr/local/bin/homegenie/programs.xml
58d4389f29365489f41cd547eb1f10ec usr/local/bin/homegenie/modules.xml
a19a8070a77444aafa96d3fbe033c42e usr/local/bin/homegenie/IronRuby.Libraries.dll
75bc82884f5bd1ab9c0a53ca0522e255 usr/local/bin/homegenie/Raspberry.IO.Interop.dll
@@ -872,7 +872,7 @@ bac553cdffda0607623ca5b553e7e0e5 usr/local/bin/homegenie/html/pages/control/wid
0a552fdccf2fff6d67aad76f905c5854 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/energymonitor.js
0498f64a1329e92dd42721c05fd07334 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/generic.html
a6722a99e5cd17437a7c180117c5c276 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/link.js
-49bc3cc9c2d468844e76b1928208fb76 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/mediareceiver.js
+50b516ae6c8a48d0bbcc78491ebae755 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/mediareceiver.js
4ad4ab8fce174ddc836bc727969e2d8b usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/doorwindow.js
09f0b1f9d1e22ad22db0aa69f9f85555 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/sensor.html
6b8beb90e33605077dd553729fe4f643 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/energymonitor.html
@@ -996,7 +996,7 @@ a7b66f6c274401de96a368d888ea9596 usr/local/bin/homegenie/html/pages/control/wid
25872392addd246c71665caca9b3acde usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/shutter.js
23f2b3e5cc2b63908280739d4705430d usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/securitysystem.js
15bfa35fe64e5d9e6240ec471e8d6bb6 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/light.js
-ed7cc6c15ae860c7c27844e7c414015a usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/mediaserver.js
+3d67f396fd308f49c4325f442b6376ef usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/mediaserver.js
57aa59c98ffe503f31a986907fe52dc9 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/switch.html
8662ca3480b3caa089ebcb6bfed5bced usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/camerainput.js
84c6aba927ad341061091d9124f25858 usr/local/bin/homegenie/html/pages/control/widgets/homegenie/generic/program.js
@@ -1033,13 +1033,13 @@ be3642f282ec1acabb42533d14602e88 usr/local/bin/homegenie/html/pages/configure/i
30d5ddfe1f3fdc6ee3dd8b82fed80c55 usr/local/bin/homegenie/html/pages/configure/interfaces/_systemsettings.js
36854f9a3b53d63d425281b0b8ea228e usr/local/bin/homegenie/html/pages/configure/interfaces/configlet/camerainput.html
0f669068e6597cf21ec9aa061804ba26 usr/local/bin/homegenie/html/pages/configure/interfaces/configlet/w800rf.html
-2c37c888936d569d5ea1083fc292027b usr/local/bin/homegenie/html/pages/configure/interfaces/configlet/zwave.html
+01d9efbcd1279f92257fe4f675c01af2 usr/local/bin/homegenie/html/pages/configure/interfaces/configlet/zwave.html
27ebe3de1f7ee93628fd96895e0466ae usr/local/bin/homegenie/html/pages/configure/interfaces/configlet/insteon.html
2fee98ad08aa23c08a9db168e94f1ba6 usr/local/bin/homegenie/html/pages/configure/interfaces/configlet/lircremote.html
8836c97cad677590515a63ffa9b63f68 usr/local/bin/homegenie/html/pages/configure/interfaces/configlet/x10.html
7e86b4d6367578767de5f3bc6ce33eec usr/local/bin/homegenie/html/pages/configure/interfaces/configlet/upnp.html
7b52e2da234e79f5c300127150e46342 usr/local/bin/homegenie/html/pages/configure/maintenance/main.html
-3db066615ac212b43a63ae7cd737baf4 usr/local/bin/homegenie/html/pages/configure/maintenance/_maintenance.js
+3d782a1f9687e25dc96bfea47b6e960f usr/local/bin/homegenie/html/pages/configure/maintenance/_maintenance.js
17dbc2f4236458b774197c65f8da7f8e usr/local/bin/homegenie/html/pages/configure/groups/_groupslist.js
cd9a21cbada7574eae09abe47c01249f usr/local/bin/homegenie/html/pages/configure/groups/_groupmodules.js
2c5284a1f0794f7fbcf6302e3c2aceea usr/local/bin/homegenie/html/pages/configure/groups/listgroups.html
@@ -1784,14 +1784,14 @@ b8459e32556b6e692fae8f9ff81817c9 usr/local/bin/homegenie/html/ui/core/popup.cro
8c62c286d03fd664a54dafcffaeb5fe3 usr/local/bin/homegenie/Raspberry.IO.SerialPeripheralInterface.dll
c01449322109e7477c208be018fd45fb usr/local/bin/homegenie/ADDONS.md
f616ece797146a9d6395f51d2e24e2f7 usr/local/bin/homegenie/startup.sh
-4ef9264902ca39c02d3b84989a0b1bb3 usr/local/bin/homegenie/HomeGenie.exe
-81d278b042861d17d3c81c17b01db5dc usr/local/bin/homegenie/release_info.xml
+acadba8549470c5caef27c9038f987be usr/local/bin/homegenie/HomeGenie.exe
+7735cf539475cd877c92df4d83d7bb18 usr/local/bin/homegenie/release_info.xml
536920e88b28850b8df27484746134f4 usr/local/bin/homegenie/NetClientLib.dll
5405413fff79b8d9c747aa900f60f082 usr/local/bin/homegenie/sqlite3.dll
272aa48b0bfd90305c6c27b4f4538566 usr/local/bin/homegenie/scheduler.xml
3f033fbe348679b9baf41cec2ebc0c1a usr/local/bin/homegenie/groups.xml
61b0c6d8eb2c756355d52df2ef6170c6 usr/local/bin/homegenie/Microsoft.Scripting.dll
-b8704a9c1abd4a676d9c8cf39e994628 usr/local/bin/homegenie/homegenie_factory_config.zip
+a097890723141286b586cd5dee084d2b usr/local/bin/homegenie/homegenie_factory_config.zip
acbb8de3a6a8f53d69957e2607097992 usr/local/bin/homegenie/DEVELOPERS.TXT
ae7bbf0f4b96d2a0effd97d69befb47e usr/local/bin/homegenie/CommonMark.dll
93675a8ef36065d0c64fe1bf4fb79902 usr/local/bin/homegenie/IronRuby.Libraries.Yaml.dll
diff --git a/HomeGenie_Windows/Packager/setup.iss b/HomeGenie_Windows/Packager/setup.iss
index 2e4cf4d87..7e10649bb 100644
--- a/HomeGenie_Windows/Packager/setup.iss
+++ b/HomeGenie_Windows/Packager/setup.iss
@@ -4,10 +4,10 @@
[Setup]
AppName=HomeGenie
-AppVerName=HomeGenie 1.1 beta (r499)
+AppVerName=HomeGenie 1.1 beta (r501)
AppPublisher=GenieLabs
AppPublisherURL=http://www.homegenie.it
-AppVersion=1.1 beta (r499)
+AppVersion=1.1 beta (r501)
DefaultDirName={pf}\HomeGenie
DefaultGroupName=HomeGenie
Compression=lzma
@@ -198,8 +198,8 @@ Type: files; Name: "{app}\SQLite.Interop.dll";
;Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}";
[Icons]
-Name: "{group}\HomeGenie 1.1 beta (r499)"; Filename: "{app}\HomeGenieManager.exe"
-Name: "{group}\Uninstall HomeGenie 1.1 beta (r499)"; Filename: "{uninstallexe}"
+Name: "{group}\HomeGenie 1.1 beta (r501)"; Filename: "{app}\HomeGenieManager.exe"
+Name: "{group}\Uninstall HomeGenie 1.1 beta (r501)"; Filename: "{uninstallexe}"
Name: "{commondesktop}\HomeGenie"; Filename: "{app}\HomeGenieManager.exe"
[Run]