18.0.9 1. The Windows client didn't fully implement the changes for tile refresh as implemented in 18.0.6. This also required changing HCA to support that. The updated client is 16.0.16. 2. The number of tiles on a display has been increased. There is no fixed limit as it depends upon the kind of tiles and their properties. This change has been also made to Windows client 16.0.16 3. If the start-program VP element used the delayed start option and the target program had parameters, the values in the start-program element weren't given to the program when the "delayed start" timer expired. Now corrected. 4. Suppose you use the start-program element naming program "p" and using the delayed start option. If that program is already on the delayed start list for execution at a time in the future *and* any arguments are the same as what appears on the list, then the future execution time is changed to the new time. If the argument values are different, a new entry on the delayed execution list is created. Make sure that the "if the trigger is received while the program is running" option on the program properties "triggers" tab is set to "start a copy of the program and run it concurrently" to make this all work. 5. In the Visual Programmer, the image that appears when hovering the mouse or an element was incorrect in the case of the Start-Program element with a delayed start option. The seconds were not shown. Now are. 6. When using the tiled display editor, you could always select one or more tiles in the virtual display or list and then change size and position using the up/down actions for the X, Y, Width, and Height edit controls. Doing that changes all the tiles in the selection. Now if you select one or more tiles and then use the "Edit Tiles" button to edit a tile's properties, any change to the X and Y position is applied to the other tiles in the selection. For example, if you moved the edited tile "left 2 and up 1", that same change of "left 2 and up 1" is applied to the other tiles in the selection. 7. Individual tiles can now have rounded or square corners following the default as set in HCA Options or specified just for that tile. 8. Added to the "Duplicate Tile" operation in the tile editor the ability to duplicate 'n' times. 9. Added to Tools - Find the ability to find which objects have a specific tag value. 10. When creating a program with the "New Program Wizard" it attempted to choose an icon based upon the use of the program. Unfortunately it used the wrong icon name in many cases. Now corrected. 11. Added a Inspector button to the programmer Tools panel. This performs the same operation as the Inspector started from the toolbar but only reports on the current program. 12. Added new icon for program classes. 13. HCA-Options "Library" page has been removed. 14. Number of interfaces increased from 8 to 16. 15. The Log Configuration tool was redone. It is important to remember when using this tool that it lets you assign traffic to/from devices of a protocol to one of the three logs. This is not the same as assigning traffic from an interface to a log. Some protocols and interfaces are the same - a UPB interface implements the UPB protocol. Other protocols, like Phillips Hue or LIFX lighting, are implemented by a software class and do not have an interface. 16. Some interface configuration dialogs contained log selection controls that should have been removed. Log configuration now takes place in the Log configuration tool. 18.0.6 1.In some cases when using the find option in the Visual Programmer it could locate places where what you were looking for didn't exist - a false find. 2. In C/S mode using the UpdateTile element refresh option on a text tile wouldn't update the text tile. Now does. 3. Changed tile properties refresh option to allow for times in seconds or minutes, and to refresh by redisplay or by executing an HCA program. 4. Added new op code to _ModifySchedule to change the date part of a schedule entry. See updated expressions chapter in the user guide for details. 5. There was a bug in parsing expressions that allowed variables to contain illegal characters. This is now resolved. Variables can only contain letters, numbers, and the underscore character to be valid. 6. The visual programmer option to open another program while editing didn't provide the programs in alphabetic order. Now does. 7. The "Display on screen keyboard" option in the "Request User Input" VP element was no longer working. Now restored that function. 8. Using the left pane popup menu picks "Sort folders by name" and "Sort rooms by name" were stupid slow. Now reasonably faster. 18.0.5 1. In some cases the Tools-Find operation wasn't looking into objects that were marked as disabled. Now does. 2. In some cases the Tools-Find operation wasn't looking into expressions that occurred in Tiled displays where an expression was used in the tile label and in the text tile contents. Now does. 3. The Find operation in the programmer when looking for variables could miss some uses that are not in expressions - for example, test element when testing for a variable being either YES or NO. Now finds those. 4. A termination issue could happen if the "show variable usage" button in the visual programmer tools palette was used in some ways. Now corrected. 5. The _HCAVersionGE expression function was incorrectly implemented and would fail when it should pass in some cases. 6. The Find operation when looking into text in an element that contains embedded expressions wasn't always examining all expressions in that text. Now is. 7. The properties dialog for the email element wasn't correctly repositioning controls when it was drag resized. Now does. 18.0.3 changes from 17.0.56 1. Periodic device poll is now suppressed if the device is disabled or suspended. 2. Added new inspector check for programs: elements that can timeout but are not configured to handle that. 3. Added additional arguments to _ModifySchedule for creating new schedule entries (ModifySchedule code 4) as follows: Arg9: The action of the schedule entry encoded as: 0 = Nop 1 = set-to-percent 2 = decrease by percent 3 = increase by percent Arg10: The percent value used for codes 1, 2, and 3. Arg11: # minutes for the "vary" amount in the schedule entry. This is the same as can be specified when editing a schedule entry. If zero or omitted then the schedule entry has no "vary" clause. 4. Corrected a problem with _FileOpen when creating new files that are specified by a full pathname. Previously they could have been created in the wrong folder. 5. Library imports, where the library noted a dependent package, should have received warnings if the dependent packages were not in the design and then the import would be blocked. This was not working in 17.0.56 but is now corrected. 6. Small bug resolved in Tools - Find when searching for tags. In some very rare cases the "Go" option could cause an unexpected termination of HCA. Now resolved. 7. Removed the _InsteonBeep expression function. 8. Added the _SetSchedule expression function to change the current schedule. 9. Resolved a problem with export when a schedule was referenced by a program but not selected for export. Previously it would be exported anyway. Now it is not. 10. Removed the "Nest" button from the "Interfaces" ribbon category 11. The "Voice assistants" ribbon button has been moved to the "Interfaces" ribbon category from the "HCA Cloud" ribbon category. 12. The _DarkSky expression function remains but is not operational and is listed as obsolete in the inspector. 13. In prior versions any design, file, or JSON handle passed as an argument to a sub-program wasn't valid when used in that sub-program. Now it is considered valid if it was opened by the "calling" program. 14. Added the filter option on the Library browser "Only Beta". 15. The _FileLoad Compute function didn't handle a relative path correctly when in client-server mode. This is a similar fix to the problem with _FileExists made in 17.0.36. 16. The _ObjectTagExists function was documented to process 3 arguments - the 3rd optional - but the implementation was only using two. Now the implementation matches the documentation. 17. The "Find" operation on the "Tools" ribbon category now better retains the last item searched for when re-opened. 18. The "Find" operation on the "Tools" ribbon category when searching for Tag or Tile names didn't always report when used in a program Compute function. 19. The "Find" operation on the "Tools" ribbon category when searching for Text didn't always report when that text was seen in a program notes tab. 20. The "Find" operation on the "Tools" ribbon category and the Find operation in the Visual Programmer are now much better integrated. For example, you can now use "Find" on the Tools ribbon category to look for a compute function, tile name, or whatever. Its display is non-modal so can be left open. If you use the "Open" button on a program in the results, it opens to the VP tab of that program and highlights the first element with that found item. The find-next button in the VP tools panel will move to the next. Then you can close that program, go back to the non-modal Tools-Find window and open the next program and the first location where found in that program is selected. 21. In the Compute and Compute-Test elements when inserting text using the "Ins" button or the expression builder, the edit caret is now placed just after the insert point. Makes inserting or continuing to enter the expression easier. 22. The compute function _AlertAdd for the user alert codes (1-8) with the optional second argument would generate the correct alert in the alert manager listing but internally wouldn't assign that alert to the named object. This would make _AlertCount not work. Now resolved. 23. It a class has the maintenance option enabled and if the class program is suspended, the maintenance is no longer carried out. That is, the class program isn't started since it is suspended. 24. The expression function _GetObjectProperty (name, "FriendlyName") didn't function correctly if the name is a room name. Now does. 25. A change was made with how Tags are maintained when in client-server mode. Previously any tag change done by a program resulted in a message from the server to the client. The client is no longer updated immediately. Now the tags are retrieved when, from the UI, you open the properties of an object that can have tags (device, program, group, etc). Since in C/S mode all programs execute on the server this change should be invisible.