Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 5.3 Beta Discussion Thread
Actually I was wrong, not the align middle button, it's whatever the bottom left button is in the Tools tab.
------------------------------------
Devices I can't stand and wish I could replace: SmartThings, Hue, Concerto, VRUSB
My vlogs: https://www.youtube.com/c/IVBsHomeAutomation
Reply
It's to space them out evenly horizontally. It was likely some unusual initial relationship between them Can you give me more info about how they were related to each other spatially and how you selected and tried to space them?
Dean Roddey
Software Geek Extraordinaire
Reply
Nevermind I was able to reproduce it. I think it's related to the order they were selected in (or their natural order if you lasso select them) so the wrong one gets picked as the starting point, and that can cause others to get pushed off the template.
Dean Roddey
Software Geek Extraordinaire
Reply
I've been banging on the Z-Wave driver. I'm fairly close to the guts of a working scenario. The msg I/O stuff is pretty solid now. But I decided to give in and move to an asynchronous scheme for getting all of the individual units up and going. Synchronous is simpler, but it doesn't deal well with failures or possibly flaky units. This way, most of the work to get all of the info we need about each unit can be done by sending a msg and not waiting for the reply, and just going on to the next one. If the reply comes in, the unit stores that and sends out the next request. If it doesn't it will retry it in a while. In the meantime other units can continue going. So it allows for a lot more overlap, which should speed things up quite a bit.

That's another one of those 'flip it inside out' scenarios. Anyway, I was close to getting it back up to where I was before, but with this new scheme in place. I should hopefully get it to there tomorrow. I'll implement the getting of initial field values as part of that scheme as well, which is a missing bit currently.

Basically the driver will wait for a certain amount of time, checking the list of units to see if they all have reached ready state. When they do, it'll come online, or go back to regular state from replication state if it's post-replication. If some of them don't, then it'll give up and come online anyway and those will just remain with their fields in error state until they manage to get some data.
Dean Roddey
Software Geek Extraordinaire
Reply
There were more complications to deal with, surprise, but I've started banging my way through it again. It's the usual thing, it goes a little further, deal with that, it goes a little further, deal with that. It's very tricky and lots of states to get through, and how those states change is complicated by many things. But I think I've got it basically correct.

It's may end up going to come on line before the fields are initialized. There are a fairly well defined set of states I can get to for any given module.

1. Was configured and new info from the unit matches that, so it's good
2. Was configured and new info conflicts with that (fail it until the user intervenes)
3. Was not configured but we got the manufacturer ids and we have support for that type in our library, so we can set it up automatically.
4. Was not configured and we either didn't get man ids or we did but no match, so has to wait for either the user to select something, or to select a generic handler if available, or for new support in the driver.
5. It failed in a reasonable time to respond to requests for information, so it's failed pending user action

At that point, we know which units we have that are viable (#1 and #3), and we can create handlers for those, let those handlers tell us what fields they need, and register them.

Then the driver can come online and the unit handlers will start getting their fields set up. Of course it would be nice to wait until all the fields are set up. But that could be a while in some cases, and a fairly ragged affair. Maybe I'll just pause for a bit to give the ones that are going to quickly get going to get going, then come online. The others will or will not fill in as time allows.

For non-listeners (battery powered, non-beaming), those we know won't have any values until they send us a wake-up on whatever period they are configured to do that. Our auto-config will set that to a somewhat aggressively short time, which will be a bit worse on batteries but a lot better to get those fields updated in a reasonable time.

Of course, in this new scheme, we could just automatically auto-config, and periodically re-do it to make sure it's still good. But since our driver is not the master, that's something of an issue, since we could undo changes made via the master controller.
Dean Roddey
Software Geek Extraordinaire
Reply
As a secondary controller will this be able to respond to locks and the user codes used with them? Eg trigger an action based on what code is used to unlock the door?
|Z-Wave|Sonos|Tivo|Hue|Plex|Roku|MyMovies|Echo|
Nest|Harmony|Neeo|LG TV|Smarthings|
Reply
That's not something that is affected by it's being a secondary or primary. Any controller can do that as long the code supports it and the lock is setup appropriately to send notifications to the controller, which will be the case for this driver.
Dean Roddey
Software Geek Extraordinaire
Reply
Can I ask that we have a new actions added - CastTTS and CastWav - to allow us to cast audio to Google home devices and other cast supporting devices.

Having a mini in the how now as well allows me to play with the differences between the echo and google home (GH) and the GH has the ability to play audio cast to it. This is perfect for TTS announcements or playing wave file for when you dont have a client that is always on with a speaker.

If you find that the echo can support this type of functionality as well then similar commands for it as well.
Mykel Koblenz
Illawarra Smart Home
Reply
So I’m doing this with smarthings now and I’ll be able to do in CQC.
|Z-Wave|Sonos|Tivo|Hue|Plex|Roku|MyMovies|Echo|
Nest|Harmony|Neeo|LG TV|Smarthings|
Reply
If 'casting' involves streaming the data to the device, then it can't be just a simple command. It'll have to be something that probably runs asynchronously in the background or something like that. So not a simple thing to do.
Dean Roddey
Software Geek Extraordinaire
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Official 5.3 Release Thread Dean Roddey 0 886 10-17-2017, 07:13 PM
Last Post: Dean Roddey
  Official 5.2 Beta Discussion Thread Dean Roddey 244 33,011 10-14-2017, 07:57 PM
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 13 3,802 10-09-2017, 06:49 PM
Last Post: Dean Roddey
  Official 5.1 Beta Discussion Thread Dean Roddey 453 85,636 05-16-2017, 03:45 PM
Last Post: Dean Roddey
  Official 5.1 Beta Release Thread Dean Roddey 28 9,349 05-12-2017, 05:44 PM
Last Post: Dean Roddey
  Official 5.0 Beta Discussions Dean Roddey 2,019 228,328 11-09-2016, 04:34 PM
Last Post: Dean Roddey
  Official 5.0 Beta Release Thread Dean Roddey 15 8,873 11-01-2016, 10:32 AM
Last Post: Dean Roddey
  How to obtain Beta versions? willsauter 3 2,040 07-15-2016, 04:57 PM
Last Post: willsauter
  Official 4.7 Beta Release Thread Dean Roddey 21 9,198 04-23-2015, 04:20 PM
Last Post: Dean Roddey
  Official 4.7 Beta discussion thread Dean Roddey 295 45,676 04-23-2015, 04:19 PM
Last Post: Dean Roddey

Forum Jump:


Users browsing this thread: 1 Guest(s)