[Project] Geekmagic SmallTV Pro as a PVPC Electricity Price (Spain) & Home Power Display

Hi everyone!

I’ve just shared my ESPHome project for the Geekmagic SmallTV Pro, turning this small ESP32-based display into a dedicated PVPC electricity price and live home power monitor for Home Assistant.

The idea is simple: instead of checking the energy price on your phone or opening a dashboard, you can keep a tiny always-on screen on your desk, kitchen counter, or electrical panel showing the information that matters most.

It is built for the Geekmagic SmallTV Pro display, using ESPHome and LVGL, and it reads electricity data directly from Home Assistant.

What it shows

The project currently includes two main screens:

  • Dashboard view

    • Current PVPC electricity price
    • Live home power consumption
    • Dual arc gauges for quick visual reading
  • Hourly price view

    • Next 4 hourly electricity prices
    • Color bands to quickly identify cheaper and more expensive hours

The device also supports touch page switching, so you can move between the dashboard and the hourly price view directly from the screen.

Key features

  • ESPHome-based, easy to adapt and maintain
  • LVGL UI instead of custom pixel drawing
  • Designed for the Geekmagic SmallTV Pro
  • Uses Home Assistant sensors for:
    • Current electricity price
    • Hourly PVPC prices
    • Live home power consumption
  • Runtime threshold tuning exposed as Home Assistant entities
  • Automatic UI refresh every 30 seconds
  • Immediate refresh when Home Assistant sensor values change
  • OTA updates after the first manual flash

Hardware

This project is made for the Geekmagic SmallTV Pro:

  • ESP32-based device
  • ST7789 240x240 display
  • Touch input used for switching pages

Requirements

You will need:

  • Home Assistant
  • ESPHome, either the Home Assistant add-on or CLI
  • ESPHome API enabled
  • Geekmagic SmallTV Pro
  • A Home Assistant sensor providing the current PVPC price
  • Hourly price attributes, for example price_00h to price_23h
  • A Home Assistant sensor for live house power consumption

By default, the YAML uses my own Home Assistant entity IDs, but they are easy to replace with your own sensors.

Setup summary

  1. Copy the example secrets file and add your Wi-Fi credentials.
  2. Import the ESPHome YAML into ESPHome Builder.
  3. Replace the default Home Assistant entity IDs with your own.
  4. Build the firmware.
  5. Flash the first .bin from the Geekmagic web portal.
  6. Once online, future updates can be done via OTA.

Repository

GitHub repo:

The repository includes the main ESPHome YAML, screenshots, an example secrets file, and documentation explaining where to change the Home Assistant sensors.

Screenshots

Dashboard view:

Hourly price view:

Notes

This started as a practical way to reuse the Geekmagic SmallTV Pro as a small energy display for Spanish PVPC electricity prices.

It may also be useful as a base for other energy dashboards, dynamic tariff displays, solar surplus indicators, or any Home Assistant sensor-based mini dashboard.

Feedback, ideas, improvements, and contributions are very welcome!

1 Like

Hello, I spent hours trying to make esphome working. I managed to get the initial firmware and then being able to do esphome OTA. but nothing was showing on the screen. I thought my hardware was incompatilbe. Thanks to your code I know it can work. Thanks.

Now i have to build the code for my need