Skip to content

[feat] Add Data Logger Timestamp Sensor to Solis Cloud#3560

Open
CraigCallender wants to merge 1 commit intospringfall2008:mainfrom
CraigCallender:feature/solis-data-refresh-entity
Open

[feat] Add Data Logger Timestamp Sensor to Solis Cloud#3560
CraigCallender wants to merge 1 commit intospringfall2008:mainfrom
CraigCallender:feature/solis-data-refresh-entity

Conversation

@CraigCallender
Copy link
Contributor

@CraigCallender CraigCallender commented Mar 13, 2026

Add Data Logger Timestamp Sensor to Solis Cloud

Problem

When monitoring the Solis Cloud integration, there was no way to tell how fresh the data being displayed actually was. The Solis datalogger only reports to SolisCloud periodically (typically every ~5 minutes), and API throttling or datalogger connectivity issues can cause the data to become stale. Without visibility into the data's age, it's difficult to distinguish between genuinely stable readings and stale/outdated values. In addition, a successful poll by predbat may still retreive stale data from SolisCloud if your datalogger hasn't been able to post its data to SolisCloud.

Changes

  • Added a new sensor in publish_entities() in solis.py:
    • sensor.{prefix}_solis_{sn}_data_timestamp — the timestamp when the datalogger last reported data to SolisCloud, exposed as a HA timestamp device class entity.
  • The dataTimestamp field from the API is provided as epoch milliseconds and is converted to an ISO 8601 datetime string.

Data Source

This value comes from the dataTimestamp field in the Solis inverterDetail API response (already polled by fetch_inverter_details()), so no additional API calls are needed. This is the same field used by the solis-sensor integration to track data freshness.

Screenshot

Here's a screenshot of using the entity in a header badge:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant