Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 5.4 Beta Discussion Thread
I remember this discussion from last time, but I missed the reason as to why it was changed. I too would like to understand what drove the need to change as I was not aware of anyone indicating that there was a problem or that there was a need for a change.

You need to get used to the new way, but I am finding that it is slower than the old - but it is what it is.
Mykel Koblenz
Illawarra Smart Home
Reply
It was changed purposefully. Other things changed around it and affected how it worked. There's some really tricky stuff related to getting things sorted by various criteria. Getting that back working via the first selected, vs, just sorting them and using them in order order was a lot more reasonable, and it's also not affected by the means by which you select the widgets, which has its advantages. If you just lasso select, then there isn't a first selected widget.

So it would have to have supported sorted order, presumably first in z-order if lassoed, or first manually selected if done that way. The other surrounding changes made that difficult to deal with, and I had a lot of other things to get done. So I did the most obvious one.

The new release will go out soon and I can afford to re-address it in the context of the succeeding betas.
Dean Roddey
Explorans limites defectum
Reply
I think this is a case that the resources out-way the benefits and its just something we are going to have to live with.

I liked the other way, but I am not going to ask for it to be put back because its relatively trivial and there are better things to do for CQC than this.
Mykel Koblenz
Illawarra Smart Home
Reply
I noticed when taking a look at the Purple Air driver implementation that it didn't have a corresponding Manifest file.
Reply
Oops, maybe I forgot to add it. Let me check that. Yep, I did. It'll be there in the next drop.
Dean Roddey
Explorans limites defectum
Reply
I'm noticing an error in the logs on one of the newest Betas around the squeezebox audio player driver.  It still seems to work, but noting the error as it's frequent which pollutes the logs.  I upgraded from 5_3_922.  I don't think it was there before, but couldn't swear by that.  I have a vm snapshot of the old version so could go back if needed and check.

Code:
05/25 11:38:19-CQC-MasterPC, CQCServer, CIDOrbSrvWorkThread_1
{
   CQCServer, CQCServer_DriverCtrl.cpp.202, Status/App Status
   A request to resume driver Audio1 was received, starting operation
}
05/25 11:38:22-CQC-MasterPC, CQCServer, CQCDrv_Audio1Thread38
{
   CQCDriver, CQCDriver_DriverBase.cpp.7556, Status/App Status
   Some fields of this driver got no initial values. Up to the first 8 are displayed.
   PLSerialNum PLItemKey CurSliderPos AddFavorite RemoveFavorite PlaylistsName PlaylistsArtworkURL PlaylistsCookie
}
05/25 11:38:22-CQC-MasterPC, CQCServer, CQCDrv_Audio1Thread38
{
   CIDMacroEng, CIDMacroEng_Engine.cpp.1833, Status/App Status
   Exception 'URLErrors.SetError' was thrown from line 561
   MEng.System.Runtime.URL
}
05/25 11:38:23-CQC-MasterPC, CQCServer, CQCDrv_Audio1Thread38
{
   CIDMacroEng, CIDMacroEng_Engine.cpp.1833, Status/App Status
   Exception 'URLErrors.SetError' was thrown from line 561
   MEng.System.Runtime.URL
}
05/25 11:38:23-CQC-MasterPC, CQCServer, CQCDrv_Audio1Thread38
{
   CIDMacroEng, CIDMacroEng_Engine.cpp.1833, Status/App Status
   Exception 'URLErrors.SetError' was thrown from line 561
   MEng.System.Runtime.URL
Reply
That's just a warning, to help us clean up some stuff. To make sure that, once a driver comes online, one of three things has happened for every readable field:

1. It's been assigned a value
2. It's been set to error state
3. It's been told that its initial default value is acceptable as is

It was found that this wasn't being enforced, so this msg is posted to let us know about those fields, so they can be dealt with. In some cases it may be that a field is marked read/write when it's really just a write only field, so that can be addressed as well. The easiest thing is to just put a call to SetAllErrStates() right after the setting of the fields, to make sure any not set will end up in error state until they get a value from the device.

Some of those (like Add/RemoveFavorite) look like they should really just be write only. The others just need to get set to error state until they get set, or some default value needs to be put into them up front.
Dean Roddey
Explorans limites defectum
Reply
(05-25-2019, 10:48 AM)Dean Roddey Wrote: That's just a warning, to help us clean up some stuff. To make sure that, once a driver comes online, one of three things has happened for every readable field:

1. It's been assigned a value
2. It's been set to error state
3. It's been told that its initial default value is acceptable as is

It was found that this wasn't being enforced, so this msg is posted to let us know about those fields, so they can be dealt with. In some cases it may be that a field is marked read/write when it's really just a write only field, so that can be addressed as well. The easiest thing is to just put a call to SetAllErrStates() right after the setting of the fields, to make sure any not set will end up in error state until they get a value from the device.

Some of those (like Add/RemoveFavorite) look like they should really just be write only. The others just need to get set to error state until they get set, or some default value needs to be put into them up front.

OK, so not really a big deal then.  That's good. I assume those changes would need to be in the driver code itself right?  Sadly, that driver was one of Jkish's I believe.   

I only noticed because I'm trying to get my logs clean so we can find that issue with the tray icon/monitor crashing.  That's still an ongoing concern by the way.  I'm trying to look into it again now too.
Reply
On the Purple Air driver you included with the beta, which I am using as a "go-by" for the Google Calendar driver I am doing, I noticed a couple of errors in the documentation.  The example JSON you included in the docs, shows a comma after the last maxtemp reading, which causes it to fail, and the location you show for the configuration file -  [cqc]\CQCData\MacroFileRoot\PurpleAir\ [moniker].json  is not where the driver looks  - [cqc]\CQCData\MacroFileRoot\\Drivers\PurpleAir
Reply
Oops, I'll update that.
Dean Roddey
Explorans limites defectum
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Official 5.4 Beta Release Thread Dean Roddey 55 7,323 06-07-2019, 07:02 PM
Last Post: Dean Roddey
  Official 5.3 Beta Discussion Thread Dean Roddey 815 151,300 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.3 Release Thread Dean Roddey 27 7,910 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.2 Beta Discussion Thread Dean Roddey 244 87,644 10-14-2017, 07:57 PM
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 13 8,804 10-09-2017, 06:49 PM
Last Post: Dean Roddey
  Official 5.1 Beta Discussion Thread Dean Roddey 453 197,129 05-16-2017, 03:45 PM
Last Post: Dean Roddey
  Official 5.1 Beta Release Thread Dean Roddey 28 19,502 05-12-2017, 05:44 PM
Last Post: Dean Roddey
  Official 5.0 Beta Discussions Dean Roddey 2,019 489,144 11-09-2016, 04:34 PM
Last Post: Dean Roddey
  Official 5.0 Beta Release Thread Dean Roddey 15 13,314 11-01-2016, 10:32 AM
Last Post: Dean Roddey
  How to obtain Beta versions? willsauter 3 3,574 07-15-2016, 04:57 PM
Last Post: willsauter

Forum Jump:


Users browsing this thread: 1 Guest(s)