upd: set thermostat_cycle

This commit is contained in:
Chris
2022-11-13 02:10:46 +01:00
parent 315df6e3ad
commit 47baf3238e
2 changed files with 166 additions and 23 deletions

View File

@@ -175,6 +175,143 @@ api:
switch.is_on: nextion_init
- lambda: 'id(disp1).set_component_background_color(component.c_str(), message);'
#### Service to send thermostat cycle state ####
- service: send_thermostat_cycle_state
variables:
value: float
then:
- wait_until:
switch.is_on: nextion_init
- lambda: |-
//ESP_LOGD("nextion", "thermostat sendig value %f", value);
int left=16; // 16 is empty left.
int mid=17; // 17 is empty mid.
int right=18; // 18 is empty right.
if (value < 13.5) {
left=16;
mid=17;
right=18;
} else if (value >= 13.5 and value < 14) {
left=19;
mid=17;
right=18;
} else if (value >= 14 and value < 14.5) {
left=20;
mid=17;
right=18;
} else if (value >= 14.5 and value < 15) {
left=21;
mid=17;
right=18;
} else if (value >= 15 and value < 15.5) {
left=22;
mid=17;
right=18;
} else if (value >= 15.5 and value < 16) {
left=23;
mid=17;
right=18;
} else if (value >= 16 and value < 16.5) {
left=24;
mid=17;
right=18;
} else if (value >= 16.5 and value < 17) {
left=25;
mid=17;
right=18;
} else if (value >= 17 and value < 17.5) {
left=26;
mid=17;
right=18;
} else if (value >= 17.5 and value < 18) {
left=27;
mid=17;
right=18;
} else if (value >= 18 and value < 18.5) {
left=28;
mid=17;
right=18;
} else if (value >= 18.5 and value < 19) {
left=29;
mid=30;
right=18;
} else if (value >= 19 and value < 19.5) {
left=29;
mid=31;
right=18;
} else if (value >= 19.5 and value < 20) {
left=29;
mid=32;
right=18;
} else if (value >= 20 and value < 20.5) {
left=29;
mid=33;
right=18;
} else if (value >= 20.5 and value < 21) {
left=29;
mid=34;
right=18;
} else if (value >= 21 and value < 21.5) {
left=29;
mid=35;
right=18;
} else if (value >= 21.5 and value < 22) {
left=29;
mid=36;
right=18;
} else if (value >= 22 and value < 22.5) {
left=29;
mid=37;
right=38;
} else if (value >= 22.5 and value < 23) {
left=29;
mid=37;
right=39;
} else if (value >= 23 and value < 23.5) {
left=29;
mid=37;
right=40;
} else if (value >= 23.5 and value < 24) {
left=29;
mid=37;
right=41;
} else if (value >= 24 and value < 24.5) {
left=29;
mid=37;
right=42;
} else if (value >= 24.5 and value < 25) {
left=29;
mid=37;
right=43;
} else if (value >= 25 and value < 25.5) {
left=29;
mid=37;
right=44;
} else if (value >= 25.5 and value < 26) {
left=29;
mid=37;
right=45;
} else if (value >= 26 and value < 26.5) {
left=29;
mid=37;
right=46;
} else if (value >= 26.5 and value < 27) {
left=29;
mid=37;
right=47;
} else if (value >= 27) {
left=29;
mid=37;
right=48;
}
// sends the 3 images to the display
//ESP_LOGD("nextion", "thermostat left %i", left);
//ESP_LOGD("nextion", "thermostat mid %i", mid);
//ESP_LOGD("nextion", "thermostat right %i", right);
id(disp1).send_command_printf("climate_left.pic=%i", left);
id(disp1).send_command_printf("climate_middle.pic=%i", mid);
id(disp1).send_command_printf("climate_right.pic=%i", right);
##### START - GLOBALS CONFIGURATION #####
globals: