---
title: "HomeWizard Wi-Fi P1 Meter (HWE-P1)"
description: "Pobór i oddawanie energii, moc faz L1–L3 i odczyt gazu z inteligentnego licznika DSMR przez lokalne HTTP API HomeWizard P1 Meter w TapHome."
url: "https://taphome.com/pl/compatibility/homewizard-p1-meter-http/"
language: pl
lastmod: 2026-11-12
generator: hugo
ai:
  topics: ["http","electric-meter","smart-meter","p1-port","dsmr","3-phase","wifi","gas-meter","local-api"]
  questions: ["Jak zintegrować HomeWizard Wi-Fi P1 Meter z TapHome?","Co mierzy szablon TapHome dla HomeWizard Wi-Fi P1 Meter?","Jak włączyć Local API w HomeWizard P1 Meter w aplikacji HomeWizard Energy?","Jak połączyć HomeWizard P1 Meter z TapHome przez HTTP?","Czy HomeWizard P1 Meter potrzebuje zasilacza USB-C?","Dlaczego urządzenia Phase L2 Power, Phase L3 Power lub Gas Meter nie pokazują wartości?","Jak często HomeWizard P1 Meter aktualizuje odczyty mocy i gazu?"]
---

# HomeWizard Wi-Fi P1 Meter (HWE-P1)

Komunikacja: Packet Parser → HTTP

> Adres w sieci
> 
> TapHome łączy się z urządzeniem pod adresem podanym przy imporcie. Nadaj urządzeniu stały adres — rezerwację IP w routerze albo jego nazwę mDNS, jeśli ją obsługuje — inaczej integracja przestanie działać, gdy router zmieni adres.
> 
> [Przygotowanie sieci](https://taphome.com/pl/docs/setup/network-preparation/)

## Poradnik integracji

HomeWizard Wi-Fi P1 Meter (HWE-P1) podłącza się do portu P1 inteligentnego licznika energii elektrycznej DSMR i udostępnia jego odczyty w sieci lokalnej. TapHome komunikuje się z nim przez lokalne HTTP API (v1) licznika na porcie 80 — konto w chmurze nie jest potrzebne, a cały ruch pozostaje w sieci LAN. Szablon odpytuje endpoint `/api/v1/data` i udostępnia moc wymiany z siecią, energię pobraną i oddaną do sieci, wartości poszczególnych faz oraz odczyt licznika gazu.

Ten szablon społeczności zapewnia sześć urządzeń: **Energy Import** (pobór z sieci), **Energy Export** (oddawanie do sieci), **Phase L1 Power**, **Phase L2 Power**, **Phase L3 Power** (moc poszczególnych faz) i **Gas Meter** (licznik gazu).

## Podłączenie sprzętu

P1 Meter podłącza się do portu P1 (złącze RJ12) inteligentnego licznika operatora i działa z licznikami jednofazowymi i trójfazowymi.

- **Zasilanie** — inteligentne liczniki w standardzie SMR 5.0 lub nowszym zasilają P1 Meter bezpośrednio z portu P1. Starsze inteligentne liczniki wymagają dla P1 Meter zasilacza USB-C. Pobór mocy jest mniejszy niż 1 W.
- **Wi-Fi** — licznik łączy się z siecią Wi-Fi 2,4 GHz (802.11 b/g/n).
- **Środowisko** — IP51, do użytku wewnątrz pomieszczeń.

> [!NOTE]
> Inteligentne liczniki z portem HAN zamiast portu P1 wymagają konwertera HomeWizard HAN.

## Konfiguracja

### Podłączenie P1 Meter do Wi-Fi

Pierwszą konfigurację wykonujesz w aplikacji HomeWizard Energy (iOS 13 lub Android 8 albo nowszy). Do konfiguracji licznik potrzebuje zabezpieczonej sieci Wi-Fi z dostępem do internetu.

1. Podłącz P1 Meter do portu P1 inteligentnego licznika (oraz do zasilacza USB-C, jeśli inteligentny licznik jest starszy niż SMR 5.0).
2. Przytrzymaj przycisk na P1 Meter, aż dioda LED zaświeci na niebiesko.
3. W aplikacji HomeWizard Energy połącz telefon z własnym punktem dostępowym Wi-Fi licznika i wpisz hasło do Twojej domowej sieci Wi-Fi.
4. Użyj sieci 2,4 GHz, która jest tą samą siecią (LAN) co TapHome Core.

### Włączenie lokalnego API

Lokalne API jest domyślnie wyłączone i trzeba je raz włączyć w aplikacji HomeWizard Energy:

1. W aplikacji przejdź do **Settings → Meters → *Twój licznik*** i włącz **Local API**.
2. Zanotuj adres IP licznika — jest widoczny w ustawieniach licznika w aplikacji, znajdziesz go też w routerze.
3. Sprawdź, czy API działa: otwórz `http://<IP ADDRESS>/api/v1/data` w przeglądarce w tej samej sieci — powinien pojawić się dokument JSON z najnowszym pomiarem.

> [!NOTE]
> API v1 nie ma uwierzytelniania — zakłada się, że licznik i TapHome Core są w tej samej zaufanej sieci lokalnej.

### Adres IP

Zarezerwuj dla licznika stały adres IP w ustawieniach DHCP routera, aby adres nie zmienił się po ponownym uruchomieniu routera. Podczas importu szablonu w TapHome wpisz ten adres w parametrze **Adres IP**.

### Częstotliwość aktualizacji

Licznik odświeża dane P1 co sekundę przy inteligentnym liczniku DSMR 5.0 albo co 10 sekund przy starszych wersjach DSMR. Odczyty gazu aktualizują się co 5 minut (DSMR 5.0) albo co godzinę (starsze liczniki). Szablon odpytuje wartości energii elektrycznej co 5 sekund, a odczyt gazu co 60 sekund.

## Możliwości urządzenia

### Moc i energia sieci

Dwa urządzenia licznika energii elektrycznej dzielą dwukierunkowy pomiar P1 na dwa kierunki, które TapHome śledzi osobno:

- **Energy Import** — chwilowa moc pobierana z sieci (kW) i narastający stan licznika poboru (kWh). Stany poboru w taryfie 1 i taryfie 2, częstotliwość sieci, siła sygnału Wi-Fi i model inteligentnego licznika są dostępne jako atrybuty serwisowe.
- **Energy Export** — chwilowa moc oddawana do sieci (kW) i narastający stan licznika oddawania (kWh); stany oddawania w taryfie 1 i taryfie 2 są dostępne jako atrybuty serwisowe.

Inteligentny licznik podaje jedną wartość mocy całkowitej ze znakiem (ujemna = oddawanie do sieci); każde urządzenie pokazuje swój kierunek i wskazuje 0, gdy moc płynie w przeciwną stronę. Gdy inteligentny licznik nie podaje łącznego stanu poboru lub oddawania, szablon sumuje taryfę 1 i taryfę 2.

### Monitorowanie poszczególnych faz

**Phase L1 Power**, **Phase L2 Power** i **Phase L3 Power** to zmienne tylko do odczytu z mocą czynną każdej fazy w watach. Napięcie i prąd fazy są dostępne jako atrybuty serwisowe każdego urządzenia fazy. Jednofazowe inteligentne liczniki podają tylko L1 — urządzenia L2 i L3 nie pokazują wtedy wartości.

### Licznik gazu

**Gas Meter** to zmienna tylko do odczytu z narastającym odczytem licznika gazu (m³) podawanym przez inteligentny licznik. Jeśli do inteligentnego licznika nie jest podłączony licznik gazu, urządzenie nie pokazuje wartości.

## Rozwiązywanie problemów

- **Brak danych / błędy połączenia** — sprawdź, czy przełącznik Local API jest nadal włączony w aplikacji HomeWizard Energy i czy `http://<IP ADDRESS>/api/v1/data` odpowiada w przeglądarce z tej samej sieci co TapHome Core.
- **Wartości przestają się aktualizować po wymianie routera** — adres IP licznika prawdopodobnie się zmienił; zarezerwuj stały adres w ustawieniach DHCP routera i zaktualizuj adres IP modułu.
- **Wyszukiwanie licznika w sieci** — licznik ogłasza się przez mDNS jako `_hwenergy._tcp` z nazwą instancji w rodzaju `p1meter-<6 hex digits>`; rekord TXT `api_enabled` pokazuje, czy lokalne API jest włączone (`1`), czy wyłączone (`0`).
- **Urządzenia faz lub gazu nie pokazują wartości** — liczniki jednofazowe nie podają danych L2/L3, a odczyt gazu pojawia się tylko wtedy, gdy do inteligentnego licznika podłączony jest licznik gazu. To oczekiwane działanie, a nie usterka.
- **Brakuje niektórych wartości** — API wysyła tylko pola, które udostępnia podłączony inteligentny licznik, więc zestaw widocznych wartości zależy od modelu inteligentnego licznika, a nie od samego P1 Meter.

## Dostępne urządzenia 6

Te urządzenia pojawią się w TapHome po imporcie.

HomeWizard Wi-Fi P1 Meter Moduł

Zmienne niestandardowe

|                       |
|-----------------------|
| `P1Data` (string) = 0 |

Odczyt (moduł)

```taphome
VAR response := SENDHTTPREQUEST("/api/v1/data");
IF response.IsSuccess
    P1Data := response.Content;
ELSE
    ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

Energy Import Licznik energii

Atrybuty serwisowe

|                   |
|-------------------|
| Import tariff 1   |
| Import tariff 2   |
| Line frequency    |
| Wi-Fi signal      |
| Smart meter model |

Odczyt całkowitego zużycia

```taphome
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));
```

Odczyt zapotrzebowania

```taphome
var p := parsejson(P1Data, "active_power_w", true);
IF ISNULL(p)
    return(0);
END
return(MAX(0, todouble(p)) / 1000);
```

Atrybuty serwisowe

Import tariff 1

```taphome
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

```taphome
IF(ISNULL(parsejson(P1Data, "total_power_import_t2_kwh", true)), "-", TOSTRING(todouble(parsejson(P1Data, "total_power_import_t2_kwh", true)), "F3") + " kWh")
```

Line frequency

```taphome
IF(ISNULL(parsejson(P1Data, "active_frequency_hz", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_frequency_hz", true)), "F2") + " Hz")
```

Wi-Fi signal

```taphome
IF(ISNULL(parsejson(P1Data, "wifi_strength", true)), "-", TOSTRING(todouble(parsejson(P1Data, "wifi_strength", true)), "F0") + " %")
```

Smart meter model

```taphome
IF(ISNULL(parsejson(P1Data, "meter_model", true)), "-", parsejson(P1Data, "meter_model", true))
```

Energy Export Licznik energii

Atrybuty serwisowe

|                 |
|-----------------|
| Export tariff 1 |
| Export tariff 2 |

Odczyt całkowitego zużycia

```taphome
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));
```

Odczyt zapotrzebowania

```taphome
var p := parsejson(P1Data, "active_power_w", true);
IF ISNULL(p)
    return(0);
END
return(MAX(0, 0 - todouble(p)) / 1000);
```

Atrybuty serwisowe

Export tariff 1

```taphome
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

```taphome
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 Zmienna

Atrybuty serwisowe

|         |
|---------|
| Voltage |
| Current |

Odczyt

```taphome
var p := parsejson(P1Data, "active_power_l1_w", true);
IF ISNULL(p)
    return(NaN);
END
return(todouble(p));
```

Atrybuty serwisowe

Voltage

```taphome
IF(ISNULL(parsejson(P1Data, "active_voltage_l1_v", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_voltage_l1_v", true)), "F1") + " V")
```

Current

```taphome
IF(ISNULL(parsejson(P1Data, "active_current_l1_a", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_current_l1_a", true)), "F2") + " A")
```

Phase L2 Power Zmienna

Atrybuty serwisowe

|         |
|---------|
| Voltage |
| Current |

Odczyt

```taphome
var p := parsejson(P1Data, "active_power_l2_w", true);
IF ISNULL(p)
    return(NaN);
END
return(todouble(p));
```

Atrybuty serwisowe

Voltage

```taphome
IF(ISNULL(parsejson(P1Data, "active_voltage_l2_v", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_voltage_l2_v", true)), "F1") + " V")
```

Current

```taphome
IF(ISNULL(parsejson(P1Data, "active_current_l2_a", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_current_l2_a", true)), "F2") + " A")
```

Phase L3 Power Zmienna

Atrybuty serwisowe

|         |
|---------|
| Voltage |
| Current |

Odczyt

```taphome
var p := parsejson(P1Data, "active_power_l3_w", true);
IF ISNULL(p)
    return(NaN);
END
return(todouble(p));
```

Atrybuty serwisowe

Voltage

```taphome
IF(ISNULL(parsejson(P1Data, "active_voltage_l3_v", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_voltage_l3_v", true)), "F1") + " V")
```

Current

```taphome
IF(ISNULL(parsejson(P1Data, "active_current_l3_a", true)), "-", TOSTRING(todouble(parsejson(P1Data, "active_current_l3_a", true)), "F2") + " A")
```

Gas Meter Zmienna

Odczyt

```taphome
var v := parsejson(P1Data, "total_gas_m3", true);
IF ISNULL(v)
    return(NaN);
END
return(todouble(v));
```

**Połączenie:** Packet Parser → HTTP

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji | Domyślnie           |
|---------------------|---------------------|
| IP address          | Podaj przy imporcie |

## Powiązana dokumentacja

- [Integracja Packet Parser](https://taphome.com/pl/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/pl/docs/integration/packet-parser/)
- [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/)
- [Funkcje parsowania](https://taphome.com/pl/docs/script/parsing-functions/)

