my device is Shelly H&T Gen3 on firmware v1.7.1
I'm desperately trying to offset the temperature by a custom margin - exactly -1.8°C
why? i have another non-shelly thermostat that controls a pump1 based on the temperature in room. with shelly H&T gen3 I need to control pump2 also based on the temperature. for the best effect I need both pumps to be in sync and turn on/off together. the non-shelly thermostat can't be changed nor configured (there is no offset in it)
I read somewhere in shelly forum that I can set custom value of humidity via url ignoring the gui threshold and AI failed to help me achieve it
this is what I tried:
http://192.168.1.128/temperature/0?offset=-1.8
http://192.168.1.128/settings?temperature_offset=-1.8
device is not pw protected, and ofc running in setup mode. I even tried:
<!DOCTYPE html>
<html>
<body>
<h3>Shelly H&T Gen3 Temperature Offset Setter</h3>
<input type="number" id="offset" step="0.1" placeholder="Enter offset (°C)">
<button onclick="setOffset()">Set Offset</button>
<p id="result"></p>
<script>
function setOffset() {
var offset = parseFloat(document.getElementById("offset").value);
var ip = "192.168.1.128"; // <-- replace with your Shelly IP
var url = "http://" + ip + "/rpc";
var data = {
id: 1,
method: "Device.SetConfig",
params: {
temperature_offset: offset
}
};
fetch(url, {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(json => document.getElementById("result").innerText = JSON.stringify(json))
.catch(err => document.getElementById("result").innerText = "Error: " + err);
}
</script>
</body>
</html>
Alles anzeigen
and also directly in console like:
fetch("http://192.168.1.128/rpc", {
method: "POST",
headers: {"Content-Type":"application/json"},
body: JSON.stringify({"id":1,"method":"Device.SetConfig","params":{"temperature_offset":-1.8}})
}).then(r => r.text()).then(console.log)
but nothing worked. please help me out with this. is there any way how to make it?