GuyKh / ims-envista-custom-component

IMS Envista Weather Component for Home Assistant
MIT License
2 stars 0 forks source link

Data retrieval failure immediately after 00:00 daily #24

Closed pshotts closed 3 days ago

pshotts commented 4 days ago

System Health details

System Information

version core-2024.11.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.4
os_name Linux
os_version 6.6.54-haos
arch aarch64
timezone Asia/Jerusalem
config_dir /config
Home Assistant Community Store GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok HACS Data | ok GitHub API Calls Remaining | 5000 Installed Version | 2.0.1 Stage | running Available Repositories | 1530 Downloaded Repositories | 23
Home Assistant Cloud logged_in | true -- | -- subscription_expiration | 20 December 2024 at 02:00 relayer_connected | true relayer_region | eu-central-1 remote_enabled | true remote_connected | true alexa_enabled | false google_enabled | true cloud_ice_servers_enabled | true remote_server | eu-central-1-9.ui.nabu.casa certificate_status | ready instance_id | a1404730df0046c0a2bc949771c2c188 can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok
Home Assistant Supervisor host_os | Home Assistant OS 13.2 -- | -- update_channel | stable supervisor_version | supervisor-2024.11.4 agent_version | 1.6.0 docker_version | 27.2.0 disk_total | 28.0 GB disk_used | 8.8 GB healthy | true supported | true host_connectivity | true supervisor_connectivity | true ntp_synchronized | true virtualization | board | green supervisor_api | ok version_api | ok installed_addons | Studio Code Server (5.17.3), Node-RED (18.1.1), Terminal & SSH (9.15.0), Samba share (12.3.2), Home Assistant Google Drive Backup (0.112.1), Music Assistant Server (2.3.3)
Dashboards dashboards | 6 -- | -- resources | 9 views | 21 mode | storage
Recorder oldest_recorder_run | 12 November 2024 at 07:55 -- | -- current_recorder_run | 21 November 2024 at 15:46 estimated_db_size | 141.29 MiB database_engine | sqlite database_version | 3.45.3
Spotify api_endpoint_reachable | ok -- | --

Checklist

Describe the issue

The integration consistently fails to import data immediately after 00:00 every day. Last night it failed at 00:01, 00:11, 00:21 and 00:31 It succeeded at 00:41 and all subsequent API calls today

Reproduction steps

This occurs daily when the integration is active, requiring no additional action

Debug logs

Full log from 2024-11-21 22:50 until 2024-11-22 07:30
https://drive.google.com/file/d/1nRAKcOe_1wcJJUb0wo-CKcOgeZK05Xlq/view?usp=sharing

Section of the log from 2024-11-21 23:40 until 2024-11-22 01:30
https://drive.google.com/file/d/1nS-gnueT7KTG--G9v4IYbOr5t5uh8Sin/view?usp=sharing

Diagnostics dump

See above

GuyKh commented 4 days ago

at 00:11 - this is the response from IMS:

{
    "stationId": 45,
    "data": [
        {
            "datetime": "2024-11-21T23:40:00+02:00",
            "channels": [
                {
                    "id": 1,
                    "name": "Rain",
                    "alias": null,
                    "value": 0.0,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 2,
                    "name": "WSmax",
                    "alias": null,
                    "value": 2.1,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 3,
                    "name": "WDmax",
                    "alias": null,
                    "value": 113.0,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 4,
                    "name": "WS",
                    "alias": null,
                    "value": 1.4,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 5,
                    "name": "WD",
                    "alias": null,
                    "value": 106.0,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 6,
                    "name": "STDwd",
                    "alias": null,
                    "value": 11.6,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 7,
                    "name": "RH",
                    "alias": null,
                    "value": 78.0,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 8,
                    "name": "TD",
                    "alias": null,
                    "value": 17.3,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 10,
                    "name": "TDmax",
                    "alias": null,
                    "value": 17.5,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 11,
                    "name": "TDmin",
                    "alias": null,
                    "value": 17.1,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 13,
                    "name": "WS1mm",
                    "alias": null,
                    "value": 1.7,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 14,
                    "name": "Ws10mm",
                    "alias": null,
                    "value": 1.4,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 15,
                    "name": "Time",
                    "alias": null,
                    "value": 2339.0,
                    "status": 1,
                    "valid": true,
                    "description": null
                },
                {
                    "id": 18,
                    "name": "TW",
                    "alias": null,
                    "value": -9999.0,
                    "status": 2,
                    "valid": false,
                    "description": null
                }
            ]
        }
    ]
}

So it's a success (also - note the latest report timestamp - 23:40, instead of 00:00 or 00:10, but that's another IMS issues). In the logs:

2024-11-22 00:11:32.882 DEBUG (MainThread) [custom_components.ims_envista] Station 45 latest data: StationID: 45, Date: 2024-11-21 23:40:00+02:00, Readings: [(TD: 17.3°C), (TDmax: 17.5°C), (TDmin: 17.1°C), (TG: None), (RH: 78.0%), (Rain: None), (WS: 1.4m/s), (WSmax: 2.1m/s), (WD: 106.0deg), (WDmax: 113.0deg), (STDwd: 11.6deg), (WS1mm: 1.7m/s), (WS10mm: 1.4m/s), (Time: 23:39hhmm)]
2024-11-22 00:11:32.882 DEBUG (MainThread) [ims_envista.commons] Sending GET from https://api.ims.gov.il/v1/envista/stations/45/data/daily
2024-11-22 00:11:32.922 DEBUG (MainThread) [custom_components.ims_envista] Finished fetching ims_envista data in 5.368 seconds (success: False)

I've added a PR (#25) for disabling the Daily fetch (as it's redundant at this point), and perhaps that'll improve this. Please update to the next version

pshotts commented 4 days ago

2024-11-22 00:11:32.922 DEBUG (MainThread) [custom_components.ims_envista] Finished fetching ims_envista data in 5.368 seconds (success: False)

At the end of the third line of the log that you entered is "success: False"

I think you have found the issue - the disconnect between the actual date 2024-11-22 and the timestamp in the response. In the 00:31 data it is still 23:58 of 2024-11-21. In the 00:41 data it is already 00:17, and it loads correctly.

Anyway, I have redownloaded and restarted HA. Now we wait until tomorrow...

Shabbat shalom and thanks again! Paul

pshotts commented 3 days ago

Your update seems to have resolved the issue. The integration retrieved data successfully without interruption at 00:00, 00:20, 00:30, 00:40 etc. The entities were never "Unavailable"

GuyKh commented 3 days ago

Glad to hear.