Sections in the Article
Introduktion
Her kan du finde en guide til hvordan man kan benytte Watts Live sammen med Home Assistant. Det er en teknisk guide, men vi har forsøgt at gøre det så overskueligt som muligt.
Watts live kortet opdaterer automatisk firmwaren med den nyeste firmware, under installationen i Watts App'en. Fra og med firmware version 1.9.0 kan man benytte Watts Live sammen med Home Assistant.
Køb kortet her: Watts Shop
Vi har lavet følgende guide til brug for opsætning:
Forudsætninger:
- Watts Live skal være opsat via Watts Energiassistent appen for at opdatere Firmware og forbinde til Wi-Fi (2,4 GHz b/g/n)
- Watts Live firmware skal være mindst v1.9.0 (version kan tjekkes i Watts Appen under Watts live i menuen)
- nRF Connect App til opsætning af kort til lokal MQTT
- Home Assistant nyere end version 2023.8.4
- MQTT min version 3.1.1
MQTT client identifier, topic and payload
SERIAL_NUMBER
er serienummeret på Watts Live kortet, som findes på boksens omslag eller på selve kortet. Dette er brugt i forbindelse med MQTT delen og som MQTT Topic og identifikationer (I MQTT CONNECT pakken).
SERIAL_NUMBER
er brugt som den primære identifikationen for MQTT Klienten.
Watts Live enheden sender data til watts/SERIAL_NUMBER/measurement
MQTT topic.
MQTT besked payload er encoded i JSON. Nedenfor kan man se et eksempel på hvordan payload ser ud og hvilket information det indeholder.
{
"positive_active_energy": 1198712,
"negative_active_energy": 0,
"positive_reactive_energy": 0,
"negative_reactive_energy": 0,
"positive_active_power": 3104,
"negative_active_power": 0,
"positive_reactive_power": 0,
"negative_reactive_power": 0,
"voltage_l1": 380,
"voltage_l2": 380,
"voltage_l3": 380,
"current_l1": 1.1,
"current_l2": 1.65,
"current_l3": 5.42,
"positive_active_power_l1": 418,
"positive_active_power_l2": 627,
"positive_active_power_l3": 2059,
"negative_active_power_l1": 0,
"negative_active_power_l2": 0,
"negative_active_power_l3": 0
}
Se beskrivelse af beskeden her
Installation og opsætning
Installationen indeholder 3 trin.
- Opsætning af MQTT broker, hvis du ikke allerede har gjort det i Home Assistant tidligere
- Home Assistant konfiguration og opdatering af
configuration.yaml
- Opdatering af Watts Live kortet
1. Mosquitto MQTT broker konfiguration
Følg Eclipse Mosquitto™ MQTT broker konfigurationen (contents of mosquitto.conf
):
allow_anonymous true
listener 1883 0.0.0.0
For at starte kør følgende:
mosquitto -c mosquitto.conf
Hvis du ønsker at bruge brugernavn og password til Watts Live kortet, kan Watts henvise til Eclipse Mosquitto™ dokumentationen for at opsætte en passwordfil. Det er for at konfigurere en adgangskode til at aktivere det på MQTT klienten.
2. Home Assistant setup
Redigér Home Assistant configuration.yaml
og tilføj følgende sensor noder under mqtt
OBS: Erstat SERIAL_NUMBER
med serienummer fra dit Watts Live kort, alle de steder det står i kode eksemplet, serienummer står tre steder i koden for hver sensor.
SERIAL_NUMBER
er det fulde serienummer fra kortet eller kassen, i Watts Energiassistent appen vises serienummeret kun delvist. Det fulde serienummer er på 16 cifre. (Eksempel: 11D1043220001234)
mqtt:
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Positive Active Energy
unique_id: "positive_active_energy"
device_class: energy
state_class: total
unit_of_measurement: Wh
value_template: "{{ value_json.positive_active_energy }}"
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Negative Active Energy
unique_id: negative_active_energy
device_class: energy
state_class: total
unit_of_measurement: Wh
value_template: "{{ value_json.negative_active_energy }}"
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Positive Reactive Energy
device_class: energy
state_class: total
unit_of_measurement: varh
value_template: "{{ value_json.positive_reactive_energy }}"
unique_id: positive_reactive_energy
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Negative Reactive Energy
device_class: energy
state_class: total
unit_of_measurement: varh
value_template: "{{ value_json.negative_reactive_energy }}"
unique_id: negative_reactive_energy
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Positive Active Power
device_class: power
state_class: measurement
unit_of_measurement: W
value_template: "{{ value_json.positive_active_power }}"
unique_id: positive_active_power
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Negative Active Power
device_class: power
state_class: measurement
unit_of_measurement: W
value_template: "{{ value_json.negative_active_power }}"
unique_id: negative_active_power
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Positive Active Power L1
device_class: power
state_class: measurement
unit_of_measurement: W
value_template: "{{ value_json.positive_active_power_l1 }}"
unique_id: positive_active_power_l1
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Positive Active Power L2
device_class: power
state_class: measurement
unit_of_measurement: W
value_template: "{{ value_json.positive_active_power_l2 }}"
unique_id: positive_active_power_l2
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Positive Active Power L3
device_class: power
state_class: measurement
unit_of_measurement: W
value_template: "{{ value_json.positive_active_power_l3 }}"
unique_id: positive_active_power_l3
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Negative Active Power L1
device_class: power
state_class: measurement
unit_of_measurement: W
value_template: "{{ value_json.negative_active_power_l1 }}"
unique_id: negative_active_power_l1
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Negative Active Power L2
device_class: power
state_class: measurement
unit_of_measurement: W
value_template: "{{ value_json.negative_active_power_l2 }}"
unique_id: negative_active_power_l2
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Negative Active Power L3
device_class: power
state_class: measurement
unit_of_measurement: W
value_template: "{{ value_json.negative_active_power_l3 }}"
unique_id: negative_active_power_l3
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Positive Reactive Power
device_class: reactive_power
state_class: measurement
unit_of_measurement: var
value_template: "{{ value_json.positive_reactive_power }}"
unique_id: positive_reactive_power
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Negative Reactive Power
device_class: reactive_power
state_class: measurement
unit_of_measurement: var
value_template: "{{ value_json.negative_reactive_power }}"
unique_id: negative_reactive_power
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Voltage L1
device_class: voltage
state_class: measurement
unit_of_measurement: V
value_template: "{{ value_json.voltage_l1 }}"
unique_id: voltage_l1
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Voltage L2
device_class: voltage
state_class: measurement
unit_of_measurement: V
value_template: "{{ value_json.voltage_l2 }}"
unique_id: voltage_l2
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Voltage L3
device_class: voltage
state_class: measurement
unit_of_measurement: V
value_template: "{{ value_json.voltage_l3 }}"
unique_id: voltage_l3
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Current L1
device_class: current
state_class: measurement
unit_of_measurement: A
value_template: "{{ value_json.current_l1 }}"
unique_id: current_l1
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Current L2
device_class: current
state_class: measurement
unit_of_measurement: A
value_template: "{{ value_json.current_l2 }}"
unique_id: current_l2
- sensor:
device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Current L3
device_class: current
state_class: measurement
unit_of_measurement: A
value_template: "{{ value_json.current_l3 }}"
unique_id: current_l3
Se Home Assistant MQTT Sensor for flere detaljer.
Husk at sikre dig, at Home Assistant er opdateret med den nye konfigurations fil. configuration.yaml
.
3. Watts live Bluetooth konfiguration af MQTT settings via NRF Connect
For at opdatere Watts Live kortet med indstillingerne for den lokale MQTT, skal du bruge NRF Connect, som kan hentes til både iOS eller Android, i den relevante store.
Start med at genstarte dit Watts Live kort ved at tage det ud af måleren til det holder helt op med at blinke (op til 5 min for Kamstrup kort). Sæt kortet i måleren igen, hvorefter BLE er tændt i 30 min.
- Åben nRF Connect appen
- Start scan og find
Watts Live
- Klik på Connect
- Under fanen "Client" ligger en lang liste med egenskaber.
MQTT afsnittet ligger under
a2e1ea9b-01e8-4fe5-9b99-35e9cb44d4b6
hvorefter der ligger 4 UUID som bruges til opsætning af MQTT
Følgende egenskaber (UUID) skal bruges til at konfigurere forbindelsen til MQTT broker:
UUID |
Name |
Type |
---|---|---|
8143af58-b9b8-47ca-911d-ad3564f10d0b |
Hostname |
TEXT (UTF-8) |
c0175553-1ffd-4eb5-99ca-dc271f4ca050 |
Port |
UINT16 (Little Endian) |
41b6703a-0bac-46b4-a0fa-273f5bf641dc |
Username |
TEXT (UTF-8) |
a59394ed-b929-41a9-81ab-8a16eec6a28c |
Password |
TEXT (UTF-8) |
Tomt Hostname
(default) deaktiverer kommunikationen med MQTT broker.
Port
er som standard sat til 1883
(UINT16), så længe det ikke har været ændret tidligere.
Benytter du iPhone kan du skrive Port
som Byte Array (Hex), da nRF til IPhone ikke har UINT16, der kan du bruge denne (online decimal til hec converter) til at konvertere dit portnummer til Little endian (Hex)
Eksempel på hex for port 1883 er 5b07
Username
og Password
er som default tomme, hvilket betyder at MQTT brugernavn og password ikke er inkluderet i initialiseringen af MQTT CONNECT
beskeden og forbindelsen sker uden adgangskontrol til MQTT broker.
For at sende data til egenskaber:
- Trykke på pil
OP
- Skriv den ønskede værdi og vælg den rigtige type
- Tryk på
SEND
Afslutning og genstart Watts Live kort
Konfigureringen til MQTT indlæses under boot af Watts Live kortet, så vær sikker på at restarte kortet efter der er sket ændringer til MQTT delen. Dette kan gøres ved at tage kortet ud og vente til det holder op med at lyse / blinke og derefter indsætte det igen.
Billeder fra Home Assistant
Sensor Watts Live
Fra Home Assistant mobil App
Fra Home Assistant web
Energy dashboard på web
Home Assistant 2023.7.2 og tidligere
Hvis du benytter en ældre version af home assistant, skal du benytte en andet sensor konfiguration. Hvor det kun et en sensor element og alle andre devices ligger under.
Samt så skal device name
, device identifiers
og state_topics
gentages ved hvert device.
Eksempel på de første to:
mqtt:
sensor:
- device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Positive Active Energy
device_class: energy
state_class: total
unit_of_measurement: Wh
value_template: "{{ value_json.positive_active_energy }}"
unique_id: positive_active_energy
- device:
name: Watts Live (SERIAL_NUMBER)
identifiers: SERIAL_NUMBER
state_topic: watts/SERIAL_NUMBER/measurement
name: Negative Active Energy
device_class: energy
state_class: total
unit_of_measurement: Wh
value_template: "{{ value_json.negative_active_energy }}"
unique_id: negative_active_energy