Git Product home page Git Product logo

powmr_comm's Introduction

PowMr Inverter serial communication protocol

Would you like to monitor and control your PowMr solar hybrid inverter via MQTT?

Here is the reverse engineering of the communication protocol. The infomation might be incomplete, feel free to contribute. All communications has been sniffed out of the original Wifi dongle.

Compatibility

Tested with:

However, also other models that are supported by the WIFI-VM device should work:

Communication

The device communicates with RS232 modbus protocol at 2400 baud (1 stop bit, no parity control). PowMr device slave id is 5.

RJ45 connector is located on the left side of the inverter and it has the following pinout:

  • pin 8 (Brown) Ground
  • pin 4 (Blue) +12V
  • pin 2 (Orange) RX (data to inverter)
  • pin 1 (White Orange) TX (data from inverter)

Modbus Holding registers to control inverter:

  • 5017 charger source priority (range 0-3, settings menu 16)

  • 5018 output source priority (range 0-2, settings menu 1)

  • 5024 utility charge current (one of 2, 10, 20, 30, 40, 50, 60, settings menu 11)

  • 5002 buzzer alarm (range 0-1, settings menu 18)

  • 5007 beeps when primary source interrupted (range 0-1, settings menu 22)

  • 5009 transfer to bypass on overload (0-1, settings menu 23)

  • 5022 max total charge current (range 10-80, settings menu 2)

  • 5025 comeback utility mode voltage (SBU) (0.5 volts step, settings menu 12)

  • 5026 comeback battery mode voltage (SBU) (0.5 volts step, settings menu 13)

    Thanks to Andrii Ganzevych we have more complete registers list here:

    https://github.com/odya/esphome-powmr-hybrid-inverter/blob/main/docs/registers-map.md

Original WiFi dongle sends two requests every few seconds to monitor inverter state.

  • read 45 registers (func 3) from slave 5 starting from address 4501 (Decimal) (raw: 05031195002d9143)
  • read 16 registers (func 3) from slave 5 starting from address 4546 (Decimal) (raw: 050311c20010e142)

Please refer wifi bridge code for state registers description.

ESP8266 MQTT Modbus RS232 bridge

The code in this repo providing a wifi MQTT-modbus bridge. It compiles in Platformio. The hardware part is simple esp8266 module with RS232 level converter attached to the

#define SS_TX_PIN D8 // GPIO15

#define SS_RX_PIN D7 // GPIO13

It's possible to read and write modbus registers. Also it constatly pools data from inverter and publishes varios state variables like battery voltage, pv power, etc. You can store that data later in influxdb/postgres and visualize in Grafana. The controller part of the code responsible for keeping battery voltage at the predefined value. (to prolong li-ion battery life)

Important note: during operation inverter produces a lot of RF noise. To make communnication with inverter more stable you might want to attach small capactor to RX pin of the ESP8266 (GPIO13). It helps to filter out RF noise.

Additional references:

https://www.dessmonitor.com/ main website for data logging (official PowMr dongle)

https://powmr.com/ PowMr website with manuals

https://github.com/syssi/esphome-smg-ii ESPHome project to monitor and control a ISolar/EASUN SMG II inverter via RS232

https://github.com/odya/esphome-powmr-hybrid-inverter ESPHome config for various PowMr Hybrid Inverter models.

powmr_comm's People

Contributors

davidebeatrici avatar leodesigner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

powmr_comm's Issues

Pintout and voltages from RJ45 port on POW-HVM3.2H-24V-N

I've got POW-HVM3.2H-24V-N, still waiting for the batteries, so testing it with benchtop power supply.
IMG_20240321_183427

I'm checking the RJ45 pinout on my bench and I'm getting different outputs than from the diagram provided.

rj45

White green (1) is GND
Brown (8) is + VBat 24 V
Blue (4) is + 13.2 V

or at least that's what my multimeter says. Don't want to remove the top cover because of the tamper seal to check for the RJ45 board.

PV Power from POW-HVM10.2M seems to only show one of the two PV string

Gentleman,
I have two PV strings to my inverter(4 + 4kW) , but the register 4505 seems to show only one. The same thing is on the physical display of the Inverter, where only one string at a time is showed, but clicking make it cycle and show first one and then, after some other screen, the other one.

Any idea?

PowMr to EV Charger help needed

Hello - I need some project help connecting my PowMr through some controller (Raspberry PI, ESP, Arduino) to an EV charger. I can pay a nominal hourly fee. Are either of you available and interested?

Split RS232 and ESP code

I have a server that is running right next to the inverter, it would be really nice to be able to connect the serial port directly to it using something like https://gitlab.com/Teuniz/RS-232.

Splitting the code into separate classes would definitely help to implement that, among other advantages.

Problem with parallel model

Greetings, a big thumbs up for this project. I have an issue with inverter model POW-HVM5.5K-48V-LIP (with parallel) - according to powmr website it also supports rs232 wifi dongle however for some reason i cannot get any response from modbus protocol, i checked the rs232 connections with an multimeter - it seems to have good connection - baudrate is set to 2400 n 8 1bit, Modbus ID Setting (setting 25) is default set to 001, i used ModScan32 for protocol testing (address 0001, id 1 lenght 100) - still nothing. Could you guide me in reading registers from this device? I have some experience in reading data and sending commands via mqtt to VMIII and MAX II hybrid inverters (if someone needs help with these particular models) powmr seems to be diffrent atleast in rs232 modbus. Regards

Esp8266 power pins

Hi thank you for this great project.
i just want to clarify the hardware part little bit. you mentioned

The hardware part is simple esp8266 module with RS232 level converter attached to the
    #define SS_TX_PIN D8 // GPIO15
    #define SS_RX_PIN D7 // GPIO13

But what about v & ground pins? As i understand V pin (blue) on the RJ45 is 12v. have you used a step down circuit to make it compatible with esp8266? Also for the TX/RX do we need a logic converter?
Thanks again.

Hello from PlatformIO

Hi there,

That moment when the community makes me happy. I've just googled powmr inverter protocol and saw It compiles in Platformio. 😊

Thanks for your amazing project. I'm a happy owner of a PowMr inverter and glad to connect it to my "smart-home" system.

P.S: Founder of PlatformIO πŸ™

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.