Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 5.4 Beta Discussion Thread
#31
Actually, it turns out that I had already written a specific handler for the Linear/GoControl WAZ dual thingie. It wouldn't even work with the new dual binary sensor handler I wrote anyway, since it's even more badly designed than that. It doesn't even use separate command classes for the two sensors.

But something I'm obviously not getting if it's not working. We need to get a trace of both sensors going to open and closed states so that I can see exactly what it's reporting. I just can't quite tell for sure from the docs what to expect.
Dean Roddey
Software Geek Extraordinaire
Reply
#32
For the next drop, for power users, I updated the action editor such that, when the focus is in one of the parameter entry fields, you can do Ctrl-F or Ctrl-D to bring up the field or driver moniker selection dialogs, for insertion into the parameter. You can do this via the popup menu, but this makes it faster for the power user type for this fairly common scenario.
Dean Roddey
Software Geek Extraordinaire
Reply
#33
(07-13-2018, 02:58 PM)Dean Roddey Wrote: Actually, it turns out that I had already written a specific handler for the Linear/GoControl WAZ dual thingie. It wouldn't even work with the new dual binary sensor handler I wrote anyway, since it's even more badly designed than that. It doesn't even use separate command classes for the two sensors.

But something I'm obviously not getting if it's not working. We need to get a trace of both sensors going to open and closed states so that I can see exactly what it's reporting. I just can't quite tell for sure from the docs what to expect.

Dean, I can't get a trace until the zwave driver is usable for something beyond a few devices.  Leaving the driver on for any length of time none of the devices that are enabled respond consistently wired, lock or battery type. I can get the WADWAZ to register open / close very inconsistently thus not possible to provide a trace.

(07-10-2018, 10:45 AM)Dean Roddey Wrote: The thing is, it seems to be reacting to all of the units. But the first time you run the client interface after loading the driver the client interface won't know about all of the units. It can't know that until you do the first replication. So it seems like it would have to be at least after you have done a replication.

BTW, I was doing some thinking last night, when I should have been sleeping. When the driver hands off an outgoing msg to the Z-Stick, there are two scenarios. It can just wait for the Z-Stick to acknowledge that it has queued the msg, or it can wait for the Z-Stick to announce that it has actually transmitted the msg. 

My strategy, for maximum speed and overlap has been to do the former for queries and the latter for outgoing commands. For queries, we don't wait around for the result. We send it, and at some point it either sends the response or it doesn't and we time out and try again (if that's appropriate.)  So there's no real need to wait around for it to be transmitted. As long as we know it's queued to be sent its fine.

But, I got to wondering that maybe I'm overrunning the Z-Sticks buffer on your systems because you have more units than me, and likely its straining a bit more to get then transmitted so there may be more re-tries which allows more time for other queries to be queued up.

So I think, as a sanity check, I should try sending all msgs in the wait for actual transmission style. That way we know we aren't going to overcook the Z-Stick. It'll be a bit slower, but safer. If it makes absolutely no difference, I can go back again easily enough. If it makes it a lot better, I'll keep that and just get rid of the option so that that decision doesn't even have to be made by the code.

When will a drop be available that contains the changes you talked about above?
Reply
#34
I'll work on it tomorrow. I have a WAZ or WAD or WASWAD or Oomplaloompa, or whatever that thingy is, coming in tomorrow. So I can test that out and get it working. Then I'll make the change for the transmission acking and get a drop up. I have some other changes in place as well so I can get those out there also.
Dean Roddey
Software Geek Extraordinaire
Reply
#35
After a pretty ridiculous comedy of errors I have it working. I was looking at why it wasn't working and it was showing the wrong handler class. I fixed that and updated everything and it still was and still was and still was. Finally I realized I had two device info files for it and the bad one winning. So I deleted that it still was and still was. Then I realized that the device info compiler first copies the files to the results directory and compiles there, and the old file was still there. So I got rid of that and the type updated. Then I decided to get rid of the specialized handler I created for it and use the new general purpose 'dual binary sensor' handler, which I can since it does send Basic commands for the first sensor (and notifications) but only notifications for the second one. Then I realized that they were doing something totally bad (using both new and old fields of the notification msg) which my notification CC impl class couldn't handle. But, I figured this might happen again so I updated it to be more flexible about what fields it looks at.

And finally it works. I just rigged a couple wires on the secondary switch so I can touch them together to test that guy.

I've also made the transmission ack temporary change as well, so that we can see if that works any better. And found a couple general code bugs while trying to figure out the above, and got those fixed (not in the driver, down in the fundamental stuff, so good to catch.)

I need to make sure I've not broken anything before I upload it.
Dean Roddey
Software Geek Extraordinaire
Reply
#36
OK, here's another 5.3.1 variation with the above changes. For the WAZ thing you will need to force a rescan on it. Pop the top and do the batteries to wake it up (red light is on), then do the rescan. Approve it and check the fields to make sure they are there. Then try the two sensors to make sure they are reporting the values.

http://www.charmedquark.com/Web2/Downloa..._5_3_1.exe

The full list of changes since 5.3.0 are:
  • Add new device info files for the GE 14284, GE 14294, and Leviton VRI06 Z-Wave units.
  • When the action editor sees that it has been opened before and goes back to the previous size/pos, the order of operations got changed somehow, so that its attempt to get the contents sized to fit is now wrong and it comes out too big, chopping off the bottom and right content.
  • The Z-Wave driver is setting the initial error state on fields of some units, without checking to see if those units have readable values. If they are write only, they won't ever get a value and hence will stay in error state forever if thusly marked, and so you can't use them.
  • When we made the changes to support relative paths for templates, we didn't update the parameters button in the action editor to deal with the fact that the path may be relative. So, in the special case where it will show you the notes for a template you are about to invoke in a popup/out, if the path was relative it would fail to get the notes.
  • There was an issue with write only fields being set to error state, fixed in the previous drop, but I missed one scenario, the switch field of dimmer units, so those would still fail when written to.
  • Add support for the Intermatic HA3 dimmer. And old one, with no async notification capabilities, but some may still be around. And that let me catch the previous issue above since it was a write only dimmer unit.
  • The GC-100 serial ports config screen doesn't make sure something is selected when you hit the Delete button, so it can get an index error popup if nothing is. It also doesn't force the first one added to be selected, which it should.
  • In the action editor, when the focus is on one of the action parameter entry fields, support Ctrl-F and Ctrl-D to pop up the field and driver insertion dialog boxes, so that you don't have to use the popup menu for those things.
  • When invoking the field or driver insertion dialogs, first see if there is any selected text and use that as the previous value. If not, then use the whole text value.
  • A comedy of errors on the Linear WADWAZ Z-Wave unit. There were two device info files for the same unit, one with the wrong settings and it was winning. Then I saw it sends basic reports for one sensor and notifications for the other, so I threw away my specialized handler and used a new general purpose 'dual binary sensor' handler. Then I realized that this unit uses the notification msgs ids in a completely non-sense way that my notification CC implementation couldn't handle, so I had to expand that out for more flexibility. But, it works now.
  • Bump up the wakeup interval we configure on the Aeon multi-sensors, because they eat batteries like crazy. That means longer before getting values after the fields get created, but oh well.
Dean Roddey
Software Geek Extraordinaire
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Official 5.4 Release Thread Dean Roddey 0 45 07-05-2018, 12:45 PM
Last Post: Dean Roddey
  Official 5.3 Beta Discussion Thread Dean Roddey 815 47,606 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.3 Release Thread Dean Roddey 27 2,757 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.2 Beta Discussion Thread Dean Roddey 244 49,765 10-14-2017, 07:57 PM
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 13 5,164 10-09-2017, 06:49 PM
Last Post: Dean Roddey
  Official 5.1 Beta Discussion Thread Dean Roddey 453 118,944 05-16-2017, 03:45 PM
Last Post: Dean Roddey
  Official 5.1 Beta Release Thread Dean Roddey 28 12,396 05-12-2017, 05:44 PM
Last Post: Dean Roddey
  Official 5.0 Beta Discussions Dean Roddey 2,019 309,476 11-09-2016, 04:34 PM
Last Post: Dean Roddey
  Official 5.0 Beta Release Thread Dean Roddey 15 10,042 11-01-2016, 10:32 AM
Last Post: Dean Roddey
  How to obtain Beta versions? willsauter 3 2,381 07-15-2016, 04:57 PM
Last Post: willsauter

Forum Jump:


Users browsing this thread: 1 Guest(s)