ALTUI : Version Log

V 1.06.1129

[ul][li]emoncms.org DataProvider integration (similar to thingspeak)[/li][/ul]

V 1.06.1141

[ul][li]Keypad dashboard[/li]
[li]bugfixes for external Data push providers[/li]
[li]bugfix: change of json module[/li][/ul]

magic url : ?id=action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=CreatePlugin&PluginNum=8246&Version=30151

V 1.10.1155

[ul][li]Table for Watches[/li]
[li]Prevent a crash with keypad devices[/li]
[li]Room filter button color bugfix[/li]
[li]visual hint on variable when a data-push is set[/li]
[li]delete associated watches when deleting a device or a scene[/li]
[li]fix json load problem[/li]
[li]disable local access button in UIx settings tab when accessed remotely[/li]
[li]Increase Watts display size in favorite tile[/li][/ul]

V 1.10.1166

[ul][li]urgent bugfix in zwave quality table preventing display[/li]
[li]device and scene names in watch tables[/li]
[li]drawDataMine remote access button from dashboard- reneboer[/li]
[li]Grey color for cells in network quality table[/li]
[li]Data columns in table properly sorted[/li]
[li]Add some edit/delete commands in tables[/li][/ul]

magic number:30266

V 1.12.1175

[ul][li]next_run col in scenes table[/li]
[li]Data push graphics page[/li]
[li]View button in data pushes table[/li]
[li]bootgrid version update[/li]
[li]jquery version update[/li]
[li]bugfix: improper reboot error code[/li][/ul]

magic number: 30302

V 1.12.1184

[ul][li]Room filter button color fix: the button was staying “blue” sometimes[/li]
[li]Dimmer slider width fix : if the first device on the page was a dimmer , its dimmer scale was very short[/li]
[li]Refresh button for variable graph page to force a drawing refresh[/li][/ul]

V 1.12.1191

[ul][li]Cosmetic in variable push graphic page[/li]
[li]Cameras in custom page support an alert trigger ( device, variable, value ) which when true, display the camera in alert mode ( dialog on top of the custom page )[/li][/ul]

Camera properties:

[ul][li]device : the camera device[/li]
[li]trigger : another device ( like a motion sensor or whatever )[/li]
[li]variable : variable of the trigger device [/li]
[li]value : camera is in alert mode when the value of the trigger device variable is equal to this value.[/li]
[li]size factor : simply a multiplication factor to size the camera image. 1 = as in custom page, 2 = 2x as big, etc. 2 is good for mobile, bigger will probably only fit large screens[/li][/ul]

V 1.13.1213

[ul][li]fix gauge display in custom pages[/li]
[li]add ability to click on Icon widget : you can launch a scene or an action on the device of the icon[/li]
[li]add display as Icon capability to the OnOff Power button on custom pages so it displays as the device icon instead of the onoff button[/li][/ul]

V 1.15.12371240

[ul][li]Speech recognition on supporting HTML5 browsers[/li]
[li]new pretty lua function - akboer[/li]
[li]Project ALTUIBox for backend (nodejs backend GitHub - amg0/ALTUI: Enhancement Interface for VERA home automation system)[/li]
[li]adding device name in DataProvider Push notifications callback[/li]
[li]Icons request on the same port as the one of the main controller url (openLuup)[/li][/ul]

forced update url = http://:3480/data_request?id=action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=CreatePlugin&PluginNum=8246&Version=30686

Notes:

[ul][li]bug fix for localizations in case of remote mode[/li]
[li]Speech Recognition: works only on supported browsers ( Chrome does, iPad does not ). it works in English/French and I can take assistance to add for other languages. I will open a topic on this topic as there are some technical details to know. For now you can click on the loud speaker button and say one or several commands in a row to basically open/switch on , close/switch off a device by name , or execute a scene by name. on http browser security will ask each time to accept the microphone control, on https it will only ask once. Command appears in bright text when they are confirmed, in grey text when the speech recognizer is still thinking about it and could chagne it depending on what you say next. After 2 sec of inactivity, it will take confirmed commands and try to match them to executable orders. There is no ( yet ) a UI to customize your own voice commands but list of commands is table driven ( so easy to add ) and takes into account the requested language ( default of the browser or forced by the url lang parameter).
Possible commands are:
[list]
[li]switch (or turn) on (or off) [/li]
[li]open (or close) [/li]
[li]execute (or launch) [/li]
[li]show <altui page name like devices, scenes, custom page>[/li]
[li]show [/li]
[/list][/ul]

in english:

		SpeechManager.initRules([
			{r:"(switch on|turn on|open)\\s+.*(%name%)", t:"device", a:{service:"urn:upnp-org:serviceId:SwitchPower1", action:"SetTarget", params:"{ \"newTargetValue\":1}"}},
			{r:"(switch off|turn off|close)\\s+.*(%name%)", t:"device", a:{service:"urn:upnp-org:serviceId:SwitchPower1", action:"SetTarget", params:"{ \"newTargetValue\":0}"}},
			{r:"(run|launch)\\s+.*(%name%)", t:"scene" },
			{r:"(show|open)\\s+.*(%name%)", t:"altui" },
			{r:"(show|open)\\s+.*(%name%)", t:"room" }
		]);	

in french:

SpeechManager.initRules([ {r:"(allumer|allume|ouvrir|ouvre)\\s+.*(%name%)", t:"device", a:{service:"urn:upnp-org:serviceId:SwitchPower1", action:"SetTarget", params:"{ \"newTargetValue\":1}"}}, {r:"(?teindre|?teins|fermer|ferme)\\s+.*(%name%)", t:"device", a:{service:"urn:upnp-org:serviceId:SwitchPower1", action:"SetTarget", params:"{ \"newTargetValue\":0}"}}, {r:"(ex?cuter|lancer)\\s+.*(%name%)", t:"scene" }, {r:"(montre|montrer|ouvre|ouvrir)\\s+.*(%name%)", t:"altui" }, {r:"(montre|montrer|ouvre|ouvrir)\\s+.*(%name%)", t:"room" } ]);

[ul][li]ALTUIBox : nothing useful for now, just a project which will enables a raspberry ( or other UX machine ) to run a nodejs / mysql based backend which works with ALTUI. I have a POC on github GitHub - amg0/ALTUI: Enhancement Interface for VERA home automation system. still working on this and will expand to do a verabridge. ALTUIBOX works are a secondary controller but also as a main controller. the Extracontroller variable has a new syntax which enable to specificy a backend type. for instance for an ALTUIBox backend it could be : “192.168.1.15:3000 - A”. so ip:port then - then V for VERA or A for Altuibox. if no type is specified it defaults to VERA so no changes to existing users. It cannot be as good as openLuup which remains the prefered choice to use VERA plugins ( as it will not run the plugin LUA backend code ) , but it will run the plugin javascript front ends and will be very scalable in multicontroller setup. The vision is it integrates with Homekit ( Siri ) and could have its own zWave HW interface and then we are totally independant of VERA. [/li][/ul]

V 1.17.1250

[ul][li]resizable , syntax colored editor (ACE) for LUA editors. (thx vosmont)[/li]
[li]Support for urn:antor-fr:device HVAC_ZoneThermostat, bug with displays, could also improve other thermostats[/li]
[li]support for Combination Plugin. Plugin gives AND/OR and nice boolean condition capabilities but was not displaying properly in ALTUI[/li]
[li]Show controller of plugins in plugin page, useful for multicontroller setup configurations[/li]
[li]Reset button on UI7 page triggers a config reset to default and a LUUP reload. useful since there is no easy way to reload from the UI7 anymore[/li][/ul]

NOTE: there is a app store issue right now , you may experience issues with the upgrade not hapening.
magic url is :
http:///port_3480/data_request?id=action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=CreatePlugin&PluginNum=8246&Version=30710

V 1.17.1258

[ul][li]ACE Editor theme option[/li]
[li]ACE Editor font size option[/li]
[li]zWave device display filter[/li][/ul]

V 1.17.1264

[ul][li]ACE Editor for Scene lua code[/li]
[li]Bugfix for Plugin GetFile API impacting plugin page[/li]
[li]Bugfix for scene decoder to protect against bad device ID[/li][/ul]

V 1.19.1292

[ul][li]Hotfix for device display in scene[/li]
[li]try catch code to see device display errors[/li]
[li]IE 11 fix in verabox.js[/li]
[li]Fix in Lua for lul_device in DataStorageProvider notification[/li]
[li]Logical Workflows : Proof of Concept: only UI is fonctional[/li]
[li]Run Scene button active from the scene editor screen[/li]
[li]Fix BLockly device block to support “No Room” option[/li]
[li]New ALTUI device setting / option / UPNP action to enable (or not ) the workflow mode.[/li]
[li]Fix for Display Watches display page[/li]
[li]New Pretty() lua function - akboer[/li]
[li]Use of ACE editor in various places and add copy to clipboard buttons[/li]
[li]Resizable ACE editor windows[/li][/ul]

This internal version number for the magic url for this release is : 30786

This is a pretty big release so if you have serious issues with it you can rollback to the previous version using the magic url.
Old version magic url: ?id=action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=CreatePlugin&PluginNum=8246&Version=30791

Because I wanted to release some important fixes, I had to release in the middle of implementing a new functionality so you get to see a “proof of concept” for a logical state machine workflow which is only fonctional at the UI level. you can create edit and save workflows but it wont do anything for now in reality.
the backend side ( in the lua driver ) is not yet implemented.

Once it is released ( and if I manage to make it work and useful ) , I will explain more. for now the key concept to know are:

[ul][li]you can have many workflows ( like custom pages ), but on a vera backend I suspect you start to hit some limits pretty quick[/li]
[li]Each workflow is made of states and transitions. A State is active or inactive.[/li]
[li]The active State will transition to another state, only if transitions exists between these 2 states and the transitions are met[/li]
[li]Transitions are basically condition ( device watches & lua expressions, like the watches ) , or timer ( transition is ‘met’ when the timer described in the transition expires[/li]
[li]States have a set of n actions when we enter the state ( OnEnter ) and a set of n actions when we exit the state ( OnExit )[/li]
[li]To edit a state or a transtion you double click on it ( or on IOS, you click first on EDIT button then on the object you want to edit )[/li]
[li]each workflow starts in the “start” state, it is the responsability of the workflow author to transition from the start state to one of your workflow state, depending on the status of devices, when the workflow starts. That will be the case when vera reboots for instance[/li][/ul]

V 1.19.1301

[ul][li]IFrame in custom page can have a relative url[/li]
[li]donotdelete device feature when HideDeleteButton is ==1[/li]
[li]Improve device draw error catch display[/li]
[li]Fix missing scripts in local mode[/li]
[li]Click on generic table shows a form with all details[/li]
[li]Add Jointjs on credit page[/li]
[li]fix css to avoid white border on custom page widget editor[/li][/ul]

magic url version number: 30794

V 1.20.1312

[ul][li]Workflow mode is fully functional. cf note below[/li]
[li]Speech recognition accuracy improved[/li]
[li]rework a bit the form when clicking on a table row[/li][/ul]

Workflow mode: cf the other sticky thread on workflows for details a tutorial. basically this brings the power of scenes & watches but in a stateful approach. the same set of conditions and triggers apply ( or not ) depending on the state you are in. with this VERA becomes a real state machine

The workflow mode is controlled by a button in the settings tab of ALTUI device to switch it on or off. you can allways switch it off if you run into trouble ( which is possible if you create crazy workflow that keeps matching conditions and run in loops ). you can switch off or switch on the workflow mode without requiring a lua restart

The workflow page shows the workflow graphically and displayes, in quasi real time ( 3 sec polling ) which state is active so you actually see how your workflow progresses

Blockly editor for Transition condition editor is not yet enabled but Transitions obey to the same rule / syntax than watches , so you can use special variable like new and old , just remember device values are string typed so to express a condition for a tripped motion sensor for instance, you write new == ‘1’. you can use luup functions so new == ‘1’ and luup.is_night() is a valid expression to have for a transition.

Transitions may have multiple condition, and this is an “AND” of all of them to be valid.
if you need “OR” , you create multiple transitions ( multiple arrows on your graph )

this is a first version, bugs are possible. thank you for your patience

V 1.22.1320

[ul][li]Persistent workflow state after a reload/reboot[/li]
[li]Persistent timers after a reload/reboot[/li]
[li]Disabling workflow mode reset all workflows to start state and no pending timers[/li]
[li]Display of active state name in the workflow box[/li]
[li]Enabling saving a single workflow[/li]
[li]Zigbee and BT devices filter[/li][/ul]

V1.23.1334

[ul][li]Support for dynamic Icons / Hue2 - Cybrmage[/li]
[li]Small speech recognition update for french[/li]
[li]Enable workflow transitions to have both conditions and a timer[/li]
[li]Clickable lua expressions (for edit) for workflow transitions[/li]
[li]Movable link lables on the workflow graph editor[/li]
[li]Fix jointjs script loading for remote access[/li]
[li]Enable device zigbee BT zwave filter to not be mutually exclusives[/li][/ul]

V 1.24.1340

[ul][li]Workflow Start state supports conditions like a link. Any matched condition will bring back the workflow to the start state[/li]
[li]OnEnter OnExit actions of a state can also be running a scene now[/li][/ul]

V 1.25.1349

[ul][li]Blockly editor for editing workflow transition expressions[/li]
[li]New Workflow report feature to see a complete texual report of a workflow definition [/li]
[li]Holiday plugin dashboard display update[/li][/ul]

cf screen shots

V1.27.1362

[ul][li]Fix a potential no Handler issue[/li]
[li]Saving workflows triggers a reload in the backend[/li]
[li]delete Icon to empty a device variable[/li]
[li]UIx api contributions from cybermag[/li]
[li]Only display workflow JSON when saving in DEBUG mode[/li]
[li]Confirm delete dialog before deleting a transition[/li]
[li]Sanitize workflow data structure against bad device numbers[/li][/ul]

manual install : ?id=action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=CreatePlugin&PluginNum=8246&Version=30950