Skip to content

PiggyMeter

PiggyMeter mwaħħal ma' meter elettriku

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.

Ċirku tal-metall karatteristiku u interfaċċa ottika fin-nofs.

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.

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.

Lista tal-materjali

PartiDeskrizzjoni
CPUWemos C3 jew S2 Mini https://www.wemos.cc/en/latest/
Interface ottikuPiggyMeter PCB https://www.tindie.com/products/32082/
2×pin header 1×4Raster 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
WasherWasher stampat 3D https://github.com/aquaticus/piggymeter_case
GħatuGħatu ta' wara stampat 3D https://github.com/aquaticus/piggymeter_case

Bord tal-CPU

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

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.

Interface Ottiċi u Bord tal-CPU

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.

INFO

Tista' tixtri interface immuntat fuq Tindie. Buy on Tindie

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.

Kaxxa

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ġġ

3d print

Assemblaġġ

Assembly

Irranġa l-komponenti ġewwa l-kaxxa f'din l-ordni:

  1. Manjet
  2. Washer
  3. Interface ottiku
  4. Bord tal-CPU
  5. 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.

Connection Status

Sensors

Din hija lista ta' sensors definiti fil-fajl tal-konfigurazzjoni.

Sensors

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.