Fetching data from PowMr inverter via USB

I have a 5KVA PowMr inverter with a USB port. When connecting by the USB, an operating system sees it like following device:

Bus 001 Device 004: ID 0665:5161 Cypress Semiconductor USB to Serial

The device is not detected as a TTY device, so it requires direct communication via libusb.

Here you can find my solution: GitHub - anti-social/inverter2mqtt: Dump inverter sensors into mqtt

It is a program that periodically fetches data from the inverter and updates corresponding sensors state.
There is a configuration file which describes how data should be converted into sensors’ values.

Possibly somebody will also find it useful.

2 Likes

do you have the modbus documentations ? because i see rs 485 port on the inverter but i cant seem to find the modbus manual

btw this also compatible with the version of

POW-HVM5.5K-48V-LIP ?

Hello Alexander,

I built your project but don’t have any idea how to specify login and password for mqtt server.

hi @anti-social, do you run this directly on HA?

also getting complication error

  cargo:rerun-if-env-changed=HOST_RANLIBFLAGS
  HOST_RANLIBFLAGS = None
  cargo:rerun-if-env-changed=RANLIBFLAGS
  RANLIBFLAGS = None
  running cd "/workspace/inverter2mqtt/target/release/build/openssl-sys-8694f84f9dc913bf/out/openssl-build/build/src" && env -u CROSS_COMPILE AR="ar" CC="cc" RANLIB="ranlib" "perl" "./Configure" "--prefix=/workspace/inverter2mqtt/target/release/build/openssl-sys-8694f84f9dc913bf/out/openssl-build/install" "--openssldir=/usr/local/ssl" "no-dso" "no-shared" "no-ssl3" "no-tests" "no-comp" "no-zlib" "no-zlib-dynamic" "--libdir=lib" "no-md2" "no-rc5" "no-weak-ssl-ciphers" "no-camellia" "no-idea" "no-seed" "linux-x86_64" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64"

  --- stderr
  Can't locate IPC/Cmd.pm in @INC (you may need to install the IPC::Cmd module) (@INC contains: /workspace/inverter2mqtt/target/release/build/openssl-sys-8694f84f9dc913bf/out/openssl-build/build/src/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 /workspace/inverter2mqtt/target/release/build/openssl-sys-8694f84f9dc913bf/out/openssl-build/build/src/external/perl/Text-Template-1.56/lib) at /workspace/inverter2mqtt/target/release/build/openssl-sys-8694f84f9dc913bf/out/openssl-build/build/src/util/perl/OpenSSL/config.pm line 19.
  BEGIN failed--compilation aborted at /workspace/inverter2mqtt/target/release/build/openssl-sys-8694f84f9dc913bf/out/openssl-build/build/src/util/perl/OpenSSL/config.pm line 19.
  Compilation failed in require at ./Configure line 23.
  BEGIN failed--compilation aborted at ./Configure line 23.
  thread 'main' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-src-300.1.2+3.1.1/src/lib.rs:571:9:



  Error configuring OpenSSL build:
      Command: cd "/workspace/inverter2mqtt/target/release/build/openssl-sys-8694f84f9dc913bf/out/openssl-build/build/src" && env -u CROSS_COMPILE AR="ar" CC="cc" RANLIB="ranlib" "perl" "./Configure" "--prefix=/workspace/inverter2mqtt/target/release/build/openssl-sys-8694f84f9dc913bf/out/openssl-build/install" "--openssldir=/usr/local/ssl" "no-dso" "no-shared" "no-ssl3" "no-tests" "no-comp" "no-zlib" "no-zlib-dynamic" "--libdir=lib" "no-md2" "no-rc5" "no-weak-ssl-ciphers" "no-camellia" "no-idea" "no-seed" "linux-x86_64" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64"
      Exit status: exit status: 2



  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace