[UNSUPPORTED] Enphase Envoy (local access)

I think I figured out the color tile issue for android. Add the text to the label of the valueTile not to the string.

events << createEvent(name: ‘efficiency’, value: String.format("%#.3f", efficiencyToday), displayed: false)

I removed the + “\nKWH/KW”

Then added the text to the Label:

width: 2,
height: 2) {
label: ‘${currentValue}kWh/kW’,
backgroundColors: [
[value: 0, color: “#bc2323”],
[value: 2, color: “#d04e00”],
[value: 4, color: “#f1d801”],
[value: 5, color: “#90d2a7”],
[value: 6, color: “#44b621”]

Now I get a color tile on a android.

5.0 is OK and is used as an index into the array to pick a background color.
5.0KWh/KW is not so no color is used.

Also I am working on a fork to use the API of a TED5000 instead of the Envoy.

The issue with that approach is that the UI will truncate the numbers and only show on digit after the decimal points rather than the 3 as specified. Anything that is just a number will be reformatted in the UI and the DTH has no control over it. Adding the units and using a string value seems to be the only way to get a number formatted to user specs (I submitted an enhancement request for being able to specify a number format for a valueTile a long time ago but I have to guess it is not going to happen…)

I am seeing three digits.

I think yesterdays tiles will sort them selves out after 24 hours.

iOS only shows one :grimacing:

Yes - they just use the value from yesterday (which used the previous tile/value definition) and only update once a day.

Sounds like the App developers have some fixing to do. Trick is getting then to believe it :slight_smile:

The best solution would be to extend the valueTile() definition to add a new numberFormatString parameter where one could specify the format (e.g., %0.3f). This would remove the need to use strings rather than numbers and would allow for much more consistent (user-controlled) formatting. I created a ticket for this quite a while ago but it doesn’t seem to have received any traction :cry: (maybe @slagle could provide some insight why not?)

Hey there!

I’ve had my solar system installed and my Envoy-S Metered is up and running.

Whilst I’ve installed the pollster app and the device handler, when I check the status of the device I’m getting a NullPointer exception.

The live logs indicate this:

Whilst the response I’m getting from the Envoy-S directly is:

My device configuration is (although I had to manually populate the MAC address into the network ID field):

Any assistance you might be able to provide Andreas would be genuinely appreciated :slight_smile:

Whhoooppsss… please ignore the previous post, it just took a little while to start picking up the data from the Envoy :slight_smile:

1 Like

One thing I’m keen to do is to configure my SmartThings hub to turn on an outlet or two (which has an assortment of chargers plugged into it) when my EnPhase system is making more than a certain number of watts.

Admittedly I’m still very much a SmartThings novice - tell me, how would I best set up the system to turn on an outlet/switch then my system was making more than 500W?

Currently, I’m a little lost between phrases, actions, logical switches, IFTTT and even CoRE - someone pointing me in the right direction would be most splendid.

Thanks in advance!

I worked this out!

For those interested, I ended up setting up a piston in CoRE to turn on a smart power outlet (Xiaomi Zigbee Outlet in this instance) when my solar power system is producing more than 400W … we use this for all of our laptop, iPad, stereo, power tools, etc charging.

The piston I ended up configuring in CoRE looks like this:

Anyhoo, it all works fantastically. Thanks again Andreas!


I’m having problems after installing this device. When I attempt to save all of the settings for the solar device, it says please fill out all required fields. All of the fields are filled out and nothing shows as red. I’ve never had this problem in the past when setting up custom devices, so I’m not sure what’s going on. Any ideas? Thanks in advance.

iOS or Android? I believe that there are some bugs on Android that could trigger than. Make sure to hit “Save” whenever possible instead of using the back button.

Earlier today I noticed that the energy generated chart had started the day at -1000 for some reason - I thought you might be interested in knowing (refer screenshot).

Hmmm - weird. However, the energy is the value as reported by the Envoy so I guess I’ll blame it on the Envoy :wink:


Something else worth pondering - perhaps it’d be worthwhile having the output reported as 0W if the Envoy doesn’t respond for a period of time.

My Envoy fell off the wireless network earlier today whilst the system was producing maximum power - as a result, SmartThings believed it was producing maximum power all afternoon.


1 Like

What should the missing boxes be? And why are they empty. I’m assuming one may be lifetime efficiency. I’ve been running since Oct last year so would think it would have the data.

It would be lifetime efficiency on the right and installation date at the bottom. Since it didn’t determine the installation date, it cannot calculate the lifetime efficiency.

If you go to http://ENVOY_IP/production?locale=en with a browser, do you see something like this?

It is looking for the “System has been live since” text followed by a data in the format shown - if the date format is different (not sure why it would since the query includes the locale), the DTH might fail to parse it.

I can’t get to that page. Don’t know the user/password and envoy or installer and last six of my serial does not work.

Can I put this info in in IDE? Even if I have to edit the code I’m good with that.

Or is it easy to add and entry on the settings page for that info?

I did find my per panel generation at /api/v1/production/inverters. I need to learn how to code would love to have a local page with this info on it. :slight_smile:

Looks like you have a different FW version than me - /api/v1/production/inverters requires user/pass on mine (which I don’t have) but the /production?locale=en doesn’t require any user/pass :confused: