Monthly Archives: December 2016

OK, Let’s talk about IP cameras

NOT WebCams, but IP cameras.

WebCams need to be connected to a PC to work the last time I checked (it was probably 10 years ago, so things could have changed), but I use IP cameras, D-Link DCS-9xx series. These allow you to view your camera over the web.

I have had these for many, many years, the one I watch my front yard is REALLY OLD!

DCS-900

. . . and it faces the West so in August the sun is BEATING down on it at 5pm. It has so-so resolution, but it has the best light range of all my cameras. My newer ones do have night vision, and in my basement you can see great in pitch dark, but the one for my front yard shines through a window so the infrared? light it uses reflects off the window so you can’t see anything. I haven’t messed with outside cameras, those are usually $300+ a piece.

Before I get much farther . . .

Since a lot of you are downloading the iPhone app, I take it a lot of you have iPhone’s. If you have a old one not being used or an iPad there is an app called Manythings.

IT IS THE GREATEST THING EVER!

I have it running on an iPad 2 and also views my front yard, it’s free (for one ‘camera’), it works on iPhone 4’s on up, it has motion detection set up by default, it saves video to the cloud for free (for a couple hour time window then you have to upgrade to see anything older), it will e-mail you when motion is detected, you can turn on the flash remotely, it’s free, it’s free, it’s free.

They now also have a Android version.

So if you have yet another phone or tablet laying around you could also use this to monitor your garage.

. . . But if you don’t have extra phone’s laying around (the picture quality is also awesome
with manythings) but phone’s for cameras get’s a little expensive.

So D-Link cameras have motion detection (not set up by default), they can e-mail you, they also can pan a tilt, none of mine do, again that was a $300 option when I started buying mine.

I just started buying one at a time as I could afford them, it was also before the cloud, but d-link does have a free app that allows you to monitor multiple cameras from a PC. So what I do is remote into my home PC from my phone and view my cameras that way. I now use Google Chrome Remote Desktop (free) to remote into my PC. Before Google Chrome Remote Desktop existed I used LogMeIn, there are several other services, use what you want.

But most cameras also come with free cloud service now so you don’t even need a PC.

I really like the ability to see everything in the blink of an eye, I don’t know if I will ever get a pan and tilt camera, there are just so many options available these days.

Other cameras I use:

Sprinkler Pi Monitor (DCS-920) OLD!

Various (930L) low cost

HD – Night Vision(DCS-935L) (Again night vision doesn’t go through windows)

Again, wireless has really rubbed me the wrong way, so I try to use wired as much as possible, and these may be the reason my wireless routers go out so often, because I have these cameras alway running. The 930’s have ethernet connections, the 935’s do not. I had the 935 in my front window for a while (night vision disabled) because the HD picture quality is great, but it was just a bit too far from my router (50 feet?) and would drop connection, so that’s one of the reasons I built my first Smart Power Strip so I could remotely reset the camera (so if you have the skills I have given you the way).

Questions, comments?
email:frank.evo2@gmail.com
Mobile users to see more click on MENU above.

Added quick timer to Free Home Automation App for Android

e-mail: frank.evo2@gmail.com
Mobile users click on MENU above.

Device Configuration Screen

Version 2.5 now allows you to use a slider on the device configuration screen to set a timer from 30 seconds to 5 Minutes.

When you set a timer a single button will be created that turns on the device for the length of time you chose.

You can start multiple timers by clicking multiple buttons, but you must leave phone on for all timers to complete.

If you only start one timer you can turn off your phone and timer will complete successfully.

If you start multiple timers and turn off your phone only the first timer to run out will complete successfully and the rest will pause until phone is turned on again.

Linking of timers is not supported.

Will add this option to Smart Hub app soon, so paying iOS users (iOS app that works with Smart Hub) can use this too. Since hub is always on multiple timers work flawlessly.

BIG BIG BIG apology to EVERYONE! – App non responsive

I am VERY VERY VERY sorry if you could not get the free apps, actually all the apps to work!

I do complain very much about copy and paste, but I do it myself and it finally bit me BIG!

the following command is I N C O R R E C T!

www-data All=(ALL) NOPASSWD: ALL

it should be

www-data ALL=(ALL) NOPASSWD: ALL

BIG BIG BIG difference!

app will not work without using capital ALL.

So you need to get on your raspberry pi and type:

sudo pkexec visudo (must use this command)

go down and change the ll to LL and ctrl – o, enter, control – x

and everything should work.

Hopefully all you free iPhone downloaders figured this out and cussed me out good, just like I would do.

Big Big thanks to Gary “the bug hunter” in Australia!

Now I have about 20 different places to go fix this . . .

e-mail: frank.evo2@gmail.com

Android Wear Voice Control

So I am starting to come around to the whole voice control thing . . .

Not as a developer, but as a user.

I have my Asus Zen 2 Smart Watch set up with hard coded commands so I can turn on all my lights, outlets, and garage door opener by voice command from my watch, from anywhere (cloud).

It works pretty well for when you are driving or outside too since you don’t have to use it only from home.

I will see how I can try to make this available to the public.

First trick is being able to configure commands for the watch from the phone and then transfer the list of commands to the watch.

I have this done.

Second trick is to get the watch to start the phone app.

I have this done.

Next trick is to send a single command from the dynamic list of commands from the watch to the phone.

I have this done also.

Now the biggest trick is to somehow allow the user to pick what voice command they want to use for each command.

For the free version it will probably just be a list of commands I pick (First bedroom on, Second bedroom on (can’t use the word two,to,too) Living room on, bathroom on, bedroom fan on . . .)

On a paid app I would probably have to have the person say the command they want, Google returns a list of “guesses” in an array, I will have to have the user confirm what they said and then I will have to make a list of commands that perform the same action, and I would have to make sure that the list of guesses Google provides doesn’t bleed into a different guess for a different command.

Just to show you how crazy using voice recognition can be here are my hard coded options I have to have coded to get it to understand what I am saying most of the time.

For some reason Google LOVES the word Vanoss, it returns this several times when you say fan off.

switch(spokenText.toLowerCase()){
case “lamp on”:
sendIt(LAMP_ON);
break;
case “lamp off”:
sendIt(LAMP_OFF);
break;
case “basement fan on”:
case “basement and on”:
sendIt(B_FAN_ON);
break;
case “basement fan off”:
case “basement and off”:
case “basement vanoss”:
sendIt(B_FAN_OFF);
break;
case “garage lights on”:
case “garage like on”:
sendIt(GAR_LIGHTS_ON);
break;
case “garage lights off”:
case “garage like off”:
sendIt(GAR_LIGHTS_OFF);
break;
case “front fan on”:
case “fruit stand on”:
case “bedroom on”:
sendIt(F_FAN_ON);
break;
case “front fan off”:
case “bedroom off”:
case “bedroom all”:
case “front vanoss”:
sendIt(F_FAN_OFF);
break;
case “basement lights on”:
case “basement like on”:
sendIt(B_ON);
break;
case “basement lights off”:
case “basement like off”:
sendIt(B_OFF);
break;
case “bird light on”:
case “bird like on”:
sendIt(BIRD_ON);
break;
case “bird light off”:
case “bird like off”:
sendIt(BIRD_OFF);
break;
case “back lights on”:
case “back like on”:
sendIt(BACK_LIGHTS_ON);
break;
case “back lights off”:
case “back like off”:
sendIt(BACK_LIGHTS_OFF);
break;
case “front lights on”:
case “front like on”:
sendIt(F_LIGHTS_ON);
break;
case “front lights off”:
case “front like off”:
sendIt(F_LIGHTS_OFF);
break;
case “toggle alerts”:
sendIt(ALERT_TOG);
break;
case “open garage”:
sendIt(GARAGE_OPEN);
break;
case “close garage”:
sendIt(GARAGE_CLOSE);
break;
case “cancel garage”:
sendIt(GARAGE_CANCEL);
break;
case “garage quick”:
sendIt(GARAGE_QUICK);
break;
case “kitchen light on”:
case “kitchen on”:
case “sync light on”:
case “st light on”:
case “sink light on”:
case “sink like on”:
sendIt(SINK_LIGHTS_ON);
break;
case “kitchen light off”:
case “kitchen off”:
case “sync light off”:
case “st light off”:
case “sink light off”:
case “sink like off”:
sendIt(SINK_LIGHTS_OFF);
break;
case “landing lights on”:
case “landing likes on”:
sendIt(BIG_LANDING_ON);
break;
case “landing lights off”:
case “landing likes off”:
sendIt(BIG_LANDING_OFF);
break;
case “accent lights on”:
case “accent likes on”:
sendIt(ACCENT_LIGHTS_ON);
break;
case “accent lights off”:
case “accent likes off”:
sendIt(ACCENT_LIGHTS_OFF);
break;
case “master lights on”:
case “master lamp on”:
case “master likes on”:
sendIt(MASTER_LAMP_ON);
break;
case “master lights off”:
case “master lamp off”:
case “master likes off”:
sendIt(MASTER_LAMP_OFF);
break;
case “master fan on”:
sendIt(MASTER_FAN_ON);
break;
case “master fan off”:
case “master vanoss”:
sendIt(MASTER_FAN_OFF);
break;
case “front door on”:
sendIt(FOYER_ON);
break;
case “front door off”:
sendIt(FOYER_OFF);
break;
case “bathroom lights on”:
sendIt(BATHROOM_ON);
break;
case “bathroom lights off”:
sendIt(BATHROOM_OFF);
break;
case “bird camera on”:
sendIt(B_CAM_ON);
break;
case “bird camera off”:
sendIt(B_CAM_OFF);
break;
case “living camera on”:
sendIt(L_CAM_ON);
break;
case “living camera off”:
sendIt(L_CAM_OFF);
break;
case “kitchen camera on”:
sendIt(K_CAM_ON);
break;
case “kitchen camera off”:
case “kitchen camera app”:
sendIt(K_CAM_OFF);
break;
case “up cameras on”:
case “upstairs cameras on”:
sendIt(L_CAM_ON);
sendIt(K_CAM_ON);
break;
case “up cameras on and exit”:
case “up cameras on in exit”:
case “up cameras on in texas”:
case “upstairs cameras on and exit”:
case “upstairs cameras on in exit”:
case “upstairs cameras on in texas”:
sendIt(L_CAM_ON);
sendIt(K_CAM_ON);
closeThis();
break;
case “up cameras off”:
case “upstairs cameras off”:
sendIt(L_CAM_OFF);
sendIt(K_CAM_OFF);
break;
case “up cameras off and exit”:
case “up cameras off in exit”:
case “up cameras off in texas”:
case “upstairs cameras off and exit”:
case “upstairs cameras off in exit”:
case “upstairs cameras off in texas”:
sendIt(L_CAM_OFF);
sendIt(K_CAM_OFF);
closeThis();
break;
case “front door status”:
sendIt(FRONT_DOOR);
break;
case “front door status and exit”:
case “front door status in exit”:
sendIt(FRONT_DOOR);
closeThis();
break;
case “deck door status”:
case “check your status”:
case “Nextdoor status”:
case “nextdoor status”:
case “backdoor status”:
sendIt(DECK_DOOR);
break;
case “deck door status and exit”:
case “check your status and exit”:
case “Nextdoor status and exit”:
case “nextdoor status and exit”:
case “backdoor status and exit”:
sendIt(DECK_DOOR);
closeThis();
break;
case “interior garage door status”:
sendIt(INTERIOR_GARAGE);
break;
case “hub status”:
case “club status”:
sendIt(HUB_STAT);
break;
case “mute volume”:
sendIt(VOL_MUTE);
break;
case “mute volume and exit”:
case “mute volume in exit”:
sendIt(VOL_MUTE);
closeThis();
break;
case “max volume”:
sendIt(VOL_MAX);
break;
case “loud volume”:
case “lock volume”:
case “louder volume”:
case “sound volume”:
sendIt(VOL_LOUD);
break;
case “normal volume”:
sendIt(VOL_NORM);
break;
case “development”:
sendIt(DEVELOPMENT);
break;
case “development and exit”:
case “development in exit”:
case “development in texas”:
sendIt(DEVELOPMENT);
closeThis();
break;
case “exit”:
closeThis();
break;
case “hub status and exit”:
case “hub status in exit”:
case “club status and exit”:
case “club status in exit”:
case “hub status in texas”:
case “club status in texas”:
sendIt(HUB_STAT);
closeThis();
break;
case “watch”:
sendIt(WATCH);
break;
case “watch and exit”:
case “watching exit”:
case “watch in exit”:
sendIt(WATCH);
closeThis();
break;
case “phone”:
sendIt(PHONE);
break;
case “phone and exit”:
sendIt(PHONE);
closeThis();
break;
case “water yard”:
case “start sprinklers”:
sendIt(WATER_YARD);
closeThis();
break;
case “cancel sprinklers”:
case “stop watering”:
sendIt(CANCEL_SPRINKLERS);
closeThis();
break;
case “garage status and exit”:
case “garage status in exit”:
case “garage status in texas”:
sendIt(GARAGE_STATUS);
closeThis();
break;
case “bedroom timer”:
sendIt(BEDROOM_TIMER);
break;
case “kitchen timer”:
sendIt(KITCHEN_TIMER);
break;
case “front door timer”:
sendIt(FRONT_DOOR_TIMER);
break;
case “landing timer”:
sendIt(LANDING_TIMER);
break;
case “basement timer”:
sendIt(BASEMENT_TIMER);
break;
case “garage light timer”:
sendIt(GARAGE_LIGHT_TIMER);
break;

Useful IoT Task #1 – Christmas Lights

So I usually swap out the white spot light bulbs over our garage with colored ones for Christmas.

Old way:

Step 1) Are the bulbs still good?
Step 2) Find a place to test them out before I get up on the ladder.
Step 3) Can’t find a place to test them so I head out side with the bulbs and a ladder.
Step 4) Leave the lights off and replace all the bulbs at once, because if I leave the lights on by the time I get to the second one it will be too hot to remove while it is on. And forget about the third one.
Step 5) Go inside and turn on lights.
Step 6) Come back outside.
Step 7) If any of the bulbs are bad, move the ladder back to the bad bulb and replace.

New way:

Step 1) Are the bulbs still good?
Step 2) Head out side with the bulbs and a ladder.
Step 3) Replace a single bulb, turn on lights from watch, replace bulb if necessary.
Step 4) Turn off lights from watch, move to next light.

Alexa . . . Alexa? . . . ALEXA!!!