# Changing TRVZB schedules programmatically

**URL:** https://forum.ewelink.cc/t/changing-trvzb-schedules-programmatically/132298
**Category:** eWeLink CUBE
**Created:** [February 8, 2025, 11:14am UTC](https://forum.ewelink.cc/t/changing-trvzb-schedules-programmatically/132298 "2025-02-08T11:14:00Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![psavie](https://avatars.discourse-cdn.com/v4/letter/p/a4c791/32.png) [@psavie](https://forum.ewelink.cc/u/psavie)
#### Post date: [February 8, 2025, 11:14am UTC](https://forum.ewelink.cc/t/changing-trvzb-schedules-programmatically/132298/1 "2025-02-08T11:14:00Z")

</div>

Is there any way to change the TRVZB schedules programmatically via the API, node-red ?

I have 19 TRVZB’s and when we have visitors or go on holiday I’d like to make various automated changes.

---

<div class="post-metadata">

### Author: ![psavie](https://avatars.discourse-cdn.com/v4/letter/p/a4c791/32.png) [@psavie](https://forum.ewelink.cc/u/psavie)
#### Post date: [May 22, 2025, 6:07pm UTC](https://forum.ewelink.cc/t/changing-trvzb-schedules-programmatically/132298/2 "2025-05-22T18:07:33Z")

</div>

It looks like this is possible through the Open API V2.

Has anyone tried modifying a schedule using the API ?

---

<div class="post-metadata">

### Author: ![Dukkha](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.ewelink.cc/dukkha/32/522_2.png) [@Dukkha](https://forum.ewelink.cc/u/Dukkha)
#### Post date: [May 26, 2025, 7:06am UTC](https://forum.ewelink.cc/t/changing-trvzb-schedules-programmatically/132298/3 "2025-05-26T07:06:09Z")

</div>

Hi Peter,  
If your TRVZB is added and managed locally through iHost (without using the eWeLink Cloud), you can modify the TRVZB schedule programmatically via Node-RED within iHost.

If you’re not using iHost and instead managing the device through eWeLink Cloud (e.g. via the eWeLink app), you’ll need to integrate using the OpenAPI. Please refer to the documentation:  
[https://coolkit-technologies.github.io/eWeLink-API/#/en/PlatformOverview](https://coolkit-technologies.github.io/eWeLink-API/#/en/PlatformOverview)

For any OpenAPI integration questions, feel free to contact us at: [bd@coolkit.cn].

---

<div class="post-metadata">

### Author: ![psavie](https://avatars.discourse-cdn.com/v4/letter/p/a4c791/32.png) [@psavie](https://forum.ewelink.cc/u/psavie)
#### Post date: [May 26, 2025, 9:14am UTC](https://forum.ewelink.cc/t/changing-trvzb-schedules-programmatically/132298/4 "2025-05-26T09:14:07Z")

</div>

Thanks, I have 19 TRVZBs managed locally with an iHost. I already have node red checking the TRVVZB status and switching on my boiler.

I looks like I need to use a control node with a custom payload, is that correct ?

If so, are there any examples of custom payloads for this node ?

---

<div class="post-metadata">

### Author: ![psavie](https://avatars.discourse-cdn.com/v4/letter/p/a4c791/32.png) [@psavie](https://forum.ewelink.cc/u/psavie)
#### Post date: [May 26, 2025, 9:37pm UTC](https://forum.ewelink.cc/t/changing-trvzb-schedules-programmatically/132298/5 "2025-05-26T21:37:42Z")

</div>

I’ve managed to use a custom payload to change the temperature setpoint on the TRVZB using the JSON below. I just need help with aome example JSON for the weekly schedule.

{  
“state”: {  
“thermostat-target-setpoint”: {  
“manual-mode”: {  
“targetSetpoint”: 25  
}  
}  
}  
}

---

<div class="post-metadata">

### Author: ![psavie](https://avatars.discourse-cdn.com/v4/letter/p/a4c791/32.png) [@psavie](https://forum.ewelink.cc/u/psavie)
#### Post date: [May 26, 2025, 10:10pm UTC](https://forum.ewelink.cc/t/changing-trvzb-schedules-programmatically/132298/6 "2025-05-26T22:10:03Z")

</div>

I’ve now tried some example JSON but get the error -

capability: “thermostat-target-setpoint”  
error: 110006  
data: object  
empty  
message: “check control permission fail!”

{  
“state”: {  
“thermostat-target-setpoint”: {  
“auto-mode”: {  
“weeklySchedule”: {  
“maxEntryPerDay”: 1,  
“Monday”: [  
{  
“startTimeInMinutes”: 480,  
“upperSetpoint”: 20,  
“lowerSetpoint”: 20  
}  
]  
}  
}  
}  
}  
}
