# \[APP\]\[Pro\] Modbus - Connect every Modbus devices

**URL:** <https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497>\
**Category:** Apps\
**Tags:** app, homey-pro, advancedflow\
**Created:** [February 20, 2024, 7:13pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497 "2024-02-20T19:13:05Z")\
**Posts on this page:** 20\
**Page:** 23

<div class="post-metadata">

**Author:** ![Johan\_Bruyn](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johan_bruyn/32/132683_2.png) [@Johan\_Bruyn](https://community.homey.app/u/Johan_Bruyn)\
**Post date:** [April 10, 2025, 7:23am UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/442 "2025-04-10T07:23:08Z")

</div>

I like to test send this to my inverter.

01060beb2af8e538

Which flow card to use and how to fill in?

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [April 10, 2025, 7:39am UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/443 "2025-04-10T07:39:34Z")

</div>

What a value should that be? As default, integer values are used.

You need a Modbus documentation for your device telling you all technical details about available registers, datatypes etc.

---

<div class="post-metadata">

**Author:** ![Johan\_Bruyn](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johan_bruyn/32/132683_2.png) [@Johan\_Bruyn](https://community.homey.app/u/Johan_Bruyn)\
**Post date:** [April 10, 2025, 8:06am UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/444 "2025-04-10T08:06:19Z")

</div>

This is an answer I get when I set the power limit via Solis cloud.

 ![IMG_3770](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/8/68100fdbc22bdceb6871421e37484aec3be5a0e5.jpeg)

Data sheet

> **[RS485\_MODBUS%20Communication%20Protocol\_Solis%20Inverters.pdf](https://api.library.loxone.com/downloader/file/1197/RS485_MODBUS%20Communication%20Protocol_Solis%20Inverters.pdf)**
>
> 592.27 KB

I’m trying to find out which register to use. Solis does not give any information about that. Thought as a test to see if it works to send this code (110%)

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [April 11, 2025, 1:08pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/445 "2025-04-11T13:08:55Z")

</div>

Hi,

- use the flow card “write holding register”
- use register 3050 and select “register, starting a #1”, then the offset is done by the app.
- insert the value as integer. Use 10000 for 100% or 500 for 5%. The device supports 2 decimal places and uses a factor x100 to use integer
- use UINT16 as type (unsigned integer 16bit), should be the correct type for “U16”

If you set another register with type “S16” it seems it’s a signes integer, so use INT16 as type.

Good luck 🤞

---

<div class="post-metadata">

**Author:** ![Johan\_Bruyn](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johan_bruyn/32/132683_2.png) [@Johan\_Bruyn](https://community.homey.app/u/Johan_Bruyn)\
**Post date:** [April 11, 2025, 3:49pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/446 "2025-04-11T15:49:16Z")

</div>

Thanks, I don’t get any error message. But when I look via Solis cloud the power doesn’t change.

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [April 11, 2025, 5:17pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/447 "2025-04-11T17:17:03Z")

</div>

This maybe is useful info from the HA Solis modbus integration:

> **[Input Control Sensors — Solis Modbus documentation](https://solis-modbus.readthedocs.io/en/latest/sensors.html)**

~~How did you enable port 502, Johan?  
When I run a portscan, only port 80 is open.~~ Info is [in here](https://community.homey.app/t/app-pro-modbus/104497/441) I guess 😉

---

<div class="post-metadata">

**Author:** ![Johan\_Bruyn](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johan_bruyn/32/132683_2.png) [@Johan\_Bruyn](https://community.homey.app/u/Johan_Bruyn)\
**Post date:** [April 11, 2025, 8:10pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/448 "2025-04-11T20:10:06Z")

</div>

The Solis dongle can Modbus TCP. I have set that as master. And the inverter as slave. If I add a slave to Homey, Solis G4 2kWp/1 is recognized on ID 1. So that works I would say.

Reading works, but the strange thing is that I have to read register 3052 starting with 1 to read the percentage. (get the value I expect, and indeed changes when I change the limit via Solis cloud) So something is not quite right. Solis does not give you any information. That is only for installers… It should also be possible via the API, but I can’t figure that out either.

I suspect that the converter is write-protected by default. I had already requested remote access. But so far no response. (and I don’t expect to get it) Still, I find it interesting that it works via Solis cloud. And you also get the modbus message that I posted earlier. Then there is something open, you would say.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [April 11, 2025, 8:59pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/449 "2025-04-11T20:59:30Z")

</div>

The message feom your app is RS485 (Modbus RTU), the serial version. So perhaps internal used via wired connection.

In Fronius inverter, you can activate write access via ModbusTCP.  
Can you activate this in your app or perhaps local webpage or webapp?

 ![Screenshot_20250411_225649_Firefox](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/e/aec125ba4ebf86acf675346cf3e93c5e5d9a382b.jpeg)

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [April 11, 2025, 9:28pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/450 "2025-04-11T21:28:45Z")

</div>

I can’t edit any setting other than the wifi network setting. The modbus tool for Windows, as well as Homey say ‘can’t connect’. This is because of port 502 is still closed.

I think I’ll leave it cloud enabled for now, I’m already glad to be able to limit the power-to-grid level, using the Solis app.

> [@Johan\_Bruyn](#):
>
> Still, I find it interesting that it works via Solis cloud.

In the documentation you shared, it says cloud is disabled the moment Modbus is activated.  
Do you see data passing by, when you use the [Modbus tool](https://modbustools.com/download.html) for Windows?

---

<div class="post-metadata">

**Author:** ![Johan\_Bruyn](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johan_bruyn/32/132683_2.png) [@Johan\_Bruyn](https://community.homey.app/u/Johan_Bruyn)\
**Post date:** [April 11, 2025, 10:20pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/451 "2025-04-11T22:20:41Z")

</div>

Unfortunately I can’t find the option to allow steering anywhere. On the other hand that’s exactly what you do via the cloud. Inverter shows on the display limited by EPM. All communication via Modbus as Cloud goes via the same Solis S2-WL-ST dongle. So it is interesting. I think that if there is Modbus communication, the connection to the cloud is temporarily lost. I work on Mac so I can’t test anything on Windows. It should also be possible via the API. Let’s investigate that further.

@Peter_Kawa het lijkt mij handiger om verderte gaan in het Nederlands. Even verder in dit topic?

> [@Solis omvormer sturen via modbus, eh API?](https://community.homey.app/t/zonnepanelen-omvormer-sturen-via-modbus/133900):
>
> Op YouTube kwam ik een clipje van de Groene Nerds tegen over het slim aansturen van je omvormens. (lange zit) [[ELKE OMVORMER slim aan- of UITZETTEN met deze magische oplossing] ](https://www.youtube.com/watch?v=jP6GRY_nUJw) Dat gaf mij wel het idee kan het direct met de Homey? Kan je het zo slim maken als je zelf wil. Want ik wil alleen bij een negatieve marktprijs het vermogen terugregelen naar enigenverbruik in de woning. Ik heb een Solis 4G mini omvormer. Als ik het goed begrijp kan je Modbus aansturen via de datastick. (het…

---

<div class="post-metadata">

**Author:** ![Andreas\_Kjork](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/andreas_kjork/32/8354_2.png) [@Andreas\_Kjork](https://community.homey.app/u/Andreas_Kjork)\
**Post date:** [April 15, 2025, 7:33am UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/452 "2025-04-15T07:33:44Z")

</div>

Im trying to set exportlimit on My Fronius Gen24.  
First you have to log in and set a export limit in the Fronius inverter. I have tried to set it on and of via 40232 and 40236.

It does not work as i want it to. Has Anyone else a working flow in homey. I found a HA thread about it.

> **[Automate Fronius Soft Limit](https://community.home-assistant.io/t/automate-fronius-soft-limit/465124)**
>
> \[Blog created showing step-by-step instructions here\] Hi, I am trying to dynamically change the output of my Fronius inverter. I want do this since I get wholesale power prices, which on occasion charge me to export power when the grid is...

---

<div class="post-metadata">

**Author:** ![Zigme](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/zigme/32/16498_2.png) [@Zigme](https://community.homey.app/u/Zigme)\
**Post date:** [April 22, 2025, 2:05pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/453 "2025-04-22T14:05:25Z")

</div>

@RonnyW - Having just installed this app, I don’t seems to be able to get most of the flow cards (only connect, disconnect and Write Coil Register).  
Does this app actually require advanced flow to work ?

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [April 22, 2025, 2:52pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/454 "2025-04-22T14:52:43Z")

</div>

Yes, that’s right. Most cards return tags with the read values. And working with these tags is only possible in AdvancedFlow (following action cards).

---

<div class="post-metadata">

**Author:** ![Simon\_Ojstersek](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/simon_ojstersek/32/75199_2.png) [@Simon\_Ojstersek](https://community.homey.app/u/Simon_Ojstersek)\
**Post date:** [April 25, 2025, 5:47am UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/455 "2025-04-25T05:47:26Z")

</div>

Hi. Is there option to write multiple holding registers? Deye inverters needs this function for writing. Best regards, Simon

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [April 25, 2025, 5:58pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/456 "2025-04-25T17:58:09Z")

</div>

Writing multiple registers means to write a value starting at one register with a sice of x registers (means one value written over x 16bit registers).

The “Write holding register” card offers several data types (like INT32). If this type is uses, 2 registers are written. It depends on the type. The only exception is data type “string” where you can define a size. But that’s normally only used to read a text.

---

<div class="post-metadata">

**Author:** ![Simon\_Ojstersek](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/simon_ojstersek/32/75199_2.png) [@Simon\_Ojstersek](https://community.homey.app/u/Simon_Ojstersek)\
**Post date:** [April 25, 2025, 7:49pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/457 "2025-04-25T19:49:40Z")

</div>

Hi Ronny.  
Deye inverters (16bit registers) needs for writing function “write multiple registers”. Deye does not allow writing in one register. If I write with 32 bits then I also overwrite the values ​​over the second 16-bit register. Best regards, Simon

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [April 25, 2025, 9:02pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/458 "2025-04-25T21:02:49Z")

</div>

Hm, the app is writing single register for 2Byte values and multi registers for \>2Byte.  
I have to think about it to provide an easy solution without breaking existing functionality.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [April 26, 2025, 10:41am UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/459 "2025-04-26T10:41:39Z")

</div>

New **test version 0.11.0** :

- Added app setting to force ‘write multiple registers’ for single register update.

> **[Modbus](https://homey.app/en-us/app/org.modbus/Modbus/test/)**
>
> Connect every Modbus devices

@Simon_Ojstersek FYI and to test. You can activate the multiple registers option in device settings. This forces to write a single register with “multiple registers” function.

---

<div class="post-metadata">

**Author:** ![Simon\_Ojstersek](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/simon_ojstersek/32/75199_2.png) [@Simon\_Ojstersek](https://community.homey.app/u/Simon_Ojstersek)\
**Post date:** [April 26, 2025, 11:33am UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/460 "2025-04-26T11:33:20Z")

</div>

Hi Ronny.  
I’ll try and let you know. Thank you very much.  
Best regards, Simon

---

<div class="post-metadata">

**Author:** ![Simon\_Ojstersek](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/simon_ojstersek/32/75199_2.png) [@Simon\_Ojstersek](https://community.homey.app/u/Simon_Ojstersek)\
**Post date:** [April 26, 2025, 1:20pm UTC](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497/461 "2025-04-26T13:20:57Z")

</div>

Hi Ronny. It is working, so can be used for writing with Deye inverters.  
Thank you very much and best regards, Simon 🙂

[Previous page](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497.md?page=22)

[Next page](https://community.homey.app/t/app-pro-modbus-connect-every-modbus-devices/104497.md?page=24)
