Im so close I can taste it. Thanks to @jesserockz for jumping in and fixing the C to F problem the vendor of my stove created. Truly appreciated.
Im having trouble getting and updated value from a select dp.
I have successfully implemented a select for one of my datapoints.
number:
- platform: "tuya"
id: eco_select
number_datapoint: 101
min_value: 0
max_value: 1
step: 1
select:
- platform: template
name: "ECO Mode"
optimistic: true
options:
- ECO1
- ECO2
set_action:
then:
- lambda: |-
int value = 0;
if( x == "ECO1" ) {
value = 0;
} else if( x == "ECO2") {
value = 1;
}
auto call = id(eco_select).make_call();
call.set_value(value);
call.perform();
# 1 - Power on (Heat)
#4 - Mode P1/P2/P3P4
#101 - ECO1/ECO2
#104 - Error Code
#106 Set Temp
#107 - Current Temp
#108 - Pipe Temp
#109 - Protect Temp
#-----------------
#Datapoint 1: switch (value: OFF)
#Datapoint 105: enum (value: 0)
#Datapoint 4: enum (value: 0)
#Datapoint 101: enum (value: 0). <--- ENUM....
#Datapoint 106: int value (value: 68)
#Datapoint 107: int value (value: 64)
#Datapoint 108: int value (value: 68)
#Datapoint 109: int value (value: 72)
#Datapoint 104: bitmask (value: 0)
#GPIO Configuration: status: pin 5, reset: pin 0
#Product: '{"p":"8Dj5zVjGqPSXaUgf","v":"1.0.0","m":0}'
# Register the Tuya MCU connection
tuya:
My log output shows the change being sent and it IS actually changing the MCU and display on the stove, and the select is correct:
11:59:18][D][tuya:300]: Datapoint 101 update to 0
[11:59:18][D][number:012]: 'eco_select': Sending state 0.000000
[11:59:26][D][select:062]: 'ECO Mode' - Setting
[11:59:26][D][select:115]: 'ECO Mode' - Set selected option to: ECO2
[11:59:26][D][number:054]: 'eco_select' - Setting number value
[11:59:26][D][number:113]: New number value: 1.000000
[11:59:26][D][tuya:547]: Setting datapoint 101 to 1
[11:59:26][D][number:012]: 'eco_select': Sending state 1.000000
[11:59:26][D][select:015]: 'ECO Mode': Sending state ECO2 (index 1)
[11:59:26][D][tuya:300]: Datapoint 101 update to 1
[11:59:26][D][number:012]: 'eco_select': Sending state 1.000000
But the value I see for the sensor I set up for that dp does not change to reflect the new value.
this should changed to 1 just like it does when I change it from the stove’s front panel.
I also see the optimistic variable
(Optional, boolean): Whether to operate in optimistic mode - when in this mode, any command sent to the Select will immediately update the reported state.
But I see this warning popup in the esphome editor:
is there a way to force updates of the datapoints so they send their current values?
I have to solve this same problem for the power setting as well. If I cant know the states of these items, I can run automations on them!
Any help appreciated.