obsidian-vault/Boiler-Tuya-Energy/PROJECT.md
2026-09-08 17:06:18 +00:00

3.6 KiB
Raw Permalink Blame History

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

Histórico detalhado e conectividade (2026-09-08)

O SQLite preserva eventos Tuya além da janela de retenção da nuvem:

  • switch_events: transições ON/OFF normalizadas
  • device_events: log bruto com event_id, origem, código e valor
  • event_id=1: dispositivo online
  • event_id=2: dispositivo offline (Wi-Fi/nuvem)
  • event_id=5: comando enviado ao dispositivo
  • event_id=7: estado reportado pelo dispositivo

O relatório por período contém:

  1. Resumo diário: dia da semana, quantidade de ligações, minutos ON, kWh, custo, desconexões e tempo offline.
  2. Cada sessão: horário ON, horário OFF, duração, consumo/custo estimado e origem.
  3. Conectividade: início offline, retorno online e duração de cada queda.
  4. Agregação por dia da semana.
  5. CSV com linhas dia, ligacao e desconexao.

Identidade de quem ligou

A API Tuya não fornece nome, email ou ID do utilizador neste log. event_from permite apenas classificar a origem:

Código Origem
1 dispositivo (inclui botão físico/estado reportado)
2 app/cliente
3 plataforma de terceiros/automação
4 nuvem

Logo, app/cliente prova que veio de um cliente, mas não distingue Roger de outro membro da casa. Só é possível inferir uma pessoa se ela for a única com acesso; não é prova técnica.

Backups de implantação: código e DB anteriores em /opt/boiler-energy/*.bak-20260908-1712.

QA live 2026-09-08 (amostra 01-08 Set)

Fonte: dashboard /api/history de 2026-09-01 a 2026-09-08.

  • 16 sessoes (ON->OFF), ~369.6 min, ~14.168 kWh, ~EUR 5.17
  • 4 desconexoes / 4 reconexoes; ~28.7 min offline no periodo
  • event_from: 1=dispositivo, 2=app/cliente, 3=plataforma/automacao, 4=cloud
  • Tuya nao identifica a pessoa na Smart Life (sem nome/email no log)
  • CSV: linhas dia, ligacao, desconexao
  • Backup CT120: tuya_boiler_server.py.bak-20260908-1712, boiler.db.bak-20260908-1712