Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
guias:tasmota [2020/08/14 13:16] – Hora local correcta con DST Rafa Couto | guias:tasmota [2021/04/16 20:41] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Notas de configuración Tasmota ====== | ====== Notas de configuración Tasmota ====== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Nesta entrada explicamos como configurar o **firmware e servidor para establecer unha canle segura**, como configurar correctamente o dispositivo para que os **temporizadores funcionen coa túa zona horaria**, mesmo se hai cambios de hora de verán (DST) e como cambiar o comportamento do botón //toggle// para que funcione coma un **pulsador temporizado**. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Conexión segura con MQTT ===== | ||
+ | |||
+ | É moi **importante que se conectas o teu dispositivo a un servidor en Internet sexa cunha conexión segura**. Isto non é normalmente necesario se estás a facer probas sen sair da túa rede segura (ollo, a túa wifi caseira podería non selo), pero moita xente pensa que a seguridade é unha opción e deixan os sistemas desprotexidos en contornas de produción. | ||
+ | |||
+ | Deixar a conexión desprotexida implica que calquera pode examinar o tráfico de rede ou, simplemente ofrecendo un acceso WiFi máis forte ou cercano, pode tomar o control da túa instalación. Deixas as chaves da túa casa na porta, día e noite, cando estás e non estás? | ||
+ | |||
+ | ==== Firmware Tasmota ==== | ||
+ | |||
+ | Os binarios precompilados de firmware Tasmota non veñen con soporte TLS, polo que é necesario recompilar o firmware a partir do código fonte. Os pasos a seguir en // | ||
+ | |||
+ | - Instalar Platformio Core | ||
+ | - Descargar o código fonte | ||
+ | - Activar a opción TLS | ||
+ | - Compilar e cargar o firmware na placa | ||
+ | |||
+ | < | ||
+ | # paso 1. Instalar Platformio Core | ||
+ | cd /tmp | ||
+ | wget https:// | ||
+ | python3 get-platformio.py | ||
+ | wget https:// | ||
+ | sudo cp 99-platformio-udev.rules / | ||
+ | sudo udevadm control --reload-rules && sudo udevadm trigger | ||
+ | sudo usermod -a -G dialout $USER && sudo usermod -a -G plugdev $USER | ||
+ | # reinicia a túa sesión de usuario para que os permisos tomen efecto... | ||
+ | |||
+ | # paso 2. Descargar o código fonte: | ||
+ | cd /tmp | ||
+ | wget https:// | ||
+ | unzip master.zip && cd Tasmota-master | ||
+ | |||
+ | # paso 3. Activar a opción TLS: | ||
+ | sed -i ' | ||
+ | |||
+ | # paso 4. Compilar e cargar o firmware (adapta --upload-port ao que apareza cando conectas a túa placa) | ||
+ | pio run -e tasmota -t upload --upload-port=/ | ||
+ | </ | ||
+ | |||
+ | ==== Configuración de Mosquitto ==== | ||
+ | |||
+ | Tasmota usa [[https:// | ||
+ | |||
+ | < | ||
+ | # mosquitto.conf | ||
+ | port 8883 | ||
+ | keyfile / | ||
+ | certfile / | ||
+ | cafile / | ||
+ | password_file / | ||
+ | </ | ||
+ | |||
+ | O porto 8883 é o porto estándar asignado pola IANA para o MQTT sobre TLS. | ||
+ | |||
+ | Para **xenerar os ficheiros de certificados** | ||
+ | |||
+ | Os certificados para clientes non se usan en Tasmota polas restriccións de memoria o procesador e, para isto, usamos o **ficheiro de usuarios definido en // | ||
+ | |||
+ | O ficheiro de CA non é necesario en Tasmota (aínda que tamén sería posible engadilo en duro no fonte) porque dispón dun inxenioso método que simplifica a validación da conexión co servidor lexítimo. A primeira vez que conecta garda a sinatura do certificado do servidor e a comproba nas seguintes conexións. Se cambias de servidor podes executar a seguinte orde na consola de Tasmota para **borrar a sinatura e conectar por primeira vez co novo servidor** | ||
+ | |||
+ | < | ||
+ | MqttFingerprint1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ||
+ | </ | ||
+ | |||
+ | Podes atopar máis información en: | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
===== Hora local correcta cos cambios de hora (DST) ===== | ===== Hora local correcta cos cambios de hora (DST) ===== | ||
- | Para configurar a túa [[https:// | + | Para configurar a túa [[https:// |
< | < | ||
Línea 9: | Línea 83: | ||
TimeSTD 0 0 10 1 3 60 | TimeSTD 0 0 10 1 3 60 | ||
Timezone 99 | Timezone 99 | ||
- | </ | + | </ |
- | + | ||
- | Que de acordo aos [[https:// | + | |
- | Agora podemos ver que a hora local correcta (): | + | Que de acordo aos [[https:// |
+ | |||
+ | Os campos para // | ||
+ | |||
+ | * Hemisferio (0=norte, 1=sur) | ||
+ | * Semana do mes para o cambio (0=última, 1=primeira, 2=segunda, …) | ||
+ | * Mes para o cambio (1..12 = xaneiro..decembro) | ||
+ | * Día da semana para o cambio (1..7 = domingo..sábado) | ||
+ | * Hora do cambio (0..23) | ||
+ | * Minutos de desprazamento con respecto a UTC (60..-60 = UTC 01: | ||
+ | |||
+ | Agora podemos ver que a hora local correcta (//Local//) e cando se van producir os cambios de hora (// | ||
< | < | ||
Status 7 | Status 7 | ||
- | 15:03:31 MQT: stat/ | + | 15:03:31 MQT: stat/ |
{ | { | ||
" | " | ||
Línea 28: | Línea 111: | ||
" | " | ||
} | } | ||
- | } | + | } |
</ | </ | ||
- | | + | |
- | ===== Conexión segura con MQTT ===== | + | |
- | | + | ===== Botón coma pulsador temporizado |
- | (pendente) | + | |
+ | Cos seguintes [[https:// | ||
+ | |||
+ | < | ||
+ | SwitchMode 13 | ||
+ | PulseTime 40 | ||
+ | </ | ||
+ | |||
+ | O parámetro de // | ||
+ | |||
+ | * **13** = modo botón temporizado con lóxica de relé activo cando se pulsa o botón | ||
+ | * **14** = modo botón temporizado con lóxica de relé invertida cando se pulsa o botón | ||
+ | |||
+ | e *PulseTime*: | ||
+ | |||
+ | * **1..111** = incremento en décimas de segundo | ||
+ | * **112..64900** = incrementos en segundos quitando 100 ao valor (para 30 segundos sería o valor 130) | ||
+ | |||
+ | Se usas varios relés podes configurar os modos e tempos poñendo o //GPIO// no que está o relé como primeiro parámetro. Para aplicar o exemplo a un relé no //GPIO 5//: | ||
+ | |||
+ | < | ||
+ | SwitchMode 5 13 | ||
+ | PulseTime 5 40 | ||
+ | </ | ||
+ |