Extended support for Tibber electricity prices in Home Assistant
Find a file
2026-04-11 12:09:15 +00:00
.devcontainer fix(devcontainer): update Python version to 3.14 in devcontainer configuration 2026-03-29 18:19:33 +00:00
.github feat(docs): add multi-language entity reference with search 2026-04-11 09:55:28 +00:00
config feat(config_flow): add price level gap tolerance for Tibber API level field 2025-12-22 20:25:30 +00:00
custom_components/tibber_prices fix(docs): correct inaccuracies and add missing documentation 2026-04-11 11:51:52 +00:00
docs docs(period-calculation): clarify Best Price definition and V-shaped price day behavior 2026-04-11 12:09:15 +00:00
images chore: Update logo and icons for Tibber Prices Integration 2025-12-07 19:00:32 +00:00
planning docs: add refactoring guide and planning directory documentation 2025-11-15 12:07:18 +00:00
schemas/json docs(schemas): update JSON schemas for translation structure 2025-11-25 20:44:39 +00:00
scripts refactor(docs): restructure navigation and split large pages 2026-04-11 10:33:58 +00:00
tests fix(tests): move LogCaptureFixture import under TYPE_CHECKING for better type hinting 2026-04-11 11:05:55 +00:00
.editorconfig refactoring devcontainer 2025-04-23 18:27:46 +00:00
.gitattributes Initial commit 2025-04-18 14:32:54 +02:00
.gitignore chore(dev): add HACS installation and sync scripts for testing 2025-11-16 18:05:14 +00:00
.markdownlint.json chore(markdownlint): add initial configuration file 2025-11-09 16:02:19 +00:00
.pre-commit-config.yaml chore(pre-commit): add docusaurus build guard for changed docs sites 2026-04-09 18:41:41 +00:00
.prettierignore refactoring devcontainer 2025-04-23 18:27:46 +00:00
AGENTS.md docs: document entity reference system in AGENTS.md 2026-04-11 09:56:10 +00:00
cliff.toml feat: add footer to release notes with coffee donation link 2026-04-06 15:18:07 +00:00
CONTRIBUTING.md docs: update documentation structure for Docusaurus sites 2025-12-07 16:59:06 +00:00
hacs.json fix(lint): apply Python 3.14 ruff rules and update HA minimum version 2026-04-11 10:56:34 +00:00
LICENSE Rename component 2025-04-18 12:51:32 +00:00
pyproject.toml fix(lint): apply Python 3.14 ruff rules and update HA minimum version 2026-04-11 10:56:34 +00:00
README.md docs(readme): restructure as HACS storefront with updated features 2026-04-11 10:55:21 +00:00
requirements.txt chore(deps): update ruff requirement (#83) 2026-02-04 07:56:44 +01:00

Tibber Prices - Custom Home Assistant Integration

Tibber Prices Custom Integration for Tibber

GitHub Release GitHub Activity License

hacs Project Maintenance

Buy Me A Coffee

⚠️ Not affiliated with Tibber This is an independent, community-maintained custom integration for Home Assistant. It is not an official Tibber product and is not affiliated with or endorsed by Tibber AS.

The most comprehensive Tibber price integration for Home Assistant. Get 100+ sensors with quarter-hourly precision, intelligent best/peak price period detection, price forecasts, trend analysis, volatility tracking, and beautiful chart visualizations - all from a single integration. Automate your energy consumption like a pro.

📖 Documentation

📚 Complete Documentation — Installation, guides, examples, and full sensor reference:

Quick Links: Installation · Sensor Reference · Charts · Automations · FAQ · Changelog

Why This Integration?

Most Tibber integrations give you a single price sensor. This one gives you a complete energy optimization toolkit:

🔮 Know What's Coming

  • Quarter-hourly precision — 15-minute interval prices, not just hourly averages
  • Price forecasts — See average prices for the next 1h, 2h, 3h, ... up to 12h ahead
  • Trend analysis — Know if prices are rising, falling, or stable — and when the next trend change happens
  • Price trajectory — Detect turning points before they happen (first-half vs second-half window comparison)
  • Price outlook — Instantly see if the next hours will be cheaper or more expensive than now

Automate Smartly

  • Best Price & Peak Price Periods — Intelligent binary sensors that detect the cheapest and most expensive periods of the day, with configurable flexibility, relaxation strategies, and gap tolerance (how it works)
  • Period timing sensors — Duration, end time, remaining minutes, progress percentage, and countdown to next period — everything you need for advanced automations
  • Runtime configuration — Adjust period detection parameters on the fly via switches and number entities, without restarting — perfect for automations that adapt to your schedule
  • 5-level price classification — VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE from Tibber's API
  • 3-level price ratings — LOW, NORMAL, HIGH based on 24h trailing average comparison

📊 Visualize Beautifully

  • Auto-generated ApexCharts — One action call generates a complete chart configuration with dynamic Y-axis scaling and color-coded price levels (see examples)
  • Dynamic icons & colors — Every sensor adapts its icon and color to the current price state — cheap prices glow green, expensive ones turn red (icon guide)
  • Chart data export — Flexible data API with filtering, resolution control, and multiple output formats for any visualization card

📈 Understand Your Market

  • Volatility analysis — Know if today's prices are stable or wild (low/moderate/high/very_high)
  • Daily & rolling statistics — Min, max, average, median for today, tomorrow, trailing 24h, and leading 24h
  • Energy & tax breakdown — See spot price vs. tax components as sensor attributes
  • Multi-currency support — EUR, NOK, SEK, DKK, USD, GBP with configurable base/subunit display (€ vs ct, kr vs øre)

🛡️ Built for Reliability

  • Intelligent caching — Multi-layer caching minimizes API calls, survives HA restarts, auto-invalidates at midnight
  • High-performance interval pool — O(1) timestamp lookups, gap detection, auto-fetching of missing data
  • Quarter-hour precision updates — Sensors refresh at :00/:15/:30/:45 boundaries, independent of API polling
  • Official API only — Uses Tibber's priceInfo and priceInfoRange endpoints. All ratings and statistics are calculated locally.

🚀 Quick Start

Step 1: Install via HACS

Prerequisites: HACS (Home Assistant Community Store) must be installed.

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

  1. Click "Download" to install
  2. Restart Home Assistant

Step 2: Configure

Open your Home Assistant instance and start setting up a new integration.

  1. Enter your Tibber API token (get one here)
  2. Select your Tibber home
  3. Configure price thresholds (optional — sensible defaults are provided)

Or manually: SettingsDevices & Services+ Add Integration → search "Tibber Price Information & Ratings"

Step 3: Done!

  • 100+ sensors are now available (key sensors enabled by default, advanced ones ready to enable)
  • Explore entities in SettingsDevices & ServicesTibber Price Information & Ratings
  • Start building automations, dashboards, and energy-saving workflows

📖 Full Installation Guide →

📊 What You Get

The integration provides 100+ entities across sensors, binary sensors, switches, and number entities. Here are the highlights — all key sensors are enabled by default:

Entity list showing dynamic icons for different price states
Category Highlights Count
💰 Prices Current, next & previous interval price + rolling hour averages 6+
📊 Statistics Daily min/max/avg for today & tomorrow, 24h trailing & leading windows 12+
🔮 Forecasts Next 1h12h average prices, price outlook & trajectory sensors 20+
📈 Trends Current trend direction, next trend change time & countdown 3
📉 Volatility Today, tomorrow, next 24h & combined volatility levels 4
🏷️ Levels & Ratings 5-level (API) and 3-level (computed) classification per interval, hour & day 12+
Period Timing Best/peak: end time, duration, remaining, progress, next start 10+
🔌 Binary Sensors Best price period, peak price period, tomorrow data available, API connection 4+
🎛️ Runtime Config Switches & numbers to adjust period detection live — no restart needed 14
🔧 Diagnostics Data lifecycle status, home metadata, grid info, subscription status 15+

Every sensor includes rich attributes — timestamps, detailed descriptions, and context data. Enable Extended Descriptions in the integration options to get long_description and usage_tips on every entity.

📖 Complete Sensor Reference → — All entities with descriptions, attributes, and multi-language lookup

🤖 Automation Sneak Peek

See the full automation examples guide for more recipes.

Run appliances when electricity is cheapest:

automation:
    - alias: "Start Dishwasher During Best Price Period"
      trigger:
          - platform: state
            entity_id: binary_sensor.tibber_best_price_period
            to: "on"
      action:
          - action: switch.turn_on
            target:
                entity_id: switch.dishwasher

Reduce heating when prices spike above average:

automation:
    - alias: "Reduce Heating During High Prices"
      trigger:
          - platform: numeric_state
            entity_id: sensor.tibber_current_interval_price_rating
            above: 20 # More than 20% above 24h average
      action:
          - action: climate.set_temperature
            target:
                entity_id: climate.living_room
            data:
                temperature: 19

📖 More automations → — EV charging, heat pump control, price notifications, and more

📈 Chart Visualizations

Generate beautiful price charts with a single action call — dynamic Y-axis, color-coded price levels, and multiple chart modes included.

Dynamic 48h rolling window chart with color-coded price levels

📖 Chart examples & setup → | Actions reference →

Help & Support

🤝 Contributing

Contributions are welcome! See the Contributing Guidelines and Developer Documentation to get started.

🤖 Development Note

This integration is developed with extensive AI assistance (GitHub Copilot, Claude, and other AI tools). While AI enables rapid development, it's possible that some edge cases haven't been discovered yet. If you encounter any issues, please open an issue — we'll fix them (with AI help, of course! 😊).

Quality is ensured through automated linting (Ruff), static type checking (Pyright), and real-world testing.

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.