PZEM-017 goes smart :)

Home Assistant, Arduino, SDS, Raspberry, Linux, vzdálený dohled, automatizace, měření, opensource, closedsource, hotová řešení, DIY, stavebnice, komponenty, software, postupy, návody, schémata, rady, zkušenosti ...
Uživatelský avatar
TomHC
Příspěvky: 1283
Registrován: pát lis 11, 2022 8:14 am
Lokalita: Hlohovec, SR
Systémové napětí: 48V
Výkon panelů [Wp]: 5520
Kapacita baterie [kWh]: 14
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Hlohovec, SR

PZEM-017 goes smart :)

Příspěvek od TomHC »

Ahojte, MUST PV1800 neposkytuje údaje o výkone z panelov, iba výkon MPPT nabíjačky, tak som kúpil merač PZEM-017 so 100A shuntom. Najskôr som ho skúšobne zaintegroval do Home assistanta cez RS-485 TCP MODBUS adaptér ET69C02, ale to bolo veľa káblov. Potom som tam pripojil ESP32-C3 SuperMini a RS-485 - UART modul. Ani to sa mi nepáčilo, tak som urobil trochu reverzné inžinierstvo a ESP32-C3 som zabudoval priamo do krabičky merača. Prikladám foto vnútorností, cez týždeň to pridám aj na Github :comp:

Napájanie je výhradne cez Micro USB port, odstránil som dvojitú diódu BAT54C ktorá slúžila na zlúčenie napájania z USB portu a napätia z meracieho obvodu. UART dáta sa berú od rezistorov R14 a R8, hlavný čip pracuje na 3.3V, takže netreba ani prispôsobovať napäťové úrovne pre ESP. Prevedenie "na pavúka", ideálne je to poistiť kvapkou z tavnej tyčinky.

A tu je v podstate aj celý YAML:

Kód: Vybrat vše

esphome:
  name: pzem-017

esp32:
  variant: ESP32C3
  board: esp32-c3-devkitm-1

wifi:
  networks:
  - ssid: !secret wifi_ssid
    password: !secret wifi_password

api:
ota:
logger:

uart:
  baud_rate: 9600
  data_bits: 8
  stop_bits: 2
  parity: NONE
  tx_pin: GPIO10
  rx_pin: GPIO20

sensor:
  - platform: uptime
    name: "PZEM-017 uptime"
    update_interval: 30s
  - platform: wifi_signal
    name: "PZEM-017 WiFi Signal Sensor"
    update_interval: 30s

  - platform: pzemdc
    address: 30
    current:
      name: "PZEM-017 Current"
    voltage:
      name: "PZEM-017 Voltage"
    power:
      name: "PZEM-017 Power"
    energy:
      name: "PZEM-017 Energy"
    update_interval: 2s

switch:
  - platform: restart
    name: "PZEM-017 restart"

text_sensor:
  - platform: wifi_info
    ip_address:
      id: ip_address
      name: PZEM-017 IP Address
    ssid:
      name: PZEM-017 Connected SSID
Přílohy
PZEM-017-wireless.jpg
MUST PV1800 VHM 48V 5.5kW, 5.52kWp (12x TPL mono 460W, 2S2P východ, 2S4P juh), 16x 280 Ah LiFePO4 (14.3 kWh) BMS JBD-AP21S001-L21S-200A-B, SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT..., HW: ESPlan (ESP32 + LAN 8720 + RS485 + UART). Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome
rva
Příspěvky: 3526
Registrován: úte dub 23, 2013 10:21 am
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 40
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: PZEM-017 goes smart :)

Příspěvek od rva »

Pro mě to je inspirace. Zatím se mi schází komponenty. Koukám, že oproti originálu nemáš smd odpory R3 a R5. Hřály se?:
PZEM-017(V02)
PZEM-017(V02)
_______________________________________________________________________
43 kWp, LiFePO4 46 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
Uživatelský avatar
TomHC
Příspěvky: 1283
Registrován: pát lis 11, 2022 8:14 am
Lokalita: Hlohovec, SR
Systémové napětí: 48V
Výkon panelů [Wp]: 5520
Kapacita baterie [kWh]: 14
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Hlohovec, SR

Re: PZEM-017 goes smart :)

Příspěvek od TomHC »

rva píše: úte úno 27, 2024 6:49 pm Koukám, že oproti originálu nemáš smd odpory R3 a R5. Hřály se?
Z nejakého dôvodu z nich uletel magic smoke. :mrgreen: ale naozaj, ráno to bolo mŕtve, ešte v pôvodnom zapojení, bez mojich úprav.
MUST PV1800 VHM 48V 5.5kW, 5.52kWp (12x TPL mono 460W, 2S2P východ, 2S4P juh), 16x 280 Ah LiFePO4 (14.3 kWh) BMS JBD-AP21S001-L21S-200A-B, SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT..., HW: ESPlan (ESP32 + LAN 8720 + RS485 + UART). Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome
rva
Příspěvky: 3526
Registrován: úte dub 23, 2013 10:21 am
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 40
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: PZEM-017 goes smart :)

Příspěvek od rva »

Zkusil jsem to zopakovat. Jen to napájecí napětí jsem si vzal kousek vedle. Odpory R14 a R8 mají takové rozestupy, že se na ně daly napájet rovnou piny z ESP32:
PZEM-017 úprava
PZEM-017 úprava
A funguje jen komunikace s ESP32 a asi nekomunikuje ESP32 s PZEM-017:
PZEM-017 nedává senzory
PZEM-017 nedává senzory
log vypadá takto:

Kód: Vybrat vše

INFO ESPHome 2024.2.1
INFO Reading configuration /config/esphome/esphome-web-c03388.yaml...
INFO Starting log output from 192.168.0.152 using esphome API
INFO Successfully connected to pzem-017-esphome-web-c03388 @ 192.168.0.152 in 0.108s
INFO Successful handshake with pzem-017-esphome-web-c03388 @ 192.168.0.152 in 0.080s
[19:30:48][I][app:102]: ESPHome version 2024.2.1 compiled on Feb 28 2024, 16:58:55
[19:30:48][C][wifi:577]: WiFi:
[19:30:48][C][wifi:409]:   Local MAC: EC:DA:3B:C0:33:88
[19:30:48][C][wifi:414]:   SSID: [redacted]
[19:30:48][C][wifi:415]:   IP Address: 192.168.0.152
[19:30:48][C][wifi:417]:   BSSID: [redacted]
[19:30:48][C][wifi:418]:   Hostname: 'pzem-017-esphome-web-c03388'
[19:30:48][C][wifi:420]:   Signal strength: -74 dB ▂▄▆█
[19:30:48][C][wifi:424]:   Channel: 5
[19:30:48][C][wifi:425]:   Subnet: 255.255.255.0
[19:30:48][C][wifi:426]:   Gateway: 192.168.0.1
[19:30:48][C][wifi:427]:   DNS1: 192.168.0.1
[19:30:48][C][wifi:428]:   DNS2: 192.168.0.1
[19:30:48][C][logger:447]: Logger:
[19:30:48][C][logger:448]:   Level: DEBUG
[19:30:48][C][logger:449]:   Log Baud Rate: 115200
[19:30:48][C][logger:451]:   Hardware UART: USB_SERIAL_JTAG
[19:30:48][C][uart.arduino_esp32:137]: UART Bus 0:
[19:30:48][C][uart.arduino_esp32:138]:   TX Pin: GPIO10
[19:30:48][C][uart.arduino_esp32:139]:   RX Pin: GPIO20
[19:30:48][C][uart.arduino_esp32:141]:   RX Buffer Size: 256
[19:30:48][C][uart.arduino_esp32:143]:   Baud Rate: 9600 baud
[19:30:48][C][uart.arduino_esp32:144]:   Data Bits: 8
[19:30:48][C][uart.arduino_esp32:145]:   Parity: NONE
[19:30:48][C][uart.arduino_esp32:146]:   Stop bits: 2
[19:30:48][C][modbus:143]: Modbus:
[19:30:48][C][modbus:145]:   Send Wait Time: 250 ms
[19:30:48][C][modbus:146]:   CRC Disabled: NO
[19:30:48][C][uptime.sensor:031]: Uptime Sensor 'PZEM-017 uptime'
[19:30:48][C][uptime.sensor:031]:   Device Class: 'duration'
[19:30:48][C][uptime.sensor:031]:   State Class: 'total_increasing'
[19:30:48][C][uptime.sensor:031]:   Unit of Measurement: 's'
[19:30:48][C][uptime.sensor:031]:   Accuracy Decimals: 0
[19:30:48][C][uptime.sensor:031]:   Icon: 'mdi:timer-outline'
[19:30:48][C][pzemdc:057]: PZEMDC:
[19:30:48][C][pzemdc:058]:   Address: 0x1E
[19:30:48][C][pzemdc:059]: Voltage 'PZEM-017 Voltage'
[19:30:48][C][pzemdc:059]:   Device Class: 'voltage'
[19:30:48][C][pzemdc:059]:   State Class: 'measurement'
[19:30:48][C][pzemdc:059]:   Unit of Measurement: 'V'
[19:30:48][C][pzemdc:059]:   Accuracy Decimals: 1
[19:30:48][C][pzemdc:060]: Current 'PZEM-017 Current'
[19:30:48][C][pzemdc:060]:   Device Class: 'current'
[19:30:48][C][pzemdc:060]:   State Class: 'measurement'
[19:30:48][C][pzemdc:060]:   Unit of Measurement: 'A'
[19:30:48][C][pzemdc:060]:   Accuracy Decimals: 3
[19:30:48][C][pzemdc:061]: Power 'PZEM-017 Power'
[19:30:48][C][pzemdc:061]:   Device Class: 'power'
[19:30:48][C][pzemdc:061]:   State Class: 'measurement'
[19:30:48][C][pzemdc:061]:   Unit of Measurement: 'W'
[19:30:48][C][pzemdc:061]:   Accuracy Decimals: 1
[19:30:48][C][pzemdc:062]: Energy 'PZEM-017 Energy'
[19:30:48][C][pzemdc:062]:   Device Class: 'energy'
[19:30:48][C][pzemdc:062]:   State Class: 'total_increasing'
[19:30:48][C][pzemdc:062]:   Unit of Measurement: 'kWh'
[19:30:48][C][pzemdc:062]:   Accuracy Decimals: 3
[19:30:48][C][restart:068]: Restart Switch 'PZEM-017 restart'
[19:30:48][C][restart:070]:   Icon: 'mdi:restart'
[19:30:48][C][restart:091]:   Restore Mode: always OFF
[19:30:48][C][mdns:115]: mDNS:
[19:30:48][C][mdns:116]:   Hostname: pzem-017-esphome-web-c03388
[19:30:48][C][ota:096]: Over-The-Air Updates:
[19:30:48][C][ota:097]:   Address: pzem-017-esphome-web-c03388.local:3232
[19:30:48][C][ota:103]:   OTA version: 2.
[19:30:48][C][api:139]: API Server:
[19:30:48][C][api:140]:   Address: pzem-017-esphome-web-c03388.local:6053
[19:30:48][C][api:142]:   Using noise encryption: YES
[19:30:48][C][wifi_signal.sensor:009]: WiFi Signal 'PZEM-017 WiFi Signal Sensor'
[19:30:48][C][wifi_signal.sensor:009]:   Device Class: 'signal_strength'
[19:30:48][C][wifi_signal.sensor:009]:   State Class: 'measurement'
[19:30:48][C][wifi_signal.sensor:009]:   Unit of Measurement: 'dBm'
[19:30:48][C][wifi_signal.sensor:009]:   Accuracy Decimals: 0
[19:30:48][C][wifi_info:009]: WifiInfo IPAddress 'PZEM-017 IP Address'
[19:30:48][C][wifi_info:011]: WifiInfo SSID 'PZEM-017 Connected SSID'
[19:30:55][D][sensor:094]: 'PZEM-017 uptime': Sending state 975.65503 s with 0 decimals of accuracy
[19:31:11][D][sensor:094]: 'PZEM-017 WiFi Signal Sensor': Sending state -74.00000 dBm with 0 decimals of accuracy
[19:31:25][D][sensor:094]: 'PZEM-017 uptime': Sending state 1005.65503 s with 0 decimals of accuracy
[19:31:41][D][sensor:094]: 'PZEM-017 WiFi Signal Sensor': Sending state -74.00000 dBm with 0 decimals of accuracy
[19:31:55][D][sensor:094]: 'PZEM-017 uptime': Sending state 1035.65601 s with 0 decimals of accuracy
[19:32:11][D][sensor:094]: 'PZEM-017 WiFi Signal Sensor': Sending state -74.00000 dBm with 0 decimals of accuracy
[19:32:25][D][sensor:094]: 'PZEM-017 uptime': Sending state 1065.65002 s with 0 decimals of accuracy
Takže asi půjdu obráceným směrem. Dám tam převodník a uvidím.
_______________________________________________________________________
43 kWp, LiFePO4 46 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
Uživatelský avatar
TomHC
Příspěvky: 1283
Registrován: pát lis 11, 2022 8:14 am
Lokalita: Hlohovec, SR
Systémové napětí: 48V
Výkon panelů [Wp]: 5520
Kapacita baterie [kWh]: 14
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Hlohovec, SR

Re: PZEM-017 goes smart :)

Příspěvek od TomHC »

Zmeň si adresu na default = 1 (tuším)

address: 30
MUST PV1800 VHM 48V 5.5kW, 5.52kWp (12x TPL mono 460W, 2S2P východ, 2S4P juh), 16x 280 Ah LiFePO4 (14.3 kWh) BMS JBD-AP21S001-L21S-200A-B, SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT..., HW: ESPlan (ESP32 + LAN 8720 + RS485 + UART). Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome
rva
Příspěvky: 3526
Registrován: úte dub 23, 2013 10:21 am
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 40
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: PZEM-017 goes smart :)

Příspěvek od rva »

Tak už to funguje (zatím s pseodobočníkem).
PZEM-017 + ESP32 C3
PZEM-017 + ESP32 C3
Zlobila v yaml řádka s adresou boardu, tak jsem ji okomentoval:

Kód: Vybrat vše


    #address: 30

_______________________________________________________________________
43 kWp, LiFePO4 46 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
Uživatelský avatar
TomHC
Příspěvky: 1283
Registrován: pát lis 11, 2022 8:14 am
Lokalita: Hlohovec, SR
Systémové napětí: 48V
Výkon panelů [Wp]: 5520
Kapacita baterie [kWh]: 14
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Hlohovec, SR

Re: PZEM-017 goes smart :)

Příspěvek od TomHC »

Tak super! Ja som pokusne menil adresu a nakoniec tak aj zostala. Škoda že sa nedá zmeniť 8N2 na 8N1, využil by som existujúcu zbernicu kde mám menič a shunt.
MUST PV1800 VHM 48V 5.5kW, 5.52kWp (12x TPL mono 460W, 2S2P východ, 2S4P juh), 16x 280 Ah LiFePO4 (14.3 kWh) BMS JBD-AP21S001-L21S-200A-B, SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT..., HW: ESPlan (ESP32 + LAN 8720 + RS485 + UART). Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome
Uživatelský avatar
TomHC
Příspěvky: 1283
Registrován: pát lis 11, 2022 8:14 am
Lokalita: Hlohovec, SR
Systémové napětí: 48V
Výkon panelů [Wp]: 5520
Kapacita baterie [kWh]: 14
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Hlohovec, SR

Re: PZEM-017 goes smart :)

Příspěvek od TomHC »

Len doplním, že to od nasadenia funguje ku plnej spokojnosti :yes:
MUST PV1800 VHM 48V 5.5kW, 5.52kWp (12x TPL mono 460W, 2S2P východ, 2S4P juh), 16x 280 Ah LiFePO4 (14.3 kWh) BMS JBD-AP21S001-L21S-200A-B, SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT..., HW: ESPlan (ESP32 + LAN 8720 + RS485 + UART). Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome

  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek