Hello everyone, I can't find a topic how to control a radiator with a pilot wire. Does anyone have an example?
What is a pilot wire?
cable for operating controls for comfort, eco and frost protection radiators
What make and model number valves?
Do you mean this LoRaWAN device?
https://support.watteco.com/pilote-wire-lora-remote/
yes it's this device
I don't use it but I believe there are a number of lora related nodes. I suggest searching flows.nodered.org and also the forum to give you some ideas.
Hi Garry,
radiator iraya with pilote wire IST 04F 031 01
wire oilote => Pilot Wire
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)
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)
What text exactly does that represent?
I downlink this frame : 110000000002
I receive the uplink below :uplink_message:
object
f_port: 125
frm_payload: "EQoAEwBVIAE="
and out off the node base64
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 ?
Nope
What exactly is in the frame and what plaintext should it be converted to?
frm_payload: "EQoAEwBVIAE="
Plaintext===> Application name ttn in this sample
Envoyé à partir de Outlook pour Android
So you need to convert "EQoAEwBVIAE=" to "ttn"?
To nodered Colin.
Envoyé à partir de Outlook pour Android
Sorry, I don't understand.
Sorry yes to ttn.
This is not a string.
Printable ASCII chars (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.
<Hello Steven,
Thanks for your reply.
I start with the codec of the device :
Codec here :
=> 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 :
downlinks: array[1]
0: object
f_port: 125
frm_payload: "EQAAAIAB"
Application in TTN send uplink (node red MQTT IN)
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 :
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 >
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!