This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Modbus profile modification
#1
Could someone help me forward with Modbus profiles.
I am trying to achieve perfect Modbus communication with Systemair ventilation unit and I've created a large JSON profile file - approx 90 registers.
When I load the JSON file for the first time, everything is perfect (new profile is created, I can a add device with that profile).

Question is, how can I change the JSON data after import?
For example, I want to change 1 registers data type or multiplier. How do i do it?

Can I just upload again the same JSON file ? When I do it, how I verify that did the changes take effect? (how the daemon accepts the changes: (lua /lib/genohm-scada/plugins/modbus/daemon.lua))
or
do I have to delete the profile and upload the modified JSON? This way I lose all the mappings to knx (30..40 mappings). Adding them back one-by-one isn't fun.

Please share me some instructions...
Reply
#2
JSON profile is used only when new device is created. After that changing/deleting the profile will not affect existing devices, you have to create new device from scratch in order to use updated profile.

You can try setting bus_address field in your profile for each coil/register that requires object mapping. Just make sure to use numeric id, not group address. You can convert from group address to id like this:
Code:
id = knxlib.encodega('1/1/1') -- result is 2305
Reply
#3
(27.08.2015, 10:22)admin Wrote: JSON profile is used only when new device is created. After that changing/deleting the profile will not affect existing devices, you have to create new device from scratch in order to use updated profile.

You can try setting bus_address field in your profile for each coil/register that requires object mapping. Just make sure to use numeric id, not group address. You can convert from group address to id like this:
Code:
id = knxlib.encodega('1/1/1') -- result is 2305

Thanks!

Works like a charm.

PS. add the bus_address to documentation on the webpage too:
http://openrb.com/modbus-master-visual-m...addresses/
I didn't know, that it even exists...
Reply
#4
Thanks for this knowledge, i didnt either know about this and earlier made questions about thisSmile
Reply
#5
This is not really a feature, more like a side effect that can be used Smile
I'll add it to the documentation and new versions will allow using group address instead of numeric id for direct mapping.
Reply
#6
Great. Everything that can be automated is great since it can save us work when programmingSmile
Reply


Forum Jump: