Hi I have made a new tutorial to read the inverter via modbus TCP or RTU and all configuration can be done with the openHAB3 GIU.
With the Huawei Smart Dongle-WLAN-FE you can connect with modbusTCP and Fusion solar app at the same time.
With modbus RTU you can not connect to the Fusion solar app and with modbus RTU at the same time.
To connect via TCP you need the Smart Dongle-WLAN-FE with the latest software update (SDongle_V100R001C00SPC120_package)
To connect via RTU u need a usb to modbus RS485 converter.
I connected data + to port pin 1 and data - to port pin 3 of the signal cable.
If you have a slightly different model than me, you should take a look at the manual because apparently there is a difference on the pin out of other models.
You have to remove the wlan smart dongle if you want to connect with serial RTU modbus.
For more info on how to configure usb port en modbus please read the modbus binding doc
With a new install, you can just copy the following files to openhabian.local / openhab-userdata / jsondb. If it is not a new installation, paste the configuration into the existing one and make sure the syntax remains correct. Be sure to make a backup before jou begin.I am not responsible if this goes wrong.
org.openhab.core.items.Item.json (20.0 KB)
org.openhab.core.thing.link.ItemChannelLink.json (74.2 KB)
org.openhab.core.thing.Thing.json (633.7 KB)
org.openhab.core.items.Metadata.json (9.7 KB)
And put this in the transform file
divide1.js
// Wrap everything in a function (no global variable pollution)
// variable "input" contains data passed by openHAB
(function(inputData) {
// on read: the polled number as string
// on write: openHAB command as string
var DIVIDE_BY = 1;
return parseFloat(inputData) / DIVIDE_BY;
})(input)
divide10.js
// Wrap everything in a function (no global variable pollution)
// variable "input" contains data passed by openHAB
(function(inputData) {
// on read: the polled number as string
// on write: openHAB command as string
var DIVIDE_BY = 10;
return parseFloat(inputData) / DIVIDE_BY;
})(input)
divide100.js
// Wrap everything in a function (no global variable pollution)
// variable "input" contains data passed by openHAB
(function(inputData) {
// on read: the polled number as string
// on write: openHAB command as string
var DIVIDE_BY = 100;
return parseFloat(inputData) / DIVIDE_BY;
})(input)
divide1000.js
// Wrap everything in a function (no global variable pollution)
// variable "input" contains data passed by openHAB
(function(inputData) {
// on read: the polled number as string
// on write: openHAB command as string
var DIVIDE_BY = 1000;
return parseFloat(inputData) / DIVIDE_BY;
})(input)
There is already a modbusTCP and modbusRTU bridge in things. Choose which one you want to use and delete the other. Configure them with the correct IP or serial port of your inverter.
Make sure the pollers or connected to the right bridge.
Restart openHAB and everything should work.
If it does not work, switch off the inverter + battery (if present) completely and let it restart.