---
title: "HomeWizard Wi-Fi P1 Meter (HWE-P1)"
description: "Leggi potenza ed energia prelevata e immessa in rete, valori per fase L1–L3 e gas da un contatore DSMR con l'API HTTP locale dell'HomeWizard P1 Meter."
url: "https://taphome.com/it/compatibility/homewizard-p1-meter-http/"
language: it
lastmod: 2026-11-12
generator: hugo
ai:
  topics: ["http","electric-meter","smart-meter","p1-port","dsmr","3-phase","wifi","gas-meter","local-api"]
  questions: ["Come integrare l'HomeWizard Wi-Fi P1 Meter con TapHome?","Cosa misura il template TapHome per l'HomeWizard Wi-Fi P1 Meter?","Come abilitare la Local API sull'HomeWizard P1 Meter nell'app HomeWizard Energy?","Come collegare l'HomeWizard P1 Meter a TapHome tramite HTTP?","L'HomeWizard P1 Meter ha bisogno di un alimentatore USB-C?","Perché i dispositivi Phase L2 Power, Phase L3 Power o Gas Meter non mostrano alcun valore?","Ogni quanto l'HomeWizard P1 Meter aggiorna le letture di potenza e gas?"]
---

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

Comunicazione: Packet Parser → HTTP

> Indirizzo di rete
> 
> TapHome raggiunge il dispositivo all'indirizzo inserito durante l'importazione. Assegna al dispositivo un indirizzo fisso — una prenotazione IP nel router, oppure il suo nome mDNS se lo supporta —, altrimenti l'integrazione smette di funzionare quando il router cambia l'indirizzo.
> 
> [Preparazione della rete](https://taphome.com/it/docs/setup/network-preparation/)

## Guida all'integrazione

L'HomeWizard Wi-Fi P1 Meter (HWE-P1) si collega alla porta P1 di un contatore elettrico intelligente DSMR e pubblica le letture sulla rete locale. TapHome comunica con il dispositivo tramite la sua API HTTP locale (v1) sulla porta 80: non serve alcun account cloud e tutto il traffico resta nella LAN. Il template interroga l'endpoint `/api/v1/data` e rende disponibili la potenza di rete, l'energia prelevata e immessa, i valori per fase e la lettura del contatore del gas.

Questo template della community fornisce sei dispositivi: **Energy Import**, **Energy Export**, **Phase L1 Power**, **Phase L2 Power**, **Phase L3 Power** e **Gas Meter**.

## Collegamento hardware

Il P1 Meter si collega alla porta P1 (connettore RJ12) del contatore intelligente del distributore e funziona con contatori monofase e trifase.

- **Alimentazione** — i contatori intelligenti con SMR 5.0 o successivo alimentano il P1 Meter direttamente dalla porta P1. I contatori intelligenti più vecchi richiedono un alimentatore USB-C per il P1 Meter. Il consumo è inferiore a 1 W.
- **Wi-Fi** — il dispositivo si collega a una rete Wi-Fi a 2,4 GHz (802.11 b/g/n).
- **Ambiente** — IP51, per uso in interni.

> [!NOTE]
> I contatori intelligenti con porta HAN invece della porta P1 richiedono un convertitore HAN HomeWizard.

## Configurazione

### Collegare il P1 Meter al Wi-Fi

La prima configurazione si esegue nell'app HomeWizard Energy (iOS 13 o Android 8 o successivi). Per la configurazione il dispositivo ha bisogno di una rete Wi-Fi protetta con accesso a internet.

1. Collega il P1 Meter alla porta P1 del contatore intelligente (e a un alimentatore USB-C se il contatore è precedente a SMR 5.0).
2. Tieni premuto il pulsante del P1 Meter finché il LED non diventa blu.
3. Nell'app HomeWizard Energy collega il telefono all'access point Wi-Fi del dispositivo e inserisci la password della tua rete Wi-Fi di casa.
4. Usa una rete a 2,4 GHz che sia la stessa rete (LAN) del TapHome Core.

### Abilitare l'API locale

L'API locale è disattivata per impostazione predefinita e va abilitata una sola volta nell'app HomeWizard Energy:

1. Nell'app vai in **Settings → Meters → *il tuo dispositivo*** e attiva **Local API**.
2. Annota l'indirizzo IP del dispositivo: è indicato nelle impostazioni del dispositivo nell'app e si trova anche nel router.
3. Verifica che l'API funzioni aprendo `http://<IP ADDRESS>/api/v1/data` in un browser sulla stessa rete: deve comparire un documento JSON con la misura più recente.

> [!NOTE]
> L'API v1 non ha autenticazione: si presume che il dispositivo e il TapHome Core condividano una rete locale affidabile.

### Indirizzo IP

Riserva un indirizzo IP fisso per il dispositivo nelle impostazioni DHCP del router, così l'indirizzo non cambia dopo un riavvio del router. Durante l'importazione del template in TapHome inserisci questo indirizzo nel parametro **IP address**.

### Frequenza di aggiornamento

Il dispositivo aggiorna i dati P1 ogni secondo con un contatore intelligente DSMR 5.0, oppure ogni 10 secondi con le versioni DSMR precedenti. Le letture del gas si aggiornano ogni 5 minuti (DSMR 5.0) o ogni ora (contatori più vecchi). Il template interroga i valori elettrici ogni 5 secondi e la lettura del gas ogni 60 secondi.

## Funzionalità dei dispositivi

### Potenza ed energia di rete

Due dispositivi contatore elettrico dividono la misura bidirezionale P1 nelle due direzioni che TapHome registra separatamente:

- **Energy Import** (energia prelevata) — potenza istantanea prelevata dalla rete (kW) e lettura cumulativa del contatore dell'energia prelevata (kWh). Le letture di prelievo per la tariffa 1 e la tariffa 2, la frequenza di rete, l'intensità del segnale Wi-Fi e il modello del contatore intelligente sono disponibili come attributi di servizio.
- **Energy Export** (energia immessa) — potenza istantanea immessa in rete (kW) e lettura cumulativa del contatore dell'energia immessa (kWh), con l'immissione per la tariffa 1 e la tariffa 2 come attributi di servizio.

Il contatore intelligente fornisce un unico valore di potenza totale con segno (negativo = immissione); ogni dispositivo mostra la propria direzione e indica 0 mentre la potenza scorre nella direzione opposta. Quando il contatore intelligente non fornisce una lettura totale di prelievo o immissione, il template somma la tariffa 1 e la tariffa 2.

### Monitoraggio per fase

**Phase L1 Power**, **Phase L2 Power** e **Phase L3 Power** sono variabili di sola lettura con la potenza attiva di ciascuna fase in watt. Tensione e corrente di fase sono disponibili come attributi di servizio su ogni dispositivo di fase. I contatori intelligenti monofase forniscono solo L1: i dispositivi L2 e L3 in quel caso non mostrano alcun valore.

### Contatore del gas

**Gas Meter** (contatore del gas) è una variabile di sola lettura con la lettura cumulativa del gas (m³) fornita dal contatore intelligente. Se al contatore intelligente non è collegato alcun contatore del gas, il dispositivo non mostra alcun valore.

## Risoluzione dei problemi

- **Nessun dato / errori di connessione** — verifica che l'opzione Local API sia ancora attiva nell'app HomeWizard Energy e che `http://<IP ADDRESS>/api/v1/data` risponda in un browser dalla stessa rete del TapHome Core.
- **I valori smettono di aggiornarsi dopo un cambio di router** — probabilmente l'indirizzo IP del dispositivo è cambiato; riserva un indirizzo fisso nelle impostazioni DHCP del router e aggiorna l'indirizzo IP del modulo.
- **Trovare il dispositivo in rete** — il dispositivo si annuncia tramite mDNS come `_hwenergy._tcp` con un nome di istanza come `p1meter-<6 hex digits>`; il record TXT `api_enabled` indica se l'API locale è attiva (`1`) o disattivata (`0`).
- **I dispositivi di fase o del gas non mostrano alcun valore** — i contatori monofase non forniscono dati L2/L3 e la lettura del gas compare solo quando al contatore intelligente è collegato un contatore del gas. È un comportamento previsto, non un guasto.
- **Mancano alcuni valori** — l'API invia solo i campi forniti dal contatore intelligente collegato, quindi l'insieme dei valori visibili dipende dal modello del contatore intelligente, non dal P1 Meter stesso.

## Dispositivi disponibili 6

Questi dispositivi compaiono in TapHome dopo l'importazione.

HomeWizard Wi-Fi P1 Meter Modulo

Variabili personalizzate

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

Lettura (modulo)

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

Energy Import Contatore elettrico

Attributi di servizio

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

Lettura consumo totale

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

Lettura domanda

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

Attributi di servizio

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 Contatore elettrico

Attributi di servizio

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

Lettura consumo totale

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

Lettura domanda

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

Attributi di servizio

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 Variabile

Attributi di servizio

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

Lettura

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

Attributi di servizio

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 Variabile

Attributi di servizio

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

Lettura

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

Attributi di servizio

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 Variabile

Attributi di servizio

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

Lettura

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

Attributi di servizio

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 Variabile

Lettura

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

**Connessione:** Packet Parser → HTTP

## Parametri di importazione

Inserisci questi valori quando importi l'XML.

| Richiesto nell'app | Predefinito                  |
|--------------------|------------------------------|
| IP address         | Da inserire all'importazione |

## Documentazione correlata

- [Integrazione Packet Parser](https://taphome.com/it/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/it/docs/integration/packet-parser/)
- [Funzioni Packet parser](https://taphome.com/it/docs/script/packet-parser/)
- [Funzioni di parsing](https://taphome.com/it/docs/script/parsing-functions/)

