HowTo: Node Red / Tasmota - Un "interruptor de hombre muerto" o cómo utilizar la ausencia de mensajes de estado como un evento

Debo admitir que nunca los había visto antes, pero se supone que en los trenes hay los llamados interruptores de hombre muerto.

Estos interruptores con un nombre un tanto macabro son un invento completamente sensato. El conductor del tren debe presionar estos interruptores repetidamente dentro de un período de tiempo determinado. Si el maquinista lo olvida, por ejemplo porque no puede hacerlo físicamente, suena una señal de advertencia y si el maquinista aún no presiona el botón correspondiente, el tren frena automáticamente.

Este sistema garantiza que un tren nunca se quede sin conductor y que el puesto de control esté siempre ocupado.

Lo que tiene sentido en el tráfico de trenes solo puede ser útil en un sistema SmartHome.
También puede utilizar este procedimiento allí, de forma ligeramente modificada.
Por ejemplo, este método podría utilizarse para encender el radiador cada vez que un dispositivo específico envíe mensajes en un intervalo fijo. En cuanto no se reciban estos mensajes, el radiador se apagará nuevamente.

Así es como lo uso, por ejemplo, en mi escritorio: si el enchufe del escritorio está encendido, el SmartHome reacciona a los mensajes de información enviados periódicamente desde un dispositivo Tasmota conectado (al enchufe) y enciende automáticamente la calefacción en el estudiar. En cuanto se vuelve a apagar el escritorio, los mensajes informativos habituales se detienen y el SmartHome los apaga.

Este ejemplo explica cómo utilizar los mensajes de estado de un dispositivo Tasmota. Esto se debe a que envían un mensaje de estado al tema estándar “tele/NOMBRE/ESTADO” en un intervalo ajustable (cinco minutos por defecto). Esto luego encenderá otra lámpara Tasmota. Si el dispositivo Tasmota original no envía una señal durante más de cinco minutos (cinco minutos y diez segundos para ser precisos), la lámpara Tasmota se apagará nuevamente.

Cómo se hace esto se explica en el siguiente artículo.


Instrucciones de seguridad

Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/

Enlaces afiliados / enlaces publicitarios

Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂 


Requisitos

Artículos útiles:
Para que pueda aceptar esta configuración, por supuesto, NodeRed ya debería estar instalado.
En los siguientes artículos se describe cómo preparar una RaspberryPi y luego instalar NodeRed en ella.

Los siguientes artículos describen lo que se debe hacer para preparar la RaspberryPi:
RaspberryPi: ¡configuración para nerdiys!
RaspberryPi – ¡La primera configuración!
RaspberryPi: controle el RaspberryPi a través de SSH

NodeRed: instalación de NodeRed en RaspberryPi
NodeRed – Instalar nuevos nodos

Herramienta requerida:
-No-

Material requerido:

En la siguiente lista encontrará todas las piezas que necesita para implementar este artículo.


Inicie sesión en la interfaz de configuración de NodeRed

Antes de que pueda editar su configuración de NodeRed, debe, si está activado, primero iniciar sesión en la interfaz de configuración de NodeRed.

Vista del cuadro de diálogo de inicio de sesión. Aquí debe ingresar los datos de inicio de sesión que especificó durante la configuración del inicio de sesión. Puedes encontrar información al respecto en el artículo NodeRed: configurar el inicio de sesión del usuario.

Importar código de nodo

Para probar este ejemplo, debe importar el siguiente código de nodo a su instalación de NodeRed.

Vista de la configuración del nodo en el editor de NodeRed.
Si desea establecer el límite de tiempo después de que se debe recibir una nueva señal a más tardar, puede hacerlo en el nodo de función. Para ello cambie el valor marcado en la imagen. Representa el tiempo máximo entre dos señales en milisegundos. Cinco minutos y diez segundos corresponden a ((5*60 segundos)+10 segundos)*1000=310000 milisegundos.

Código de nodo:

[{"id":"e2fc26ae.3ff008","type":"mqtt in","z":"4131a41e.b9233c","name":"","topic":"tele/MiniLichterkette/STATE","qos":"2","broker":"3c2a29eb.148006","x":380,"y":1380,"wires":[["a5563ed4.23a7e"]]},{"id":"60f3b2d3.5c1c5c","type":"inject","z":"4131a41e.b9233c","name":"check time","topic":"","payload":"check","payloadType":"str","repeat":"1","crontab":"","once":true,"onceDelay":0.1,"x":430,"y":1420,"wires":[["a5563ed4.23a7e"]]},{"id":"a5563ed4.23a7e","type":"function","z":"4131a41e.b9233c","name":"check","func":"if (msg.payload=="check")
{
    if ((Date.now()-context.flow.signalTimestamp)>310000)
    {
        context.flow.signalTimestamp=0;
        msg.payload=false;
    } else
    {
        msg.payload=true;
    }
} else
{
    context.flow.signalTimestamp=Date.now();
    msg.payload=true;
}
return msg;","outputs":1,"noerr":0,"x":600,"y":1400,"wires":[["3ab4ab0f.883254","d2419bcd.1368d8"]]},{"id":"3ab4ab0f.883254","type":"trigger","z":"4131a41e.b9233c","op1":"ON","op2":"0","op1type":"str","op2type":"str","duration":"0","extend":false,"units":"ms","reset":"false","bytopic":"all","name":"","x":800,"y":1380,"wires":[["4d720e6.97ee2f","b05ef19f.d9d03"]]},{"id":"d2419bcd.1368d8","type":"trigger","z":"4131a41e.b9233c","op1":"OFF","op2":"0","op1type":"str","op2type":"str","duration":"0","extend":false,"units":"ms","reset":"true","bytopic":"all","name":"","x":800,"y":1420,"wires":[["4d720e6.97ee2f","b05ef19f.d9d03"]]},{"id":"4d720e6.97ee2f","type":"debug","z":"4131a41e.b9233c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":1010,"y":1460,"wires":[]},{"id":"b05ef19f.d9d03","type":"mqtt out","z":"4131a41e.b9233c","name":"","topic":"cmnd/GluehbirnenLampe40W/POWER","qos":"","retain":"","broker":"3c2a29eb.148006","x":1120,"y":1420,"wires":[]},{"id":"3c2a29eb.148006","type":"mqtt-broker","z":"","name":"Server-Mqtt","broker":"server.fritz.box","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Diviértete con el proyecto.

Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂

PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂

Cómprame un café en ko-fi.com       

2s comentarios

Kommentar hinterlassen

Tu dirección de correo electrónico no será publicada. Erforderliche Felder sind mit * markiert

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.