Profile cover photo
Profile photo
casey chesnut
44 followers -
www.brains-N-brawn.com
www.brains-N-brawn.com

44 followers
About
casey's posts

Post has attachment
What can I say, audio books

'What can I say' - lists the names of the high level grammars, used to partition related functionality. e.g. Audio Book Controls, Weather

'What can I say about Audio Book Controls' - this will list all the commands from the Audio Book Controls grammar. e.g. play audio book X.

'What can I say skip' - this is just a free form search, that will search across every command from all the grammars. So it returns the commands from both Music Control and Audio Book Control grammars.

#speech

Post has attachment
Speech visualization when lights are on prior to the beginning of speech synthesis. Also returning state to initial color/brightness prior to speech. When initially off, it flashes 1 bulb on (default color). When initially on, it flashes 1 bulb off (maintains color).

#philipsHue  

Post has attachment
Eva, switch voice/accent to ...

Noticed a bug when listing accents. It switches back to the default Helen voice, instead of using the voice i'd just switched to (Zira Pro); will have to fix that.

#speech

Microsoft.Speech SpeechSynthesizer accents

There are 6 different TTS cultures available for Microsoft.Speech (all female voices). For System.Speech you could just set the name of the voice on the SpeechSynthesizer or PromptBuilder and the voice would change. This is not working for Microsoft.Speech. In this case, all the voices sound exactly like US Helen, except for US ZiraPro. To get the accent to change I had to set the CultureInfo on the PromptBuilder. 

got an insteon controller today. it's interesting because it is dual band (RF, powerline) and supports both X10 and Insteon protocols. I'm currently using X10 for keypads of commonly spoken commands (e.g. volume control). so i'm hoping this controller will let me continue to use the X10 keypads and start to introduce other insteon devices. but then the question is, can I code against it? there is an Insteon codeplex library, and that seems to be working for Insteon commands; but its errors out for the X10 commands. at least I know it is receiving the messages, so its something I could extend. else, the free HouseLinc software is C#, and one of its debug windows shows that it is parsing X10 commands; so I might try to figure out which assemblies I can reference and just be done with it. at least until home automation companies start providing decent dev support.

I'm using X10 now. X10 is old and cheap. its also a bit slow and unreliable, so I ultimately want to replace it. I've tried z-wave (twice), and have not had luck getting devices to pair. i'm also not sure if it will even support the scenario of having a keypad (controller) send a command to a usb (controller). now i'm trying insteon. the X10 back compat is nice, plus it has some other devices that I want to add to my home; but the devices are pricier. they are starting to roll out hubs with app support, which is somewhat compelling. also keeping an eye on zigbee. its interesting because its in both my Nest thermostat and the Philips Hue bulbs.

#x10  #zwave  #insteon #zigbee  

Post has attachment
Speech synth visualization with improved HTTP requests.

#philipsHue

The state of the Philips Hue bridge continued to deteriorate. First, it lost the external access to return its IP from UPnP. That wasn't a big deal, because it was still serving the lights on the LAN without any issues this morning. But tonight, it started rejecting ~75% of the HTTP Light API commands I was sending it. Went to take a look, and its 3rd blue light was blinking. Hmm, don't remember seeing that. Cycle power, and everything is working again. Ugh, not acceptable.

Since everything was going to hell, that's the perfect time to write failover code. I've got some code to check the overall status: bridge is found, app is initialized, and the configured bulbs are there. but I don't have a way to tell if an actual bulb has power to it. i.e. if somebody physically turned off the switch. the json response from the API calls are all success(es), and if I hit the config there is a property that says reachable is true. Edit, so I just read that the 'reachable' property always returns true, to be wired up in the future. Good, because I want eva to detect that situation and let me know before I keep parroting myself into the mic trying to get the command to work. 

#philipsHue  

Switching from HttpClient.PutAsync to running an HttpWebRequest Task is giving me the speed and control I wanted for the Hue lights. The lights are quicker to respond, I'm getting more reliable blinking effects, and its more obvious how to swallow any exceptions (fire and forget). Time to make some helper methods for staging animation effects, and then I can switch to a music visualization.

er, um ... I've got a habit of adding NuGet packages for a small bit of functionality, not being happy, rewriting that functionality, and then deleting the NuGet package. using NuGet packages is supposed to be speeding up my dev, but it ultimately slows me down.

Post has attachment
Voice note notification

this one blinks a single light from a zone to signal that a voice note has been recorded and is waiting to be played (like the red light on an answering machine [yep, an answering machine ... i'm old, get off my lawn]). right now it gets signaled to one light in every zone, and not just the zone it was recorded in.

this could use some more polish. maybe a light animation while audio recording is taking place? that'd be better than having an audible beep to signal recording, which would get picked up in the voice note recording itself. also, the resulting voice note records 'eva, stop voice note'. i need to edit that bit out, so its just the users note, and doesn't include the stop command to eva. finally, when recording is starting, i shut down all the other grammars and a lot of the error handling, which would result in eva saying 'sorry, i don't understand'; but she still sneaks one in there every once in a while, and i haven't bothered to track that down yet. when recording does stop, then the other grammars are reloaded, and she's listening for more commands than just 'stop voice note'.

for the Hue, this introduces an eva controlled timer for the blink, instead of relying on the Hue API. speaking of, when I tried to just send an alert of 'select' with the color red, it used the previous set color of white, and didn't temporarily set it to red. still thinking that's a bug. anyway, I just set it to red, and made the blink happen with multiple calls to the Light API. brute force is fun

#philipsHue
#speech  
#homeAutomation

Post has attachment
Wait while more posts are being loaded