[APP][Pro] Smappee - Make the smart grid revolution happen

I seem to be having some issues with my Smappee EV Base and Homey. All the values in Homey are reported as 0, even though my car is currently charging. Changing the charging mode via Homey does seem to work, but no metrics.

Sidenote; now with the new energy tab available, it would be great if the total energy consumption of the EV charger would be tracked using the meter_power capability. Doing that will make the EV charger appear in the list of consumers.

Hi Jens,

Note: the meter_power capability must always be positive and ever-increasing (cumulative). Homey Energy calculates energy usage over a given period by analyzing the difference in this value over time. If meter_power capability values are periodically reset to zero or decrease unexpectedly, it may lead to data loss.

The Smappee API / MQTT messages do not return these values.
Values in kWh are difficult with Smappee, as most values are in W(h).
They don’t support ā€œever-increasingā€ data out of the box.

Via the API, there is no realtime data, only aggregated values which are not realtime.
Via MQTT message there is realtime data, but is missing data (or I’m not able to do the right calculations).

If anyone is willing to help me out with this or has any idea to support this, let me know via an PM.

– Edwin

@evdpol I have this working in my custom Homey app. I can share you my code.

I’m calling their https://app1pub.smappee.net/dev/v3/chargingparks/${serviceLocationId}/sessions endpoint, to get this data. When the app is started, I get a full history going back a couple of years and after that, I periodically get data for the current month for updates.

Can you share information on how you retrieve current power usage via MQTT? This does not seem well documented.

Or let me know how I can assist you in debugging the 0 power metrics.

Hi Jens,

Ah, but those values aren’t realtime.

You can get the 5 minute totals from the https://app1pub.smappee.net/dev/v3/servicelocation/${serviceLocationId}/consumption?aggregation=1&from=1585294200000&to=1585294800000 for example.

If we don’t need the realtime data for energy usages, it is doable I guess.

In your diagnostic report 4305d734-ae55-4e5a-9a6d-dba2fba8a8c4, Smappee returns all 0 values:

{
  "serviceLocationId": xxxxx,
  "utcEndtime": 1734377460000,
  "consumptionPower": 0,
  "solarPower": 0,
  "alwaysOn": 0
}

I have submitted a new diagnostic report. Still 0 values on both connectors while my car is charging.

Might the be related to this EV charger having 2 connectors?

Again, all values are 0.

Which is weird. When I check an EV line of another user, the values are always 0 (not updated).

It looks like Smappee is not updating the values from their side. The reactive and active powers are also not updated anymore…

I guess you’ll need to contact Smappee, and ask them why the consumptionPower is always 0 for the EV line servicelocation in their MQTT messages.

EDIT: Maybe it wasn’t activated… If you want I can check your account, I need some details.

Smappee’s dashboard is displaying the correct value too:

I managed to connect to Smappee’s MQTT websocket and I’m digging a bit deeper how to retrieve that data.

It looks like the dashboard is first calling the sessions API to see if there are any active charging sessions.

That endpoint returns MQTT connection information as well as information about how the power is calculated by summing 3 values from the channelData. I assume that’s combining the power from the 3 different phases.

"activePower": {
    "protocol": "MQTT",
    "name": "servicelocation/.../power",
    "aggregation": "SUM",
    "aspectPaths": [{
        "path": "$.channelData[3]",
        "multiplier": 1,
        "label": "PHASEA"
    }, {
        "path": "$.channelData[5]",
        "multiplier": 1,
        "label": "PHASEB"
    }, {
        "path": "$.channelData[7]",
        "multiplier": 1,
        "label": "PHASEC"
    }]
},

The MQTT power message does report 0 as consumptionPower, but the values are reported in the channelData.

  "consumptionPower": 0,
  "solarPower": 0,
  "alwaysOn": 0,

But as my charger is only connected to 1 phase, I see the current power in W on index 4:

  "channelData": [
    235,
    0,
    0,
    1188,
    47,
    0,
    0,

Good luck! I get all 0 values for all the EV lines that I have checked.

My previous response got flagged for spam because it contained too many code examples I guess.

My current assumption is that for the EV Base, because it has 2 connectors on a single ā€œservice locationā€, you need to sum the power usage for each phase from the channelData in the MQTT messages.

For my current connector (id=2), those values were on index 3,5,7.

What you posted regarding to the activePower, isn’t available in the public API like so. :wink: It is available though, through servicelocationInfo.

I think I need to drop the solarPower and alwaysOn from the EV-Line, and only show current consumption, based on the channelData as you mentioned.

Still playing with how to provide the correct meter_power to Homey, based on the data that is available, and how to setup the energy settings for each driver. Like, Smappee Genius supplies a cumulative value, but a EV-Line doesn’t, right?

Still figuring stuff out on how to do it right, based on the data of the people who were so kind to share their account with me. :blush:

– Edwin

I see that the charging stations are getting the consumptionPower, solarPower and alwaysOn again. Is that also true in your case?

When selecting a charging station in the Smappee Dashboard, all live values aren’t available.
I am thinking about changing the EV-Wall device to only control the device, and you should add a Genius / Solar / Connect for the live energy data, or use the ChannelData in the MQTT message as you mentioned.

I will add the kWh (meter_power) to the EV-Wall, based on historical data of the charging sessions. I think that is the way to go…

Same goes for the Smappee Gas-Water (no energy) and Plugs… Yeah…

I think I am on the right track here…

Is anyone willing to test the test version when it comes available?

Sure, no problem.

Hey, thanks for the app, i used to retrieved my energy data into Homey from Home Assistance :slight_smile:
I have an Energy and a Gas & Water monitor. The Energy works without problems, but my gas meter only shows temperature and the temperature updates only if I restart the app, any advice?

To my understanding, the measured gas volume is not available in the API.
In Homeassisant, there is the daily value (only).

Yes, but my meter is still showing 0 M3 after 3 days, so it should have updated the number. I can see that the data in Smappee is continuously updated. It’s not very important and mostly something I noticed after Homey Energy seems to be able to display gas as well.

I have the same problem

1 Like

I want to add my Smappee EV Wall to Homey.

After entering the API Credentials from Smappee I get redirected to Smappee where I can login and authorize to access the devices on the selected service locations, as well as all associated data. After clicking the accept button I see this error

callback.homey.com
Something went wrong on the 3rd party’s server.
Please contact the manufacturer for support.
[Code: User not found]

Any idea?