TapHome
Community Beta Energia e misura

HomeWizard Wi-Fi P1 Meter (HWE-P1)

HomeWizard Wi-Fi P1 Meter (HWE-P1) sulla porta P1 di un contatore intelligente DSMR in TapHome tramite la sua API HTTP locale v1 sulla porta 80, senza account cloud. Potenza ed energia prelevata dalla rete e immessa in rete, letture per tariffa, potenza, tensione e corrente per fase e lettura del contatore del gas.

Packet Parser → HTTP6 dispositiviRevisione 1.0 Ultimo aggiornamento: 12 novembre 2026

Inviato da Martin Keller

HomeWizard Wi-Fi P1 Meter (HWE-P1)

Importa nell'app TapHomeHardware › Packet Parser › Aggiungi da modello

Scarica template
In questa pagina

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

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.

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.

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

HomeWizard Wi-Fi P1 Meter

Lettura (modulo)
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

Energy Import

Lettura consumo totale
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
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
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 Contatore elettrico
Attributi di servizio
Export tariff 1
Export tariff 2

Energy Export

Lettura consumo totale
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
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
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 Variabile
Attributi di servizio
Voltage
Current

Phase L1 Power

Lettura
var p := parsejson(P1Data, "active_power_l1_w", true);
IF ISNULL(p)
    return(NaN);
END
return(todouble(p));
Attributi di servizio
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 Variabile
Attributi di servizio
Voltage
Current

Phase L2 Power

Lettura
var p := parsejson(P1Data, "active_power_l2_w", true);
IF ISNULL(p)
    return(NaN);
END
return(todouble(p));
Attributi di servizio
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 Variabile
Attributi di servizio
Voltage
Current

Phase L3 Power

Lettura
var p := parsejson(P1Data, "active_power_l3_w", true);
IF ISNULL(p)
    return(NaN);
END
return(todouble(p));
Attributi di servizio
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 Variabile

Gas Meter

Lettura
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'appPredefinito
IP addressDa inserire all'importazione

Hai trovato un problema con questo template?

Dicci cosa non funziona, cosa manca o come dovrebbe comportarsi il template. Il tuo feedback ci aiuta a mantenere il catalogo accurato.

Modello · portale TapHome HomeWizard Wi-Fi P1 Meter (HWE-P1) Apri questo template nel Customer Portal per applicarlo a una delle tue case, o crea una proposta di modifica e inviala al catalogo. Packet Parser → HTTP Vedi nel portale TapHome