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

オープン
#129 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
68/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python
領域
api, backend

調査の方向性

まず、get session response の処理と、既存の totalEnergyUsage フィールドおよび totalCost フィールドを見つけます。レスポンスデータがどのように表現され、公開されているかを追跡し、そのうえで、他の使用量の値と並べて totalEnergyUsage.distributionByTariff を利用できるようにします。セッションレスポンスから、正確でない totalCost の値に依存せずに、呼び出し側が料金別分布にアクセスできれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
Python
スター
13
フォーク
8
平均マージ
5時間 58分
マージ済み PR(30日)
2

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

hardbyte/python-evnex のほかの issue

hardbyte/python-evnex の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。