Pins outside of TuyaMCA datapoints

I have a Beca BHT-002 with TuyaMCU flashed with ESPHome which works but I’m only seeing the datapoints exposed by the TuyaMCU. I’m missing quite a few things like for example the relay that switches the valve of the heating system.

Would it be possible to get these values anyway? Maybe directly through the pins? Any tips on what I need to do?

Thanks!!

A related question to something I asked before but I didn’t yet have an answer to: Climate component in ESPHome flashed BHT-002 Beca Thermostat always says "heating" or "cooling"

Can you please post the output that you get from this

Thanks for your quick reply Nick. Here’s the log:

[10:18:12][C][api:140]: API Server:
[10:18:12][C][api:141]:   Address: thermostat-fancoil.local:6053
[10:18:12][C][api:143]:   Using noise encryption: YES
[10:18:12][C][lt.component:013]: LibreTiny:
[10:18:12][C][lt.component:014]:   Version: v1.7.0 on generic-bk7231n-qfn32-tuya, compiled at Nov 19 2024 09:46:24, GCC 10.3.1 (-O1)
[10:18:12][C][lt.component:015]:   Loglevel: 3
[10:18:12][C][tuya:041]: Tuya:
[10:18:12][C][tuya:056]:   Datapoint 1: switch (value: ON)
[10:18:12][C][tuya:058]:   Datapoint 2: int value (value: 36)
[10:18:12][C][tuya:058]:   Datapoint 3: int value (value: 35)
[10:18:12][C][tuya:062]:   Datapoint 4: enum (value: 1)
[10:18:12][C][tuya:056]:   Datapoint 5: switch (value: OFF)
[10:18:12][C][tuya:056]:   Datapoint 6: switch (value: OFF)
[10:18:12][C][tuya:062]:   Datapoint 102: enum (value: 1)
[10:18:12][C][tuya:062]:   Datapoint 103: enum (value: 3)

Hard to say what each of these datapoints do. They seem different to the example.

They seem to be correctly mapped here: Beca Thermostat | devices.esphome.io

The thing is, as mentioned there seems to be less datapoints than what the functionality is. I also don’t see the valve state in the Tuya app for example.
The two main things i’m missing is the valve switch and the current state. Hence, i was wondering if there are ways to go behind the TuyaMCU and read the raw gpio pins on a tuya device.

I think i’m out of luck. I found this thread which basically talks about this: Relay states · Issue #17 · klausahrenberg/WThermostatBeca · GitHub

Maybe i can make a virtual tuya datapoint called “heating” that just checks:

if(mode == heating) and current_temp < set_temp: heating=true

anyone knows if this might work?