Antecedentes
Una casa tiene un puñado de calentadores de placa base eléctricos de voltaje de línea (240V, 3600W ).
Problema
Controle el horario y la temperatura actual sin conectarse más allá de una red de área local.
Requisitos estrictos
- Admite conectividad Wi-Fi a la red de área local.
- No requiere conectividad a Internet en ningún momento.
- Los termostatos pueden tener una referencia única por nombre (o dirección IP).
- Protocolo de transporte encriptado y protegido por contraseña.
- Cambie la temperatura de una terminal usando REST sobre HTTP:
$ curl -d "thermostat=kitchen&set=20C&token=T" -X POST https://10.0.0.15/temp
Requisitos de software
Los requisitos opcionales incluyen:
- Ofrece un servidor web simple (o Bluetooth para la configuración inicial).
- Se puede nombrar a los termostatos.
Hub
Si existe un hub que ofrece una API REST abierta sobre HTTP, entonces eso funcionaría. Preferiblemente, los termostatos funcionarán de forma independiente (sin un concentrador).
Alternativas
Mozilla «s Things Gateway parece prometedora como una forma de conectarse a un concentrador. Benjamin Francis escribió:
Mi única sugerencia sería buscar un termostato Zigbee y luego usar el Things Gateway para conectarlo a una red IP y exponer una API REST + WebSocket. Ya tenemos un adaptador Zigbee y me gustaría agregar soporte para un termostato tipo web. Me interesaría escuchar lo que encuentres porque estoy buscando algo similar para mi propia casa. Estaba considerando Honeywell.
Investigación
Aquí hay una variedad de contendientes y razones por las que no funcionan, como descubrí o me dijeron los representantes de ventas:
- Termostato inalámbrico de placa base «Walker Technologies» : el WZ_LVS250 contiene un detector de movimiento ilt-in y requiere Zigbee.
- Nuheat SIGNATURE Thermostat – Activación de Wi-Fi dice , «Ingrese una dirección de correo electrónico donde se pueda enviar un correo electrónico de activación».
- Termostato Wi-Fi CALEO CASA – «También tengo Casa, pero no hay API de ningún tipo (no es posible la integración con SmartThing)».
- Mysa Smart Thermostat – «Es muy probable que cualquier control local que implementemos no sea a través de HTTP, y estará destinado a ser utilizado desde nuestra aplicación».
- STELPRO 4000 W Termostato KI – Requiere Z-Wave o Zigbee.
- Termostato de voltaje de línea programable ATMOZ-2-240-Wifi – Reseñas son menos que estelares.
- Sinopé TH1121RF-4000 – «Como el control y la programación requieren que el GT125 acceda a los termostatos y que usted necesita estar físicamente frente al GT 125 … Además, como no es wifi , no puede conectarse directamente al dispositivo «.
- Honeywell YTL9160AR1000 / U : parece requerir una «API basada en la nube para termostatos Wi-Fi» o su RedLINK Internet Gateway .
Hay una serie de termostatos de 24 V que no funcionan, que incluyen:
Pregunta
¿Qué termostatos permitirían controlar la temperatura a través de la línea de comandos a través de Wi-Fi? ¿Fi sin conectividad a Internet?
Alternativamente, ¿existen relés de 240V a 24V absolutamente silenciosos que serían perfectamente seguros de usar con uno de los dispositivos típicos de 24V?
Comentarios
- Por lo general, no esperaría que los dispositivos de consumo proporcionen una API abierta; hay demanda insuficiente, y los proveedores parecen depender de clientes de alto margen en este momento. Crear uno propio es potencialmente ' easy '.
- No estoy seguro de si esto satisface exactamente la necesidad, pero tengo construyó un administrador de carga que acepta ocho entradas de sensor de 10 a 24 voltios (por ejemplo, de termostatos) y controla ocho relés de 24 voltios. Las entradas y salidas están controladas lógicamente por una computadora interna (RaspberryPi) que ejecuta C ++, por lo que tiene capacidad RJ-45 Ethernet, WiFi y Bluetooth (' estoy usando Ethernet por cable, por lo que lejos). (1/2)
- La aplicación principal es controlar hornos, bombas de calor, posiblemente electrodomésticos inteligentes (cualquier cosa con control y energía separados). El código prioriza las entradas (llamada de servicio) y luego puede limitar la cantidad de salidas que se sirven. En este momento, la prioridad solo se basa en la energía disponible (por ejemplo, de un panel solar o una batería / inversor), pero sería posible agregar la hora del día u otros criterios.(2/2)
- Soy dueño de los termostatos inteligentes Mysa, y tienen soporte para Apple HomeKit, que creo que se hace solo usando una conexión WiFi interna. No tengo HomeKit, por lo que actualmente no puedo verificarlo.
Respuesta
Puede ser difícil de encontrar un producto listo para usar que satisface inmediatamente sus requisitos. ¿Qué tan seguro estás con el bricolaje? Hay muchas plataformas de hardware de código abierto que son relativamente fáciles de actualizar con firmware personalizado, es posible que encuentre ese enfoque más adecuado para sus necesidades. Consulte https://github.com/arendst/Sonoff-Tasmota como ejemplo para el hardware basado en SoC ESP8266.
Trabajé en un proyecto de código abierto de bricolaje similar hace mucho tiempo, hace muchas de las cosas que desea. Ya no se mantiene, pero aún puede usar el diseño / código de PCB: https://harizanov.com/wiki/wiki-home/three-channel-wifi-relaythermostat-board/
Con respecto a sus requisitos:
Admite conectividad Wi-Fi a una red de área local. – Eso » s fácilmente alcanzable con ESP8266. Incluso podría omitirlo en cualquier uso. Podría considerar usar ESP-NOW https://www.espressif.com/en/products/software/esp-now/overview
No requiere conectividad a Internet en ningún momento . – Eso está bien y se puede lograr fácilmente con ESP8266.
Los termostatos se detectan automáticamente entre sí – ¿Cuál es su caso de uso? ¿Por qué los termostatos necesitan verse? Solo necesita poder identificarlos por su nombre, para que el código del concentrador pueda abordarlos. Ese podría ser un poco complicado y requerirá algo de codificación adicional, ¿tal vez usar mDNS?
Protocolo de transporte cifrado y protegido con contraseña. – Ya que no está expuesto a Internet, ¿por qué molestarse? ? De todos modos, es factible a un costo adicional de complejidad
Cambie la temperatura de una terminal usando REST sobre HTTP – Fácilmente alcanzable usando el código de ejemplo que vinculé arriba