# PROJECT — Boiler Tuya Energy (Dublin) Dashboard **somente leitura** do interruptor Tuya do boiler. Consome logs ON/OFF da nuvem Tuya, grava SQLite e estima kWh/€. **Não mede watts** (o hardware CB01-SBL não tem sensor). **Não liga/desliga** o relé. **Atualizado:** 2026-09-08 **URL:** https://boiler.myvexx.com/ **Fallback:** https://r630.myvexx.com/boiler/ **Separado do R630:** Tapo P110 continua em https://r630.myvexx.com/ (VM500 :8787) ## O que o sistema faz - Sincroniza `switch_1` (status + logs) da Tuya Cloud EU - Guarda eventos em SQLite (`switch_events`) - Relatório por intervalo de datas (kWh e €) - Export CSV - Tarifa Electric Ireland ValueReward 4%: **€0,3652/kWh** (fatura 23 Jul 2026, 0,3490 ex. IVA × 0,96 × 1,09) - Potência assumida da resistência: **2,3 kW** - Poll a cada 5 minutos ## Fórmula `kWh = 2,3 kW × (minutos ON / 60)` `€ = kWh × 0,3652` Termóstato interno do boiler pode reduzir o consumo real. ## Stack / onde corre | Item | Valor | |---|---| | Host | BIG CT **120** `web-traefik` | | Pasta live | `/opt/boiler-energy` | | Serviço | `boiler-energy.service` (user `boiler`) | | Porta | **8788** | | Traefik | `Host(boiler.myvexx.com)` → `http://127.0.0.1:8788` | | Túnel | `7233d455-…` **config remota** Cloudflare (`config_src: cloudflare`) | | Device Tuya | `bfaf766aa915197295qju6` · CB01-SBL · categoria `kg` | | DB | `/opt/boiler-energy/data/boiler.db` (não versionar) | Credenciais Tuya: `boiler.env` no CT120 (não no Git). Token DNS: `Infra-Network/SECRETS_CLOUDFLARE_MYVEXX.md`. ## Fora de escopo - Medição real de corrente/tensão neste interruptor - Controlo ON/OFF pelo dashboard - Alterar `/etc/network/interfaces` do Proxmox - Misturar com o Tapo do R630