Closed Candyfox233 closed 1 month ago
感謝您的回報, 不過您的使用方式確實不會正常動作, 說明如下:
設定的 UI 第二行的日期是 "上一次的抄表日期", 也就是您電費帳單上面會有的上一次抄表日期的註記. 本程式的設計是在那個 "上次抄表日期" 之後的第 60 天, 還有接下來的每 60 天進行 reset. 這也是考量一般使用行為下的設計.
如果您要做實驗而不是依照您電費單上的上次抄表日期, 請設定一個 58 或 59 天前的日期, 那程式就會在一兩天 (依設定) 後的 23:59 進行 reset.
(如果您測試沒有問題後您可以關閉本問題, 或是約一周後沒有回應的話會關閉本 issue)
8/22時,設定抄表日期為6/24,但是8/23 0:00沒有重置,且有以下警告訊息
記錄器: py.warnings 來源: custom_components/taipower_bimonthly_cost/sensor.py:210 整合: TaiPower Bimonthly Energy Cost (相關文件, 問題) 首次發生: 2024年8月22日 23:59:16 (1 事件) 最後紀錄: 2024年8月22日 23:59:16
/config/custom_components/taipower_bimonthly_cost/sensor.py:210: RuntimeWarning: coroutine 'EnergyCostSensor.reset_utility_meter' was never awaited self.reset_utility_meter(self._energy_entity)
跟您確認一下您的來源 sensor: 您在 UI 第一行輸入的 sensor.bimonthly_energy 應該為一個 "即時 kWh" 而非一般電表已經計算過的 "累計 kWh" 喔.
以您的例子: sensor.sensor.bimonthly_energy_power_cost 這個才是本程式計算出的累計本期電費, 這個 sensor 才會自動 reset. UI 第一行的 sensor.bimonthly_energy 作為輸入源不斷變動是不會 reset 的.
謝謝回應,讓我有方向去找可能的問題, 我以附錄的方法建立的sensor,發現此sensor並非即時,而是累計,
sensor.total_power確實是即時W,
請問是什麼地方有設定錯誤嗎?
請再將 sensor.emporia_home_kwh 依照 Appendix I (附錄 I): 如何新增即時 kWh 的 utility meter sensor 作為能源計算引用? 的方法轉換為 utility meter 後, 這個 utility meter 即可作為 UI 第一行的輸入源使用 (請先更新至 v0.53.5 版). :)
原本就有照附錄I新增: utility_meter: bimonthly_energy: #雙月總度數kWh source: sensor.emporia_home_kwh # 這是您想用來計算電費的 kWh 來源傳感器.
所以這樣看起來我的sensor.bimonthly_energy應該都有照附錄進行設定?
另外,這兩天更新的v.53.5、v53.6都有更新過,但程式都無法出現實體,因此還是使用v0.53
這幾天測試還是有跳出警告,且兩個實體仍然沒有重置
記錄器: py.warnings 來源: custom_components/taipower_bimonthly_cost/sensor.py:210 整合: TaiPower Bimonthly Energy Cost (相關文件, 問題) 首次發生: 2024年8月24日 23:59:10 (1 事件) 最後紀錄: 2024年8月24日 23:59:10
/config/custom_components/taipower_bimonthly_cost/sensor.py:210: RuntimeWarning: coroutine 'EnergyCostSensor.reset_utility_meter' was never awaited self.reset_utility_meter(self._energy_entity)
請您更新 v0.53.7 試試是否正常?
更新到v0.53.7了,不過還是有錯誤且實體未重置
記錄器: py.warnings 來源: custom_components/taipower_bimonthly_cost/sensor.py:210 整合: TaiPower Bimonthly Energy Cost (相關文件, 問題) 首次發生: 2024年8月25日 23:59:26 (1 事件) 最後紀錄: 2024年8月25日 23:59:26
/config/custom_components/taipower_bimonthly_cost/sensor.py:210: RuntimeWarning: coroutine 'EnergyCostSensor.reset_utility_meter' was never awaited self.reset_utility_meter(self._energy_entity)
首先您在 UI 第一行輸入的是否為 "sensor.bimonthly_energy", 如果是的話, "sensor.sensor.bimonthly_energy-power_cost" 才是計算的結果! 請問您找得到 "sensor.sensor.bimonthly_energy-power_cost" 這個實體嗎?
另請問您有以下關鍵字的實體目前的值是什麼? BIMONTHLY_ENERGY METER_START_DAY USED_DAYS START_DAY
從core.config_entries找到的內容如下: "created_at": "2024-08-24T15:49:38.139502+00:00", "data": {}, "disabled_by": null, "domain": "taipower_bimonthly_cost", "entry_id": "01J62H8BPVT7RPV4FTYZYTZAHK", "minor_version": 1, "modified_at": "2024-08-25T15:55:27.110498+00:00", "options": { "bimonthly_energy": "sensor.bimonthly_energy", "meter_start_day": "2024-06-27" }, "pref_disable_new_entities": false, "pref_disable_polling": false, "source": "user", "title": "TaiPower Energy Cost", "unique_id": "taipower_energy_cost-sensor.bimonthly_energy", "version": 1
另外USED_DAYS與START_DAY,是從開發工具中找屬性的部分嗎?內容如下:
bimonthly energy source: sensor.bimonthly_energy price per kwh: 1.68 TWD/kWh start day: 2024-06-27T00:00:00 used days: 0 unit_of_measurement: TWD device_class: monetary friendly_name: sensor.bimonthly_energy-power_cost
嗯.. 請您更新使用 v0.53.8.beta.1 試試看是否會正常 reset.
更新後出現以下錯誤
記錄器: homeassistant.config_entries 來源: config_entries.py:604 首次發生: 00:32:25 (1 事件) 最後紀錄: 00:32:25
Error setting up entry TaiPower Energy Cost for taipower_bimonthly_cost
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1264, in _load_platform
cache[full_name] = self._import_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1296, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 200, in protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup result = await component.async_setup_entry(hass, self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/taipower_bimonthly_cost/init.py", line 32, in async_setup_entry await hass.config_entries.async_forward_entry_setups(config_entry, PLATFORMS) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2085, in async_forward_entry_setups await integration.async_get_platforms(platforms) File "/usr/src/homeassistant/homeassistant/loader.py", line 1177, in async_get_platforms import_future.result() File "/usr/src/homeassistant/homeassistant/loader.py", line 1165, in async_get_platforms platforms.update(self._load_platforms(platform_names)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/loader.py", line 1090, in _load_platforms platform_name: self._load_platform(platform_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/loader.py", line 1284, in _load_platform raise ImportError( ImportError: Exception importing custom_components.taipower_bimonthly_cost.sensor
好的, 首先請您退回 v0.53.7, 然後可否請您測試以下兩件事?
1) 請您進入 HA -> 開發工具 -> 動作 -> 進入 YAML 模式 -> 輸入以下內容 -> 執行動作 --- 觀察您的 utility meter sensor 數值是否 reset?
action: utility_meter.calibrate data: value: '0.000' target: entity_id: sensor.bimonthly_energy
2) 請您設定 UI 時的第二行日期要減少一天, 也就是在 used days: 為 59 的當天 23:59:59 觀察是否數值有 reset?
日誌一樣有錯誤
自行安裝整合產生錯誤。
記錄器: py.warnings 來源: custom_components/taipower_bimonthly_cost/sensor.py:210 整合: TaiPower Bimonthly Energy Cost (相關文件, 問題) 首次發生: 2024年8月27日 23:59:08 (1 事件) 最後紀錄: 2024年8月27日 23:59:08
/config/custom_components/taipower_bimonthly_cost/sensor.py:210: RuntimeWarning: coroutine 'EnergyCostSensor.reset_utility_meter' was never awaited self.reset_utility_meter(self._energy_entity)
看來這個奇怪的問題有可能與 Home Assistant 與 Python 的新版底層交互有關, 可否請您試試看 v0.53.8.beta.2 可不可以?
仍然未重置,有新的錯誤訊息
自行安裝整合產生錯誤。
記錄器: homeassistant 來源: custom_components/taipower_bimonthly_cost/sensor.py:211 整合: TaiPower Bimonthly Energy Cost (相關文件, 問題) 首次發生: 2024年8月30日 23:59:10 (2 事件) 最後紀錄: 2024年8月30日 23:59:40
Error doing job: Task exception was never retrieved (None) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 1058, in _async_update_entity_states await asyncio.gather(*tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 960, in async_update_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state self.async_calculate_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in async_calculate_state state = self._stringify_state(available) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state if (state := self.state) is None: ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 542, in state value = self.native_value ^^^^^^^^^^^^^^^^^ File "/config/custom_components/taipower_bimonthly_cost/sensor.py", line 211, in native_value hass.async_create_task(self.reset_utility_meter(self._energy_entity)) ^^^^ NameError: name 'hass' is not defined. Did you mean: 'self.hass'?
可否請您試試 v0.53.8.beta.3 的反應如何?
今天的錯誤是這樣
自行安裝整合產生錯誤。
記錄器: py.warnings 來源: custom_components/taipower_bimonthly_cost/sensor.py:150 整合: TaiPower Bimonthly Energy Cost (相關文件, 問題) 首次發生: 2024年8月31日 23:59:25 (1 事件) 最後紀錄: 2024年8月31日 23:59:25
/config/custom_components/taipower_bimonthly_cost/sensor.py:150: RuntimeWarning: coroutine 'ServiceRegistry.async_call' was never awaited self._hass.services.async_call(
最後直接重灌HA解決此問題,謝謝開發者的協助。
感謝您的回報.
呃.. 好的, 雖然之前就覺得是 HASS 底層的問題但沒想到這麼底層... :P 結案此 issue.
簡單一句話描述你的問題
bimonthly_energy在抄表日沒有重置
你的執行環境
Proxmax VE Linux 6.8.4-2-pve (2024-04-10T17:36Z)
瀏覽器是什麼
Microsoft Edge 版本 127.0.2651.105
如何重現這個問題的步驟?
你預期的結果應該是?
sensor. bimonthly_energy數值應重置
是否知道/猜測問題發生的原因?
不知道
有無任何錯誤或其它訊息?
記錄器: py.warnings 來源: custom_components/taipower_bimonthly_cost/sensor.py:210 整合: TaiPower Bimonthly Energy Cost (相關文件, 問題) 首次發生: 2024年8月19日 23:59:30 (1 事件) 最後紀錄: 2024年8月19日 23:59:30
/config/custom_components/taipower_bimonthly_cost/sensor.py:210: RuntimeWarning: coroutine 'EnergyCostSensor.reset_utility_meter' was never awaited self.reset_utility_meter(self._energy_entity)