The Excel sheet tells you the format. But not the length… Ususally it´s 4. But otherweise just give it a shot, play around with it. Its is written in the General Modbus Docs from SMA (somewhere). But as far as I recall it´s not specific to each model and register. (Its a huge document).
Here is my Things file for my main SMA inverter model STP 6000 TL-20… It looks like you can use most of the same registers for your inverter.
Bridge modbus:tcp:inverter1 [ host="10.4.28.248", port=502, id=3, connectMaxTries=3] {
// SMA Inverter Device Type
Bridge poller DevType [ start=30053, length=4, refresh=5000, type="input" ] {
Thing data DevType [ readStart="30053", readValueType="int32" ]
}
// SMA Inverter Status
Bridge poller SMA_Status [ start=30201, length=4, refresh=5000, type="input" ] {
Thing data SMA_Status [ readStart="30201", readValueType="uint32" ]
}
// SMA Inverter Grid_Contactor
Bridge poller Grid_Contactor [ start=30217, length=4, refresh=5000, type="input" ] {
Thing data Grid_Contactor [ readStart="30217", readValueType="uint32" ]
}
// SMA Inverter Day Yield
Bridge poller Day_Yield [ start=30517, length=4, refresh=5000, type="input" ] {
Thing data Day_Yield [ readStart="30517", readValueType="uint64", readTransform="JS(divide1000.js)" ]
}
// Total Yield
Bridge poller Total_Yield [ start=30529, length=4, refresh=5000, type="input" ] {
Thing data Total_Yield [ readStart="30529", readValueType="uint32", readTransform="JS(divide1000.js)" ]
}
// SMA Inverter Power Section West
Bridge poller power_a [ start=30773, length=4, refresh=5000, type="input" ] {
Thing data power_a [ readStart="30773", readValueType="int32", readTransform="JS(smalimit.js)" ]
}
// SMA Inverter Power Total
Bridge poller Active_Power [ start=30775, length=4, refresh=5000, type="input" ] {
Thing data active_power [ readStart="30775", readValueType="int32", readTransform="JS(smalimit.js)" ]
}
// SMA Inverter Power Section East
Bridge poller power_b [ start=30961, length=4, refresh=5000, type="input" ] {
Thing data power_b [ readStart="30961", readValueType="int32", readTransform="JS(smalimit.js)" ]
}
// SMA Inverter Operation
Bridge poller SMA_Status_Operate [ start=40029, length=4, refresh=5000, type="holding" ] {
Thing data SMA_Status_Operate [ readStart="40029", readValueType="uint32" ]
}
}
Notice, I have two sets of solar panels. I have them named power_a
and power_b.
You device can only handle one sets of panels, which is register 30773 according to the Excel sheet for your inverter…
You need to provide us with some help here. Show us which registers and how you have added it.
(Ie show us your things files, screendump from PaperUI / whatever you use).
Also - Be aware, sometimes modbus is very strange. If you make changes and it looks strange afterwards, it´s either due to there is an error somewhere, or the cache has screwed up… You´ll need to clear cahce and restart… Its a pain in the butt! After running into this issue a few times, you´ll learn to do the things right first time (I have struggled with this quite a few times… Making sure everything was good, Brigde and poller are online, but I got no data… Sometimes it can help restarting the modbus binding in Karaf consol insted of cleaning cache and restart, which is another pain in the butt for openhab).