hardbyte / hardbyte/python-evnex

Make distributionByTariff data available as totalCost value is not accurate with TimeOfUse

Open
#129 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
13
Forks
8
Avg merge
5h 58m
Merged PRs (30d)
2

Description

The API totalCost value does not accurately represent the actual cost where time-of-use tarrifs are in use. Evnex describe this as a legacy value, one that appears to use a single tariff where that tariff lacks precision. In Home Assitant time-of-use tariff's can be added in a template as an example and with totalEnergyUsage we can calculate a more accurate cost. Except where there is a mix of solar and grid energy, as we don't know the mix of grid and solar energy. However this is contained in the get session response.

"totalEnergyUsage": {
"total": 1041.0,
"distributionByTariff": { -- If these values could be surfaced we could work out the true cost ourselves
"solar": 88.9, -- either including solar export as a percieved cost or just a zero value.
"flat": 11.1
},
"distributionByEnergySource": {
"cogeneration": 0.1,
"gas": 0.1,
"geothermal": 2.4,
"hydro": 7,
"localSolar": 88.9,
"solar": 0.2,
"wind": 1.3
}
},
"totalCost": {
"currency": "NZD",
"amount": 0.0348, -- This is not a correct value where time of use tariffs are used.
"distribution": {
"flat": 100
}

I am going to attempt this myself, but I am not a Dev so raising it here as a backstop.

Regards

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the get session response handling and the existing totalEnergyUsage and totalCost fields. Trace how response data is represented and exposed, then make totalEnergyUsage.distributionByTariff available alongside the other usage values. Done means callers can access the tariff distribution from a session response without relying on the inaccurate totalCost value.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.