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/ | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | </ | ||
- | | ||