[Help request] Using Modbus to control heatpump/thermostats

Hey all,

First of all, I’m still learning about Modbus, sorry if some questions are stupid. It even might be that my whole plan becomes impossible because of my misconception. Please tell me if that’s the case, I’m still trying to fully understand Modbus and the possibilites.
I would like some help/advice with my new project.

In short (VERY short):
Is it possible to control (read and write) data on a existing Modbus network (heatpump with 3 thermostats) using a Modbus Gateway?

Desired outcome of project:

  • Stop using webinterface and cloudservice of Orca Energy
  • Use Home Assistant to automate heatpump, thus making it smart
  • Use Home Assistant to set temperatures (set value in thermostats or bypass thermostats altogether)
  • Read Modbus data from controller, containing information about heatpump

Elaborate explanation and Background:
I would like to control our Orca Energy heatpump, using Home Assistant, which works via Modbus RTU RS485, so I dove into Modbus to try and understand it, but several questions came up since I’ve yet found a direct comparable situation with our Modbus network.
I’ve also read about people configuring their Nibe heatpump in Home Assistant here on the forums, so I thought it would be possible to configure a heatpump from a different brand which also communicates via Modbus. This brings me to question #1.

The Nibe heatpump has the ability to turn on Modbus TCP/IP in it’s settings while, as far as I know, the Orca Energy heatpump’s interface doesn’t have the ability to enable it. So I came up with the idea to connect a Modbus Gateway (ZLAN 5143D) in the Modbus network to communicate using IP with the Modbus network, to eventually control it via Home Assistant.

The Orca Energy Heatpump is based on a Carel pCO Controller connected to a Carel pGD Touch panel. I’ve understood that the touchpanel and controller are two seperate Modbus devices. The touchpanel has two ethernet ports and according to the datasheet it supports Modbus TCP/IP, but using that is a project for another time. Question #2.
Currently, 1 ethernet port is used to connect the heatpump to the internet, so we can control it via a less-than-optimal cloud webinterface, no app. This is exactly why I’d like to control it via Home Assistant.

Our heatpump communicates using Modbus with the thermostats, 1 per floor, 3 in total (Slaves 11, 12 and 13). Modbus RTU uses a master-slave protocol, where only one device can be the master. This brings me to question #3.
Orca Energy doesn’t provide much detail about their use of the Carel pCO controller. Frankly, they never mention they use a Carel controller. So that gives question #4.

Questions:

  1. Can I read/write data using a Modbus Gateway on an existing Modbus RTU network, already containing a master?
  2. Which device is the actual master of the network or how do I find the master?
  3. I thought I understood that only 1 device could be the master, and thus requesting data. Does that mean that it’s impossible to read/write data from the heatpump (which probably is the master) using the gateway?
  4. Is there a way to create a Modbus registry table without Orca Energy supplying it to me?

Any advice and/or tips are welcome!

Kind regards,
Bob

1 Like

I’ll try to answer your questions as best as I can.

  1. A modbus gateway will handle protocol conversion between Modbus and another communication protocol. If you have an ethernet/IP master and want it to talk to Modbus RTU slaves, then you would use a gateway to translate between the two networks. If there’s already a Modbus master on the modbus line, then you don’t need a gateway.

  2. The Modbus master is probably the Carel pCO controller based on your description, it would be the one sending requests.

  3. The heatpump itself is probably not the master, but yes, there can typically only be one master per Modbus line, unless you want to use something like a serial port sharer to handle the traffic from two masters.

  4. Assuming the Carel controller is the master, you may be able to find the Modbus register table in their docs for the product. Or by contacting Orca Energy directly.

Hi Bob,

I almost completed integration with Orca heat pump. It uses heat pump’s web API, just like their shitty web page.

It needs some polishing and testing before I publish it. Let me know if anyone is interested.

1 Like

Oh my, I didn’t expect someone to be already working with the API.

I’d love to test and help you out!

Alright, let me just translate some entities names to English because everything is in Slovene right now (backend field naming is also in Slovene)

Thank you so much!
Sorry for the late reply but I’ve tested the integration in the meantime. We’ve got a different setup but that doesn’t seem to matter, connecting still works ofcourse.

We use different entities than you, but since you provided all of them in the dump file, we’ll be able to find and add them.

Is there anything in particular that I could help you out with? To further work this integration out?