# Control radiator with wire pilot

**URL:** <https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950>\
**Category:** Share Your Nodes\
**Created:** [27 February 2024 10:19 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950 "2024-02-27T10:19:11Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [27 February 2024 10:19 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/1 "2024-02-27T10:19:11Z")

</div>

Hello everyone, I can't find a topic how to control a radiator with a pilot wire. Does anyone have an example?

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [27 February 2024 11:46 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/2 "2024-02-27T11:46:56Z")

</div>

What is a pilot wire?

---

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [27 February 2024 14:30 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/3 "2024-02-27T14:30:09Z")

</div>

cable for operating controls for comfort, eco and frost protection radiators

---

<div class="post-metadata">

**Author:** ![ghayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ghayne/32/39_2.png) [@ghayne](https://discourse.nodered.org/u/ghayne)\
**Post date:** [27 February 2024 14:45 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/4 "2024-02-27T14:45:12Z")

</div>

What make and model number valves?

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [27 February 2024 15:00 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/5 "2024-02-27T15:00:31Z")

</div>

Do you mean this LoRaWAN device?  
[https://support.watteco.com/pilote-wire-lora-remote/](https://support.watteco.com/pilote-wire-lora-remote/)

---

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [27 February 2024 15:33 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/6 "2024-02-27T15:33:02Z")

</div>

yes it's this device

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [27 February 2024 21:28 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/7 "2024-02-27T21:28:35Z")

</div>

I don't use it but I believe there are a number of lora related nodes. I suggest searching [flows.nodered.org](http://flows.nodered.org) and also the forum to give you some ideas.

---

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [28 February 2024 14:03 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/8 "2024-02-28T14:03:26Z")

</div>

Hi Garry,  
radiator iraya with pilote wire IST 04F 031 01  
wire oilote =\> [Pilot Wire](https://support.watteco.com/pilote-wire-lora-remote/)

I need to pass the downlink frames (frm-payload) but I don't know how to do it with nodered (or with ttn for that matter). I can't find an example with nodered (or in ttn for test by downlink)

---

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [5 March 2024 11:16 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/9 "2024-03-05T11:16:19Z")

</div>

Hello now downlink is ok with node function :

let buff = Buffer.from(msg.payload, 'hex');  
let base64data = buff.toString('base64')  
msg.payload = {  
"downlinks" : [{  
"f\_port": 125,  
"frm\_payload": base64data,  
"priority": "NORMAL"  
}]  
}  
return msg;

The uplink with mqtt in also but i receive (by example)  
msg.payload : buffer[8]  
[17, 10, 0, 19, 0, 85, 32, 1]  
how I convert the frame to plaintext (e.g. I need to retrieve the actuator firmware)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [5 March 2024 12:21 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/10 "2024-03-05T12:21:10Z")

</div>

> [@bpi2008](#):
>
> msg.payload : buffer[8]  
> [17, 10, 0, 19, 0, 85, 32, 1]

What text exactly does that represent?

---

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [5 March 2024 13:54 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/11 "2024-03-05T13:54:14Z")

</div>

I downlink this frame : 110000000002

I receive the uplink below :uplink\_message:

```auto
object
f_port: 125
frm_payload: "EQoAEwBVIAE="

```

and out off the node base64 🤷‍♂️

```auto
05/03/2024 14:42:39[noeud: debug 122](http://bpipers.freeboxos.fr:28800/#)v3/pilotage-chauffages@ttn/devices/eui-70b3d5e75e0162f9/up : 
msg.payload : buffer
[17, 1, 0, 0, 128, 0, 134] <====== 

```

I don't know if I'm clear enough ?

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/4/e43fc6309526135b7b5ce1e8e21517ef81afe45f.png)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [5 March 2024 15:16 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/12 "2024-03-05T15:16:36Z")

</div>

> [@bpi2008](#):
>
> `I don't know if I'm clear enough`

Nope

> [@bpi2008](#):
>
> how I convert the frame to plaintext

What exactly is in the frame and what plaintext should it be converted to?

---

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [5 March 2024 16:25 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/13 "2024-03-05T16:25:14Z")

</div>

frm\_payload: "EQoAEwBVIAE="

Plaintext===\> Application name ttn in this sample

Envoyé à partir de [Outlook pour Android](https://aka.ms/AAb9ysg)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [5 March 2024 17:30 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/14 "2024-03-05T17:30:26Z")

</div>

So you need to convert "EQoAEwBVIAE=" to "ttn"?

---

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [5 March 2024 17:54 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/15 "2024-03-05T17:54:07Z")

</div>

To nodered Colin.

Envoyé à partir de [Outlook pour Android](https://aka.ms/AAb9ysg)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [5 March 2024 18:09 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/16 "2024-03-05T18:09:36Z")

</div>

> [@bpi2008](#):
>
> To nodered

Sorry, I don't understand.

---

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [6 March 2024 11:14 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/17 "2024-03-06T11:14:34Z")

</div>

Sorry yes to ttn.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [6 March 2024 11:33 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/18 "2024-03-06T11:33:59Z")

</div>

> [@bpi2008](#):
>
> [17, 10, 0, 19, 0, 85, 32, 1]  
> how I convert the frame to plaintext

This is not a string.

Printable [ASCII chars](https://www.asciitable.com/) (typically) start at 32.

17 is a `DC1` control char  
10 is an `LF` (Line feed)  
0 is `null` or string terminator  
19 is `DC3`  
0 is `null` or string terminator  
85 is `U`  
32 is ` ` (space)  
1 is `SOH` control char

Those bytes of data, in my experience, means the values are a portion of some binary format. e.g. perhaps 0+19 make up a 16 bit integer?

If you can point us to docs that spell out what this data means we can help you.

---

<div class="post-metadata">

**Author:** ![bpi2008](https://avatars.discourse-cdn.com/v4/letter/b/9fc29f/32.png) [@bpi2008](https://discourse.nodered.org/u/bpi2008)\
**Post date:** [6 March 2024 13:30 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/19 "2024-03-06T13:30:27Z")

</div>

\<Hello Steven,  
Thanks for your reply.

I start with the codec of the device :  
Codec here :  
=\> [https://lora.watteco.fr/Lora](https://lora.watteco.fr/Lora)  
=\> Encoder assistant  
=\> choise a product =\> Pilot wire (50-70-027)  
Choose a function + advanced =\> Read application name  
trame format =\> 110000008001

This trame is transmitted from nodered (mqtt out) to TTN application (downlink)  
A receive in nodered :

```auto
downlinks: array[1]
0: object
f_port: 125
frm_payload: "EQAAAIAB"

```

Application in TTN send uplink (node red MQTT IN)

```auto
06/03/2024 14:08:40[noeud: debug 121](http://bpipers.freeboxos.fr:28800/#)v3/pilotage-chauffages@ttn/devices/eui-xxxxxxxxxxxxxxxxx/up : msg.payload : string[12]
"EQoAEwBVIAU="

```

And with a parser in node red i received this :

```auto
v3/pilotage-chauffages@ttn/devices/eui-xxxxxxxxxxx/up : msg.payload : Object
object
item2: ""

```

I'd like to receive the name of the app name but I don't know how. Sorry I'm a beginner you'll understand it quickly \>

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [6 March 2024 14:19 UTC](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950/20 "2024-03-06T14:19:34Z")

</div>

Hi, i understand what you are doing, but what I said still remains true: The Base64 data you are showing us is simply not a valid string.

I do not know the `ttn` or how it works but at a guess, you are doing something wrong and that reply means "bad data format expected base64 string" or "not permitted" for all I know?

You will need to clarify with someone who knows TTN - are you using the right topic? Are you sending the correct format payload to request this information?

for starters, that page states:

> The frame to send (port 125) is available below :
> 
> 110000008001

But what is port 125? It is certainly not an MQTT topic!

[Next page](https://discourse.nodered.org/t/control-radiator-with-wire-pilot/85950.md?page=2)
