Input for values

Hi Bill

I am struggling with thermostat integrations into HR for more than a month.
I can’t figure out, how can I provide a input element, that the user can put the new value in, and
send the new value to Fibaro.
There is an option with slider, and i could manage to make it work, however it is very cumbersome, as user can’t see the HR slider’s actual value as he slides the slider…
I could only connect the HR slider to a Fibaro Thermostat Quickapp value and set the heating point according to that change…But as i mentioned it is very poor solution…User actually doesn’t know what is the currently selected value on the slider until he releases the slider button…

So i went for another approach…with 3 buttons…+ / - and save…This also took me to a dark forest, becuase the problem is almost the same. Pressing the button doesn’t help me, because i would need to store that value somewhere before user presses the Save, and he can update the corresponding quickapp value on that Save button press…

I am just completely lost here.

The standard thermostat tiles can’t be used here becuase Fibaro doesnt provide the thermostat temperature with the thermostat device. It comes in a different device, so i would need to create tiles for every single thermostat with its linked temperature sensor…

So whatever you suggest i would go for, it becuase this issue is stopping my entire project.
Wihtout having an input point for adjusting the climate, my dashboard is worth next to nothing.

Is there any possibility to make it work without some plugins?

If I could somehow get into HR’s default Thermostat tile the linked temperature sensor’s value…
but i can’t…(only in hardcoded way, not like @Device.xxxxx)

Calling Fibaro’s radiator thermostat API, gives you a JSON that contains data that you can see in attachment, in case you need it
response_1643576937970.js (3.9 KB)
.

The Home Remote should have generated a thermostat device that uses the parent id. It will automatically merge the child devices & their capabilities into 1 device object. This lets you use the default thermostat templates.

Please post or send me the JSON from http://IP_ADDRESS/api/devices and also provide me the device ids of both the heating setpoint & temperature devices so I can review them. I’d like to figure out why it didn’t generate a “parent” object for you.

Hi Bill
There are not correctly generated devices for FIBARO radiator thermostat. I am sending you samples of 3 different thermostats in Fibaro.

First one: THE OFFICE RADIATOR - this is a Fibaro product. This doesn’t work at all.

No setpoint. I think there are some differencies in property names for setpoints.
For Fibaro products the property name is heatingThermostatSetpoint…maybe here is the problem

The second one is POPP/DANFOSS brand

This shows the correct values, but it has no effect when we change setpoint as we dont set time.

The third one is HeatIt brand

The same situation as with the second one. Valueas are correct, but no change effect.

This is how it looks in HR

In am sending you all jsons (ids in the name) to these 3 devices

OFFICE FIBARO
610.txt (2.6 KB)
609.txt (4.1 KB)
608.txt (4.0 KB)
607.txt (8.6 KB) - PARENT

BEDROOM DANFOSS
329.txt (2.1 KB)
328.txt (2.7 KB)
327.txt (2.4 KB) - PARENT

LIVINGROOM HEATIT
476.txt (4.3 KB)
475.txt (4.4 KB)
474.txt (5.6 KB)
473.txt (10.0 KB) - PARENT

Thanks

Can you please change the file extension to either .JSON or .TXT? I cannot download these in my web browser. Just out of curiosity, are you able to download them?

Is this JSON response data or JavaScript programming code? I don’t need to see the actual code for these devices. I want the JSON response state data.

I requested that you send me the data from the link below. Can you open the link & save the response as a .JSON or .TXT file?
http://IP_ADDRESS/api/devices

Okay, i have managed to get it work. You have txt files in the original post.

I was able to find & fix the issue with your OFFICE FIBARO (607). This will be part of the next release. However, I have no idea why BEDROOM DANFOSS & LIVINGROOM HEATIT aren’t working. Below are the command URLs Home Remote should be sending them. Please open the URLs & see if they work.

Opening this URL should set BEDROOM DANFOSS to 19 degrees:
http://IP_ADDRESS/api/callAction?deviceID=328&name=setHeatingThermostatSetpoint&arg1=19

Opening this URL should set LIVINGROOM HEATIT to 21 degrees:
http://IP_ADDRESS/api/callAction?deviceID=474&name=setHeatingThermostatSetpoint&arg1=21

Keep in mind too, the Home Remote does a delayed send for thermostat setpoints. It will wait 2.5 seconds before actually sending the command to the Fibaro controller. Give it a little bit of time. It doesn’t happen instantly like a dimmer.

Hi Bill

I have tried those commands…

In case of HEATIT Livingroom
The command that i have tried in URL, is working, as i see that value on thermostat jumps to 21 for a second. Then it jumps back.

In case of DANFOSS bedroom
The command works for 15 min. I think it becuase Danfoss has a builtin defualt time set. (But maybe for other reason.)

As I mentioned earler, they will never work if user have some kind of schedule or plan active.
I don’t really know other hubs but i am pretty sure it must be the same.

I think this will be the case with almost every thermostat in the world, if they don’t have some defult time pre-set in their settings.

In HR there must be some combo that holds the timeperiod for wich the selected setpoint should be applied. I know that there is currently that combobox, however i dont have any values there in case of every thermostats.

We should set the time shomehow when chaging the setpoint, otherwise it wont work.

Thanks

What does the Fibaro app do when you increment or decrement the setpoint?

Does it make 2 API calls or is it only using setHeatingThermostatSetpoint?

Is the web interface you showed earlier in your screenshots remotely accessible? Is that something I can test? I’d like to use some of my network debugging tools to see how they are handling these devices.

In the fibaro app, you always need to set time if there’s a schedule running. Without giving a timeframe (even if its 00:00:00) you can’t save the heating setpoint.

I dont know how many api calls it needs but its probably only one…

Yes, you can acces it. I am going to create a temporary account for you and you can access it from:

I think APIs are not available remotely but i am not sure… never tried
(i mean the SWAGGER)

In worst case i can share my screen with you through Temawiever if you need

I think you just contradicted yourself there. You are basically saying the Fibaro app calls “setTime” & then it calls “setHeatingThermostatSetpoint”. That’s 2 API calls.

I meant there should be 2 parameters set in one call. I am not sure about API calls.
Only thing i know, as a user, I need to set a time in the mobile app before i save the setpint values.

PLease check the picture.

Also please save the credentials that i shared above, and delete it from here if i can ask you…

thanks

I have set unique setpoint times for each of your devices. Can you please do a status request on these 3 ids & attach the JSON files?

I’d like to determine how they are storing the time.

Bedroom 328 - I set to 2 hours
Living room 474 - I set to 1 hour
Office 609 - I set to 30 minutes

ok… i will do it
give me pls 10 min

Actually, don’t worry about it right now. I see it’s stored in the setpointExpiryDate property.

328.txt (2.8 KB)
474.txt (5.6 KB)
609.txt (4.1 KB)

OK, so I was able to analyze their web interface to see how they are controlling these thermostats. It’s a bit of a mess actually. They are using different API calls for all 3 of these devices! No idea why they couldn’t standardize the call since they all appear to be doing the exact same thing in the UI.

Bedroom 328 (2 API Calls)
setTime with {"args":[1643832825]}
setHeatingThermostatSetpoint with {"args":["17.5"]}

Living room 474 (1 API Call)
setClimatePanelOverrideSchedule
with
{"args":["{\"setpoints\":[{\"type\":\"Heating\",\"unit\":\"C\",\"value\":\"19.5\"}],\"mode\":\"Heat\"}","{\"type\":\"Minutes\",\"value\":90}"]}

Office 609 (1 API Call)
setOverrideSchedule
with
{"args":["{\"type\":\"thermostat\",\"data\":{\"setpoints\":[{\"type\":\"Heating\",\"unit\":\"C\",\"value\":\"19.5\"}],\"mode\":\"Heat\"}}","{\"type\":\"Minutes\",\"value\":30}","{}"]}

I don’t know how I want to handle this in Home Remote yet. They definitely aren’t making it easy for us with these 3 different possibilities.

Uhh man, don’t even tell me

However, Fibaro is becoming more and more popular in Europe, despite of his incredible awkward solutions. And they are doing some updates every months, so I hope it’s just becoming better and better.
If you can solve it somehow, i think a lot of people will like it. Including me.
Thanks for the effort anyway