Grasshopper 2.0 Released (Windows Phone)

I finally got 2.0 out the door


This application will interface with Mi Casa Verde’s Vera to control Z-Wave compatible devices around your home.

Currently supports:

  • Scenes
  • Binary Light
  • Dimmable Light
  • Thermostat
  • Door Lock
  • Security Sensor
  • Humidity Sensor
  • Temperature Sensor
  • Light Sensor
  • Camera
  • Power Meter
  • Remote Control (view only)
  • Window Cover
  • Generic Sensor

Features

  • Supports remote and local mode for UI2, UI4 and UI5.
  • Live tiles are supported for most things.
  • Background processes for live tile updates (cameras are not supported at this time)
  • Host resolver that will automatically pick the appropriate server based on your connection
  • Trial mode will display Ads and you will not have access to the fullscreen camera.
  • For quickest setup please have an account with http://www.mios.com
  • Localized for english… more languages to come
  • For more info goto http://amginecreations.wordpress.com/grasshoppper

Add voice control!
Windows Phone - Speech-Enabling a Windows Phone 8 App with Voice Commands | Microsoft Learn :slight_smile:

Thank you so much for building Grasshopper, it is one my favorite apps for the Windows Phone and I’m a happy customer and think it’s well worth the price.

A killer feature now with Windows Phone 8 would be having voice commands to launch scenes, it looks like this is possible now with in app voice commands which would be great. For example if I’m arriving home I can just hit the voice button on my phone and say “Grasshopper Unlock Front Door” and it would execute the scene I named “Unlock Front Door”. It looks like the Voice Command Definition (VCD) file can be updated dynamically, so ideally I would like Grasshopper to do this if I make a scene a tile on my start screen as these are usually the scenes I need quick access to from my phone.

If you need any beta testers, someone to bounce ideas off of or even help with development please send me a message or let me know.

Thanks!

Can you point me to any resources for .NET/Windows Phone respective to connecting to Vera?

There are no direct resources for .net/windows phone, but basically everything is simple REST http calls with JSON results. You have to build code that can make those calls and parse them… then display them to the user. All the info i needed to build my client i found here on this website. Start with the link below.

http://wiki.micasaverde.com/index.php/UI_Simple

Actually voice is one thing i’m going to try to implement after i get the first WP8 client out the door. I’m hoping to get it into beta soon.

mramgine,

I’m in Malta and If I try to download Grasshopper on my Nokia 920 Windows Phone 8 it does not show up in the store. If I go to www.windowsphone.com it tells me “Your phone’s current Country/Region setting prevents you from getting apps on the web. Please go to the Store on your phone, then try to download the app”. If I change my country to Italy or United Kingdom then it downloads OK. The local Microsoft rep says that you did not include Malta in your list of countries. Would you check to see if this is the case? Grasshopper downloads on my Windows Phone 7.5 without complaint.

Great app by the way.

Regards, David Lewis

svcondor i will look into that. Thanks.

svcondor,

I’ve resubmitted app so it should show up in all country marketplaces, including Malta. The process can take up to 5 days i believe. Thanks.

Spencer :slight_smile:

Thanks, I’ll check again in a week or two.

Let me know if you want to beta test the windows phone 8 client. I’m going to try to get it released possibly this week. If you want to check it out send me your email that is attached to your windows phone 8. This new version supports a lot more stuff.

It’s odd…for over a few months now Grasshopper won’t work unless I’m on the wifi network with the phone. If I leave the house and try to use it, it errors with:

"Vera host fwd2.mios.com did not return expected data. "

So it won’t allow me to control anything. I have to use another app in order to access the cameras at least.

I have the same problem with my remote summer house Vera2. I think that app is using wrong MIOS server. In my case it is using fwd1.mios and I got same error message.

Some months ago I got this same error using Google Crome. It was fixed by MiCasaVerde support. Now I am using server fwd5.mios.com and remote control works. (I think that MiCaseVerde changed servers and that is the cause for our problems).

So how to change default server that app is using? In my case from fwd1.mios to fwd5.mios.

I just installed this last night. Great app! I might have missed it, but are there any plans (or maybe it already exists and I didn’t see it) to add notifications. The SMS and email notifications through Vera are pretty lacking.

I don’t have current plans to add that but it is always a possibility. What kind of functionality are you looking for? If you want you can email me at amginecreations@gmail.com Thanks.

this is a seriously Great app all in all, but I noticed a few little things that hopefully some might be easy fixes…

On windows 8 Pro, (samsung slate 7)

  • I noticed that it takes the status reading before it executes the command.
    Ie, if a light is currently showing as off, and I click the light, it still shows as off (even though the light has now turned on), but if I now click the light again, the status changes to show “ON” and displays the prior Power usage for the device, even though the light just switched off… ultimateley it displays off when its on and on when its off, unless I hit the refresh button, then it updates everything correctly

  • I love how individual devices can be added to the live tiles on my start screen, I can use that for easy access to my most commonly activated devices - but, it wont allow adding of the virtual devices… not sure if this was deliberate or not, but if it allowed virtual devices tiles on the start screen as well would be great

On Windows Phone 8, (lumia 920)

  • Same reversed status reading issue as above, only some of the time the on/off status doesnt look like it updates at all… Ie, it will show off, but still give a power usage reading (when you have just turned the light off), or will show off with power usage zero when (when you have just turned the light on)… presume its the same fix over all as above

  • Voice control… I read on your help site that voice control is active, but it doesnt seem to work, and doesnt show in the list of voice controlable apps… this could be user error, but being able to get this working would make this already great app truely awesome!

Thanks for the comments. See my responses in bold

this is a seriously Great app all in all, but I noticed a few little things that hopefully some might be easy fixes…

On windows 8 Pro, (samsung slate 7)

  • I noticed that it takes the status reading before it executes the command.
    Ie, if a light is currently showing as off, and I click the light, it still shows as off (even though the light has now turned on), but if I now click the light again, the status changes to show “ON” and displays the prior Power usage for the device, even though the light just switched off… ultimateley it displays off when its on and on when its off, unless I hit the refresh button, then it updates everything correctly

This is most likely because of a polling issue. Basically after you execute a command and you go back to the main page it will do a refresh. It will wait up to so many seconds to see if a change has come in before coming back. Since everything on vera is queued i really don’t know when it is done other than simple polling. This would explain why sometimes you’ll see the status as out of sync. I’ll look into it and see if i can improve it.

  • I love how individual devices can be added to the live tiles on my start screen, I can use that for easy access to my most commonly activated devices - but, it wont allow adding of the virtual devices… not sure if this was deliberate or not, but if it allowed virtual devices tiles on the start screen as well would be great

[b]I think i disabled some of the devices from being able to be pinned because they didn’t have any functionality behind them. It is totally possible i disabled something accidentally. The virtual device currently has no functionality behind it so pinning it will have pretty much no value. Are you sure it was that device?

Below is a list of devices i currently support at some level.

public const string HOME_AUTOMATION_GATEWAY = “urn:schemas-micasaverde-com:device:HomeAutomationGateway:1”;
public const string BINARY_LIGHT = “urn:schemas-upnp-org:device:BinaryLight:1”;
public const string DIMMABLE_LIGHT = “urn:schemas-upnp-org:device:DimmableLight:1”;
public const string THERMOSTAT = “urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1”;
public const string HUMIDITY_SENSOR = “urn:schemas-micasaverde-com:device:HumiditySensor:1”;
public const string MULTI_IO = “urn:schemas-micasaverde-com:device:MultiIO:1”;
public const string DOOR_LOCK = “urn:schemas-micasaverde-com:device:DoorLock:1”;
public const string DOOR_SENSOR = “urn:schemas-micasaverde-com:device:DoorSensor:1”;
public const string HEATER = “urn:schemas-upnp-org:device:Heater:1”;
public const string ZWAVE_NETWORK = “urn:schemas-micasaverde-com:device:ZWaveNetwork:1”;
public const string ZIGBEE_NETWORK = “urn:schemas-micasaverde-com:device:ZigbeeNetwork:1”;
public const string INSTEON_NETWORK = “urn:schemas-micasaverde-com:device:InsteonNetwork:1”;
public const string USB_UIRT = “urn:schemas-micasaverde-com:device:USBUIRT:1”;
public const string TEMPERATURE_SENSOR = “urn:schemas-micasaverde-com:device:TemperatureSensor:1”;
public const string POWER_METER = “urn:schemas-micasaverde-com:device:PowerMeter:1”;
public const string MOTION_SENSOR = “urn:schemas-micasaverde-com:device:MotionSensor:1”;
public const string SMOKE_SENSOR = “urn:schemas-micasaverde-com:device:SmokeSensor:1”;
public const string LIGHT_SENSOR = “urn:schemas-micasaverde-com:device:LightSensor:1”;
public const string IR_TRANSMITTER = “urn:schemas-micasaverde-com:device:IrTransmitter:1”;
public const string WINDOW_COVERING = “urn:schemas-micasaverde-com:device:WindowCovering:1”;
public const string GENERIC_IO = “urn:schemas-micasaverde-com:device:GenericIO:1”;
public const string REMOTE_CONTROL = “urn:schemas-micasaverde-com:device:RemoteControl:1”;
public const string COMBO_DEVICE = “urn:schemas-micasaverde-com:device:ComboDevice:1”;
public const string CAMERA = “urn:schemas-upnp-org:device:DigitalSecurityCamera:1”;
public const string CAMERA2 = “urn:schemas-upnp-org:device:DigitalSecurityCamera:2”;
public const string SERIAL_PORT = “urn:micasaverde-org:device:SerialPort:1”;
public const string SERIAL_PORT_ROOT = “urn:micasaverde-org:device:SerialPortRoot:1”;
public const string SCENE_CONTROLLER = “urn:schemas-micasaverde-com:device:SceneController:1”;
public const string ENERGY_CALCULATOR = “urn:schemas-micasaverde-com:device:EnergyCalculator:1”;
public const string TEMP_LEAK_SENSOR = “urn:schemas-micasaverde-com:device:TempLeakSensor:1”;
public const string RELAY = “urn:schemas-micasaverde-com:device:Relay:1”;
public const string ALARM_PANEL = “urn:schemas-micasaverde-com:device:AlarmPanel:1”;
public const string ALARM_PARTITION1 = “urn:schemas-micasaverde-com:device:AlarmPartition:1”;
public const string ALARM_PARTITION2 = “urn:schemas-micasaverde-com:device:AlarmPartition:2”;
public const string SCENE = “urn:schemas-micasaverde-com:device:Scene:1”;
public const string KEYPAD = “urn:schemas-micasaverde-com:device:Keypad:1”;
public const string AQUA_GAUGE = “urn:koopmail-net:device:agrfmulti:1”;
public const string WATER_LEVEL_SENSOR = “urn:koopmail-net:device:WaterLevelSensor:1”;
public const string WEATHER = “urn:demo-micasaverde-com:device:weather:1”;
public const string DUTCH_SMART_METER = “urn:schemas-brutgrink-com:device:dutchSmartMeter:1”;
public const string SIREN = “urn:schemas-micasaverde-com:device:Siren:1”;
public const string SQUEEZE_BOX_PLAYER = “urn:schemas-micasaverde-com:device:SqueezeBoxPlayer:1”;
public const string SQUEEZE_BOX = “urn:schemas-micasaverde-com:device:SqueezeBox:1”;
public const string VIRTUAL_SWITCH = “urn:schemas-upnp-org:device:VSwitch:1”;
public const string COUNTDOWN_TIMER = “urn:schemas-futzle-com:device:CountdownTimer:1”;
public const string COMBINATION_SWITCH = “urn:schemas-futzle-com:device:CombinationSwitch:1”;
public const string VIRTUAL_CLOCK = “urn:schemas-upnp-org:device:VClock:1”;
public const string HELIOTROPE = “urn:schemas-futzle-com:device:Heliotrope:1”;
public const string WAKE_ON_LAN = “urn:schemas-holczer-com:device:WOL:1”;
public const string PING_SENSOR = “urn:schemas-demo-ted-striker:device:PingSensor:1”;

public const string IR = “urn:schemas-micasaverde-com:device:IrDevice:1”;
public const string TV = “urn:schemas-micasaverde-com:device:tv:1”;
public const string CABLE = “urn:schemas-micasaverde-com:device:cable:1”;
public const string SATELLITE = “urn:schemas-micasaverde-com:device:satellite:1”;
public const string VIDEO_ACCESSORY = “urn:schemas-micasaverde-com:device:videoaccessory:1”;
public const string VCR_DVR = “urn:schemas-micasaverde-com:device:vcrdvd:1”;
public const string DVD_BLURAY = “urn:schemas-micasaverde-com:device:dvdbluray:1”;
public const string RECEIVER = “urn:schemas-micasaverde-com:device:receiver:1”;
public const string AMP = “urn:schemas-micasaverde-com:device:amp:1”;
public const string CD = “urn:schemas-micasaverde-com:device:cd:1”;
public const string MISC_HOME_CONTROL = “urn:schemas-micasaverde-com:device:mischomecontrol:1”;
public const string AV_MISC = “urn:schemas-micasaverde-com:device:avmisc:1”;
public const string VIRTUAL_DEVICE = “urn:schemas-micasaverde-com:device:VirtualDevice:1”;
[/b]

On Windows Phone 8, (lumia 920)

  • Same reversed status reading issue as above, only some of the time the on/off status doesnt look like it updates at all… Ie, it will show off, but still give a power usage reading (when you have just turned the light off), or will show off with power usage zero when (when you have just turned the light on)… presume its the same fix over all as above

Same as above

  • Voice control… I read on your help site that voice control is active, but it doesnt seem to work, and doesnt show in the list of voice controlable apps… this could be user error, but being able to get this working would make this already great app truely awesome!

This is a strange one. Basically when the app loads it reregisters the voice command file. I only do the registering if the version file is newer than the current one installed if any. Even though i can’t repo the behavior this obviously sounds like a bug. What version are you on?

Sometimes i don’t check this website all the time so send email to: amginecreations@gmail.com

I have a question about your app,
I don’t wish to connect to mios stuff.
so I have my own setup with port forwards, but my ISP doesn’t allow port 80
so I changed the port, is there any way in grasshopper to specify which port to connect to?

Thanks

[quote=“alphaz, post:18, topic:170999”]I have a question about your app,
I don’t wish to connect to mios stuff.
so I have my own setup with port forwards, but my ISP doesn’t allow port 80
so I changed the port, is there any way in grasshopper to specify which port to connect to?

Thanks[/quote]

FYI, you are opening yourself up for attacks! You should never use port forwarding unless the services you are port forwarding are secure. For Vera, this is not the case and is recommended that you either use ssh or a vpn to access your Vera if you do not want to use MCV’s remote access.

  • Garrett

my port forwarding is secured and ip authenticated. so that’s not a problem.
anyway i’d love to know if its possible or there is a possibility to add a port field for the hostname…
if the developer could chime in?

Thanks