Eq3 eqiva Bluetooth radiator

Hi there,

is anyone using this method here

https://github.com/artpetro/eQ-3-radiator-thermostat

to get this radiator to work?

if yes, does anyone know how to charmly integrate these commands to openhab with e.g. setting a temperature? i want to generical write commands where the e.g. desired temperature can be choosen, meaning that the command is dynamically set.

any ideas?

If you have some time, I could help you add support for this device here: https://community.openhab.org/t/3rd-party-bluetooth-binding-beta-testers-needed

There was some initial work done for this (not quite sure the status of it).

hey!

many thanks for your offer. I ordered the device yesterday, it should arrive tomorrow. And yes, i came over this binding you mentioned, but the support for the eqiva radiator valve is still on the roadmap, meaning that the support is not yet implemented.

but it seems to be that you are quite active on github for adding this device!! nice :slight_smile:

i will act as a beta tester as requested :slight_smile:

I’ll be very happy to test vlad’s work too, and am already using his bluetooth binding for other devices.

in the meantime I’m using the artpetro code with openHAB - and it works OK.

items file:-

String	BLE_RadStat1_mac	                        "Office RadStat Mac address"		                	<temperature>	(gRadStat1)		{ http="<[http://xxx.x.xxx.xx/eq3/php/eq3.php?mac=00-11-22-33-44-55:60000:JSONPATH($.mac)]" }
Number	BLE_RadStat1_temp	                        "Office RadStat Set Point: [%.1f °C]"		        	<temperature>	(gRadStat1)		{ http="<[http://xxx.xxx.xxx.xx/eq3/php/eq3.php?mac=00-11-22-33-44-55:60000:JSONPATH($.temperature)]" }
Number	BLE_RadStat1_valve	                        "Office RadStat Valve [%s]"		         		<temperature>	(gRadStat1)		{ http="<[http://xxx.xxx.xxx.xx/eq3/php/eq3.php?mac=00-11-22-33-44-55:60000:JSONPATH($.valve)]" }
String	BLE_RadStat1_mode_auto	                    	"Office RadStat mode auto [%s]"		            		<temperature>	(gRadStat1)		{ http="<[http://xxx.xxx.xxx.xx/eq3/php/eq3.php?mac=00-11-22-33-44-55:60000:JSONPATH($.mode.auto)]" }
String	BLE_RadStat1_mode_manual	           	"Office RadStat mode manual [%s]"		    		<temperature>	(gRadStat1)		{ http="<[http://xxx.xxx.xxx.xx/eq3/php/eq3.php?mac=00-11-22-33-44-55:60000:JSONPATH($.mode.manual)]" }
etc.

I’ve only had it a few months so haven’t actually used it with the heating yet as the heating hasn’t been on. I do have a rule in place, to nudge-up and nudge down the set-point using 2 switch items, like this…

rule "office_radstat_nudge_UPDOWN"
when
	Item BLE_RadStat1_NudgeUp changed or 
	Item BLE_RadStat1_NudgeDown changed
then 
    var Number RadStat_SetPoint_Increment = 0.5

    if (BLE_RadStat1_NudgeUp.state == ON) {
        var Number NewTemp = (BLE_RadStat1_temp.state as DecimalType) + RadStat_SetPoint_Increment
        var url = 'http://xxx.xxx.xxx.xx/eq3/php/eq3.php?mac=00-11-22-33-44-55&temperature=' + NewTemp
        var output = sendHttpGetRequest(url)
        BLE_RadStat1_temp.postUpdate(NewTemp)
        BLE_RadStat1_NudgeUp.sendCommand(OFF)
    } 
    if (BLE_RadStat1_NudgeDown.state == ON) {
        var Number NewTemp = (BLE_RadStat1_temp.state as DecimalType) - RadStat_SetPoint_Increment
        var url = 'http://xxx.xxx.xxx.xx/eq3/php/eq3.php?mac=00-11-22-33-44-55&temperature=' + NewTemp
        var output = sendHttpGetRequest(url)
        BLE_RadStat1_temp.postUpdate(NewTemp)
        BLE_RadStat1_NudgeDown.sendCommand(OFF)
    }
end

I hope that helps. If you’re got more questions, fire away. :slight_smile:

many thanks! im going to try this when i receive my radiator!

hey vkolotov!

I received the radiator and plugged it onto my heating. I installed the bluetooth binding via the eclipse market place, and after some tayloring of the bluez libraries, the bluetooth adapter item was found via paper ui.

Now, i can see alot of new bluetooth devices, e.g. my phone, some tvs, etc. Also, the bluetooth radiator valve was found via the inbox paper ui. heres what i have at the moment:

BlueZ Adapter is working:

Then i added the radiator bluetooth valve as a thing via the inbox menu; this is what is see in the thing menu:

BUT:

i cannot control the radiator valve nor see any data (room temp, etc.).

Any ideas?

This is what I meant by saying “I’ll be happy to help”. It is not implemented yet.

Winter coming… This device is getting more popular, it is definitely on my radar. I’m working on another device at the moment, but there will be a lot of common parts, so in a way the work is already in progress. Keep tuned.

How much is that device? Where I live we don’t have any central heating as it is not too cold, no point in buying it for me. So there will be some difficulties because of that, but I’m sure we get get through them.

device is quiet cheap, about 20 euros.

what i know it is the cheapest radiator controllable via any radio frequencies which can be added to openhab.
there are other but to add these you need another bridge like a usb-cul or something else, but as bluetooth is implemented already on the rpi, this is´a good option!

yeah, give me some tips or hints, or anything you need to know (e.g. loggings), i will deliver them!

1 Like

Hans, you cant control it with the Bluetooth binding at the moment, so will need to implement the code you linked to for the moment. It does the same job as the Bluetooth binding will.

I will add support for this device anyway, but if I had it physically it would speed up things a lot.

Afaik, there are around 4 people that wanted to use this device with the binding. If you guys got together and bought one for me (5 euro each, not a big deal), it would be a lot easier and efficient. Here in New Zealand, we do not have central heating, so once it is done, I’ll give it away to one of you (maybe we could organise a draw or something? :slight_smile: ).

hey,

I received my thermostat and tried to use it via the eq3.exp script. But i always run into the following error:

eq3.exp: command not found

Were you faced with the same issue?
It seems, that expect is not correctly installed or anything else, but google search results in nearly no helpful thread.

When i install expect via this command:

sudo apt install expect

I get this:

Reading package lists… Done
Building dependency tree
Reading state information… Done
expect is already the newest version (5.45-7+deb9u1).
0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.

So expect is correclty installed?
Any ideas?

I get the same “command not found” if I try to run eq3.exp from the commandline.

You need to put the scripts somewhere within your webserver path, and the call the PHP script from your webserver in a webbrowser, like this:-
http://xxx.xxx.xxx.xx/eq3/php/eq3.php?mac=00-11-22-33-44-55&temperature=20
(with your IP address and your RadStat’s mac address)

And you need to edit the eq3.php script to give the $script variable the full path to where you’ve placed the eq3.exp file.

From what I can remember when I set mine up, I think that should do it.

thanks for that info! i will try that, when i get the device to be connected with my rpi. at the moment i found out that the connection is not established correctly.

for all the others being faced with the same problem, i followed this tutorial here to connect the radiator to my pi:
https://unix.stackexchange.com/questions/258074/error-when-trying-to-connect-to-bluetooth-speaker-org-bluez-error-failed

But infortunately, bluetoothctl does not ask for a pair code, but the display of the radiator shows one which need to be entered.

At the moment im stuck here, but this should be fixable…
after that i try your solution.

this issue could be related to bluetooth le devices, where the question for the pair code is not asked. but this is not clear for me at the moment.

It doesn’t need pairing to work with the script.

hi Vlad, I’m happy to chip in for device that you can use for testing.

Anyone else?

1 Like