Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| guias:tasmota [2020/08/16 08:15] – [Conexión segura con MQTT] Rafa Couto | guias:tasmota [2021/04/16 20:41] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 3: | Línea 3: | ||
| [[https:// | [[https:// | ||
| - | Nesta entrada explicamos como configurar o **firmware e servidor para establecer unha canle segura** | + | 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 ===== | ===== Conexión segura con MQTT ===== | ||
| Línea 114: | Línea 115: | ||
| - | ==== Firmware Tasmota | + | ===== Botón coma pulsador temporizado ===== |
| - | Os binarios precompilados | + | Cos seguintes [[https:// |
| - | + | ||
| - | - 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 | + | SwitchMode 13 |
| - | cd /tmp | + | PulseTime 40 |
| - | 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:// | + | O parámetro |
| - | < | + | * **13** = modo botón temporizado con lóxica de relé activo cando se pulsa o botón |
| - | # mosquitto.conf | + | * **14** = modo botón temporizado con lóxica de relé invertida cando se pulsa o botón |
| - | port 8883 | + | |
| - | keyfile / | + | |
| - | certfile / | + | |
| - | cafile / | + | |
| - | password_file / | + | |
| - | </ | + | |
| - | O porto 8883 é o porto estándar asignado pola IANA para o MQTT sobre TLS. | + | e *PulseTime*: |
| - | Para **xenerar os ficheiros de certificados** podes seguir os [[http:// | + | |
| + | * **112..64900** = incrementos en segundos quitando 100 ao valor (para 30 segundos sería o valor 130) | ||
| - | Os certificados para clientes non se usan en Tasmota polas restriccións de memoria o procesador | + | Se usas varios relés podes configurar os modos e tempos poñendo |
| - | + | ||
| - | 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** para gardar a sinatura: | + | |
| < | < | ||
| - | MqttFingerprint1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | + | SwitchMode 5 13 |
| + | PulseTime 5 40 | ||
| </ | </ | ||
| - | Podes atopar máis información en: | ||
| - | |||
| - | * [[https:// | ||
| - | * [[https:// | ||
| - | |||
| - | |||
| - | ===== Hora local correcta cos cambios de hora (DST) ===== | ||
| - | |||
| - | Para configurar a túa [[https:// | ||
| - | |||
| - | < | ||
| - | TimeDST 0 0 3 1 2 120 | ||
| - | TimeSTD 0 0 10 1 3 60 | ||
| - | Timezone 99 | ||
| - | </ | ||
| - | | ||
| - | Que de acordo aos [[https:// | ||
| - | |||
| - | Os campos para //TimeSTD// e //TimeDST// son: | ||
| - | * 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 | ||
| - | 15:03:31 MQT: stat/ | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | | ||