TapHome
Community Beta Energie & Messung

HomeWizard Wi-Fi P1 Meter (HWE-P1)

HomeWizard Wi-Fi P1 Meter (HWE-P1) am P1-Port eines DSMR-Smart-Meters in TapHome über die lokale HTTP API v1 auf Port 80, ohne Cloud-Konto. Leistung und Energie für Netzbezug und Einspeisung, Zählerstände der Tarife, Leistung, Spannung und Strom je Phase sowie der Stand des Gaszählers.

Packet Parser → HTTP6 GeräteRevision 1.0 Zuletzt aktualisiert: 12. November 2026

Eingereicht von Martin Keller

HomeWizard Wi-Fi P1 Meter (HWE-P1)

Import in die TapHome AppHardware › Packet Parser › Aus Vorlage hinzufügen

Vorlage herunterladen
Auf dieser Seite

Netzwerkadresse

TapHome erreicht dieses Gerät unter der beim Import eingegebenen Adresse. Geben Sie dem Gerät eine feste Adresse — eine IP-Reservierung im Router oder seinen mDNS-Namen, falls es einen unterstützt —, sonst funktioniert die Integration nicht mehr, sobald der Router die Adresse ändert.

Netzwerkvorbereitung

Integrationsanleitung

Der HomeWizard Wi-Fi P1 Meter (HWE-P1) wird in den P1-Port eines DSMR-Smart-Meters (intelligenter Stromzähler) gesteckt und stellt dessen Messwerte im lokalen Netzwerk bereit. TapHome kommuniziert mit ihm über die lokale HTTP API (v1) des Zählers auf Port 80 — ein Cloud-Konto ist nicht nötig, und der gesamte Datenverkehr bleibt im LAN. Die Vorlage fragt den Endpunkt /api/v1/data ab und stellt die Netzleistung, die Energie für Netzbezug und Einspeisung, die Werte je Phase und den Stand des Gaszählers bereit.

Diese Community-Vorlage stellt sechs Geräte bereit: Energy Import (Netzbezug), Energy Export (Einspeisung), Phase L1 Power, Phase L2 Power, Phase L3 Power (Leistung je Phase) und Gas Meter (Gaszähler).

Hardwareanschluss

Der P1 Meter wird in den P1-Port (RJ12-Stecker) des Smart Meters des Netzbetreibers gesteckt und funktioniert mit einphasigen und dreiphasigen Zählern.

  • Stromversorgung — Smart Meter ab SMR 5.0 versorgen den P1 Meter direkt über den P1-Port. Ältere Smart Meter benötigen für den P1 Meter ein USB-C-Netzteil. Die Leistungsaufnahme liegt unter 1 W.
  • WLAN — der Zähler verbindet sich mit einem 2,4-GHz-WLAN (802.11 b/g/n).
  • Umgebung — IP51, für den Innenbereich.

Smart Meter mit HAN-Port statt P1-Port benötigen einen HomeWizard HAN-Konverter.

Konfiguration

P1 Meter mit dem WLAN verbinden

Die Ersteinrichtung erfolgt in der App HomeWizard Energy (iOS 13 oder Android 8 oder neuer). Für die Einrichtung benötigt der Zähler ein gesichertes WLAN mit Internetzugang.

  1. Stecken Sie den P1 Meter in den P1-Port des Smart Meters (und in ein USB-C-Netzteil, wenn das Smart Meter älter als SMR 5.0 ist).
  2. Halten Sie die Taste am P1 Meter gedrückt, bis die LED blau leuchtet.
  3. Verbinden Sie das Telefon in der App HomeWizard Energy mit dem eigenen WLAN-Zugangspunkt des Zählers und geben Sie das Passwort Ihres Heim-WLANs ein.
  4. Verwenden Sie ein 2,4-GHz-WLAN, das im selben Netzwerk (LAN) liegt wie der TapHome Core.

Lokale API aktivieren

Die lokale API ist ab Werk deaktiviert und muss einmalig in der App HomeWizard Energy aktiviert werden:

  1. Öffnen Sie in der App Settings → Meters → Ihr Zähler und schalten Sie Local API ein.
  2. Notieren Sie die IP-Adresse des Zählers — sie wird in den Zählereinstellungen der App angezeigt und lässt sich auch im Router finden.
  3. Prüfen Sie, ob die API funktioniert: Öffnen Sie http://<IP ADDRESS>/api/v1/data in einem Browser im selben Netzwerk — es sollte ein JSON-Dokument mit der letzten Messung erscheinen.

API v1 hat keine Authentifizierung — es wird vorausgesetzt, dass der Zähler und der TapHome Core in einem gemeinsamen, vertrauenswürdigen lokalen Netzwerk liegen.

IP-Adresse

Reservieren Sie in den DHCP-Einstellungen Ihres Routers eine feste IP-Adresse für den Zähler, damit sich die Adresse nach einem Neustart des Routers nicht ändert. Geben Sie diese Adresse beim Import der Vorlage in TapHome als Parameter IP-Adresse ein.

Aktualisierungsraten

Der Zähler aktualisiert die P1-Daten mit einem DSMR-5.0-Smart-Meter jede Sekunde, mit älteren DSMR-Versionen alle 10 Sekunden. Die Gaswerte werden alle 5 Minuten (DSMR 5.0) bzw. jede Stunde (ältere Zähler) aktualisiert. Die Vorlage fragt die Stromwerte alle 5 Sekunden und den Gaswert alle 60 Sekunden ab.

Gerätefunktionen

Netzleistung und Energie

Zwei Stromzählergeräte teilen die bidirektionale P1-Messung in die zwei Richtungen auf, die TapHome getrennt erfasst:

  • Energy Import — momentane Leistung, die aus dem Netz bezogen wird (kW), und der kumulierte Zählerstand des Bezugs (kWh). Die Zählerstände für Bezug Tarif 1 und Tarif 2, die Netzfrequenz, die WLAN-Signalstärke und das Modell des Smart Meters sind als Service-Attribute verfügbar.
  • Energy Export — momentane Leistung, die ins Netz eingespeist wird (kW), und der kumulierte Zählerstand der Einspeisung (kWh); Einspeisung Tarif 1 und Tarif 2 sind als Service-Attribute verfügbar.

Das Smart Meter meldet einen einzigen vorzeichenbehafteten Wert der Gesamtleistung (negativ = Einspeisung); jedes Gerät zeigt seine eigene Richtung und steht auf 0, solange die Leistung in die andere Richtung fließt. Meldet das Smart Meter keinen Gesamtzählerstand für Bezug oder Einspeisung, addiert die Vorlage Tarif 1 und Tarif 2.

Überwachung je Phase

Phase L1 Power, Phase L2 Power und Phase L3 Power sind schreibgeschützte Variablen mit der Wirkleistung der jeweiligen Phase in Watt. Phasenspannung und Phasenstrom sind an jedem Phasengerät als Service-Attribute verfügbar. Einphasige Smart Meter melden nur L1 — die Geräte für L2 und L3 zeigen dann keinen Wert.

Gaszähler

Gas Meter ist eine schreibgeschützte Variable mit dem kumulierten Gaszählerstand (m³), den das Smart Meter meldet. Ist am Smart Meter kein Gaszähler angeschlossen, zeigt das Gerät keinen Wert.

Fehlerbehebung

  • Keine Daten / Verbindungsfehler — prüfen Sie, ob der Schalter Local API in der App HomeWizard Energy noch aktiviert ist und ob http://<IP ADDRESS>/api/v1/data in einem Browser aus demselben Netzwerk wie der TapHome Core antwortet.
  • Werte werden nach einem Routerwechsel nicht mehr aktualisiert — die IP-Adresse des Zählers hat sich wahrscheinlich geändert; reservieren Sie in den DHCP-Einstellungen des Routers eine feste Adresse und aktualisieren Sie die IP-Adresse des Moduls.
  • Zähler im Netzwerk finden — der Zähler meldet sich per mDNS als _hwenergy._tcp mit einem Instanznamen wie p1meter-<6 hex digits>; der TXT-Eintrag api_enabled zeigt, ob die lokale API eingeschaltet (1) oder ausgeschaltet (0) ist.
  • Phasen- oder Gasgeräte zeigen keinen Wert — einphasige Zähler melden keine Daten für L2/L3, und der Gaswert erscheint nur, wenn am Smart Meter ein Gaszähler angeschlossen ist. Das ist erwartetes Verhalten, kein Fehler.
  • Einige Werte fehlen — die API sendet nur die Felder, die das angeschlossene Smart Meter liefert; welche Werte sichtbar sind, hängt daher vom Modell des Smart Meters ab, nicht vom P1 Meter selbst.

Verfügbare Geräte 6

Diese Geräte erscheinen nach dem Import in TapHome.

HomeWizard Wi-Fi P1 Meter Modul
Benutzerdefinierte Variablen
P1Data (string) = 0

HomeWizard Wi-Fi P1 Meter

Lesen (Modul)
VAR response := SENDHTTPREQUEST("/api/v1/data");
IF response.IsSuccess
    P1Data := response.Content;
ELSE
    ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
Energy Import Stromzähler
Serviceattribute
Import tariff 1
Import tariff 2
Line frequency
Wi-Fi signal
Smart meter model

Energy Import

Gesamtverbrauch lesen
var total := parsejson(P1Data, "total_power_import_kwh", true);
IF ISNULL(total)
    var t1 := parsejson(P1Data, "total_power_import_t1_kwh", true);
    var t2 := parsejson(P1Data, "total_power_import_t2_kwh", true);
    return(IF(ISNULL(t1), 0, todouble(t1)) + IF(ISNULL(t2), 0, todouble(t2)));
END
return(todouble(total));
Bedarf lesen
var p := parsejson(P1Data, "active_power_w", true);
IF ISNULL(p)
    return(0);
END
return(MAX(0, todouble(p)) / 1000);
Serviceattribute
Import tariff 1
IF(ISNULL(parsejson(P1Data, "total_power_import_t1_kwh", true)), "-", TOSTRING(todouble(parsejson(P1Data, "total_power_import_t1_kwh", true)), "F3") + " kWh")
Import tariff 2
IF(ISNULL(parsejson(P1Data, "total_power_import_t2_kwh", true)), "-", TOSTRING(todouble(parsejson(P1Data, "total_power_import_t2_kwh", true)), "F3") + " kWh")
Line frequency
IF(ISNULL(parsejson(P1Data, "active_frequency_hz", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_frequency_hz", true)), "F2") + " Hz")
Wi-Fi signal
IF(ISNULL(parsejson(P1Data, "wifi_strength", true)), "-", TOSTRING(todouble(parsejson(P1Data, "wifi_strength", true)), "F0") + " %")
Smart meter model
IF(ISNULL(parsejson(P1Data, "meter_model", true)), "-", parsejson(P1Data, "meter_model", true))
Energy Export Stromzähler
Serviceattribute
Export tariff 1
Export tariff 2

Energy Export

Gesamtverbrauch lesen
var total := parsejson(P1Data, "total_power_export_kwh", true);
IF ISNULL(total)
    var t1 := parsejson(P1Data, "total_power_export_t1_kwh", true);
    var t2 := parsejson(P1Data, "total_power_export_t2_kwh", true);
    return(IF(ISNULL(t1), 0, todouble(t1)) + IF(ISNULL(t2), 0, todouble(t2)));
END
return(todouble(total));
Bedarf lesen
var p := parsejson(P1Data, "active_power_w", true);
IF ISNULL(p)
    return(0);
END
return(MAX(0, 0 - todouble(p)) / 1000);
Serviceattribute
Export tariff 1
IF(ISNULL(parsejson(P1Data, "total_power_export_t1_kwh", true)), "-", TOSTRING(todouble(parsejson(P1Data, "total_power_export_t1_kwh", true)), "F3") + " kWh")
Export tariff 2
IF(ISNULL(parsejson(P1Data, "total_power_export_t2_kwh", true)), "-", TOSTRING(todouble(parsejson(P1Data, "total_power_export_t2_kwh", true)), "F3") + " kWh")
Phase L1 Power Variable
Serviceattribute
Voltage
Current

Phase L1 Power

Lesen
var p := parsejson(P1Data, "active_power_l1_w", true);
IF ISNULL(p)
    return(NaN);
END
return(todouble(p));
Serviceattribute
Voltage
IF(ISNULL(parsejson(P1Data, "active_voltage_l1_v", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_voltage_l1_v", true)), "F1") + " V")
Current
IF(ISNULL(parsejson(P1Data, "active_current_l1_a", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_current_l1_a", true)), "F2") + " A")
Phase L2 Power Variable
Serviceattribute
Voltage
Current

Phase L2 Power

Lesen
var p := parsejson(P1Data, "active_power_l2_w", true);
IF ISNULL(p)
    return(NaN);
END
return(todouble(p));
Serviceattribute
Voltage
IF(ISNULL(parsejson(P1Data, "active_voltage_l2_v", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_voltage_l2_v", true)), "F1") + " V")
Current
IF(ISNULL(parsejson(P1Data, "active_current_l2_a", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_current_l2_a", true)), "F2") + " A")
Phase L3 Power Variable
Serviceattribute
Voltage
Current

Phase L3 Power

Lesen
var p := parsejson(P1Data, "active_power_l3_w", true);
IF ISNULL(p)
    return(NaN);
END
return(todouble(p));
Serviceattribute
Voltage
IF(ISNULL(parsejson(P1Data, "active_voltage_l3_v", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_voltage_l3_v", true)), "F1") + " V")
Current
IF(ISNULL(parsejson(P1Data, "active_current_l3_a", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_current_l3_a", true)), "F2") + " A")
Gas Meter Variable

Gas Meter

Lesen
var v := parsejson(P1Data, "total_gas_m3", true);
IF ISNULL(v)
    return(NaN);
END
return(todouble(v));
Verbindung: Packet Parser → HTTP

Importparameter

Diese Werte geben Sie beim Import des XML ein.

In der App abgefragtStandard
IP addressBeim Import eingeben

Haben Sie ein Problem mit dieser Gerätevorlage gefunden?

Sagen Sie uns, was nicht funktioniert, was fehlt oder wie sich die Vorlage verhalten sollte. Ihr Feedback hilft uns, den Katalog genau zu halten.

Vorlage · TapHome-Portal HomeWizard Wi-Fi P1 Meter (HWE-P1) Öffne diese Vorlage im Kundenportal, um sie auf eine deiner Wohnungen anzuwenden, oder entwirf eine Anpassung und reiche sie an den Katalog ein. Packet Parser → HTTP Im TapHome-Portal ansehen