node-red-contrib-solarman-devices 1.0.2

Use Solarman V5 compatible devices (inverters, loggers) local in NodeRed

npm install node-red-contrib-solarman-devices

node-red-contrib-solarman-devices

Support for Solarman V5 compatible devices in Node-RED.
The goal of the project is to read and write Modbus registers on local Solarman V5 devices - typically a WiFi/LAN logger stick (e.g. an LSW3) in front of a Deye/V-TAC hybrid inverter - directly over the local network, without going through the manufacturer's cloud.

Getting Started

Prerequisites: Node-RED installation. For details see here.

Install via npm

$ cd ~/.node-red
$ npm install node-red-contrib-solarman-devices

then restart node-red

The device is represented by a config node (solarman-device, one per physical device). Two flow node types reference it: solarman-register for raw, ad-hoc register access (good for discovering/scanning a device's registers), and solarman-proxy for named, schema-driven access once you know which registers you need (good for dashboards and automations).

First steps

Add a solarman-register node from the Solarman palette group and open it. Under "Device", add a new solarman-device config node. If you don't know the device's IP, MAC or logger serial number yet, click Scan network for Solarman devices first and pick it from the discovered list - otherwise fill in:

  • Host - the device's current IP address (e.g. 192.168.1.100)
  • Port - 8899 (Solarman V5 default)
  • Logger serial - the logger's serial number, from its sticker or web UI
  • Unit address - the Modbus unit/slave address of the inverter (commonly 1)
  • MAC - optional; if left empty while Host has a value, it is looked up automatically from the ARP table when you open the dialog. Once set, the device's current IP is re-resolved via ARP on every connect/reconnect, so it keeps working across DHCP reassignments. Enable "Disable ARP-based IP resolution" on systems without ARP support (e.g. containers without an arp/ip neighbor command) to always use the fixed Host instead.

Back in the solarman-register node, choose the Operation (readHolding, readInput, writeSingle, writeMultiple), the Register address and Quantity. All of these can be overridden per message via msg.operation, msg.register, msg.quantity, msg.value/msg.values.

Usage

The node's status reflects the underlying solarman-devices Device connection: green (connected), yellow (connecting), red (error/disconnected). On msg input, it performs the configured (or overridden) read/write and sends the result on msg.payload; on a real Modbus exception (e.g. "Illegal Data Address" for a register that doesn't exist on this device) the node reports an error instead of crashing the flow.

Since the exact register map differs between manufacturers/models, discovering which registers are actually implemented on your specific device is normally a matter of scanning a range of candidate addresses with both readHolding and readInput - a function node driving a loop of msg.register/msg.operation values into a solarman-register node works well for this.

Once you know which registers you care about, open the solarman-device config node's Registers tab and add them there (name, address, holding/input, read/write/readwrite, quantity, optionally a dedicated output). A solarman-proxy node referencing that device can then read/write them by name: send { topic: 'zeroExportPower' } to read, or { topic: 'zeroExportPower', payload: 500 } to write - no register numbers in your flow logic. In "dedicated output per flagged register" mode, registers marked with an output get their own wire, so you can connect them straight into dashboard nodes.

Changelog

Disclaimer

The software is provided as-is under the MIT license. The author cannot be held responsible for any unintended behaviours.

Thanks

If you like our ideas and want to support further development, you can donate here:
Donate Donate
Please understand that requests from those who support us will be given priority

Node Info

Version: 1.0.2
Updated 1 day ago
License: MIT
Rating: not yet rated

Categories

Actions

Rate:

Downloads

0 in the last week

Nodes

  • solarman-device
  • solarman-register
  • solarman-proxy

Keywords

  • node-red
  • solarman
  • modbus
  • solar
  • inverter
  • smart home
  • home automation

Maintainers