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 | ||
| + | </ | ||
| + | |||