PiggyMeter
Dan l-artiklu juri kif tibni apparat biex taqra data mill-bogħod minn meter elettriku (jew kwalunkwe apparat b'interfaċċa kompatibbli).
Jintuża komponenti li huma faċilment disponibbli, softwer open source u huwa kompatibbli ma' softwer popolari ta' awtomazzjoni tad-dar, Home Assistant.
INFO
Kit għall-assemblaġġ ta' apparat funzjonali huwa disponibbli għall-bejgħ fuq Tindie: PiggyMeter KIT.
Karatteristiċi
- Jappoġġja protokolli bbażati fuq IEC62056-21
- Jappoġġja protokoll passiv SML bl-użu ta' komponent nattiv ESPHome
- Diversi meters: enerġija, ilma, termali, u aktar
- Jintuża open source ESPHome
- Komunikazzjoni mingħajr fili permezz ta' Wi-Fi
- Jintegra ma' Home Assistant
- Server web fakultattiv
- Ħardwer irħis ESP32-C3 jew ESP32-S2
- Disinn tal-kaxxa disponibbli għall-istampar 3D
Jappoġġja meters kompatibbli mal-istandard IEC62056-21 li jaħdem f'modi A, B, C, D (imma mhux E). Għal dettalji ara komponent IEC 62056-21.
Innota li hemm ħafna varjazzjonijiet tal-protokoll. Għalkemm il-meter jista' juża l-istess interfaċċa ottika, il-format tal-qafas tad-data jista' jkun differenti.
Barra minn hekk, jappoġġja meters li jużaw il-protokoll SML (Smart Message Language) bl-użu ta' komponent SML ta' ESPHome.
WARNING
L-istandards DLMS, M-Bus u ANSI C12.18/19 mhumiex appoġġjati mis-softwer.
Kif tivverifika jekk il-meter huwiex appoġġjat?
It-terminu IEC 62056-21 jintuża għal diversi protokolli (bl-istess saff tal-ħardwer imma b'kodifikazzjoni tad-data differenti). L-apparat jappoġġja meters li jipprovdu data kodifikata ASCII, xi ħaġa bħal din:
console
1-0:15.8.1(00000009999.567*kWh)
1-0:15.8.2(00000000000.000*kWh)
1-0:15.8.3(00000000000.000*kWh)
1-0:15.8.4(00000000000.000*kWh)
Il-meter għandu jkun kompatibbli ma' Standard Internazzjonali IEC 62056-21:2002.
Għall-protokoll SML, fittex il-logo SML fuq il-meter jew iċċekkja l-manwal. Il-komponent ESPHome jappoġġja biss il-mod passiv, ma jibgħat l-ebda talba lill-meter. F'dak il-mod, il-meter jibgħat data kull ftit sekondi.
Meters irrappurtati li jaħdmu ma' PiggyMeter
Il-lista hija maħluqa bbażata fuq rapporti tal-utenti. M'hemm l-ebda garanzija li hija preċiża.
- Apator Norax 3
- Apator Norax 1
- Apator Norax 1D permezz tal-komponent SML
- Pafal 12EA5
- Iskra MT372
- Iskra ME162
- Kastrup 382
- Landis+Gyr E350 ZMF110
- ZPA ZE110.D0
INFO
Tħossok liberu li tibgħat email lil info@aquaticus.info jekk taf meter li jaħdem ma' PiggyMeter iżda mhuwiex elenkat hawn fuq.
Softwer alternattiv
Il-hardware ta' PiggyMeter jista' jaħdem ma' ħafna meters differenti li jużaw interface ottiku. Madankollu, is-softwer bħalissa jappoġġja standard wieħed biss, li fil-prattika jillimita l-firxa ta' meters appoġġjati.
Tista' tipprova tuża softwer alternattiv li jista' jżid appoġġ għal meters differenti. Huwa importanti li wieħed jinnota li m'hemm l-ebda assigurazzjoni li se jaħdem bla xkiel ma' PiggyMeter. Għal appoġġ, jekk jogħġbok ikkuntattja lill-awtur oriġinali.
- Modulu DLMS/COSEM Esphome https://github.com/viric/esphome-ziv
Lista tal-materjali
Parti | Deskrizzjoni |
---|---|
CPU | Wemos C3 jew S2 Mini https://www.wemos.cc/en/latest/ |
Interface ottiku | PiggyMeter PCB https://www.tindie.com/products/32082/ |
2×pin header 1×4 | Raster 2.54mm; il-parti tal-plastik trid tkun 8.5 mm għoli |
Manjetta Ċirku | ⌀30/⌀15×2mm |
Każ | Każ stampat 3D https://github.com/aquaticus/piggymeter_case |
Washer | Washer stampat 3D https://github.com/aquaticus/piggymeter_case |
Għatu | Għatu ta' wara stampat 3D https://github.com/aquaticus/piggymeter_case |
Bord tal-CPU
Għandek bżonn bord b'ċippa Espressif installata u kompatibbli ma' pinout Wemos/Lolin. Il-fattur ewlieni huwa l-post ta' 4 pins: GND
, VCC
, TX
, u RX
.
Id-daqs tal-PCB huwa wkoll kritiku. Il-kaxxa stampata 3D taqbel biss ma' bords (jew il-kloni tagħhom) elenkati hawn taħt:
- Lolin/Wemos S2 mini
- Lolin/Wemos C3 mini
Fit-teorija, tista' tuża kwalunkwe bord tal-CPU ieħor b'pinout kompatibbli, notabbli ESP32 u ESP8266 D1 mini. Iżda f'dak il-każ trid tiddisinja kaxxa tiegħek u timmodifika ftit il-fajls tal-konfigurazzjoni (tip ta' bord u pins tal-port serial).
Interface Ottiċi
Miter juża interface ottiċi kompatibbli mal-istandard IEC62056-21, jikkomunika ma' sonda permezz ta' dijodu infra-aħmar u fototransistor.
L-interface hija konnessa ma' wieħed mill-portijiet serial fuq il-bord tal-CPU. Naturalment għandek bżonn ukoll VCC u GND.
Saldja 2 headers tal-pin. Trid tuża header tal-pin 8.5 mm għoli. Id-disinn tal-kaxxa jakkomoda din l-għoli, jiżgura tajbin xierqa. Jekk l-għoli jaqbeż din id-dimensjoni, jista' jkun hemm sfidi biex tagħlaq il-għatu.
Kaxxa
Niżżel fajls għall-printer 3D minn https://github.com/aquaticus/piggymeter_case. Uża l-verżjoni V5 għad-disinn l-aktar riċenti.
Il-kaxxa tinkludi tliet komponenti:
- il-kaxxa prinċipali,
- washer,
- u għatu.
Hemm tliet fajls STL distinti disponibbli għal kull komponent, jew alternattivament, fajl wieħed 3fm li jinkorpora t-tliet elementi kollha.
Il-kaxxa tissodisfa r-rekwiżiti tal-istandard IEC62056-21 Optical Probe>.
INFO
Il-kaxxa għandha latch żgħir. Biex tagħlaq jew tiftaħha, trid tuża ftit forza.
Settings rakkomandati għall-istampar 3D
- Materjal: PLA
- Saff: 0.2 mm
- L-ebda appoġġ
Assemblaġġ
Irranġa l-komponenti ġewwa l-kaxxa f'din l-ordni:
- Manjet
- Washer
- Interface ottiku
- Bord tal-CPU
- Għatu
INFO
Ara l-assemblaġġ fuq Youtube https://youtu.be/fM2LyJJWQHA?si=dyY4r7zMSMfbwQtm
Programmazzjoni għal meters IEC62056-21
Ibda billi tinstalla ESPHome.
Ibbażat fuq il-bord tal-CPU tiegħek, agħżel il-fajl ta' konfigurazzjoni xieraq. Barra minn hekk, agħmel aġġustamenti manwali għal ċerti parametri, bħal il-password tal-WiFi.
Ikseb fajls ta' konfigurazzjoni
Klonja r-repożitorju git bil-fajls ta' konfigurazzjoni:
bash
git clone https://github.com/aquaticus/piggymeter_esphome_yaml
Oħloq fajl secrets.yaml
Oħloq fajl secrets.yaml
fi ħdan id-direttorju fejn jinsabu il-fajls ta' konfigurazzjoni. Dan il-fajl se jżomm l-isem tan-netwerk WiFi u l-password korrispondenti tiegħu.
yaml
# Home Assistant API encryption key
api_key: my_home_assistant_encryption_key
# OTA password
ota_pass: my_ota_password
# WiFi network name
wifi_ssid: my_network
# WiFi network password
wifi_pass: my_password
Ibdel il-konfigurazzjoni tal-proġett
Il-konfigurazzjoni tiġi pre-settata b'punti ta' data standard għal meter elettriku.
Tħossok liberu li taġġusta l-lista, speċjalment jekk il-meter tiegħek jiddifferixxi mit-tip ta' meter elettriku. Irreferi għall-komponent IEC 62056-21 għal aktar informazzjoni.
yaml
sensor:
- platform: iec62056
obis: 1-0:15.8.0
name: Absolute active energy total
unit_of_measurement: kWh
accuracy_decimals: 3
device_class: energy
state_class: total_increasing
Ibni u flash il-firmware
bash
esphome run piggymeter-s2-iec62056-21.yaml
Il-kmand ta' hawn fuq jiflashja l-firmware u juri l-output tal-monitor. B'default, l-interface taqra data minn meter kull minuta.
TIP
Għal bord ESP32-S2 trid tagħfas il-buttuna BOOT u mbagħad il-buttuna RESET fuq PCB biex tidħol fil-mod ta' programmazzjoni. Barra minn hekk, tista' tara messaġġ ta' żball wara li tifflaċċja -- sempliċement injora.
log
[12:21:27][D][iec62056.component:232]: Connection start
[12:21:27][D][binary_sensor:036]: 'Meter Connection Status': Sending state ON
[12:21:28][D][switch:013]: 'Internal LED' Turning ON.
[12:21:28][D][switch:056]: 'Internal LED': Sending state ON
[12:21:28][D][iec62056.component:174]: Meter identification: '/XXX6\2YYYYY'
[12:21:28][D][iec62056.component:407]: Meter reported protocol: C
[12:21:28][D][iec62056.component:410]: Meter reported max baud rate: 19200 bps ('6')
[12:21:28][D][iec62056.component:438]: Using negotiated baud rate 9600 bps.
[12:21:29][D][iec62056.component:470]: Switching to new baud rate 9600 bps ('5')
[12:21:29][D][iec62056.component:482]: Meter started readout transmission
[12:21:29][D][iec62056.component:524]: Data: 0-0:C.1.0(12345678)
[12:21:29][D][iec62056.component:524]: Data: 0-0:1.0.0(2000-01-01 20:10:30)
[12:21:29][D][iec62056.component:524]: Data: 1-0:15.8.0(00000001000.657*kWh)
[12:21:29][D][iec62056.component:620]: Set sensor 'Absolute active energy total' for OBIS '1-0:15.8.0'. Value: 1000.656982
[12:21:29][D][iec62056.component:524]: Data: 1-0:15.8.1(00000002000.657*kWh)
[12:21:29][D][iec62056.component:524]: Data: 1-0:15.8.2(00000003000.000*kWh)
[12:21:29][D][iec62056.component:524]: Data: 1-0:15.8.3(00000004000.000*kWh)
[12:21:29][D][iec62056.component:524]: Data: 1-0:15.8.4(00000005000.000*kWh)
[12:21:29][D][iec62056.component:524]: Data: 1-0:15.6.0(00000006000.385*kW)(2000-01-01 20:10:01)
Programmazzjoni għal meters SML
L-ewwel passi huma identiċi għal dawk għal meters IEC62056-21.
Wara li tikklonja r-repożitorju u toħloq il-fajl secrets.yaml
, uża fajls ta' konfigurazzjoni għal meters SML.
bash
esphome run piggymeter-s2-sml.yaml
Ħafna probabbli, ser ikollok bżonn taġġusta l-fajl tal-konfigurazzjoni biex jaqbel mal-punti tad-data trasmessi mill-meter. Huwa wkoll tajjeb li tivverifika r-rata tal-baud u l-bits tad-data tal-port serjali.
Home Assistant
L-apparat għandu jiġi skopert awtomatikament minn Home Assistant. Jekk le, tista' żżidu manwalment billi tikklikkja Add Integration u tagħżel l-integrazzjoni ESPHome.
PiggyMeter jesponi tliet gruppi ta' oġġetti:
Readout Trigger
Dan it-trigger iġiegħel lil PiggyMeter jaqra data minn meter barra mill-iskeda.
Meter Connection Status
L-istatus Connected jindika li l-interface qed tpartat data mal-meter.
Sensors
Din hija lista ta' sensors definiti fil-fajl tal-konfigurazzjoni.
Standalone mode
PiggyMeter jista' jopera b'mod indipendenti minn Home Assistant, u joffri l-kapaċità li jattiva server tal-web. Dan is-server juri l-qari tad-data direttament f'browser tal-web u joffri API REST sempliċi.
Biex tattiva s-server tal-web, inkludi l-linji li ġejjin fil-fajl tal-konfigurazzjoni:
yaml
web_server:
port: 80
Aktar informazzjoni dwar is-server tal-web tista' tinstab fid-dokumentazzjoni ta' ESPHome.
Modifications
B'mod awtomatiku, l-apparat jiġbor data kull minuta, u l-LED intern ikun mixgħul waqt it-trasmissjoni.
Numru limitat biss ta' kodiċijiet OBIS huma definiti fil-fajl yaml tal-konfigurazzjoni. Huwa rakkomandat ħafna li timmodifika l-lista ta' sensors biex taqbel ma' meter.
Għalkemm il-kodiċijiet OBIS huma standardizzati, meters jistgħu jittrasmettu numru varjat ta' kodiċijiet. Biex tikkonferma l-kodiċijiet appoġġjati għall-meter tiegħek, attiva l-DEBUG
logging għall-komponent IEC62056-21 u analizza l-output tal-log.
Diagnostic and Problems IEC62056-21
Din it-taqsima hija biss għall-meters IEC62056-21 (mhux SML).
Wara li tteptep il-firmware, l-apparat se jipprova jaqra data minn meter wara madwar 15-il sekonda. Jekk it-trasmissjoni tfalli, se jerġa' jipprova darbtejn kull 15-il sekonda.
Tista' taġġusta dawn il-parametri billi tikkonfigura t-tokens xierqa. Konsulta d-dokumentazzjoni tal-komponent IEC62056-21 għal aktar dettalji.
Huwa rakkomandat li tibdel il-livell tal-log default minn DEBUG
għal INFO
ladarba l-apparat ikun ġie kkonfermat li jaħdem b'mod korrett.
Hawn taħt hawn kwistjonijiet komuni u s-soluzzjonijiet rispettivi tagħhom.
TIP
Kun żgur li l-prob huwa mwaħħal b'mod sigur mal-miter, billi tgħaqqad il-vleġġa fuq il-prob f'direzzjoni 'l fuq.
L-ebda trasmissjoni mill-miter
log
[E][iec62056.component:268]: No transmission from meter.
Dan jista' jindika:
- L-aktar komuni, l-interface mhix mwaħħla ma' miter.
- L-interface mhix allinjata sew mal-interface ottiku ta' miter.
- Il-miter mhuwiex kompatibbli.
Kun żgur li l-interface ottiku hija pożizzjonata parallel mal-wiċċ ta' quddiem tal-kaxxa. Jekk l-apparat jaħdem meta jkun imwaħħal mal-miter mingħajr il-kaxxa, iżda ma jaħdimx wara li jiġi inserit fil- kaxxa, dan jista' jkun il-kwistjoni. F'dan il-każ, tista' wkoll tikkunsidra tkabbar iż-żewġ toqob fil-kaxxa.
Mhux is-sensuri kollha rċevew data
log
[E][iec62056.component:644]: Not all sensors received data from the meter. The first one: OBIS '1-0:72.7.0'. Verify sensor is defined with valid OBIS code.
Dan jista' jindika żewġ problemi:
- Il-miter ma jappoġġjax il-kodiċi OBIS li kkonfigurat fil- yaml file. Sempliċement neħħi s-sensor b'kodiċi OBIS speċifiku mill-konfigurazzjoni.
- Jista' jkun hemm żball jew definizzjoni inkorretta tal-kodiċi OBIS għal is-sensor fil-fajl tal-konfigurazzjoni. Iċċekkja mill-ġdid il-kodiċi.
Il-miter jittrasmetti data awtomatikament iżda l-apparat ma jirċievi xejn
Dan jindika li l-miter jappoġġja mode D ta' IEC62056-21. F'dan il-mod, il-miter jittrasmetti data b'mod awtonomu kull ftit sekondi mingħajr ma jkun meħtieġ talba speċifika. Kun żgur li l-port serjali huwa kkonfigurat biex jallinja mal-format tat-trasmissjoni tal-miter, tipikament issettjat għal 9600 7E1 jew 2400 7E1 f'ħafna każijiet.
yaml
# 9600bps for mode D
uart:
rx_pin: GPIO21
tx_pin: GPIO22
baud_rate: 9600
data_bits: 7
parity: EVEN
stop_bits: 1
Barra minn hekk, il-Mod D għandu jiġi attivat manwalment billi tissettja mode_d=True
fil-konfigurazzjoni tal-pjattaforma.
yaml
# Enable mode D
iec62056:
mode_d: True
Żbalji ta' checksum
log
[E][iec62056.component:504]: BCC verification failed. Expected 0x6b, got 0x14
Dan l-iżball jissuġġerixxi problemi ta' trasmissjoni.
Normalment, il-veloċità tat-trasmissjoni hija eċċessivament għolja. Tnaqqis fir-rata massima tal-baud għandu jgħin.
yaml
iec62056:
baud_rate_max : 4800
Identifikazzjoni tal-miter riċevuta iżda mhux għat-trasmissjoni
log
[D][iec62056.component:174]: Meter identification: '/XXX6\2YYYYYYY'
[D][iec62056.component:252]: The meter is indicating mode E, which is unsupported. Attempting mode C. This will work for meters supporting both mode E and C.
[E][iec62056.component:268]: No transmission from meter.
Is-serje ta' identifikazzjoni tal-miter hija riċevuta b'suċċess, iżda m'hemmx trasmissjoni tad-data. Barra minn hekk, il-log turi messaġġ li jgħid, "Il-miter qed jindika l-mod E."
Il-miter jopera esklussivament fil-mod E, li PiggyMeter ma jappoġġjax. Konsegwentement, is-softwer jipprova jiskambja l-miter għall-mod C, iżda dan il-prova tfalli.
Jekk miter jappoġġja kemm il-mod E kif ukoll C, is-sistema għandha taħdem korrettament.