Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 5.4 Beta Release Thread
#31
5.3.931
  • My safe enum work broke the drops downs where expression types are set. It is a sort of messy scenario and I missed reproducing the messiness correctly when I updated that. It wasn't skipping the first 'None' statement type when it loaded the statements (after unused and reg ex) and that pushed everything down one in the list. The data on disc was fine, but it would show up wrong in the dialogs when you edited them.
Dean Roddey
Explorans limites defectum
Reply
#32
5.3.932
  • The Z-Wave driver doesn't attempt to send queued msgs for battery powered units when it gets a NIF. This should be done since we can't really get a wakeup in most cases until we get configuration msgs sent (to set up associations, to set wakeup interval, etc...) And some devices will only send a NIF in response to the user pressing a button or something, and if even if they do they often wil only send them via associations, not broadcast. So sending the queue in response to the NIF helps us bootstrap the process.
  • The thermo set point Z-Wave CC handler was incorrectly calculating the precision divisor. Instead of doing 10 to the 'decimals count' power, it was doign 10 TIMES the decimals count. So it would get, say, 20, instead of 100. That would make the set point come out way too high if any precision digits were being reported.
  • Currently, if a new trigger is added to a field, the latching state is being set back to 'first' state, which is used to prevent bogus triggers when we get the first value for a field. This causes the next transition to be ignored even though we could correctly send it. The latching state has been kept up, even if not latching or even if no trigger is installed. So it's correct and can just be left alone.
  • My recent code updates broke the media repo manager. If you add a collection manually, the initial item count is zero, and it tries to set a collection to zero size which fails.
  • My recent work introduced a bug into the repo manager that causes an error when you try to add a new collection manually.
Dean Roddey
Explorans limites defectum
Reply
#33
5.3.933
  • Somehow the default error state on field values was set to false instead of true, which happened many years ago. This means that any fields that a driver doesn't write to will end up not in error, but with a default value. That's not good, but changing that now would be a mess. So, instead add a 'first write' flag that can be used to watch for the first actual value being stored
  • The event monitor tab isn't accounting for the border when it calculates the area in which to display the information. Actually it's the scrolling text output window that it uses. This causes the bottom line to get interfered with when scrolling, often leaving some droppings there. Also, when doing consequtive color filled lines, something is messing up and it always leaves a pixel of background color between them when scrolled. So, for now, change the format to avoid this, and I think it looks nicer as well.
  • Add a check, after a successful return from the driver connect callback, to see if any of the fields have not been written a value to yet, and log a message if so. This will help us start to weed out these issues so that we can eventually set the initial error state to true and such fields will come up in error state.
  • For those drivers that have to be prepared to come up without all of the fields necessarily being ready, such as the Z-Wave driver, becasue there's no way to guarantee we can get the values up front, add a SetAllErrStates() method to the C++ and CML base driver classes. The driver can call this upon field registration to initialize them all to error state. Any that don't get set will then be initially in error state. But, the will be marked as having been explicitly set to a state, and won't cause the above log msg to be generated.
  • Update the new Z-Wave driver to call the above error state initialization method. Others may later need it but this is the most obvious one that we know does.
  • Add a new method to C++ and CML drivers called UseDefFldValue(), which lets them just tell the driver that the default initial value is acceptable. For readable fields that aren't driven by device data, this may be more convenient than having to do a field write of the appropriate type with the appropriate data.
  • As a start, get all of the simulator drivers up to date so that they don't have any uninitialized fields. These were used to work out the above stuff.
Dean Roddey
Explorans limites defectum
Reply
#34
5.3.934
  • The SetAllErrStates() method should NOT affect the special stats collecting fields.
  • Adding SetAllErrStates() call to Z-Wave driver broke it because that cause would be rejected once past connected state, and if you save config the driver has to re-create/register the fields and it would be called again and fail. It should be legal to call it after connection. The driver just has to be reasonable about why/when it calls it.
  • The NewConfig field of the Z-Wave driver wasn't getting an initial value set, which the above pointed out, so it was fixed.
  • My recent safe enum changes, which required changes to how collections are created, caused a mess in the HTTP support code. Any URL with no outgoing header lines, and probably any incoming without any incoming header lines, would create a zero sized collection which isn't legal. It's only because that's pretty uncommon that it didn't show up immediately. But apparently it does happen at least in some circumstances, such as the Nest driver (though it doesn't happen to me when I run it, probably dependent on configuration of the Nest hardware.) Probably it would have bitten some other things.
Dean Roddey
Explorans limites defectum
Reply
#35
5.3.935
  • The recent changes related to converting to type safe enums broke the IR/trigger related drivers because something out of date in the manifest files is now getting caught and so it fails to load the manifest. So update those manifest files.
  • Have the CmpDrivers test program watch for IR drivers and test the extraction of the fixed prompt values, just to catch future issues such as above. There's already a helper to do that extraction so no need to duplicate the code.
Dean Roddey
Explorans limites defectum
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Official 5.4 Beta Discussion Thread Dean Roddey 334 22,439 55 minutes ago
Last Post: Dean Roddey
  Official 5.3 Beta Discussion Thread Dean Roddey 815 118,097 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.3 Release Thread Dean Roddey 27 6,150 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.2 Beta Discussion Thread Dean Roddey 244 77,047 10-14-2017, 07:57 PM
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 13 7,610 10-09-2017, 06:49 PM
Last Post: Dean Roddey
  Official 5.1 Beta Discussion Thread Dean Roddey 453 175,221 05-16-2017, 03:45 PM
Last Post: Dean Roddey
  Official 5.1 Beta Release Thread Dean Roddey 28 17,437 05-12-2017, 05:44 PM
Last Post: Dean Roddey
  Official 5.0 Beta Discussions Dean Roddey 2,019 452,428 11-09-2016, 04:34 PM
Last Post: Dean Roddey
  Official 5.0 Beta Release Thread Dean Roddey 15 12,354 11-01-2016, 10:32 AM
Last Post: Dean Roddey
  How to obtain Beta versions? willsauter 3 3,195 07-15-2016, 04:57 PM
Last Post: willsauter

Forum Jump:


Users browsing this thread: 1 Guest(s)