torbennehmer / hacs-e3dc

Homeassistant E3DC Integration
GNU Affero General Public License v3.0
68 stars 8 forks source link

Wrong values peaks for Additional total source 5:45 pm and 2:45am #141

Open gamer123 opened 7 months ago

gamer123 commented 7 months ago

System Health details

System Information

version core-2024.4.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.2
os_name Linux
os_version 6.6.25-haos
arch x86_64
timezone Europe/Berlin
config_dir /config
Home Assistant Community Store GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 5000 Installed Version | 1.34.0 Stage | running Available Repositories | 1405 Downloaded Repositories | 22 HACS Data | ok
Home Assistant Cloud logged_in | true -- | -- subscription_expiration | 1. Januar 2018 um 01:00 relayer_connected | false relayer_region | null remote_enabled | false remote_connected | false alexa_enabled | true google_enabled | true remote_server | null certificate_status | null instance_id | cea326129bee488ba17d2ad292cffe92 can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok
Home Assistant Supervisor host_os | Home Assistant OS 12.2 -- | -- update_channel | stable supervisor_version | supervisor-2024.04.0 agent_version | 1.6.0 docker_version | 25.0.5 disk_total | 938.2 GB disk_used | 599.9 GB healthy | true supported | true board | generic-x86-64 supervisor_api | ok version_api | ok installed_addons | Mosquitto broker (6.4.0), TasmoAdmin (0.30.1), Advanced SSH & Web Terminal (17.2.0), MariaDB (2.7.1), Traccar (0.25.0), Studio Code Server (5.15.0), File editor (5.8.0), ESPHome (2024.4.1), Samba share (12.3.1), Whisper (2.0.0), Piper (1.5.0), RaspberryMatic CCU (3.75.7.20240420), openWakeWord (1.10.0), porcupine1 (1.2.0), UniFi Network Application (3.0.4), Frigate (Full Access) (0.13.2), Assist Microphone (1.2.0), eBUSd (23.2.5), Let's Encrypt (5.0.15)
Dashboards dashboards | 18 -- | -- resources | 14 views | 52 mode | storage
Recorder oldest_recorder_run | 5. Mai 2023 um 08:41 -- | -- current_recorder_run | 24. April 2024 um 08:48 database_engine | mysql database_version | 10.11.6

Checklist

Describe the issue

The integration get wrong values peaks for additional total source 5:45 pm and 2:45am 2 times in less than. image

Reproduction steps

  1. i don´t know looks like it is random.

Debug logs

Not available

Diagnostics dump

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.4.4", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.2", "docker": true, "arch": "x86_64", "timezone": "Europe/Berlin", "os_name": "Linux", "os_version": "6.6.25-haos", "supervisor": "2024.04.0", "host_os": "Home Assistant OS 12.2", "docker_version": "25.0.5", "chassis": "embedded", "run_as_root": true }, "custom_components": { "mypyllant": { "version": "v0.7.3", "requirements": [ "myPyllant==0.8.9" ] }, "homematicip_local": { "version": "1.60.0", "requirements": [ "hahomematic==2024.4.10" ] }, "dreame_vacuum": { "version": "v1.0.3", "requirements": [ "pillow", "numpy", "pybase64", "requests", "pycryptodome", "python-miio", "py-mini-racer", "tzlocal", "paho-mqtt" ] }, "frigate": { "version": "5.1.0", "requirements": [ "pytz" ] }, "e3dc_rscp": { "version": "v3.7.0", "requirements": [ "pye3dc==0.9.1" ] }, "hacs": { "version": "1.34.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "nodered": { "version": "1.0.6", "requirements": [] }, "dahua": { "version": "0.5.0", "requirements": [] }, "gruenbeck_cloud": { "version": "0.1.1", "requirements": [ "pygruenbeck_cloud==0.1.0" ] }, "duckdns_ipv4_ipv6": { "version": "1.1.1", "requirements": [] } }, "integration_manifest": { "domain": "e3dc_rscp", "name": "E3DC Remote Storage Control Protocol (Git)", "codeowners": [ "@torbennehmer" ], "config_flow": true, "dependencies": [], "documentation": "https://github.com/torbennehmer/hacs-e3dc", "homekit": {}, "integration_type": "device", "iot_class": "cloud_polling", "issue_tracker": "https://github.com/torbennehmer/hacs-e3dc/issues", "requirements": [ "pye3dc==0.9.1" ], "ssdp": [], "version": "v3.7.0", "zeroconf": [], "is_built_in": false }, "data": { "current_data": { "system-derate-percent": 100.0, "system-derate-power": 12500.0, "system-additional-source-available": true, "system-battery-installed-capacity": 33, "system-battery-installed-peak": 12500, "system-ac-maxpower": 12000, "system-battery-charge-max": 12480, "system-battery-discharge-max": 12120, "system-mac": "3C:", "model": "S10X", "system-battery-discharge-minimum-default": 65, "e3dc_timezone": "Europe/Berlin", "additional-production": 9698, "autarky": 99.8515625, "battery-charge": 507, "battery-discharge": 0, "battery-netchange": 507, "grid-consumption": 0, "grid-netchange": -66, "grid-production": 66, "house-consumption": 1632, "selfconsumption": 99.80897521972656, "soc": 93, "solar-production": 3613, "wallbox-consumption": 11131, "pset-limit-charge": 12480, "pset-limit-discharge": 12120, "pset-limit-discharge-minimum": 65, "pset-limit-enabled": false, "pset-powersaving-enabled": true, "pset-weatherregulationenabled": true, "manual-charge-active": false, "manual-charge-energy": 0, "additional-1": 9757.0, "additional-1-total": 1400051.81, "db-day-autarky": 90.66351318359375, "db-day-battery-charge": 11759.0, "db-day-battery-discharge": 6924.3125, "db-day-grid-consumption": 2638.0, "db-day-grid-production": 4360.3125, "db-day-house-consumption": 28254.75, "db-day-selfconsumption": 85.45450592041016, "db-day-solar-production": 10848.0, "db-day-startts": 1714003200 }, "get_system_info": { "deratePercent": 100.0, "deratePower": 12500.0, "externalSourceAvailable": 1, "installedBatteryCapacity": 33, "installedPeakPower": 12500, "maxAcPower": 12000, "macAddress": "3C:", "maxBatChargePower": 12480, "maxBatDischargePower": 12120, "model": "S10X", "release": "H20_2023_062", "serial": "812" }, "get_system_status": { "dcdcAlive": true, "powerMeterAlive": true, "batteryModuleAlive": true, "pvModuleAlive": true, "pvInverterInited": true, "serverConnectionAlive": true, "pvDerated": false, "emsAlive": true, "acModeBlocked": false, "sysConfChecked": false, "emergencyPowerStarted": false, "emergencyPowerOverride": false, "wallBoxAlive": true, "powerSaveEnabled": false, "chargeIdlePeriodActive": false, "dischargeIdlePeriodActive": false, "waitForWeatherBreakthrough": false, "rescueBatteryEnabled": false, "emergencyReserveReached": false, "socSyncRequested": false }, "get_powermeters": [ { "index": 0, "type": 1, "typeName": "PM_TYPE_ROOT" }, { "index": 1, "type": 2, "typeName": "PM_TYPE_ADDITIONAL" } ], "e3dc_config": { "powermeters": [ { "index": 0, "type": 1, "typeName": "PM_TYPE_ROOT", "name": "Root PM", "key": "root-pm", "total-state-class": "total", "negate-measure": false }, { "index": 1, "type": 2, "typeName": "PM_TYPE_ADDITIONAL", "name": "Additional", "key": "additional-1", "total-state-class": "total_increasing", "negate-measure": true } ] }, "poll": { "autarky": 99.8515625, "consumption": { "battery": 507, "house": 1632, "wallbox": 11131 }, "production": { "solar": 3613, "add": 9698, "grid": -66 }, "selfConsumption": 99.80897521972656, "stateOfCharge": 93, "time": "2024-04-25T10:50:12.000586+00:00" }, "switches": [], "get_pvis_data": [ { "acMaxApparentPower": 4000.0, "cosPhi": { "active": null, "value": null, "excited": null }, "deviceState": { "connected": true, "working": true, "inService": false }, "frequency": { "under": null, "over": null }, "index": 0, "lastError": "11 0x0", "maxPhaseCount": 3, "maxStringCount": 2, "onGrid": true, "phases": { "0": { "power": 961.0, "voltage": 240.5, "current": 4.150000095367432, "apparentPower": 998.0, "reactivePower": 0.0, "energyAll": 883063.0, "energyGridConsumption": 169992.0 }, "1": { "power": 972.0, "voltage": 241.8000030517578, "current": 4.199999809265137, "apparentPower": 1016.0, "reactivePower": 0.0, "energyAll": 364308.0, "energyGridConsumption": 82554.0 }, "2": { "power": 1006.0, "voltage": 239.8000030517578, "current": 4.409999847412109, "apparentPower": 1057.0, "reactivePower": 0.0, "energyAll": 375405.0, "energyGridConsumption": 83077.0 } }, "powerMode": 1, "serialNumber": "E3E", "state": "0xff271d", "strings": { "0": { "power": 1944.0, "voltage": 362.0, "current": 5.369999885559082, "energyAll": 872440.0 } }, "systemMode": 2, "temperature": { "max": 130.0, "min": -30.0, "values": [ 43.400001525878906, 47.5, 49.20000076293945, 46.29999923706055 ] }, "type": 3, "version": " MAIN HW07 2.060", "voltageMonitoring": { "thresholdTop": null, "thresholdBottom": null, "slopeUp": null, "slopeDown": null } } ], "get_powermeters_data": [ { "activePhases": "111", "energy": { "L1": -0.15, "L2": -0.28, "L3": 0.26 }, "index": 0, "maxPhasePower": 24000.0, "mode": 1, "power": { "L1": -732.0, "L2": -51.0, "L3": 749.0 }, "type": 1, "voltage": { "L1": 241.55999755859375, "L2": 240.60000610351562, "L3": 240.50999450683594 } }, { "activePhases": "111", "energy": { "L1": -477074.61, "L2": -462341.89, "L3": -460635.31 }, "index": 1, "maxPhasePower": 24000.0, "mode": 65, "power": { "L1": -3720.0, "L2": -3038.0, "L3": -3020.0 }, "type": 2, "voltage": { "L1": 241.24000549316406, "L2": 240.74000549316406, "L3": 240.36000061035156 } } ], "get_batteries_data": { "exception": [ "Traceback (most recent call last):\n", " File \"/config/custom_components/e3dc_rscp/diagnostics.py\", line 110, in _query_data_for_dump\n tmp = call()\n ^^^^^^\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py\", line 1377, in get_batteries_data\n self.get_battery_data(\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py\", line 1272, in get_battery_data\n temperatures.append(temperatures_data[sensor][2])\n ~~~~~^^^^^^^^\n", "IndexError: list index out of range\n" ] }, "get_idle_periods": null, "get_power_settings": { "dischargeStartPower": 65, "maxChargePower": 12480, "maxDischargePower": 12120, "powerLimitsUsed": false, "powerSaveEnabled": true, "weatherForecastMode": 1, "weatherRegulatedChargeEnabled": true }, "EMS_REQ_GET_MANUAL_CHARGE": { "exception": [ "Traceback (most recent call last):\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py\", line 102, in sendRequest\n receive = self._receive()\n ^^^^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py\", line 76, in _receive\n decData = rscpDecode(self.encdec.decrypt(data))[0]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_rscpLib.py\", line 263, in rscpDecode\n return rscpDecode(rscpFrameDecode(data)[0])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_rscpLib.py\", line 279, in rscpDecode\n innerData, usedLength = rscpDecode(data[curByte:])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_rscpLib.py\", line 270, in rscpDecode\n strTag = getStrRscpTag(hexTag)\n ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_rscpTags.py\", line 3692, in getStrRscpTag\n tag = RscpTag(tag)\n ^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/enum.py\", line 744, in call\n return cls.new(cls, value)\n ^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/enum.py\", line 1158, in new\n raise ve_exc\n", "ValueError: 16777278 is not a valid RscpTag\n", "\nDuring handling of the above exception, another exception occurred:\n\n", "Traceback (most recent call last):\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py\", line 226, in sendRequest\n result = self.rscp.sendRequest(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py\", line 108, in sendRequest\n raise CommunicationError\n", "e3dc._e3dc_rscp_local.CommunicationError\n", "\nDuring handling of the above exception, another exception occurred:\n\n", "Traceback (most recent call last):\n", " File \"/config/custom_components/e3dc_rscp/diagnostics.py\", line 110, in _query_data_for_dump\n tmp = call()\n ^^^^^^\n", " File \"/config/custom_components/e3dc_rscp/diagnostics.py\", line 79, in \n lambda: self.e3dc.sendRequestTag(\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py\", line 263, in sendRequestTag\n return self.sendRequest(\n ^^^^^^^^^^^^^^^^^\n", " File \"/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py\", line 237, in sendRequest\n raise SendError(\"Max retries reached\")\n", "e3dc._e3dc.SendError: Max retries reached\n" ] }, "DB_REQ_HISTORY_DATA_DAY": [ "DB_HISTORY_DATA_DAY", "Container", [ [ "DB_SUM_CONTAINER", "Container", [ [ "DB_GRAPH_INDEX", "Float32", -1.0 ], [ "DB_BAT_POWER_IN", "Float32", 11759.0 ], [ "DB_BAT_POWER_OUT", "Float32", 6924.3125 ], [ "DB_DC_POWER", "Float32", 10848.0 ], [ "DB_GRID_POWER_IN", "Float32", 4360.3125 ], [ "DB_GRID_POWER_OUT", "Float32", 2638.0 ], [ "DB_CONSUMPTION", "Float32", 28254.75 ], [ "DB_PM_0_POWER", "Float32", 0.0 ], [ "DB_PM_1_POWER", "Float32", -25547.625 ], [ "DB_BAT_CHARGE_LEVEL", "Float32", 93.31400299072266 ], [ "DB_BAT_CYCLE_COUNT", "Int32", 0 ], [ "DB_CONSUMED_PRODUCTION", "Float32", 85.45450592041016 ], [ "DB_AUTARKY", "Float32", 90.66351318359375 ] ] ], [ "DB_VALUE_CONTAINER", "Container", [ [ "DB_GRAPH_INDEX", "Float32", 0.5312499403953552 ], [ "DB_BAT_POWER_IN", "Float32", 922.2745361328125 ], [ "DB_BAT_POWER_OUT", "Float32", 543.0833129882812 ], [ "DB_DC_POWER", "Float32", 850.8235473632812 ], [ "DB_GRID_POWER_IN", "Float32", 341.98529052734375 ], [ "DB_GRID_POWER_OUT", "Float32", 206.90196228027344 ], [ "DB_CONSUMPTION", "Float32", 2216.058837890625 ], [ "DB_PM_0_POWER", "Float32", 0.0 ], [ "DB_PM_1_POWER", "Float32", -2003.7353515625 ], [ "DB_BAT_CHARGE_LEVEL", "Float32", 93.31400299072266 ], [ "DB_BAT_CYCLE_COUNT", "Int32", 0 ], [ "DB_CONSUMED_PRODUCTION", "Float32", 85.45450592041016 ], [ "DB_AUTARKY", "Float32", 100.0 ] ] ] ] ] } }

lubu2804 commented 1 week ago

I have the same issue. I think when the connection to the e3dc is interrupted the sensor reports 0 instead of unavailable.