Release 14.2 Build 66 1. A problem when changing the current schedule using the calendar was resolved. Release 14.2 Build 65 1. Change to make fewer device discovery operations when using the Google Assistant and making changes to more than one friendly name at a time in the External Assistants dialog. 2. Change made in support of the Google Assistant's ability to automatically rediscover devices when a change is made to a friendly name. The management of the internal "call back" file was incorrect. 3. Change to the popup IR keypad. It was too small in some cases. 4. Change to the popup IR keypad designer and the "Test" operation. In would cause HCA to terminate. Now resolved. 5. In some circumstances the popup HCA keypad where a button started a program would attempt to execute the program on the client when in client-server mode. This had disastrous consequences. 6. A program that managed its own icon and state wouldn't correctly show that state in the design pane icon. In some circumstances it would show if the program was executing or not rather than the expected state. This effected programs that acted more like devices with an on, off, and at-a-percent states. 7. Corrected several locations in HCA that wasn't properly respecting the selection of the "change by program" icon setting in the program properties on the "Advanced" tab. *** Possibly a change that may effect your design*** There is an option in the properties of a program on the Advanced tab that you may not have noticed that controls how a program’s icon is managed. The idea behind this option is that when set to "changed automatically", the icon shows in the ON representation when the program is running and in the OFF representation when not running. This makes the small program icon in the design pane have a yellow background when running, and depending upon which icon theme you are using, shows the program icon in the display pane in different ways. For example, showing the icon in color when running and in gray-scale when not running. To make the program act like a device, the icon should instead reflect the "percentage" state of the program rather than if it is currently executing or not. This is done by selecting the "not changed automatically" option for the program's icon. What is the "percentage" for a program? It is just a number between 0 and 100 – like a device – that is managed by HCA, and optionally by your program. HCA uses this "percentage" to show the correct representation for the program icon. Like a device, if the percentage is 0 then the OFF representation is used. If it is between 1 and 99 percent, the DIM representation is used (or if no DIM representation is available, the ON representation is used). If the percentage is 100 then the ON representation of the icon is used. Unfortunately, while this option has been in existence in this and previous versions of HCA, there were some problems with the implementation. In several places in HCA even if the option was set for "not changed automatically", the internal mechanisms in HCA was in some places incorrectly controlling the icon to show as ON when it was started. In this new build of HCA, the implementation of this option should now be correct. In your design, if you have a program that changes its own icon or the icon of another program, make sure that the "not changed automatically" option is selected for the program whose icon is being changed. Also, recently introduced is the ability to designate that a program can be "dimmed". Details are in technical note 100 and that has been extensively updated as you should review it. Release 14.2 Build 63 1. Changes for programs. There is now a program property that says if the program supports dim. What this means is explained in an application note: www.HCATech.com/download/V14_2/TechNote_100_ProgramsThatOperateAsDevices.pdf Several changes were made for a program that is marked as supporting dim: 1. "Dim" is now available from the right-click context menu for a program 2. The program can now be scheduled for dim 3. The program can now be used in the "Multi" element 4. The program can now be used in the Dim element 5. The program can now be used in the Test element when testing for dim percentage 6. he program can now be used in the _State, _DimPercent, _SetCurrentState expression functions 7. These new methods were added to the program object a. DimToPercent b. DimUpPercent c. DimDownPercent d. State e. DimPercent ***NOTE This change is NOT backwards compatible*** If you have programs that you want to be "dimmable" by voice control, then you must go and mark those programs as "dimmable" on the advanced properties tab or they will no longer be dimmable from voice control if you "discover devices" again from the voice app. A program that doesn't support dim has a state of ON while the program is executing and OFF when not. 2. When controlling a group, the group object's state didn't reflect the state of the operation performed on it. 3. Adding the camera element to a program that has parameters would cause HCA to terminate. Now resolved. 4. Updated the server "Connected clients" dialog to allow for a disconnect of a client. 5. On the "Advanced" tab of a program the "Supports Parameters" and "Supports Locals" checkboxes have been merged into one checkbox labeled "Supports parameters and./or Local Variables" ***NOTE This change is NOT fully backwards compatible*** If you have a program that uses locals but didn't use parameters, you must go and edit that program and set the "uses parameters and/or locals" setting on the "advanced" tab of the program properties. 6. A problem in the Insteon Visual Scene Editor where a switch was used as a controller has been resolved. 7. HCA didn't complain if you created a friendly name of "". Now complains. 8. Friendly names could be created with blanks at the start or end. Now it removes those blanks. 9. In the Var-Set element you could choose as the "assign to" a program parameter but that shouldn't have been allowed. Now will not offer parameters as choices. Release 14.2 Build 56 1. When renaming a variable in the variable inventory dialog, uses of that variable in locations where it appears in text rather than selected from a dropdown, are now changed. Variables can appear in text in the configuration of these programmer elements: > opCompute > opExpTest > opAddToLog > opShowMessage > opChangeIcon > opRunProgram > opMail > opSerial > opVarTest > opVarSet > opHTTP 2. In various dialogs where you select a variable from a dropdown the list wasn't always sorted into alphabetical order. Now is. 3. When using an element or expression that requested the status of a UPB keypad, if the keypad didn't respond to the status request, HCA could terminate. Now resolved. 4. Programs with parameterized triggers when started from the UI wouldn't correctly start with their parameter values available. Now resolved. 5. In some cases when editing a program trigger for the press of a button on a SAI switch with a faceplate that contains rockers and buttons, the edit UI wouldn't correctly show the button chosen in the trigger. Now resolved. 6. UPB import would sometime incorrectly remove program triggers that were configured as receptions from some SAI switches with faceplates that contain both buttons and rockers. Now resolved. 7. The Insteon IOLinc when requesting status from the relay portion would not always correctly update the state of the HCA device form the status reply. Now resolved. 8. Added to the server Remote Access Viewer for new connections to show the IP address of the connection source. This may help track down issues about the need for the remote access password. 9. The Camera element was broken during a change made in a previous build. Now corrected. 10. There is a mechanism for cloud services to log connections made to the server. This is specified in the "Partner Connection Manager" dialog when you edit a service. Two changes: First the log option wasn't being captured correctly - now is. Second, the service log filename is now "Service " plus the service name then all made into a legal filename. 11. When importing a UPB file the importer could become confused if a UPB room name was the same as a HCA Display name (and not folder or room name). Now fixed. 12. Added four new functions that probably don't have general utility but are documented here for completeness. string/bool = _GetNest("Nest thermostat device name") Returns the JSON that is sent by the Nest cloud service for retrieval of all settings. Check the result using the _isBool function. Returns a boolean FALSE value if the function failed. You should enable the Nest log (look on the Nest connector dialog) to see the effects of this function. string/bool = _PutNest("Nest thermostat device name", "json text") Sends the JSON string to the Nest cloud service for effecting a change. No check is done on the validity of the JSON before sending. Check the result using the _isBool function. Returns a boolean FALSE value if the function failed. You should enable the Nest log (look on the Nest connector dialog) to see the effects of this function. string = _TPLEncode(string) Returns a string (hex text) of the string supplied encoded in the format used by TPLink devices. string = _TPLDecode(string) Returns a decoded string of the string supplied - encoded in the format used by TPLink devices. Encoded string should be in Hex text. 13. A problem with auto reconnect for Generic IP interfaces was resolved. Previously in some cases it didn't automatically reconnect. 14. If the background poll was enabled in a device's properties it didn't take effect until the file was saved and reloaded. Now it takes effect immediately with the first poll at the current time plus the number of minutes set for the poll interval. 15. Additional features for parameterized programs. See release notes online PDF that describes these changes. http://www.hcatech.com/download/V14_2/ChangesIn_14_2_ForPrograms.pdf 16. Several issues have been fixed with the Var-Set and Var-test elements: - Where appropriate, program parameters can now be used in the elements. - Copy and Paste had a number of issues when the element was pasted into a program if the element used local variables or parameters and the target program didn't contain those same parameters or local variables. The paste happens but the element is marked as "not ready". - When editing an element if the OK button was disabled when the element properties dialog displays, it wouldn't be made available even if editing corrected the problem. Now resolved. 17. The "Find" operation in the Visual Programmer now lists locals and parameters in what can be found. 18. The "Variable inventory" dialog in the Visual Programmer now shows parameters as well as local and global variables used in the program. 19. The character $ is now illegal in names in HCA. No attempt has been made to find and flag existing names. But if you remember using it in a name, go make a change to remove it. 20. The references tab in an object properties dialog has been renamed to "Referenced by". What is reported in the tab is now more complete in that references to objects contained in text based expressions (Compute and Compute-Test) and in expressions embedded in text in elements (Add-to-log, Show-Message, etc) when surrounded by %s, are now found and displayed. 21. Due to the improved referencing tracking, the Delete operation will now note uses that would have escaped being flagged before. Also, the design inspector will better flag problems when an object name is used in an expression incorrectly. 22. When copying a program with triggers on to the clipboard and pasting it into a different file, some of the triggers could be invalid as they could reference non-existent objects in the target file. Those triggers are now removed from the program when it is pasted into the target file. 23. There were two options on the HCA Options "Visual Programmer" tab that have been removed: "Allow orphan elements in a program" and the action of the Exit element when used in the Body of a Repeat element. These options are no longer global to all programs but have been moved to the advanced options of each program. ****NOTE**** If you previously enabled either of these options you must go and find any programs that relied upon those settings and update these options in the program's properties as they will not be enabled after you install this update. An additional option was also added: If an element has a timeout option and if you have created within the program a path to handle the timeout using a Connector element, then you can now suppress the generation of the program error. On the advanced tab the option is: [ ] Don't generate a "program error" alert if an element generates a timeout and the element has a timeout path defined 24. When programming Insteon devices as part of the Visual Scene Editor, if there was a problem communicating with a device that was part of the scene it was possible that the wrong device - not the device with the communication issue - would be flagged with a communication error. Now resolved. 25. The "Log" tab to control the logging for a device wasn't present for a thermostat. Now is. 26. When using the Visual Scene Editor to construct a scene that used a multi-part Insteon device - like the FanLinc - it could construct the scene controlling the wrong part - like the Fan Light and not the Fan. Now resolved. Release 14.1 Build 45 1. Added a _DeviceForAddress function. It has two parameters: protocol name This is a string which is the name of the protocol to look for devices in. Choices are: "UPB", "Insteon","X10","Hue", "Wireless", of the name of a user class address This is a string when is the address of the device. Its format depends upon the protocol. "UPB" : the module id of the device. For example, "12" "Insteon" : The three part address of the device. For example, "10.5D.65" "X10" : The house and unit code of the device. For example, "G6" "Hue" : The id of the device. For example, "3" "Wireless" : The id of the device. For example, "4" For a class object the id is whatever string was entered in the properties of the object. 2. The parts file was corrected for the Insteon 2487S KeypadLinc. The parts file marked it as dimmable but it isn't. 3. Reorganized the "HCA Cloud" ribbon for easier use. The "Link file and Account" button can now display information about what account a file is linked to. Added a "Create Account" button to go directly to account creation. 4. Changes to the server interface in support of new voice assistants. 5. The "Voice assistant name" is now called the "Friendly name" and is used by any external assistant - Google Home, Alexa, Home-Kit - and can be viewed and entered on any device, program, group, or room. 6. The _DimToPercent function when using a UPB Keypad that contains an attached load (UPB calls this a "Keypad Load Dimmer" or a "Keypad Load Relay") wouldn't control the load correctly in all cases. Now resolved. 7. Improved the Alert Tile to better show alert and inspector information. It now shows the currently active alerts and then, if there is room, shows the count of inspector alerts. 8. Improved the Alert viewer dialog to better show alerts generated by program errors. It didn't always show the name of the program that caused the error. 9. In the Compute and Compute-Test elements the "validate" operation that checks the text for errors didn't catch the case where you attempt to assign a value to one of the program parameters. Program parameters are read-only when the program executes. 10. During Insteon PLC swap and device replacement, the device whose address is being captured is now displayed in the address capture dialog title. Before it could get confusing when needing to recapture the address for several devices during a PLC swap. 11. In the Visual Scheduler if you right-clicked on a time mark and made a modification to the time, the modification was made but the display of the schedule entry wouldn't change in the design pane to reflect that change. Now corrected. 12. You can configure a tile in a display to run a program when short or long tapped. This has not changed. What has changed is that if the program accepts parameters and those parameters are value parameters, the first parameter is set to the tile name and the second parameter is set to the tile label. In the program you can test to see what tile started the program if more than one tile was assigned the same program. 13. Changed the Remote Access Viewer to only display the last 1024 entries rather than just continue to grow over time. 14. The "Most Recently Used" display would sometimes not show a device, program, or group that was recently controlled when it should have been added. It could also incorrectly add devices that are parts of rooms or groups when the room or group was controlled. 15. In the Visual programmer Test element when testing for "Is Dim", in some cases, non-dimmable devices were included in the list of devices that could be tested. 16. The Get-Status operation when invoked for a User Class device from a program could incorrectly follow the "Status fail" path from the Test element even if the class program didn't report an error. 17. In the Visual Programmer Test element when testing for DIM with a device of a user class, the various test options were incorrectly not available. Now resolved. 18. Added support for the 2844-222 Insteon motion sensor. No setup facilities are provided. It can now be added to a design and messages received from it to trigger programs. 19. Added support for the 2868-222 Insteon "siren". Send an ON and it makes noise. Send an OFF and it goes quiet. No setup facilities are provided. 20. Added a button to the "MRU" tab of the properties of the MRU display to clear the data saved for each device, program, and group that determines if it appears in the MRU display. 21. A problem with HUE lights has been resolved. If the light was off in some circumstances the Get-Status dialog could report that it was on when it was in fact not on. 22. When the "Confirm by status request" option was enabled for the Insteon FanLinc and Insteon On-Off Outlet - both of which have two independent controllable units - HCA could attempt to confirm and possibly retransmit the command for the wrong unit. Now resolved. 23. The correct values of local variables were not seen by programs in the elements of the body of a repeat. Now resolved. 24. When changing the home mode, a program that triggered on the home mode change would be started even if the mode really didn't change. For example if the home mode was "Away" and it was changed to "Away" any programs that triggered on entering the "Away" mode would execute. Now they will not as the mode didn't change. 25. When using the test element when testing the starting trigger with some trigger types (mode change, state change) the test could succeed when it shouldn't have. Now resolved. Release 14.0 Build 37 1. When creating a UPB Powerline message trigger and changing the link, the trigger wasn't updating correctly. Now is. 2. If a device had no auto-off specification defined in the device's properties, then even if an auto-off was set using the VP Auto-Off element the auto off wouldn't happen when the timer expired. Now even if there is no configured auto off in the device properties, one set using the VP element is handled correctly. 3. In the later versions of Windows (Windows 8 and Windows 10 but others as well depending upon their update level) you can specify in Windows settings that the display should "scale up" text. Prior to this build of HCA some dialogs has text cut off in a few dialogs when the scale was set greater than 100%. This build now better handles scale factors greater than 100% 4. In the configuration of the Generic IP interface, the dialog controls for specifying the receive delimiter didn't work correctly. Now resolved. 5. The path setting in the HTTP and Camera VP elements can now contain embedded expressions in the same way that expressions can be embedded in the text string of other elements like Add-To-Log, Change-Icon, Show-Message, etc. 6. A "Copy" button was added to the Visual Programmer Variable Usage dialog to copy, in CSV format, the names and locality of the variables in the program. 7. Added to the File-Format Visual programmer element a "append to output file" option to cause the result created from the template file to be appended to the output file if one already exists. 8. When a device, program, or group is disabled it is now better designated in the design pane by an "X" rather than a "/" through its icon. 9. The _GetThermostat expression function was not handling code 13 ("Nest Mode"). Now does. Release 14.0 Build 36 1. A problem with loading files that contain programs using the Insteon VP element has been resolved. 2. The Change-Icon element would not change the icon and icon state for icons on displays with DXF backgrounds. 3. In some very specific circumstances, having the Remote Access Viewer open could cause HCA and the HCAServer to terminate with an error. 4. When using client-server the Camera visual programmer element would fail. Now corrected. 5. Some room operations where different percentages were specified for devices to follow the room on/off where not working correctly. Resolved. 6. Using the ON element with a room could result in effect a room OFF being done. Now resolved. 7. In client-server mode the _SetCurrentState didn't always update all clients with the new state of the device. Now does. 8. Status requests for Insteon On/Off Outlet was broken. Now fixed. 9. The reference tab didn't show a reference between objects if the reference was a "state change" trigger. Now corrected. 10. In client-server mode when adding a new program with Compute or ComputeTest elements where new variables were referenced, the variable inventory could incorrectly not report variable usages and so enable the "Delete" option which it shouldn't do. Release 14.0 Build 34 1. The "Name" tab for a device, program, or group could complain about a voice assistant name even if a voice assistant isn't in use. Now resolved. 2. A memory leak was found and fixed when the debugger when used in client-server mode. 3. The debugger when used in client-server mode didn't always show the correct values for local variables in the variables tab. Now does. 4. Resolved a crash problem when removing an added class though the User Class Manager. 5. When using the generic serial interface, HCA required that the port opened have support for flow control. That requirement is now removed. 6. A very odd problem related to the program debugger was resolved. Some actions could cause the tabs that show the program, flags, log, and breakpoint tabs to disappear. 7. On the HCA Cloud ribbon the "Link file to account" button could sometimes show "Link" when "Unlink" was appropriate. Now corrected. 8. Some of the links in the text for cloud services were incorrect and have been corrected. 9. A problem with the "Not" element execution was corrected. 10. Several changes made to the Hue VP element properties to prevent incorrect action if a design had no Hue devices. Release 14.0 Build 32 1. Fixed a crash problem when setting the properties of the Camera VP element. Release 14.0 Build 31 Initial HCA V14 release