npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-huaweisolar

v0.0.14

Published

N8N nodes for reading data from Huawei SmartLogger 3000 and SUN2000 inverters via Modbus TCP

Downloads

30

Readme

n8n-nodes-huaweisolar

N8N community nodes for reading data from Huawei SmartLogger 3000 and SUN2000 inverters via Modbus TCP protocol.

Features

  • 🔌 Direct Modbus TCP communication with Huawei SmartLogger 3000
  • Fast parallel device discovery with configurable timeouts
  • 📊 Comprehensive data reading including power, environmental, system, and alarm data
  • 🔧 Critical Huawei-specific fixes applied (little-endian byte order, correct unit IDs)
  • 🚀 Optimized performance with connection management and retry logic

Installation

Install this node in your N8N instance:

npm install n8n-nodes-huaweisolar

Or if using the N8N desktop app, install through the Community Nodes section.

Available Nodes

SmartLogger

Reads data from Huawei SmartLogger 3000 devices.

Operations

  1. Read Data - Read selected data categories (system, power, environmental, alarms)
  2. Discover Devices - Scan for all connected devices on the Modbus network

SUN2000 Inverter

Reads data from individual Huawei SUN2000 inverters.

Operations

  1. Read Inverter Data - Read data from manually specified inverter addresses
  2. Read From Discovery - Read data from inverters discovered by SmartLogger node

SmartLogger Configuration

  • Host: IP address of the SmartLogger (e.g., 192.168.1.10)
  • Port: Modbus TCP port (default: 502)
  • Unit ID: SmartLogger Modbus unit ID (default: 3 - not 0 as documented!)
  • Connection Timeout: Timeout in milliseconds (default: 5000)
  • Retry Attempts: Number of retry attempts on failure (default: 3)

SmartLogger Discovery Options

  • Discovery Range: Unit IDs to scan (default: 1-247)
  • Discovery Timeout: Shorter timeout for discovery operations (default: 2000ms)
  • Parallel Scan Count: Number of simultaneous scans (default: 10)

SUN2000 Configuration

  • Data Categories: Select power, status, and/or fault data
  • Discovery Input Source: Use SmartLogger discovery output or manual configuration
  • Filter Inverters Only: Whether to only read SUN2000 devices from discovery
  • Inverter Addresses: Manual list of inverter addresses (when not using discovery)

Example Output

SmartLogger Power Data

{
  "power": {
    "dcCurrentTotal": 125.6,
    "inputPowerTotal": 87.3,
    "co2Reduction": 45234.5,
    "activePowerTotal": 85.2,
    "reactivePowerTotal": 12.5,
    "powerFactor": 0.985,
    "plantStatus": "Unlimited",
    "totalEnergy": 524312.5,
    "dailyEnergy": 312.7
  }
}

SmartLogger Device Discovery

{
  "allDevices": [
    {
      "unitId": 3,
      "deviceName": "SmartLogger 3000A",
      "connectionStatus": "Online",
      "portNumber": 1,
      "deviceAddress": 3
    },
    {
      "unitId": 12,
      "deviceName": "100KTL-M2(COM3-12)",
      "connectionStatus": "Online",
      "portNumber": 3,
      "deviceAddress": 12
    }
  ]
}

SUN2000 Inverter Data

{
  "inverters": [
    {
      "unitId": 12,
      "deviceName": "100KTL-M2(COM3-12)",
      "activePower": 85.2,
      "reactivePower": 12.1,
      "dcCurrent": 125.6,
      "inputPower": 87.3,
      "powerFactor": 0.985,
      "status": 49152,
      "connectionStatus": "Status: 0xC000",
      "cabinetTemperature": 45.2,
      "insulationResistance": 1250.5
    }
  ]
}

Important Notes

Critical Huawei-Specific Fixes Applied

  1. Little-Endian Byte Order: Despite documentation claiming big-endian, Huawei devices use little-endian
  2. SmartLogger Unit ID: Use unit ID 3 (not 0 as documented)
  3. Gain Factors: All proper gain factors are applied automatically

Known Compatible Devices

  • Huawei SmartLogger 3000/3000A
  • Huawei SUN2000 series inverters (100KTL-M2, etc.)
  • Environmental monitoring devices connected to SmartLogger

Troubleshooting

Discovery Taking Too Long?

  • Reduce the discovery range (e.g., 3,12-15 instead of 1-247)
  • Increase parallel scan count (try 20 for faster scanning)
  • Decrease discovery timeout (try 1000ms if network is reliable)

Getting Wrong Device Names?

  • Update to version 0.0.3 or later which fixes unit ID conflicts
  • Ensure only one N8N instance is accessing the device at a time

Connection Failed?

  • Verify SmartLogger IP address is correct
  • Check firewall allows port 502
  • Try unit ID 3 (not 0 or 1)
  • Increase connection timeout if network is slow

Version History

  • 0.0.5 - Added SUN2000 Inverter node with discovery integration
  • 0.0.4 - Simplified SmartLogger UI with checkbox data selection, added CO2 reduction and Xinjiang status
  • 0.0.3 - Fixed parallel discovery unit ID conflicts
  • 0.0.2 - Added parallel discovery, removed redundant inverter section
  • 0.0.1 - Initial release with SmartLogger node

Contributing

Issues and pull requests are welcome on GitHub.

License

MIT

Credits

Based on working Python implementation with critical fixes for Huawei's non-standard Modbus implementation.