mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-03-30 05:13:40 +00:00
Migrated chart_data_export from binary_sensor to sensor to enable
compatibility with dashboard integrations (ApexCharts, etc.) that
require sensor entities for data selection.
Changes:
- Moved chart_data_export from binary_sensor/ to sensor/ platform
- Changed from boolean state (ON/OFF) to ENUM states ("pending", "ready", "error")
- Maintained all functionality: service call, attribute structure, caching
- Updated translations in all 5 languages (de, en, nb, nl, sv)
- Updated user documentation (sensors.md, services.md)
- Removed all chart_data_export code from binary_sensor platform
Technical details:
- State: "pending" (before first call), "ready" (data available), "error" (service failed)
- Attributes: timestamp + error (metadata) → descriptions → service response data
- Cache (_chart_data_response) bridges async service call and sync property access
- Service call: Triggered on async_added_to_hass() and async_update()
Impact: Dashboard integrations can now select chart_data_export sensor
in their entity pickers. No breaking changes for existing users - entity ID
changes from binary_sensor.* to sensor.*, but functionality identical.
106 lines
3.6 KiB
Markdown
106 lines
3.6 KiB
Markdown
# Sensors
|
|
|
|
> **Note:** This guide is under construction. For now, please refer to the [main README](../../README.md) for available sensors.
|
|
|
|
> **Tip:** Many sensors have dynamic icons and colors! See the **[Dynamic Icons Guide](dynamic-icons.md)** and **[Dynamic Icon Colors Guide](icon-colors.md)** to enhance your dashboards.
|
|
|
|
## Binary Sensors
|
|
|
|
### Best Price Period & Peak Price Period
|
|
|
|
These binary sensors indicate when you're in a detected best or peak price period. See the **[Period Calculation Guide](period-calculation.md)** for a detailed explanation of how these periods are calculated and configured.
|
|
|
|
**Quick overview:**
|
|
|
|
- **Best Price Period**: Turns ON during periods with significantly lower prices than the daily average
|
|
- **Peak Price Period**: Turns ON during periods with significantly higher prices than the daily average
|
|
|
|
Both sensors include rich attributes with period details, intervals, relaxation status, and more.
|
|
|
|
## Core Price Sensors
|
|
|
|
Coming soon...
|
|
|
|
## Statistical Sensors
|
|
|
|
Coming soon...
|
|
|
|
## Rating Sensors
|
|
|
|
Coming soon...
|
|
|
|
## Diagnostic Sensors
|
|
|
|
### Chart Data Export
|
|
|
|
**Entity ID:** `sensor.tibber_home_NAME_chart_data_export`
|
|
**Default State:** Disabled (must be manually enabled)
|
|
|
|
> **⚠️ Legacy Feature**: This sensor is maintained for backward compatibility. For new integrations, use the **`tibber_prices.get_chartdata`** service instead, which offers more flexibility and better performance.
|
|
|
|
This diagnostic sensor provides cached chart-friendly price data that can be consumed by chart cards (ApexCharts, custom cards, etc.).
|
|
|
|
**Key Features:**
|
|
|
|
- **Configurable via Options Flow**: Service parameters can be configured through the integration's options menu (Step 7 of 7)
|
|
- **Automatic Updates**: Data refreshes on coordinator updates (every 15 minutes)
|
|
- **Attribute-Based Output**: Chart data is stored in sensor attributes for easy access
|
|
- **State Indicator**: Shows `pending` (before first call), `ready` (data available), or `error` (service call failed)
|
|
|
|
**Important Notes:**
|
|
|
|
- ⚠️ Disabled by default - must be manually enabled in entity settings
|
|
- ⚠️ Consider using the service instead for better control and flexibility
|
|
- ⚠️ Configuration updates require HA restart
|
|
|
|
**Attributes:**
|
|
|
|
The sensor exposes chart data with metadata in attributes:
|
|
|
|
- **`timestamp`**: When the data was last fetched
|
|
- **`error`**: Error message if service call failed
|
|
- **`data`** (or custom name): Array of price data points in configured format
|
|
|
|
**Configuration:**
|
|
|
|
To configure the sensor's output format:
|
|
|
|
1. Go to **Settings → Devices & Services → Tibber Prices**
|
|
2. Click **Configure** on your Tibber home
|
|
3. Navigate through the options wizard to **Step 7: Chart Data Export Settings**
|
|
4. Configure output format, filters, field names, and other options
|
|
5. Save and restart Home Assistant
|
|
|
|
**Available Settings:**
|
|
|
|
See the `tibber_prices.get_chartdata` service documentation below for a complete list of available parameters. All service parameters can be configured through the options flow.
|
|
|
|
**Example Usage:**
|
|
|
|
```yaml
|
|
# ApexCharts card consuming the sensor
|
|
type: custom:apexcharts-card
|
|
series:
|
|
- entity: sensor.tibber_home_chart_data_export
|
|
data_generator: |
|
|
return entity.attributes.data;
|
|
```
|
|
|
|
**Migration Path:**
|
|
|
|
If you're currently using this sensor, consider migrating to the service:
|
|
|
|
```yaml
|
|
# Old approach (sensor)
|
|
- service: apexcharts_card.update
|
|
data:
|
|
entity: sensor.tibber_home_chart_data_export
|
|
|
|
# New approach (service)
|
|
- service: tibber_prices.get_chartdata
|
|
data:
|
|
entry_id: YOUR_ENTRY_ID
|
|
day: ["today", "tomorrow"]
|
|
output_format: array_of_objects
|
|
response_variable: chart_data
|
|
```
|