Build an AGA Cooker Display
As you may have read here, I wanted to build a reminder/indication for our AGA kitchen stove. This was my solution.

Hardware items needed
- Raspberry Pico W
- Waveshare 1.3” Pico OLED display
- USB-A to USB-C cable
- Thonny IDE for MicroPython to program the picoW
- HomeAssistant providing energy use via MQTT messages
- Automations set up in HomeAssistant responding to
- Current sensing input for your stove to HomeAssistant, eg. myenergi harvi (2 CT clamps minimum on 3 Phase install)
Current Sensing
Near the switch board or in another safely accessible location, mount 2-3 CT-clamps on the feeders to the AGA stove. I ordered compact myenergi clamps.


I connected the CT clamp wires to the unused inputs of my harvi, which show up as sensors in the Home Assistant myenergi integration.
Code
Download the micropython code and load it onto the PicoW using the Thonny application. Or view it as a GitHub Gist.
Home Assistant set-up
In HomeAssistant, create input_number definitions in configuration.yaml;

Add ON/OFF Automations for each element of your stove, for example to signal Baking Oven was turned ON:
alias: AGA Baking Oven ON
description: ""
trigger:
- platform: numeric_state
entity_id:
- sensor.ct2_actueel_vermogen
above: 820
below: 960
condition: []
action:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.aga_baking_oven
mode: single
In HomeAssistant, add binary input_boolean (On/Off) sensors for each item on your stove, for example:
alias: AGA turns OFF CT2
description: ""
trigger:
- platform: numeric_state
entity_id:
- input_number.ct2_actueel
below: 1
for:
hours: 0
minutes: 1
seconds: 0
- platform: numeric_state
entity_id:
- sensor.ct2_ct3
below: 1
for:
hours: 0
minutes: 1
seconds: 0
condition: []
action:
- service: input_boolean.turn_off
data: {}
target:
entity_id:
- input_boolean.aga_grill
- input_boolean.aga_baking_oven
- input_boolean.aga_roasting_oven
mode: single

Add MQTT topics in HomeAssistant configuration.yaml:
mqtt_statestream:
base_topic: homeassistant
publish_attributes: false
publish_timestamps: false
include:
entities:
- input_boolean.aga_warming_oven
- input_boolean.aga_boiling_plate
- input_boolean.aga_simmer_plate
- input_boolean.aga_baking_oven
- input_boolean.aga_roasting_oven
- input_boolean.aga_grill
entity_globs:
- input_boolean.aga_*
# MQTT subscribe to PicoW
mqtt:
sensor:
- name: "Timer A"
unique_id: "timer_a"
state_topic: "picow/timerA/running"
- name: "Timer B"
unique_id: "timer_b"
state_topic: "picow/timerB/running"
More on MQTT for sensors from PicoW micropython here
Adapt for your use case, eg.
- MQTT messages format
- Connection names and trigger currents of your stove elements (look at sensor.ct2_ above)
Because the myenergi harvi is powered from the CT clamps, a bit more tweaking is required.
To reset the current sensors to zero when no PV or AGA current is flowing through the clamps, I created a 2 minute timer that is reset every minute as a (non-zero) measurement from the myenergi server arrives in Home Assistant myenergi integration. When this timer eventually runs out, it means neither the PV panels nor the stove is consuming any power, and an automation sets input_number.ct2_actueel
and input_number.ct3_actueel
back to zero.
If you need those details, open an Issue on this site.
Enjoy Reading This Article?
Here are some articles you might like to read next: