Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 4.4 Beta Release Thread
#1
4.4 has been released, so this thread is being closed. It will be left around for archival purposes.
Dean Roddey
Explorans limites defectum
#2
Version 4.3.900 is now uploaded. This is effectively 4.3.0 but with now we've moved towards a gesture based scheme, i.e. you can scroll things via a finger flick type gesture.

NOTE: As of 4.3.919 we support true multi-touch gestures, and much of what was said here is not completely valid, so I removed it to avoid confusion.
Dean Roddey
Explorans limites defectum
#3
Version 4.3.901 is posted. This one has a small number of drivers updates and fixes, and one actual beta type change in the HTTP parser stuff that is preliminary to some SIP support though it's not a very dangerous change, so it shouldn't be an issue.

The 'timeout extension' issue could have affected various drivers, though most are fast enough that it wouldn't tend to be affected. But it would be worth upgrading just in case anyway, and this fix would definitely be in any upcoming 4.3 followup release we do as well.

The changes are:
  • Update the Boxee driver, which has been updated to support the most recent CQC versions.

  • Forgot to remove the -Dev indicator from the Event Ghost driver description when it was added to the build.

  • The multi-line editor control doesn't check to make sure that text is on the clipboard when you do a paste operation, so it can cause an error when it tries to get the clipboard content as text.

  • Update the POP3 driver with the latest changes (configurable timeout.)

  • One so far uncaught error that was introduced back during the driver architecture re-working. The 'timeout extension' that would be added to the end time when drivers are reading msgs from devices, so that a msg coming in at the last second wouldn't timeout, wasn't always getting used properly, which could cause occasional failures to read msgs on slower devices when doing a check for asyncs (which typically use a very short timeout.)

  • Tighten up the area that the pointer has to move get out of the 'click' gesture box, so that you don't have to move quite so far to do a scrolling flick gesture. We'll see if this feels better.

  • Update the core parser engine (that underlies the HTTP client, and soon the SIP client) to support either stream or datagram sockets as the source for the data to parse, because SIP typically uses UDP as long as secure connections aren't required. Create an intermediate 'data source' abstraction that the core parser works in terms of, so that it doesn't care what the source is.
Dean Roddey
Explorans limites defectum
#4
Version 4.3.902 is posted. It has just a few small fixes.
  • A few small logging improvements for the Leviton Z-Wave driver. Move the 'unhandled report' errors up to High level, and add the same for handled reports, so that basic logging can be done without those polluting the logs. Unhandled are not failures, just informational. When we do log them, log both the name and unit id of the init. Remove a redundant logging of that unhandled report msg, so it doesn't get logged twice. And though we don't make use of it yet, put in code to handle the 'app status' report, so that it doesn't get reported as unhandled. We'll make use of it at some later point. Do log a message if it happens in medium or higher verbosity, indicating that the unit reported it was busy or rejected the request made.

  • Remove, or at least extend, the limit on touch gesture time. Currently it will not consider it a gesture if it takes more than 1.5 seconds. And, once more, tighten up the movement required a bit. Original concerns about clicks being seen as gestures seems unfounded, and the issues appear to be the other way, so a tighter grid is probably better.

  • And it was pointed out that the new scrolling gesture is backwards. It's really supposed to be 'throwing the contents', which means you want to throw it left to expose more on the right, and vice versa. Right now it's backwards, so flip it around.
Dean Roddey
Explorans limites defectum
#5
Version 4.3.903 is posted. It just has a couple small fixes and one improvement to the Z-Wave VRCOP driver.
  • The Pentair driver is showing Lutron in some logging msgs that were copied and pasted.

  • Reduce the polling speed of the Pentair driver. It's really just done to make sure the device is alive, and it round robins through some of the fields. Reduce the round time to 15 seconds. These values are reported async, so we really do only need to keep up with whether it's alive or not. It's not a fast device, so this will make it more responsive.

  • The Pentair doesn't correctly understand the return on Aux46 because of a spelling error in the driver.

  • It's not possible to delete GC-100 serial port definitions. Not sure how I failed to catch that. Add a Delete button to the configuration dialog.

  • It appears that we should respond to scene level commands, so that users can associate the VRCOP with dimmers that send out scene level reports instead of basic value reports. This way for those units that it is appropriate, they can use this to support async status reporting. Currently it's been added to binary and multi-level switches, which are the obvious ones that would use this features. It can be added to others in the future if it is found that they work similarly.
Dean Roddey
Explorans limites defectum
#6
4.3.904 is posted. It's just a refinement of the gesture support. To make it more forgiving.
  • Take one more whack at honing the gesture support, to make it more forgiving of moving off of the line of gesture direction. It should be pretty good now. Basically anything more horizontal than vertical will be seen as a horizontal gesture and vice versa. The Back command (currently only used by the CAB to do the Back command) still needs to be pretty strict, straight left a short distance and straight up a short distance.. Else it's not possible to distinguish it from a scroll command.
  • There was also a really dumb bug in the gesture support which made it not always sense a legal gesture.
Dean Roddey
Explorans limites defectum
#7
Version 4.3.906 is posted. This one includes one new feature for the Logic Server, and a few little fixes and improvements. The Logic Server improvement condenses into one simple thing what it used to take some fairly kludgey moving bits to make happen, namely tracking how long devices have been in a particular state. It used to require multiple triggered events and such. Now it's done for you in a new Elapsed Time field in the Logic Server.
  • Add a new "Elapsed Time" field to the Logic Server, which will track how long one or more fields have been in a particular state. It can either reset to zero each time that state is reached, so that it tells you how long since it became true last. Or, it can just stop accumulating when the state is not true, and start again when it is, so that it tells you cumulatively how much time has been spent in that state.

  • While doing the above, it was noticed that the Logic Server's ummm... logic wasn't quite right wrt to processing the online/in error state of the source fields. This could sometimes cause the LS fields not to come online even when it should have been, for the ones that don't depend on changes in source fields to need to update (such as Running Average, and the new Elapsed Time one.) That has now been fixed. It also makes it somewhat more efficient, since it was also often reporting a change in a field's value when it really hadn't changed, which would cause any clients looking at those fields to update unnecessarily.

  • Show both hex and decimal format for the driver thread ID in the host admin dialog. Some tools only show the thread id in decimal, so this will make it easy to find a particular driver by thread id.

  • A silly error could allow a second instance of the name server to run, instead of rejecting the second instance and making it close back down. This could cause an already non-optimal situation to get worse.


The new Logic Server field can be quite useful. Basically it has two flavors, auto-reset and non-auto-reset. The difference is:

Auto-Reset will set the accumulated time back to zero when the result of the expressions goes false. So it only shows you how long something has been true since it last became true. So, for something like "how long has the garage door been opened since it was last opened", that would be an auto-reset. Each time the garage door closed it would reset back to zero and only start counting again when the garage door opened again.

The Manual-Reset ones don't reset the time counter unless you manually do so. So they track the overall cummulative time that something has been true. It would be useful for things like, "how many minutes each day has the HVAC been in Cool mode" and things like that. When the expressions go false, it stops accumulating time, but doesn't reset. When they go true again, it starts adding more time to what it already had.

To reset a manual reset one, you can send a backdoor command to the Logic Server driver. Use the Devices::SendDrvCmd action command. The command id is ResetElapsedTmFld, and the data value is the name of the field to reset. It has to be an Elapsed Time field. It doesn't technically have to be a manual reset one, so you could reset an auto-reset field if you wanted.
Dean Roddey
Explorans limites defectum
#8
Version 4.3.907 is posted. It adds another feature that makes the new Logic Server field above more useful, and is also very useful in various other ways in and of itself.

This is the concept of 'latched field change triggers'. When you put a trigger on a field and it's of the 'expression' type, it can now be latched or unlatched. In most cases unlatched is what you want. Every time the field changes, you want the expression to be evaluated and, if it comes out true, for the trigger to be sent.

However, in some cases, such as waiting for some time field to run up to a specific value, it's always been a problem because once it goes over the set value, every time the field changes, and that's often constantly if it's a timer type field, the trigger will be spit out again and again. This can lead to a constant barrage of triggers being spit over the network and unnecessary load on those programs that accept and process them. It also probabl means that whatever triggered event you have set up is now going to run again and again, usually not what you want.

Latched triggers act differently. Once they are triggered, because the expression comes out true, they will not re-trigger until they see the expression first go false, and then back to true. So, once true, they will stop sending out triggers even if the expression continues to be true. When they see the expression go false, then they will start watching for another transition to true and will once again send out a single trigger.

The changes for this version are:
  • The command editor dialog isn't capturing the shutdown request handler that is invoked when the user pressed escape in a dialog box. So it will just shutdown without any prompting if you hit escape, losing any changes. It should prompt before exiting.

  • Add the ability to have 'latching' field change triggers. See the comments above.

  • The little field value selection popup dialogs need to support Time based fields, because they are some of the most annoying to select a value for, since the are in 100-ns increments. Now it will work for Time fields and will present hours, minutes, and seconds spin boxes that you can set to indicate some elapsed time value. It will then insert the actual hex encoded value appropriate. It will also parse incoming values and set up the spin boxes appropriately.

  • Add support for the field value selector to the field change trigger editing dialog, so that you can select comparison values interactively now when setting up an expression based field trigger.

  • The field value class (used internally in CQC to hold field values in various places) for Time based objects format their value out to Hex, but don't use the 0x prefix. So change them add that when formatting their value. This insures that any code that attempts to convert the value to binary will work correctly without having to explicitly indicate a hex radix. There is some small chance this could break some third party code that is prepending the 0x prefix themselves, and now will end up with two. If it's just for display it will only be a small annoyance until it's fixed. If that value is later used to convert to binary or write out to a field, it could break because the two prefixes will make it an illegal value. It's probably not very likely, and very easily fixed if it happens, but it's possible. But this needs to be done for improved simplicity and consistency in the future.
Dean Roddey
Explorans limites defectum
#9
Version 4.3.908 is posted. It just includes a few small fixes.
  • The Z-Wave driver is marking modules as 'failed' sometimes when they are just not responding. This prevents them from every being polled so that they can be picked back up again when they are plugged back in.

  • The room configuration dialog has a basic flaw that can really confuse people. If a referenced moniker is no longer present, it doesn't add that moniker to the list and select it. It just goes to None, but the value is still set in the config (and that's appropriate since we don't want to undo someone's config just because the device isn't connected at the moment.) But it looks like it is no longer there, when it is, causing mysterious error messages. So have any previously configured value forced into the list and selected, even if not present in the system currently.

  • The window based interface engine, which is used to drive interfaces on real windows (IV and inside the Admin Intf) doesn't protect itself from there being no/bad lat/long info, and the thrown exception will not be caught and cause a shutdown. It should be caught and displayed and the initialization just failed, instead of having the program fall over.
Dean Roddey
Explorans limites defectum
#10
Version 4.3.909 is posted. It just has a few small fixes, and one small addition to support stuff required by the new room config based Android/iOS apps.
  • A while back we added support for media item level images in the repositories. This allows you to get the right cover art for the current item when playing items from a playlist type of collection. Otherwise you'd get the playlist art for all of them. The XML GW was never updated to handle this, so do that. All it requires is an addition to the CQCGW:Type attribute of the CQCGW:QueryMediaImg msg, to include an Item value, in addition to the existing Col and Title values.

    However, it raises an issue with caching and the GW based apps can't use it yet. The item cookies can't be used to create a unique cache key, because it would cause the same image to be cached for each item in a collection redundantly. So our new Android app can't be updated to use it yet, nor can any others. Some scheme to address this issue will be dealt with in the 4.4 time frame.

  • Add a little more semantic field type marking in the Insteon ISY driver, to make it more auto-generation friendly for lighting load control.

  • The XML GW server doesn't support doing backdoor driver text queries. This is something required to complete the room config based Android/iOS clients, so add that support now so it'll be there for the official release and folks won't have to use betas in order to use these apps.

  • The Tray Monitor needs to deal with closing down stuff if the machine hibernates, since it's the kind of program that will run on clients that will do that. So it needs to stop stuff when that happens, and then crank things back up when it comes back.

  • The iTunes repo driver should be building up the unique album id (which is how tracks are associated into collections in the repo) from the album artist and album title, not the track artist and title. Using the track artist means that compilations will show up one item to a title set, because they will all have different track level artist names. You still need to make sure that you force iTunes to set the album level artist for compilations, since it's not always there in the metadata it downloads. Regular albums don't matter since they will have the same artist for every track.
Dean Roddey
Explorans limites defectum


Possibly Related Threads...
Thread Author Replies Views Last Post
  5.5 Beta Discussions Thread Dean Roddey 8 354 07-07-2019, 11:32 AM
Last Post: Dean Roddey
  Official 5.5 Beta Release Thread Dean Roddey 2 162 07-07-2019, 11:28 AM
Last Post: Dean Roddey
  Official 5.4 Beta Discussion Thread Dean Roddey 441 44,393 06-15-2019, 02:33 AM
Last Post: Bugman
  Official 5.4 Beta Release Thread Dean Roddey 55 7,938 06-07-2019, 07:02 PM
Last Post: Dean Roddey
  Official 5.3 Beta Discussion Thread Dean Roddey 815 156,314 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.3 Release Thread Dean Roddey 27 8,296 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.2 Beta Discussion Thread Dean Roddey 244 89,665 10-14-2017, 07:57 PM
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 13 9,042 10-09-2017, 06:49 PM
Last Post: Dean Roddey
  Official 5.1 Beta Discussion Thread Dean Roddey 453 200,898 05-16-2017, 03:45 PM
Last Post: Dean Roddey
  Official 5.1 Beta Release Thread Dean Roddey 28 19,955 05-12-2017, 05:44 PM
Last Post: Dean Roddey

Forum Jump:


Users browsing this thread: 1 Guest(s)