Emlog (Electronic Meter Log)

January 16, 2026 · View on GitHub

Diese Integration liest Energie- und Gaszählerdaten direkt vom Emlog-Gerät und macht sie in Home Assistant verfügbar. Sie bietet vollständige Automatisierung zur Datenerfassung mit erweiterten Konfigurationsoptionen für Tarifberechnungen.

📌 Hinweis: Dies ist meine erste HACS Integration. Sie wurde mit der Unterstützung von GitHub Copilot entwickelt, um Transparenz zu schaffen und zu demonstrieren, wie KI-Coding-Tools bei der Integration-Entwicklung helfen können. Die Architektur-Entscheidungen, Design-Pattern und Begründungen sind im .github/-Verzeichnis dokumentiert.

⚠️ Inoffizielle Integration: Diese Integration ist ein privates Projekt und nicht offiziell von Weidmann Elektronik (Hersteller von Emlog) unterstützt. Das Emlog-Gerät ist ein Produkt von Weidmann Elektronik – diese Integration wurde von der Community entwickelt.

✨ Features

Kerneigenschaften

  • 📡 Automatisches Daten-Polling - Regelmäßiges Auslesen der Emlog-API
  • 🌐 Dynamische Währungserkennung - Währung wird automatisch von der API ausgelesen
  • 🕐 Automatische Timezone-Nutzung - Verwendet die konfigurierte HA-Timezone statt UTC
  • 🔄 Utility Meter Integration - Erstellt automatisch tägliche/monatliche/jährliche Verbrauchsmesser
  • 🎯 Flexible Helfer-Integration - Nutze input_number Entities für dynamische Werte (Preise, Faktoren)
  • Multi-Meter Support - Unterstütze mehrere Emlog-Geräte gleichzeitig

💡 Wichtig: Dynamische Werte statt statische Konfiguration

Währung: Die Integration erkennt die Währung automatisch von Ihrem Emlog-Gerät. Sie müssen keine Währung manuell eintragen. Die Unit-of-Measurement wird dynamisch basierend auf der API-Response gesetzt (z.B. EUR, CHF, etc.).

Timezone: Alle Zeitstempel nutzen die in Home Assistant konfigurierte Timezone - nicht UTC. Dies stellt sicher, dass Ihre Kostenberechnungen und Utility-Meter mit Ihrer lokalen Zeit synchronisiert sind.

Sensoren

  • Zählerstände (in kWh / m³) - Gesamtverbrauch mit verschiedenen Tarifen
  • Leistungssensoren (in W) - Aktuelle Leistung in Echtzeit
  • Betrag-Sensoren - Tagesaktuelle Kosten von der Emlog API
  • Preis-Sensoren - Konfigurierbare kWh-Preise
  • Utility Meter - Automatische tägliche/monatliche/jährliche Aggregationen
  • Status-Sensoren - API-Verbindungsstatus und letzte Fehlermeldung

Erweiterte Features

  • 🏷️ Basis-Preise (Grundpreis) - Monatliche Grundgebühren für Strom & Gas
  • 💳 Monatliche Abschläge (Voraus) - Vorkonfigurierte Abschlagszahlungen
  • 📆 Abrechnung Monat - Flexibles Abrechnungsdatum für Kostenberechnungen
  • 🔗 Dynamische Helfer - Verlinke Entities für:
    • Strom-/Gaspreise (kWh)
    • Gasbrennwert (Brennwert)
    • Gaszustandszahl
    • Basis-Preise (Grundgebühren)
    • Abschlagszahlungen

🚀 Installation

ℹ️ Status: Diese Integration befindet sich derzeit im Prozess der HACS-Katalog-Genehmigung. Bis zur vollständigen Aufnahme im HACS-Verzeichnis kann die Integration als Custom Repository installiert werden.

Schritt 1: HACS Integration hinzufügen

  1. Öffne Einstellungen → Geräte & Dienste → Integrationen
  2. Klicke auf Neue Integration erstellen (Knopf rechts unten)
  3. Suche nach "Emlog"
  4. Klicke auf die Integration und folge dem Setup-Dialog

Falls die Integration nicht angezeigt wird:

  • HACS → Integrationen
  • Klicke auf das Menü (⋮) → Custom Repositories
  • Trage die URL ein: https://github.com/strausmann/hacs_emlog
  • Kategorie: Integration
  • Speichern → Installieren
  • Home Assistant neu starten

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

Schritt 2: Integration konfigurieren

Nach dem Neustart öffne wieder Einstellungen → Geräte & Dienste → Integration hinzufügen → Emlog

Du musst folgende Angaben machen:

FeldBeschreibungBeispiel
HostIP-Adresse deines Emlog-Geräts (ohne http://)192.168.1.50
Zähler-IndexMeterindex für diesen Zähler (1-4)1 (für Strom), 2 (für Gas)
Zähler-TypMessertyp (Strom oder Gas)Strom
Scan-IntervallWie oft Daten abgefragt werden (Sekunden)30

Schritt 3: Optionen konfigurieren (Optional)

Nach der Einrichtung kannst du erweiterte Optionen im Zahnrad-Icon (⚙️) der Integration setzen:

Preise & Gebühren

OptionBeschreibungStandardFormat
Preis pro kWhStrompreis für Kostenberechnung0,00EUR/kWh mit bis zu 4 Dezimalstellen (z.B. 0,3854)
Basis-Preis (€/Monat)Monatliche Grundgebühr0,00EUR
Monatlicher AbschlagVorkonfigurierte monatliche Zahlung0,00EUR

Gas-spezifische Einstellungen

OptionBeschreibungStandard
GasbrennwertUmrechnung m³ → kWh10,88
GaszustandszahlZusatzfaktor für Gasberechnung1,0

Abrechnung & Helfer

OptionBeschreibung
Abrechnung MonatMonat (1-12) für jährliche Kostenberechnung
Dynamische HelferVerlinke input_number oder andere Entities für dynamische Werte

💡 Tipp: Statt feste Werte einzustellen, kannst du dynamische Helfer verwenden:

  1. Erstelle input_number Entities in der UI
  2. Wähle diese in den Integrations-Optionen aus
  3. Ändere Werte jederzeit ohne Integration neu zu laden!

Beispiel:

# Erstelle diese Eingabe-Entities (Input > Number)
input_number:
  strompreis:
    min: 0
    max: 1
    step: 0.0001
    unit_of_measurement: 'EUR/kWh'

  gasbrennwert:
    min: 5
    max: 15
    step: 0.01

📊 Verfügbare Sensoren

Nach der Konfiguration werden automatisch Sensoren für deinen Zähler erstellt. Die Entity-Namen folgen dem Pattern: sensor.emlog_{meter_type}_{meter_index}_{sensor_key}

Beispiele: sensor.emlog_strom_1_zaehlerstand_kwh, sensor.emlog_gas_2_wirkleistung_w

Informations-Sensoren (pro Meter)

Entity-NameNameUnitBeschreibung
emlog_strom_1_productProduktProduktbezeichnung vom Emlog-Gerät (z.B. "Emlog - Electronic Meter Log")
emlog_strom_1_versionSoftware VersionFirmware-Version des Emlog-Geräts (z.B. 1.16)

Strom (Electricity) - Meter-Sensoren

Entity-NameNameUnitDevice ClassBeschreibung
emlog_strom_1_zaehlerstand_kwhZählerstand (kWh)kWhenergyGesamter Stromverbrauch seit Inbetriebnahme (kumulativ, nur steigend)
emlog_strom_1_wirkleistung_wWirkleistung (W)WpowerAktuelle Stromleistung in Echtzeit (Messwert alle 30 Sekunden)
emlog_strom_1_verbrauch_tag_kwhVerbrauch Heute (kWh)kWhenergyHeutiger Stromverbrauch (setzt sich täglich zurück)
emlog_strom_1_betrag_tag_eurBetrag Heute[Währung]monetaryHeutige Stromkosten aus Emlog-API (berechneter Tagesbetrag)
emlog_strom_1_preis_eur_kwhPreis (kWh)[Währung]/kWhmonetaryKonfigurierter Strompreis (nutzt Helfer wenn verlinkt)

☀️ Feed-in Sensoren (Einspeitung) - Optional für Solaranlagen

Diese Sensoren sind optional und können in den Integrations-Optionen aktiviert werden (nur für Stromzähler). Sie sind nützlich, wenn du eine Solaranlage mit Rückspeisung hast:

Entity-NameNameUnitDevice ClassBeschreibung
emlog_strom_1_zaehlerstand_lieferung_kwhZählerstand Lieferung (kWh)kWhenergyGesamter Strom eingespeist ins Netz seit Inbetriebnahme
emlog_strom_1_wirkleistung_lieferung_wWirkleistung Lieferung (W)WpowerAktuelle Einspeiseleistung (Strom vom Dach ins Netz)
emlog_strom_1_einspeitung_heute_kwhEinspeitung Heute (kWh)kWhenergyHeute eingespiesener Strom (setzt sich täglich zurück)
emlog_strom_1_betrag_lieferung_eurBetrag Lieferung Heute[Währung]monetaryHeutige Einspeisevergütung aus Emlog-API (berechneter Betrag)

🔧 So aktivierst du Feed-in Sensoren:

  1. Öffne die Integration: Einstellungen → Geräte & Dienste → Emlog → Zahnrad-Icon (⚙️)
  2. Aktiviere: "Feed-in Sensoren für Solaranlagen (kWh)"
  3. Speichern → Neue Sensoren erscheinen automatisch

Gas (Gas) - Meter-Sensoren

Entity-NameNameUnitDevice ClassBeschreibung
emlog_gas_2_zaehlerstand_m3Zählerstand (m³)gasGesamter Gasverbrauch in Kubikmetern seit Inbetriebnahme
emlog_gas_2_zaehlerstand_kwhZählerstand (kWh)kWhenergyGesamter Gasverbrauch in kWh (konvertiert mit Brennwert/Zustandszahl)
emlog_gas_2_wirkleistung_wWirkleistung (W)WpowerAktuelle Gasleistung
emlog_gas_2_verbrauch_tag_kwhVerbrauch Heute (kWh)kWhenergyHeutiger Gasverbrauch in kWh
emlog_gas_2_betrag_tag_eurBetrag Heute[Währung]monetaryHeutige Gaskosten
emlog_gas_2_preis_eur_kwhPreis (kWh)[Währung]/kWhmonetaryKonfigurierter Gaspreis
emlog_gas_2_brennwertBrennwertBrennwert für Gas-Umrechnung (m³ → kWh)
emlog_gas_2_zustandszahlZustandszahlZustandszahl für Gas-Umrechnung

Status & Fehler-Sensoren (pro Meter)

Entity-NameNameUnitBeschreibung
emlog_strom_1_api_status / emlog_gas_2_api_statusAPI StatusAPI-Verbindungsstatus ("connected", "failed", "initializing")
emlog_strom_1_letzte_fehlermeldung / emlog_gas_2_letzte_fehlermeldungLetzte FehlermeldungLetzter Fehler bei API-Abfrage (leer wenn OK)
emlog_strom_1_letztes_update / emlog_gas_2_letztes_updateLetztes UpdateZeitstempel des letzten erfolgreichen Updates

Automatische Utility Meter (Aggregationen)

Die Integration erstellt automatisch für jeden Meter-Typ (Strom/Gas) drei Utility Meter:

Entity-NameNamePeriodBeschreibung
sensor.emlog_strom_1_verbrauch_tagEmlog Strom 1 Verbrauch TagTäglichTäglicher Stromverbrauch (Referenz-Entity: sensor.emlog_strom_1_zaehlerstand_kwh)
sensor.emlog_strom_1_verbrauch_monatEmlog Strom 1 Verbrauch MonatMonatlichMonatlicher Stromverbrauch (setzt sich am 1. des Monats zurück)
sensor.emlog_strom_1_verbrauch_jahrEmlog Strom 1 Verbrauch JahrJährlichJährlicher Stromverbrauch (setzt sich am 1. Januar zurück)
sensor.emlog_gas_2_verbrauch_tagEmlog Gas 2 Verbrauch TagTäglichTäglicher Gasverbrauch (Referenz-Entity: sensor.emlog_gas_2_zaehlerstand_kwh)
sensor.emlog_gas_2_verbrauch_monatEmlog Gas 2 Verbrauch MonatMonatlichMonatlicher Gasverbrauch
sensor.emlog_gas_2_verbrauch_jahrEmlog Gas 2 Verbrauch JahrJährlichJährlicher Gasverbrauch

Hinweis: Die Nummer in der Entity (z.B. "1" bei "emlog_strom_1") ist der Meter-Index aus der Konfiguration.

💡 Verwendungsbeispiele

Dashboard mit Verbrauch

type: glance
title: Stromverbrauch aktuell
entities:
  - entity: sensor.emlog_strom_1_zaehlerstand_kwh
    name: Gesamtverbrauch
  - entity: sensor.emlog_strom_1_wirkleistung_w
    name: Aktuelle Leistung
  - entity: sensor.emlog_strom_1_verbrauch_tag
    name: Heute
  - entity: sensor.emlog_strom_1_verbrauch_monat
    name: Dieser Monat

⚡ Home Assistant Energie Dashboard Integration

Das Energie Dashboard in Home Assistant kann direkt mit den Emlog-Sensoren verknüpft werden für eine vollständige Energie-Übersicht.

Setup für Strom und Gas

  1. Öffne das Energie Dashboard:

    • Gehe zu: Übersicht → Energie
  2. Strom hinzufügen (Electricity):

    • Klicke auf "Verbrauch hinzufügen"
    • Wähle: sensor.emlog_strom_1_zaehlerstand_kwh
    • Die Entity wird automatisch erkannt (Device Class: Energy, State Class: Total Increasing)
  3. Gas hinzufügen (Gas):

    • Klicke auf "Verbrauch hinzufügen"
    • Wähle eine der beiden Optionen:
      • sensor.emlog_gas_2_zaehlerstand_m3 (Verbrauch in Kubikmetern)
      • sensor.emlog_gas_2_zaehlerstand_kwh (Verbrauch in kWh mit Brennwert-Umrechnung) ← Empfohlen
  4. Speichern

Richtige Entitäten pro Meter-Typ

Beispiel Entity-Namen basierend auf Ihrer Konfiguration:

Meter-TypMeter-IndexEmpfohlene EntityEinheitBeschreibung
Strom1sensor.emlog_strom_1_zaehlerstand_kwhkWhElektrizität (ganz)
Gas2sensor.emlog_gas_2_zaehlerstand_kwhkWhGas in kWh (mit Brennwert-Umrechnung)
Gas2sensor.emlog_gas_2_zaehlerstand_m3Gas in Kubikmetern (alternativ)

💡 Hinweis: Die Nummern (1, 2, etc.) entsprechen den Meter-Indizes aus der Integration-Konfiguration.

Troubleshooting

Sensoren werden im Dashboard nicht angeboten?

  1. Überprüfe, ob die Sensoren in Einstellungen → Geräte & Dienste → Emlog Integration sichtbar sind
  2. Stelle sicher, dass mindestens ein Wert vom Emlog-Gerät abgerufen wurde (check Letztes Update)
  3. Starte Home Assistant neu: Einstellungen → System → Herunterfahren → Neu starten

Falsche Werte im Dashboard?

  1. Überprüfe die Brennwert und Zustandszahl Einstellungen in den Integrations-Optionen
  2. Für Gas in kWh wird automatisch umgerechnet: Verbrauch (m³) × Brennwert × Zustandszahl

Automatisierung

Das Energie Dashboard ermöglicht automatische Auswertungen:

# Beispiel: Tägliche Benachrichtigung mit Energieverbrauch
automation:
  - alias: 'Täglicher Energiebericht'
    trigger:
      platform: time
      at: '22:00:00'
    action:
      - service: notify.notify
        data:
          title: '📊 Heute verbrauchte Energie'
          message: |
            Strom: {{ states('sensor.emlog_strom_1_verbrauch_tag') }} kWh
            Gas: {{ states('sensor.emlog_gas_2_verbrauch_tag') }} m³

Automatisierung - Hoher Stromverbrauch

automation:
  - alias: 'Stromverbrauch zu hoch'
    trigger:
      platform: numeric_state
      entity_id: sensor.emlog_strom_1_wirkleistung_w
      above: 3000
    action:
      - service: persistent_notification.create
        data:
          title: '⚠️ Hoher Stromverbrauch'
          message: "Leistung über 3000W: {{ states('sensor.emlog_strom_1_wirkleistung_w') }}W"

Script - Tägliche Verbrauchsmitteilung

script:
  tagesverbrauch_bericht:
    sequence:
      - service: notify.notify
        data:
          title: '📊 Stromverbrauch heute'
          message: |
            Verbrauch: {{ states('sensor.emlog_strom_1_verbrauch_tag') }} kWh
            Kosten: {{ (states('sensor.emlog_strom_1_verbrauch_tag') | float(0) * 0.35) | round(2) }} EUR

� Kostenberechnung & Abschlag-Sensoren

Die Integration bietet automatische Kostenberechnungen basierend auf konfigurierten Preisen und Grundgebühren.

Verfügbare Cost-Sensoren

Nach der Konfiguration von Preisen und Abschlägen werden automatisch folgende Kosten-Sensoren erstellt:

Tägliche/Monatliche/Jährliche Kosten

Sensor-NameEntity-NameBerechnungBeschreibung
Emlog Strom 1 Kosten Tag`sensor.emlog_strom_1_kosten_tag$(\text{Verbrauch} \times \text{kWh}-\text{Preis}) + (\text{Grundpreis} ÷ 30)\text{Heute} \text{anfallende} \text{Kosten} (\text{ohne} \text{Abschlag})
$Emlog Strom 1 Kosten Monat`sensor.emlog_strom_1_kosten_monat(Verbrauch × kWh-Preis) + GrundpreisDiesen Monat anfallende Kosten
Emlog Strom 1 Kosten Jahr`sensor.emlog_strom_1_kosten_jahr$(\text{Verbrauch} \times \text{kWh}-\text{Preis}) + (\text{Grundpreis} \times 12)\text{Dieses} \text{Jahr} \text{anfallende} \text{Kosten}
$Emlog Gas 2 Kosten Tag`sensor.emlog_gas_2_kosten_tagWie Strom, für GasTägliche Gas-Kosten
Emlog Gas 2 Kosten Monatsensor.emlog_gas_2_kosten_monatWie Strom, für GasMonatliche Gas-Kosten
Emlog Gas 2 Kosten Jahrsensor.emlog_gas_2_kosten_jahrWie Strom, für GasJährliche Gas-Kosten

Abschlag-Sensoren (monatliche Vorauszahlungen)

Sensor-NameEntity-NameBerechnungBeschreibung
Emlog Strom 1 Abschlag Jahresgesamt`sensor.emlog_strom_1_advance_total$\text{Monatlicher} \text{Abschlag} \times 12\text{Gesamte} \text{Abschlagszahlung} \text{pro} \text{Jahr}
$Emlog Strom 1 Abschlag Differenz`sensor.emlog_strom_1_advance_differenceJährliche Kosten - Abschlag JahresgesamtDifferenz zwischen Kosten und Abschlägen
Emlog Gas 2 Abschlag Jahresgesamt`sensor.emlog_gas_2_advance_total$\text{Monatlicher} \text{Abschlag} \times 12\text{Gesamte} \text{Gas}-\text{Abschlagszahlung} \text{pro} \text{Jahr}
$Emlog Gas 2 Abschlag Differenz`sensor.emlog_gas_2_advance_differenceJährliche Kosten - Abschlag JahresgesamtDifferenz: negativ = Nachzahlung, positiv = Rückerstattung

Beispiel-Berechnung

Beispiel Strom mit 0,35 EUR/kWh und 50 EUR/Monat Grundgebühr:

  • Tagesverbrauch: 20 kWh

  • Tägliche Kosten = (20 × 0,35) + (50 ÷ 30) = 7,00 + 1,67 = 8,67 EUR

  • Monatsverbrauch (300 kWh):

  • Monatliche Kosten = (300 × 0,35) + 50 = 105,00 + 50 = 155,00 EUR

  • Jahresverbrauch (3.600 kWh) mit monatlichem Abschlag von 140 EUR:

  • Jährliche Kosten = (3.600 × 0,35) + (50 × 12) = 1.260,00 + 600 = 1.860,00 EUR

  • Abschlag Jahresgesamt = 140 × 12 = 1.680,00 EUR

  • Abschlag Differenz = 1.860,00 - 1.680,00 = 180,00 EUR (Nachzahlung fällig!)

Abschlag interpretieren

  • Positive Differenz (z.B. +180 EUR) → Verbrauch war höher als Abschläge → Nachzahlung notwendig ❌
  • Negative Differenz (z.B. -200 EUR) → Abschläge waren höher → Rückerstattung zu erwarten ✅
  • Differenz ≈ 0 → Abschläge stimmen sehr gut mit Verbrauch überein ✅

Automatische Abrechnung

Die Integration verwendet den konfigurierten Abrechnungsmonat für Jahresberechnungen. Normalerweise ist das Dezember (Monat 12). Sie können dies in den Integrations-Optionen anpassen.

🔧 Fehlerbehebung

Integration wird nicht angezeigt

  • Home Assistant neu starten (Einstellungen → System → Neu starten oben rechts)
  • HACS Cache leeren: HACS-Seite mit Strg+Shift+R neu laden

Verbindungsfehler

  • "HTTP 404 Not Found" → Meterindex prüfen (meist 1 für Strom, 2 für Gas)
  • "Timeout" → Scan-Intervall erhöhen (z.B. auf 60 Sekunden), oder Emlog-IP-Adresse prüfen
  • "Connection refused" → Prüfe ob Emlog online ist: ping 192.168.x.x

Sensoren zeigen "unavailable"

  • Gehe in die Optionen der Integration (Zahnrad-Icon)
  • Prüfe dass Helfer-Entities korrekt verlinkt sind
  • Führe einen Integration Reload durch: Einstellungen → Geräte & Dienste → Emlog → ⋮ (Menü) → Neu laden

Kosten-Sensoren werden nicht angezeigt

  • Prüfe ob Strompreis und Grundpreis konfiguriert sind (Optionen der Integration)
  • Ohne diese Werte können keine Kostenberechnungen erfolgen
  • Nach Konfiguration: Integration Reload durchführen

Dynamische Helfer funktionieren nicht

  • Stelle sicher dass die input_number Entity existiert
  • Prüfe die Entity-ID in den Integrations-Optionen
  • Entity-ID muss exakt passen (z.B. input_number.strompreis_kwh)
  • Nach Helfer-Änderung: Integration Reload durchführen

📚 Weitere Dokumentation

🤝 Fragen & Support

🙌 Beitragen

Möchtest du zur Integration beitragen?

  • 🐛 Bug melden - Im Issue-Tracker
  • 💡 Feature vorschlagen - Mit detaillierter Beschreibung
  • 📝 Dokumentation verbessern - Pull Request mit Verbesserungen
  • 💻 Code beitragen - Schaue CONTRIBUTING.md

📄 Lizenz

Diese Integration ist unter der MIT Lizenz lizenziert.