Skip to main content

Import E.ON W1000 energy meter data to Home Assistant with Spook integration

Workflow preview

Import E.ON W1000 energy meter data to Home Assistant with Spook integration preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

Overview

UPDATES:

  • 2025-12-03 fix JS code in calculate hourly sum node

E.ON W1000 → n8n → Home Assistant (Spook) “Integration”

This workflow processes emails from the E.ON portal containing 15-minute +A -A (import/export) data and daily 1.8.0 2.8.0 meter readings.
It extracts the required columns from the attached XLSX file, groups the 15-minute values by hour, then:

  • updates the Spook/Recorder statistics under the IDs sensor.grid_energy_import and sensor.grid_energy_export, and
  • sets the current meter readings for the entities input_number.grid_import_meter and input_number.grid_export_meter.

> You may need to modify the workflow if there are changes in how E.ON sends scheduled exports. If the exported data format changes, please report it on Github!

Requirements

  • n8n (cloud or self-hosted)
  • (For Gmail) Gmail API authentication (OAuth2) read-only email access to the account receiving the messages
    • Setup guide available here
  • (For IMAP) IMAP provider credentials
  • Home Assistant access via Long-Lived Access Token or API key
    • Setup guide available here
  • Spook integration
    • Documentation and installation guide available here

E.ON Portal Setup

  1. Create a scheduled export on the E.ON portal with the following parameters:
    • Under the Remote Meter Reading menu, click on the + new scheduled export setting button.
      • Specify POD identifier(s): choose one of the PODs you want to query.
      • Specify meter variables: select the following:
        • +A Active Power Consumption
        • -A Active Power Feed-In
        • DP_1-1:1.8.0*0 Active Power Consumption Daily Reading
        • DP_1-1:2.8.0*0 Active Power Feed-In Daily Reading
      • Export sending frequency: daily
      • Days of historical data to include: recommended 7 days to backfill missed data.
      • Email subject: by default, use [EON-W1000]. If processing multiple PODs with the workflow, give each a unique identifier.

Home Assistant Preparation

  1. Create the following input_number entities in configuration.yaml or via Helpers:

Helpers

input_number:
  grid_import_meter:
    name: grid_import_meter
    mode: box
    initial: 0
    min: 0
    max: 9999999999
    step: 0.001
    unit_of_measurement: kWh
  grid_export_meter:
    name: grid_export_meter
    mode: box
    initial: 0
    min: 0
    max: 9999999999
    step: 0.001
    unit_of_measurement: kWh

> If you name the entities differently, make sure to reflect these changes in the workflow.

  1. Create the following template_sensor entities in configuration.yaml or via Helpers:

Segéd entitások

input_number:
  grid_import_meter:
    name: grid_import_meter
    mode: box
    initial: 0
    min: 0
    max: 9999999999
    step: 0.001
    unit_of_measurement: kWh
  grid_export_meter:
    name: grid_export_meter
    mode: box
    initial: 0
    min: 0
    max: 9999999999
    step: 0.001
    unit_of_measurement: kWh

>If you name the entities differently, make sure to reflect these changes in the workflow.

  1. create the following template_sensor entities in config.yaml or via Helpers:

Segéd entitások

template:
  - sensor:
      - name: "grid_energy_import"
        state: "{{ states('input_number.grid_import_meter') | float(0) }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing
      - name: "grid_energy_export"
        state: "{{ states('input_number.grid_export_meter') | float(0) }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing

> If you name the entities differently, make sure to reflect these changes in the workflow.

n8n import and authentication

  1. importing the workflow

    • In n8n → WorkflowsImport from File/Clipboard → paste the JSON.
    • Select the downloaded JSON and paste it into a new workflow using Ctrl+V.
  2. Set up n8n Credentials The credentials must be configured in the Home Assistant and Gmail nodes. The setup process is described in the Requirements section.