Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 5.3 Release Thread
  • A first cut at getting the 'widget palette' window back into the IV editor. This one is based one some new underlying Publish/Subscribe architecture that makes it 'easier' than the old one. At least it makes it less likely to get out of sync as changes are made since it doesn't depend on ad hoc code all over the editor reporting changes to it, it's done at a lower level. Let me know if you see it get out of sync. Fixed a few small things found while doing all of this. Also found some stuff not re-implemented in 5.x that are now on the list.
  • Some tweaks to the Z-Wave driver to see if we can make some unhappy locks, which won't respond to secure messages, start being happy.
  • Some new unit support for the Z-Wave driver, I think four new Leviton switch, dimmer, and outlet type units.
Dean Roddey
Explorans limites defectum
  • Enable remote port access in the recently newly created C++ driver test harness, so that we can remote debug C++ drivers.
  • Add another layer of security to the remote port server by letting the user selectively expose serial ports. Normally it's not an issue since a port already in use by a driver can't be opened again anyway. But there might be devices on serial ports not currently connected.
  • Split the remote port server client side chat window out of the CML driver IDE, so that it can be used there and in the recently created new C++ driver test harness. Currently the C++ driver can't do chat. It didn't matter before because the old C++ driver test harness was a command line thingy.
  • And re-implement the remote port/chat stuff in both the CML IDE and C++ test harness now.
  • In the new Z-Wave driver, if no unit reports ownership of a field id, the driver will attempt to use the returned null pointer and cause an exception back to the client side.
  • The IV editor's 'Copy Point' menu option (which puts the editor window coordinates clicked on into the clipboard) is using a space between the x/y values instead of a comma. The latter is what it should be doing so that it can be pasted into any place where a formatted point would be used.
Dean Roddey
Explorans limites defectum
  • If you invoke the Negate action command on a local/global variable that has been created with explicit type boolean, the change in the variable's state doesn't cause the variables value serial number to be bumped so it is not seen as a change in value.
  • The Z-Wave driver's periodic 'are you alive' ping is trying to ping even write only units, which fails.
  • Convert our internal handling of incoming event triggers over to use the new publish/subscribe system, which is a lot cleaner way of doing it and deals with multiple consumers much better.
  • Do a mondo reworking of the Z-Wave driver. A lot of the work being done to gather information units really isn't required in our application. Our needs are quite specialize, so all we really care about is the most basic info: is it a listener or frequent listener or non-listener and can we get manufacturer specific ids so that we can id the unit. Since only units that have had a device info file assigned to them are even used, nothing else matters. So we can drastically reduce the amount of work required. And it means fewer unit states to understand or get through. A LOT of other improvements and fixes were implemented as well while going through the code heavily.
  • The above means that the code to get all the info on a unit, which we still need to be able to do for unknown units so that we can add support (but only upon user request now), needs to be consolidated down from the async scheme to being done within the unit info query from the client intf. This means that the query dialog has to be updated to use a bgn thread because it could take ten or fiften seconds or more on a slow system.
Dean Roddey
Explorans limites defectum
  • A few issues in the Z-Wave driver that were causing units to get mis-identified and various other weird problems were fixed.
  • The Z-Wave driver now correctly gets names from units when they have been assigned one at the Z-Wave level so it should pick those up as the initial default names instead of using the default assigned names.
  • Various other small tweaks to the Z-Wave driver.
Dean Roddey
Explorans limites defectum
  • I'd never addressed the issue of the new Z-Wave driver losing connection to the Z-Stick. It wouldn't recover from that. It will now appropriately start trying to reconnect.
  • Locks with battery level reporting may need it to be read, i.e. it doesn't just report it async. The Yale locks are that way so update them to do that.
  • Try to avoid redundant wakeups of frequent listeners by remembering the last time we woke one up, and if it's not been more than couple seconds since the last time just send the message assuming it's still awake. This should speed up doing a series of back and forths with such devices. And that of course means getting them out of the way faster so other things can be done.
  • Lots of small tweaks and fixes and to the Z-Wave driver.
Dean Roddey
Explorans limites defectum
  • The generic RGBW unit handler of the new Z-Wave driver is not marking the dimmer field as as semantic dimmer, which makes it not get picked up by the auto-config as an available field, it only finds the switch field. And of course it's not fully V2 compliant.
  • When a new interface widget is created by copying an existing one, the parent template pointer should not be copied. This was being done and it caused an error because making changes to that widget's id caused it to try to send out a publish/subscribe message which requires accessing the parent. The parent finds that widget in its list, but it doesn't exist because it's not been added to the template yet, it's just been created.
  • When evaluating states in the IV, this is a recursive process, where each overlay passes it on to its children to test themselves against their current states. But the overlay doesn't apply the operation to itself, so you can't hide an overlay based on states.
  • Something got changed on on the attribute editor recently. When there are attributes that are available or not depending on the value of another attribute, the affected ones get their readonly/writeable state set, but they don't immediately redraw to reflect this.
  • When an action is invoked by a widget, there are now four special local variables that will be available (LVar:CQCSrcWidgetUL, LVar:CQCSrcWidgetUR, LVar:CQCSrcWidgetLR, LVar:CQCSrcWidgetLL, LVar:CQCSrcWidgetCenter) which contain the coordinates of the corners of the area of the invoking widget. This allows you to do things like invoke a popup relative to the invoking widget, even if it is loaded into an overlay. You already invoke a popup with a point to put it at, by just hard coding a point into the command. But that doesn't work if the template is loaded into an overlay where its position will change based on the position of the overlay it is loaded into.
  • Add a new (fourth) parameter to the InvokePopup action command. This one lets you indicate how the popup is aligned relative to the At parameter. You can center it over the point, or put any of the corners at that point. This plus the previous change allows for a lot of flexibility for positioning popups even when the invoking widget is loaded into an overlay.
  • When the tray monitor handles a remote file invocation, it is locking before it tries to force the app ctrl window to the foreground (necessary to do certain things.) It is possible this could somehow cause some sort of deadlock in some circumstances.
  • For some reason the At point of popup/popout invocation is formatted with a space between the x and y values. The editor's copy/point used it for that reason as well. This is not the standard format for a point, so you can't paste it into a point in the attribute editor without adding the comma. So just change it to use a comma. For backwards compatibility also accept the space based version. The same for areas, though those aren't really used too many places currently.
Dean Roddey
Explorans limites defectum
  • To provide a workaround for an issue that Bryan has seen since the 1803 Win10 update, update all of the code to use a single host name query for all network operations. Create a separate one that gets an 'OS level' name, which in our case would be the NetBIOS level name, mostly just for diagnostic purposes. Update CQCNetTest to display both.
  • Update the one query created above to look for a CID_DNSNAMESTYLE environment variable. It can have the values Lower or Upper to cause the name reported back to the program to be upper or lowered cased. This is to perhaps help with the problems (hopefully interrim problems to be fixed by MS) that showed up for some folks with the Spring 2018 updatupdates (version 1803.) Some folks can only get lower case names to be resolved and some only upper case. If not set, it just returns the name as the OS API returns it, which seems to be as entered by the user when setting the host name. You would typically set this in the system section of the environment on servers, which is also secondary servers, or any machines running things like the tray monitor or using the IV's remote control interface, i.e. anything that is going to register server side functionality for other CQC machines to access. You would need to restart the machine or restart the CQC service and the IV/TrayMon programs to get them to pick it up. In the CQC installer, you can set whatever case for the MS name you want, so on a pure client (IV, no remote control) there's no need for it.
  • In the Insteon ISY driver a dual outlet/button device of type 2.57.xx should be treated as two lights, not a light and a button.
  • Do the work required to suppress event triggers while the driver is starting up and getting its initial field values. This is annoying and it only happens because the new value is always different from the non-value that was there before. This was pretty brutal, but should do the job.
  • The new Z-Wave driver's unit info query isn't initializing the id of the timer that it uses to monitor the background querying of the unit info. So, if you never hit Start and just cancel, it tries to destroy the time (since the id has a bogus, non-zero value in it) and gives an error.
  • For the new Z-Wave driver, it's quite difficult to follow the convention that all fields should be updated by the time the driver comes online, because of its async nature. But, at least add some processing at the end of the connect process to give them a reasonable chance to get a value. This also will, in conjunction with the event trigger suppression stuff above, help limit its generation of event triggers on startup of the driver. Initialize the fields to error state so any not yet set will be in error. It will make it takes longer to connect though.
  • It looks like some of the battery powered units don't report battery levels, they expect you to read them during a wakeup. So we need to be able to mark battery CCs on a per-unit basis such that it knows it needs to do this. That's something that's not been dealt with yet. For now the Eco ones we know work this way, so their device info has been updated to reflect this. Other may need to be as well, we'll have to see.

* If you are using the new Z-Wave driver, pause the driver, delete the config file, then upgrade. I had to make some changes that I can't (for a beta) justify making backwards compatible. Sorry about that.

* On the one above that is for getting around an issue in the 1803 version of Windows, the best strategy is to lock out updates (which you can do for up to 35 days) and wait for MS to fix this issue, then update. But, if you already have and are having issues, then it may allow you to get around them.
Dean Roddey
Explorans limites defectum
  • Add a CAB search that will just return up to N number of randomly selected titles for the indicated media type.
  • Finally make the changes required for the tabs in the Admin Interface to indicate visually when there are changes in a given tab. There will now be an asterisk show up beside it. It can take a few seconds to show up after a change, because I don't have a really efficient way to do this. So it doesn't try to do it too fast.
Dean Roddey
Explorans limites defectum
  • The static check box and static boolean image widgets don't use the boolean expressions, even though they do derive from the same base class as their breathren that do. So suppress those getting added to the attribute editor when its one of the static variations.
  • Add an 'auto toggle' option to the static checkbox widget. If you just want to use it for local data entry, it's a lot easier to have it toggle itself than you having to do it via an action on each one. If enabled, any action configured on the unit will happen, but the state will have already been toggled at that point, so it will invoke the action for the new state not the original one.
  • In the action editor's parameter popup menu, where it lets you insert stuff, add options to insert paths to events, images or templates. There are scenarios where you want to insert such a thing into a parameter which is not typed as such, so the helper button doesn't get you to the file selection dialog. So this will avoid the need to type in those paths in such situations.
  • In the static list browser widgets, you can ask for the visible text by index, but you can't ask for the behind the scenes user data value by index, you can only get it as an RTV. So add a GetUserData() command on those.
  • The PutCharAt command of the variables action target doesn't correctly update the changed flag on the variable so it doesn't appear to have changed value even if it has, which also makes the action trace not display the changed value since it doesn't think one happened.
  • There's no way to ask for the value of a slider widget, you can only get it as an RTV. So add a GetValue command to the slider family.
  • Some of the widgets that have images are asking for the size of the largest images as a way to set their initial size. But the images haven't been loaded at that point for a newly created widget. That can make it come out very small. So stop doing that and just return some reasonable initial size like others do.
Dean Roddey
Explorans limites defectum
  • Somewhere in the 5.x conversion, the ability to move a grouped set of IV widgets up and down in the Z-order got lost.
  • Add support to the Integra/Onkyo AVR driver for the TX-NR676 model.
  • When an action command fails because a token couldn't be expanded, the helper method that does the expansion returns a detailed msg as to why it failed, but that is not getting into the error logged by the calling code. It would help users a lot to figure out what is wrong.
  • The parameters of the RIVACmd action command should be optional. Only the command is really required.
  • Implement a built in RIVACmd to invoke a URL in a new window/tab. We can't control whether it's a window or tab. The command is /CQSL/RIVACmd/LoadURLTab, the first parameter is the URL. The second is the name to give the tab. Use the same name again and you'll get back to the same tab.
Dean Roddey
Explorans limites defectum

Possibly Related Threads…
Thread Author Replies Views Last Post
  6.x Beta Release Discussions Thread gReatAutomation 30 6,741 12-21-2022, 12:53 PM
Last Post: pilotguy7ca
  Official 5.5 Beta Release Thread Dean Roddey 46 19,142 09-23-2021, 03:32 PM
Last Post: jokermac
  Official 6.x Beta Release Thread Dean Roddey 2 1,662 04-16-2021, 05:55 AM
Last Post: Dean Roddey
  5.5 Beta Discussions Thread Dean Roddey 291 92,324 04-05-2021, 04:10 PM
Last Post: Dean Roddey
  6.X Discussions Thread gReatAutomation 1 1,408 04-01-2021, 03:23 PM
Last Post: Dean Roddey
  Official 5.4 Beta Discussion Thread Dean Roddey 441 191,519 06-15-2019, 02:33 AM
Last Post: Bugman
  Official 5.4 Beta Release Thread Dean Roddey 55 35,768 06-07-2019, 07:02 PM
Last Post: Dean Roddey
  Official 5.3 Beta Discussion Thread Dean Roddey 815 418,987 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.2 Beta Discussion Thread Dean Roddey 244 163,700 10-14-2017, 07:57 PM
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 13 15,329 10-09-2017, 06:49 PM
Last Post: Dean Roddey

Forum Jump:

Users browsing this thread: 1 Guest(s)