Monday, April 2, 2018

Google Home vs Amazon's Alexa for voice control of automation.

I see someone ask this almost every day in one of the automation groups. As hard as these guys are working to out do each other which is better ALL depends on what you want to do AND what day it is. There is no sign they will even play nice with each other so you still probably want both for the near future if not long term. To answer which is better for you, if you have to have just one, you need to fall back to the old list method. What is it you want from voice control? Any deal breakers? Now look at the latest (like within the last week) reviews and announcements and check off your list. Seriously though if you are getting into home automation $50 is not that much to risk on just trying them both out. Each of you sensors and controlled devices is going to run about the same $30-50. Keep an eye out for sales and you could get a Dot for as little as $29. Google express and Wal-mart had a deal going on for months where you could get $25 back on the $50 price.

Talking to home automation is at least 80% what I use these for. The remainder is almost all adding stuff to lists and alarms / reminders. So here is an exchange I have almost every day which drives me nuts and to me sums up the argument as far as which is better for home automation voice control is concerned. It is not always this bad but it has been all too often.

(Note from memory so maybe not exact phrasing and Alexa follow-up on.)

me: Alexa, turn on TiVo
Alexa: I can not find TV
me: Hey Google turn on TiVo
Alexa: I don't answer to that
Home: Sure for that you might to ask Harmony. Would you like to try that?
me: Yes
Home: I was unable to verify your voice. Please try again or adjust setting in app.
me: Alexa, turn on TiVo
Alexa: I can not find TV
me: Hey Google turn on TiVo
Alexa: I don't answer to that
Home: Sure for that you might to ask Harmony. Would you like to try that?
me: Yes
Harmony: Turning on TiVo.

Sometimes either will even work first try. It is interesting to note though Google always knows I want TiVo and only fails allowing me to turn it on while Alexa fails realizing while there is no TV on my list there is a TiVo. It would seem Alex's problem would be easier for developers to fix given it has a list of items to compare to what I asked for. As in if item is not located, do fuzzy search and ask did you mean [closest match]?  Another example is Iris3 (my north security camera server). Alexa has no trouble at all with Iris2 and Iris4 but is almost pathological in not understanding Iris3. While Google gets it right every time.

On the flip side, I like Alexa's integrated list features better (though both are lacking in my book) and when I'm ready to go to bed I say Alexa, wake me up at 7 AM [pause for response] Goodnight and kicks off the event which confirms everything and if is puts house into sleep mode. I think can almost to the same with Google too (you need to use the word and between command phrases) but the Alexa sequence works well and feels more natural to me. It is also kind of cool that with follow-up turned on (the bit that let's you ask more than one thing with out saying her name again, usually) you can say "thank you" to end an exchange and she gives you a random friendly reply like "You bet!" So for today anyway I'm leaning Alexa. But I have the mix. As of this writing I have an Echo, a Home, a Show, 2 Minis, 7 Dots and 2 Wands.

Oh and as far as answering general questions I think Google has been able to answer about 10% of the time and Alexa about 5% but that could well be what I'm asking.

Update Jan 6 2019

I finally defined TV as an alias for TiVo. That worked for awhile then it started saying it it could not find TiVo (literally Tee Vo) as a device. Currently when I say "turn on Tivo" I often get "can't find that channel" then "can't find device Tivo" then finally it works on third try. Oddly it does seem to get Iris 3 better these days.

Since the above post I add a 3rd gen Dot for over half off mainly just to try. I also added a Fire tablet 8 and 3 Fire tablet 7s (3 for $78 on sale Prime day!) connected to external speakers as virtual Amazon Shows that can also run the Homeseer app to play announcements plus display / control connected devices. For the most part the Fire tablets work great for this though they do seem to lose contact with Homeseer from time to time.

On the plus side I picked up a couple pairs of Echo Buttons during the holiday sales for just $14 ($7 a button). You can hang up to 4 off an Echo device. Note one downside is you do not seem to be able to give them a name and the names they get are pretty useless like EchoBtn2LB and EchoBtn2WT.

Personally I find more and more I'm only using my Google devices for non automation related actions. I have not felt the need to add any. When the Alexas screw up I just reach for a remote, button, tablet or browser depending on which is closest.

Last my Wands do not seem to even be able to tell time now. They are still connecting WiFi so hard to say what changed without doing packet level debug. Since they were pretty much worthless when they did "work" I do not see much point in trying to sort what is wrong.

Monday, February 26, 2018

Link aggregation on Windows 10?

Basically this is to increase the throughput to a a higher end NAS like the Synology 12 bay NAS DiskStation DS2415+ (Diskless) I use. By adding a multi port board like Intel's Pro1000 (EXPI9404PTL) and using what Windows calls teaming you are supposed to be able to increase bandwidth between your workstation and NAS up to the number of ports linked on each end. For example with all 4 ports of the Synology linked and the 4 ports of the Intel card linked you should have a theoretical max bandwidth of 400 Gb/s which is almost local SATA speeds. But there are some catches not the least of which seems to be that Microsoft seems to be trying to force you to upgrade to server versions of their OS in order to use teaming. This means you have to hack around them to get it set up and upgrades may undo you workaround and have to be done again. This happened to me just this morning.

Doing some more research however shows that usually even with 4 ports available on both ends the link aggregation algorithm will only use one. A good explanation can be found here. To confirm this I set up my Synology with 2 ports linked on each of 2 networks and the workstation with 1 on one network (mounted as drive T)  and 4 teamed on the other (mounted as drive S).  LAN Speed Test showed no difference between using either network connection.

Though it also returned these results for a local 8 TB drive like is in the NAS (D:) and a Samsung 840 EVO mount locally as E: so I'm not sure that means much.




A better test might be doing a copy to from one folder on the NAS to another via the single workstation port

And via the 4 teamed ports

Note those are Bytes not bits per second. Not that much faster peaks though more consistent.

Just to confirm, after linking all 4 of the Synology ports together we do not see any more improvement in speed either because 4 port link aggregation really only provides 4 times the bandwidth to 4 or more devices.


Note the theoretical max for a  1 Gb/s port is 128 MB/s. 

So this seems to confirm teaming 2 connections might help some but it is unlikely you will get anything near a 2X bump. A third is unlikely to help at all unless you have high volume going to more than 2 places at once. And so on.

Just for fun I ran Crystal Disk Mark to get some comparative read/write times.
A Samsung Electronics 840 EVO-Series 250GB SSD

WD Red 8TB NAS Hard Disk Drive (what is in the NASs)

Synology 12 bay NAS DiskStation DS2415+ in SHR-2 mode

Drobo5n in SHR mode

Instructions for setting up teaming on Windows 10

So if after reading all the above you still want to team your ports here is what you do.

1) Download ProSet (PROwinx64.exe) Intel download site. Lookup “Intel Network Adapter Driver for windows 10” currently ver. 22.10

2) Run and install the exe (keep the file, you might need it again).

3) Find the temp folder the the drivers where put in (install does NOT install the ones we want) by looking for PROUnstl.exe in your users temp folder (C:\Users\{your username}\AppData\Local\Temp)

Use that to local the PRO1000 folder. Copy the PRO1000 folder to some where safe as you will be needing it often.


Adding teaming to Pro1000:

1) For each Ethernet port, go to properties->configure->driver and click “update driver button”
Note yours will not mention teaming if this is your first time through this process.

2) Choose “browse my computer for driver software” then “let me pick from a list…” then “Have desk”

3) Browse to where you copied the PROWin64 files and browse to \PRO1000\Winx64\NDIS65

4) You will see about 5 inf file there. Choose the 1st one (you will need to keep track of which one you used)

5) From the list of adapters scroll down and choose 82579V Gigabit Network Connection.

Note ignore this warning


6) Finally, repeat steps 3-8 for each of the 4 ports.

7) You’ll probably need to reboot at this point, after that you will see new teaming tabs in the Ethernet port properties.

8) For first Ethernet port, go to properties->configure->driver and click “update driver button”
You should now have a teaming tab. Select new Team is one is not already defined from previous run and select all the ports you want in the team.
You now have your ports teamed on your Windows 10 PC but as I said at the start you may need to come back and do this all over again after an update. Also this assumes you have also linked the ports on switch as well. For Unifi this would look like this.