Set Value on Windhager Heating System

Hi,

I got a new Heating System from the Austrian Company "Windhager". They use a controling System called "Infinity" which includes a WEbServer.

It is possible to use http request to get values from the system.

E.g.: Preset Temperature of the Hot Water:

Request:
http://192.168.1.220/api/1.0/datapoint/1/15/0/98/1

Answer:

{
    "OID": "/1/15/0/5/51/0",
    "groupNr": 5,
    "maxValue": "75.0",
    "memberNr": 51,
    "minValue": "10.0",
    "name": "05-051",
    "step": "0.5",
    "stepId": 1,
    "subtypeId": -1,
    "timestamp": "2019-09-12 20:01:42",
    "typeId": 13,
    "unit": "°C",
    "unitId": 1,
    "value": "60.0",
    "writeProt": false
}

The big question is now how a put request could look like to set "value" to a different value.
Or is this not possible at all?

Br,
Johannes

If you have an API address, did you find that from the manual or by following the browser actions on that webserver. If so, can’t you use that to set the temperature there and see how it got processed on the browser side, then imitate it with node-red?

The webinterface looks like the following:

The link to get to the datapoint I found in a thread.

I made a wireshark trace, I guess this will help someone with more knowledge on API :slight_smile:

I got it working.

I have put an "INJECT" with the "Line based Value" (OID and Value) and feeding a webrequest (put) with the URI.

It looks like a mixture of Heatmiser and Siedle in interfaces... In order to find the API endpoints you need some reverse engineering is needed, no wireshark needed at all:
0. Open the developer tab in the browser (can’t remember the shortcut in chrome, but right mouse button on the page, then inspect element)

  1. Click the network tab, then click the button for “keep registrations open” or something sounding like that
  2. Go back to the page and do any actions.
  3. When sending the form go back to the network tab and see where it sent a POST or PUT request to. That address is what you need in Node-RED. If needed replicate headers (content-type specifically) and body.
  4. Repeat for any action you want to clone functionality of in Node-RED

Sorry if any of that is unclear I’m not at a computer at the moment

Ok, so via Node Red I can already send the new value.

Now I have a new question: I want to send a message via Pushover and in the message I want to put the url. would this be possible? If yes, how does the http put with json data look like?

Br,
Johannes

You would not do like that, you would just send a simplified message with the required value via Pushover to NR. Then in NR, your message will be received, NR will pick the value from the message, insert it into the url and send it to your heater

1 Like