Skip to content

Riferimento Zigbee ​

Questa pagina descrive come appare ZiggyMeter in una rete Zigbee: endpoint, cluster e attributi. Per sapere come collegarsi a una rete, vedi Configurazione Zigbee.

Informazioni su Zigbee ​

Zigbee è un protocollo wireless a rete mesh e a basso consumo per dispositivi IoT, basato su IEEE 802.15.4 a 2,4 GHz. I messaggi passano attraverso router alimentati da rete, ed è questo che lo fa funzionare in quadri elettrici e scantinati dove un collegamento Wi-Fi diretto non arriverebbe.

ZiggyMeter si collega come dispositivo finale (End Device): non instrada traffico per altri e dorme tra una lettura e l'altra.

Requisiti ​

  • Un coordinatore Zigbee — un adattatore USB o un hub che crea e gestisce la rete
  • Software che comprenda i cluster della Zigbee Cluster Library v8

Tutti i cluster esposti da ZiggyMeter sono standard. Non ci sono cluster proprietari del produttore, quindi la maggior parte delle integrazioni funziona subito senza un driver dedicato.

Endpoint ​

Endpoint 1 — dispositivo ​

Identificazione del dispositivo e stato di base. Attivare o disattivare l'interruttore On/Off attiva o disattiva il Wi-Fi.

Cluster di ingresso

ID clusterNome
0x0000Basic
0x0001Power Configuration
0x0003Identify
0x0006On/Off
0x0402Temperature Measurement

Cluster di uscita

ID clusterNome
0x0003Identify
0x0019OTA Upgrade

Endpoint 2 — contatore ​

Dati del contatore. Attivare l'interruttore On/Off avvia una lettura del contatore.

Cluster di ingresso

ID clusterNome
0x0006On/Off
0x0702Simple Metering
0x0B04Electrical Measurement

Nessun cluster di uscita.

Cluster Metering (0x0702) ​

Due attributi, entrambi standard. Non servono comandi proprietari.

ID attributoNome
0x0000Energia totale prelevata dalla rete
0x0001Energia totale immessa in rete

Energia totale immessa in rete viene aggiornata solo se il contatore fornisce quel valore.

Cluster Electrical Measurement (0x0B04) ​

Parametri elettrici. Il cluster dichiara l'intero insieme di attributi qui sotto, ma solo tre di essi — Active power (0x050B), RMS current (0x0508) e RMS voltage (0x0505) — possono essere alimentati da un valore del contatore e riportati al coordinatore. Vedi Destinazioni disponibili.

Quali di questi vengano effettivamente aggiornati dipende poi dal contatore: un contatore monofase, ovviamente, non compila mai le fasi B e C.

Alcune integrazioni Zigbee non mostrano tutti gli attributi anche quando il dispositivo li aggiorna correttamente. Controlla i valori grezzi dei cluster negli strumenti del coordinatore prima di concludere che il dispositivo non stia trasmettendo.

ID attributoNome
0x0300AC frequency
0x0304Total active power
0x0305Total reactive power
0x0306Total apparent power
0x0501Line current (phase A)
0x0502Active current (phase A)
0x0503Reactive current (phase A)
0x0505RMS voltage (phase A)
0x0508RMS current (phase A)
0x050BActive power (phase A)
0x050EReactive power (phase A)
0x050FApparent power (phase A)
0x0901Line current (phase B)
0x0902Active current (phase B)
0x0903Reactive current (phase B)
0x0905RMS voltage (phase B)
0x0908RMS current (phase B)
0x090BActive power (phase B)
0x090EReactive power (phase B)
0x090FApparent power (phase B)
0x0A01Line current (phase C)
0x0A02Active current (phase C)
0x0A03Reactive current (phase C)
0x0A05RMS voltage (phase C)
0x0A08RMS current (phase C)
0x0A0BActive power (phase C)
0x0A0EReactive power (phase C)
0x0A0FApparent power (phase C)

Come i valori del contatore diventano attributi ​

Il contatore fornisce codici OBIS; Zigbee utilizza attributi di cluster. ZiggyMeter mantiene una tabella di mappatura tra i due.

Ogni voce di mappatura è un codice OBIS più un ID di mappatura: quattro byte in esadecimale, di cui i primi due indicano il cluster e gli ultimi due l'attributo.

OBISID di mappaturaCluster / attributoSignificato
1-0:1.8.0070200000x0702 / 0x0000Energia totale prelevata dalla rete
1-0:2.8.0070200010x0702 / 0x0001Energia totale immessa in rete
1-0:1.7.00b04050b0x0B04 / 0x050BPotenza attiva, fase A
1-0:11.7.00b0405080x0B04 / 0x0508Corrente efficace, fase A
1-0:12.7.00b0405050x0B04 / 0x0505Tensione efficace, fase A

Modificala quando il tuo contatore usa un codice non coperto dai valori predefiniti — per esempio un contatore che riporta la tensione con un codice specifico del modello, per cui il valore compare nella lettura ma non raggiunge mai il coordinatore.

Modificare una mappatura ​

Si fa dall'interfaccia web. Apri Contatore → Letture e fai doppio clic sulla cella Mapping della riga da modificare; la cella diventa un elenco a discesa con le destinazioni Zigbee disponibili. Scegline una e viene salvata subito: non c'è un passaggio di salvataggio separato.

Cella di mappatura in modifica

INFO

Si possono mappare solo i codici OBIS che compaiono in una lettura, perché la tabella è la lettura. Se la riga che cerchi non c'è, leggi prima il contatore.

Destinazioni disponibili ​

L'elenco a discesa offre sei scelte, e nessun'altra. Solo a queste cinque coppie cluster/attributo si può assegnare un codice OBIS — gli altri attributi elencati sopra esistono nei cluster ma non sono destinazioni di mappatura.

Voce dell'elencoID di mappaturaCluster / attributo
Unassigned00000000— (il valore viene letto ma non pubblicato via Zigbee)
Summation Delivered [kWh]070200000x0702 / 0x0000
Summation Received [kWh]070200010x0702 / 0x0001
Active Power [kW]0b04050b0x0B04 / 0x050B
Current RMS [A]0b0405080x0B04 / 0x0508
Voltage RMS [V]0b0405050x0B04 / 0x0505

WARNING

Ogni destinazione può essere usata da un solo codice OBIS alla volta. Assegnare una destinazione già occupata da un'altra riga la sposta: l'altra riga torna automaticamente su Unassigned. Se stai riorganizzando più righe, controlla la tabella dopo ogni modifica.

Il confronto avviene sul codice OBIS completo, tariffa inclusa (1-0:15.8.0*101). L'API accetta anche il confronto sul codice breve (15.8.0).

Modifica tramite API ​

/api/v1/zigbee/map legge e scrive la stessa tabella, utile per configurare in modo identico più dispositivi. È un'alternativa all'interfaccia web, non il percorso normale: una POST sostituisce l'intera tabella e non applica per te la regola «una destinazione, un codice».

Firmware via radio ​

L'endpoint 1 include il cluster standard OTA Upgrade (0x0019), quindi qualsiasi coordinatore che supporti Zigbee OTA può aggiornare il dispositivo. Sono pubblicati file di indice pronti per Zigbee2MQTT e per zigpy/ZHA: