Sha256: bad2b433b1f893990cb0c0d3cbd727df367dceae2081875503958e266b3bab9d

Contents?: true

Size: 1.4 KB

Versions: 1

Compression:

Stored size: 1.4 KB

Contents

# Huawei Solar

![CI](https://github.com/javierav/huawei_solar/workflows/CI/badge.svg)

A Ruby library for connect to Huawei Solar inverters using Modbus TCP.

## Status

> :warning: **This project is still experimental, use with caution!**

PR are welcome to increase the property list in [data/registers.yml](data/registers.yml)

## Example

```ruby
require "huawei_solar"

hs = HuaweiSolar.new("192.168.0.110", 502)

hs.read(:inverter_model) # => "SUN2000-3.68KTL-L1"
hs.read(:inverter_input_power) # => 234.0
hs.read(:inverter_input_power, unit: true) # => "234.0 W"

hs.read(%i[inverter_output_power inverter_daily_energy meter_grid_power])
# => [225.0, 5.82, -339.0]

hs.read(%i[inverter_output_power inverter_daily_energy meter_grid_power], units: true)
# => ["225.0 W", "5.82 kWh", "-339.0 W"]

hs.read(%i[inverter_output_power inverter_daily_energy meter_grid_power], units: true, keys: true)
# => {:inverter_output_power=>"606.0 W", :inverter_daily_energy=>"15.15 kWh", :meter_grid_power=>"353.0 W"}

hs.read_all
# => ["SUN2000-3.68KTL-L1", "XXXXXXXX", 2, 224.8, 3.08, ..]

hs.read_all(units: true)
# => ["SUN2000-3.68KTL-L1", "XXXXXXXX", 2, "224.8 V", "3.08 A", ..]

hs.read_all(keys: true)
# => { "inverter_model"=>"SUN2000-3.68KTL-L1", "inverter_serial_number"=>"XXXXXXXX", "inverter_pv_strings"=>2, ... }

hs.close
```

## License

Copyright © 2023 Javier Aranda. Released under the terms of the [MIT license](LICENSE).

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
huawei_solar-0.0.5 README.md