Skip to content

Latest commit

 

History

194 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emlog (Electronic Meter Log) – Home Assistant Integration (HACS)

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:

Feld Beschreibung Beispiel
Host IP-Adresse deines Emlog-Geräts (ohne http://) 192.168.1.50
Zähler-Index Meterindex für diesen Zähler (1-4) 1 (für Strom), 2 (für Gas)
Zähler-Typ Messertyp (Strom oder Gas) Strom
Scan-Intervall Wie 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

Option Beschreibung Standard Format
Preis pro kWh Strompreis für Kostenberechnung 0,00 EUR/kWh mit bis zu 4 Dezimalstellen (z.B. 0,3854)
Basis-Preis (€/Monat) Monatliche Grundgebühr 0,00 EUR
Monatlicher Abschlag Vorkonfigurierte monatliche Zahlung 0,00 EUR

Gas-spezifische Einstellungen

Option Beschreibung Standard
Gasbrennwert Umrechnung m³ → kWh 10,88
Gaszustandszahl Zusatzfaktor für Gasberechnung 1,0

Abrechnung & Helfer

Option Beschreibung
Abrechnung Monat Monat (1-12) für jährliche Kostenberechnung
Dynamische Helfer Verlinke 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-Name Name Unit Beschreibung
emlog_strom_1_product Produkt Produktbezeichnung vom Emlog-Gerät (z.B. "Emlog - Electronic Meter Log")
emlog_strom_1_version Software Version Firmware-Version des Emlog-Geräts (z.B. 1.16)

Strom (Electricity) - Meter-Sensoren

Entity-Name Name Unit Device Class Beschreibung
emlog_strom_1_zaehlerstand_kwh Zählerstand (kWh) kWh energy Gesamter Stromverbrauch seit Inbetriebnahme (kumulativ, nur steigend)
emlog_strom_1_wirkleistung_w Wirkleistung (W) W power Aktuelle Stromleistung in Echtzeit (Messwert alle 30 Sekunden)
emlog_strom_1_verbrauch_tag_kwh Verbrauch Heute (kWh) kWh energy Heutiger Stromverbrauch (setzt sich täglich zurück)
emlog_strom_1_betrag_tag_eur Betrag Heute [Währung] monetary Heutige Stromkosten aus Emlog-API (berechneter Tagesbetrag)
emlog_strom_1_preis_eur_kwh Preis (kWh) [Währung]/kWh monetary Konfigurierter 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-Name Name Unit Device Class Beschreibung
emlog_strom_1_zaehlerstand_lieferung_kwh Zählerstand Lieferung (kWh) kWh energy Gesamter Strom eingespeist ins Netz seit Inbetriebnahme
emlog_strom_1_wirkleistung_lieferung_w Wirkleistung Lieferung (W) W power Aktuelle Einspeiseleistung (Strom vom Dach ins Netz)
emlog_strom_1_einspeitung_heute_kwh Einspeitung Heute (kWh) kWh energy Heute eingespiesener Strom (setzt sich täglich zurück)
emlog_strom_1_betrag_lieferung_eur Betrag Lieferung Heute [Währung] monetary Heutige 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-Name Name Unit Device Class Beschreibung
emlog_gas_2_zaehlerstand_m3 Zählerstand (m³) gas Gesamter Gasverbrauch in Kubikmetern seit Inbetriebnahme
emlog_gas_2_zaehlerstand_kwh Zählerstand (kWh) kWh energy Gesamter Gasverbrauch in kWh (konvertiert mit Brennwert/Zustandszahl)
emlog_gas_2_wirkleistung_w Wirkleistung (W) W power Aktuelle Gasleistung
emlog_gas_2_verbrauch_tag_kwh Verbrauch Heute (kWh) kWh energy Heutiger Gasverbrauch in kWh
emlog_gas_2_betrag_tag_eur Betrag Heute [Währung] monetary Heutige Gaskosten
emlog_gas_2_preis_eur_kwh Preis (kWh) [Währung]/kWh monetary Konfigurierter Gaspreis
emlog_gas_2_brennwert Brennwert Brennwert für Gas-Umrechnung (m³ → kWh)
emlog_gas_2_zustandszahl Zustandszahl Zustandszahl für Gas-Umrechnung

Status & Fehler-Sensoren (pro Meter)

Entity-Name Name Unit Beschreibung
emlog_strom_1_api_status / emlog_gas_2_api_status API Status API-Verbindungsstatus ("connected", "failed", "initializing")
emlog_strom_1_letzte_fehlermeldung / emlog_gas_2_letzte_fehlermeldung Letzte Fehlermeldung Letzter Fehler bei API-Abfrage (leer wenn OK)
emlog_strom_1_letztes_update / emlog_gas_2_letztes_update Letztes Update Zeitstempel des letzten erfolgreichen Updates

Automatische Utility Meter (Aggregationen)

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

Entity-Name Name Period Beschreibung
sensor.emlog_strom_1_verbrauch_tag Emlog Strom 1 Verbrauch Tag Täglich Täglicher Stromverbrauch (Referenz-Entity: sensor.emlog_strom_1_zaehlerstand_kwh)
sensor.emlog_strom_1_verbrauch_monat Emlog Strom 1 Verbrauch Monat Monatlich Monatlicher Stromverbrauch (setzt sich am 1. des Monats zurück)
sensor.emlog_strom_1_verbrauch_jahr Emlog Strom 1 Verbrauch Jahr Jährlich Jährlicher Stromverbrauch (setzt sich am 1. Januar zurück)
sensor.emlog_gas_2_verbrauch_tag Emlog Gas 2 Verbrauch Tag Täglich Täglicher Gasverbrauch (Referenz-Entity: sensor.emlog_gas_2_zaehlerstand_kwh)
sensor.emlog_gas_2_verbrauch_monat Emlog Gas 2 Verbrauch Monat Monatlich Monatlicher Gasverbrauch
sensor.emlog_gas_2_verbrauch_jahr Emlog Gas 2 Verbrauch Jahr Jährlich Jä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-Typ Meter-Index Empfohlene Entity Einheit Beschreibung
Strom 1 sensor.emlog_strom_1_zaehlerstand_kwh kWh Elektrizität (ganz)
Gas 2 sensor.emlog_gas_2_zaehlerstand_kwh kWh Gas in kWh (mit Brennwert-Umrechnung)
Gas 2 sensor.emlog_gas_2_zaehlerstand_m3 Gas 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-Name Entity-Name Berechnung Beschreibung
Emlog Strom 1 Kosten Tag sensor.emlog_strom_1_kosten_tag (Verbrauch × kWh-Preis) + (Grundpreis ÷ 30) Heute anfallende Kosten (ohne Abschlag)
Emlog Strom 1 Kosten Monat sensor.emlog_strom_1_kosten_monat (Verbrauch × kWh-Preis) + Grundpreis Diesen Monat anfallende Kosten
Emlog Strom 1 Kosten Jahr sensor.emlog_strom_1_kosten_jahr (Verbrauch × kWh-Preis) + (Grundpreis × 12) Dieses Jahr anfallende Kosten
Emlog Gas 2 Kosten Tag sensor.emlog_gas_2_kosten_tag Wie Strom, für Gas Tägliche Gas-Kosten
Emlog Gas 2 Kosten Monat sensor.emlog_gas_2_kosten_monat Wie Strom, für Gas Monatliche Gas-Kosten
Emlog Gas 2 Kosten Jahr sensor.emlog_gas_2_kosten_jahr Wie Strom, für Gas Jährliche Gas-Kosten

Abschlag-Sensoren (monatliche Vorauszahlungen)

Sensor-Name Entity-Name Berechnung Beschreibung
Emlog Strom 1 Abschlag Jahresgesamt sensor.emlog_strom_1_advance_total Monatlicher Abschlag × 12 Gesamte Abschlagszahlung pro Jahr
Emlog Strom 1 Abschlag Differenz sensor.emlog_strom_1_advance_difference Jährliche Kosten - Abschlag Jahresgesamt Differenz zwischen Kosten und Abschlägen
Emlog Gas 2 Abschlag Jahresgesamt sensor.emlog_gas_2_advance_total Monatlicher Abschlag × 12 Gesamte Gas-Abschlagszahlung pro Jahr
Emlog Gas 2 Abschlag Differenz sensor.emlog_gas_2_advance_difference Jährliche Kosten - Abschlag Jahresgesamt Differenz: 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.

About

Ein Projekt zur Integration eines Emlog Device der Firma Weidmann Elektronik in Home Assistant

Topics

Resources

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages