commit
37cafe50dc
3 changed files with 238 additions and 0 deletions
@ -0,0 +1,139 @@
|
||||
esphome: |
||||
name: gf-toilet-thermostat |
||||
|
||||
bk72xx: |
||||
board: generic-bk7231t-qfn32-tuya |
||||
|
||||
uart: |
||||
rx_pin: RX1 |
||||
tx_pin: TX1 |
||||
baud_rate: 9600 |
||||
|
||||
|
||||
# Enable logging |
||||
logger: |
||||
|
||||
# Enable Home Assistant API |
||||
api: |
||||
password: "" |
||||
|
||||
mqtt: |
||||
broker: mqtt.blu3cat |
||||
username: openhab |
||||
password: Hl3Yr6cT2mgSp1eW |
||||
|
||||
ota: |
||||
- platform: esphome |
||||
password: "" |
||||
|
||||
wifi: |
||||
ssid: "blu3cat-legacy" |
||||
password: "tubbychristison" |
||||
|
||||
# Enable fallback hotspot (captive portal) in case wifi connection fails |
||||
ap: |
||||
ssid: "Gf Toilet Thermostat" |
||||
password: "yOfdzvIhC1Qd" |
||||
|
||||
captive_portal: |
||||
|
||||
time: |
||||
- platform: sntp |
||||
id: sntp_time |
||||
timezone: Europe/London |
||||
servers: |
||||
- blu3cat.blu3cat |
||||
- 192.168.3.1 |
||||
|
||||
tuya: |
||||
# The MCU uses this for displaying the time in the display as well as for |
||||
# scheduled programmes one may have configured in their thermostat. |
||||
time_id: sntp_time |
||||
|
||||
# (Optional) |
||||
# Schedules are not modeled in neither ESPHome nor Home Assistant. |
||||
# |
||||
# This parses the data point and emitting it as a string in the logs, and |
||||
# serves as an example for users desiring more advanced configurations. |
||||
on_datapoint_update: |
||||
- sensor_datapoint: 101 |
||||
datapoint_type: raw |
||||
then: |
||||
- lambda: |- |
||||
// Apparently these vary per model; these are valid for the BHT-002 |
||||
const int POS_HOUR = 1; |
||||
const int POS_MINUTE = 0; |
||||
const float TEMPERATURE_MULTIPLIER = 0.5f; |
||||
const std::map<int, std::string> DAY_OFFSET = { |
||||
{0, "days 1-5"}, |
||||
{6, "day 6"}, |
||||
{12, "day 7"}, |
||||
}; |
||||
|
||||
for (auto& day : DAY_OFFSET) { |
||||
for (int period = 0; period < 6; period++) { |
||||
int offset = (day.first + period) * 3; |
||||
int hour = x[offset + POS_HOUR]; |
||||
int minute = x[offset + POS_MINUTE]; |
||||
float temp = x[offset + 2] * TEMPERATURE_MULTIPLIER; |
||||
ESP_LOGD("custom", "Scheduled program for %s %02d:%02d set at %.1f C", day.second.c_str(), hour, minute, temp); |
||||
} |
||||
} |
||||
|
||||
climate: |
||||
- platform: tuya |
||||
name: "Thermostat" |
||||
switch_datapoint: 1 |
||||
target_temperature_datapoint: 2 |
||||
current_temperature_datapoint: 3 |
||||
preset: |
||||
eco: |
||||
datapoint: 5 |
||||
temperature: 18 °C |
||||
temperature_multiplier: 0.5 |
||||
visual: |
||||
min_temperature: 15 °C |
||||
max_temperature: 30 °C |
||||
temperature_step: 0.1 °C |
||||
|
||||
sensor: |
||||
- platform: "tuya" |
||||
name: "Temperature" |
||||
sensor_datapoint: 3 |
||||
unit_of_measurement: "°C" |
||||
device_class: "temperature" |
||||
accuracy_decimals: 1 |
||||
filters: |
||||
- multiply: 0.5 |
||||
# The climate component already includes temperature, but having the |
||||
# temperature as a separate sensor can be useful |
||||
disabled_by_default: false |
||||
|
||||
# The external temperature sensor, if wired |
||||
- platform: "tuya" |
||||
name: "Temperature (external)" |
||||
sensor_datapoint: 102 |
||||
unit_of_measurement: "°C" |
||||
device_class: "temperature" |
||||
accuracy_decimals: 1 |
||||
filters: |
||||
- multiply: 0.5 |
||||
disabled_by_default: false |
||||
|
||||
switch: |
||||
- platform: "tuya" |
||||
name: "Lock" |
||||
icon: "mdi:lock" |
||||
switch_datapoint: 6 |
||||
- platform: "tuya" |
||||
name: "Device Power" |
||||
switch_datapoint: 1 |
||||
|
||||
select: |
||||
- platform: "tuya" |
||||
name: "Scheduled programming" |
||||
icon: "mdi:calendar" |
||||
enum_datapoint: 4 |
||||
options: |
||||
0: Use scheduled programs |
||||
1: Manual control |
||||
@ -0,0 +1,17 @@
|
||||
Make: MOES |
||||
Model: WHT-NV-GB-WH-MS (box) |
||||
Model: BHT-002-GBLWW |
||||
Wifi Chipset: WB3S |
||||
Family: BK7231T |
||||
|
||||
Useful Links: |
||||
https://devices.esphome.io/devices/Beca-Thermostat |
||||
https://github.com/tuya-cloudcutter/tuya-cloudcutter/blob/main/INSTRUCTIONS.md |
||||
https://www.elektroda.com/rtvforum/topic4003974-60.html |
||||
|
||||
|
||||
Steps: |
||||
* Cloud cutter - Done |
||||
* Flash OpenBeken - Done |
||||
* Find sensible config - |
||||
|
||||
@ -0,0 +1,82 @@
|
||||
aioesphomeapi==24.6.2 |
||||
aiohappyeyeballs==2.4.6 |
||||
ajsonrpc==1.2.0 |
||||
anyio==4.8.0 |
||||
appdirs==1.4.4 |
||||
argcomplete==3.5.3 |
||||
async_interrupt==1.2.1 |
||||
attrs==25.1.0 |
||||
bitarray==3.0.0 |
||||
bitstring==4.3.0 |
||||
bitstruct==8.19.0 |
||||
bk7231tools==2.1.0 |
||||
bottle==0.13.2 |
||||
certifi==2025.1.31 |
||||
cffi==1.17.1 |
||||
chacha20poly1305-reuseable==0.13.2 |
||||
charset-normalizer==3.4.1 |
||||
click==8.1.7 |
||||
colorama==0.4.6 |
||||
cryptography==43.0.0 |
||||
defcon==0.10.3 |
||||
ecdsa==0.19.0 |
||||
esphome==2024.12.4 |
||||
esphome-dashboard==20241217.1 |
||||
esptool==4.7.0 |
||||
fonttools==4.56.0 |
||||
freetype-py==2.5.1 |
||||
fs==2.4.16 |
||||
gflanguages==0.7.3 |
||||
glyphsets==1.0.0 |
||||
glyphsLib==6.10.1 |
||||
h11==0.14.0 |
||||
hexdump==3.3 |
||||
icmplib==3.0.4 |
||||
idna==3.10 |
||||
ifaddr==0.2.0 |
||||
importlib_metadata==8.6.1 |
||||
intelhex==2.3.0 |
||||
kconfiglib==13.7.1 |
||||
ltchiptool==4.11.6 |
||||
marshmallow==3.26.1 |
||||
noiseprotocol==0.3.1 |
||||
openstep_plist==0.5.0 |
||||
packaging==24.2 |
||||
paho-mqtt==1.6.1 |
||||
pillow==10.4.0 |
||||
platformio==6.1.16 |
||||
prettytable==3.14.0 |
||||
protobuf==3.20.3 |
||||
puremagic==1.27 |
||||
py-datastruct==1.1.0 |
||||
pycparser==2.22 |
||||
pycryptodome==3.21.0 |
||||
pyelftools==0.31 |
||||
pyparsing==3.2.1 |
||||
pyserial==3.5 |
||||
PyYAML==6.0.2 |
||||
reedsolo==1.7.0 |
||||
requests==2.32.3 |
||||
ruamel.yaml==0.18.6 |
||||
ruamel.yaml.clib==0.2.12 |
||||
semantic-version==2.10.0 |
||||
setuptools==75.8.0 |
||||
six==1.17.0 |
||||
sniffio==1.3.1 |
||||
starlette==0.39.2 |
||||
tabulate==0.9.0 |
||||
tornado==6.4 |
||||
typing_extensions==4.12.2 |
||||
tzdata==2025.1 |
||||
tzlocal==5.2 |
||||
ufoLib2==0.17.1 |
||||
unicodedata2==16.0.0 |
||||
urllib3==2.3.0 |
||||
uvicorn==0.30.6 |
||||
voluptuous==0.14.2 |
||||
wcwidth==0.2.13 |
||||
wsproto==1.2.0 |
||||
wxPython==4.2.2 |
||||
xmodem==0.4.7 |
||||
zeroconf==0.132.2 |
||||
zipp==3.21.0 |
||||
Loading…
Reference in new issue