El correo electrónico es (creo) uno de los medios de comunicación más antiguos de Internet. En el sector del hogar inteligente, sin embargo, no desempeñan un papel importante. A menudo se prefieren los servicios push -como Pushbullet- o directamente MQTT para un intercambio de datos rápido y directo.
En algunos casos, sin embargo, puede ser práctico enviar un correo electrónico desde NodeRed. Por ejemplo, podría utilizar este método para enviar un informe de estado mensual como resumen mensual a su propia bandeja de entrada de correo electrónico.
O puedes enviarte a ti mismo el parte meteorológico actual cada día. Las posibilidades son casi ilimitadas. Si tienes algún otro uso útil, no dudes en publicar un comentario con tu idea 🙂 .
En el siguiente artículo se explica cómo puede enviar por correo electrónico el parte meteorológico actual en respuesta a un suceso.
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
NodeRed - Obtener datos meteorológicos actuales de OpenWeatherMap
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.
Preparar el nodo openWeatherMap
Para poder recoger previamente los datos que se enviarán por correo electrónico, debe haber instalado el nodo openWeatherMap en su configuración de NodeRed. Los pasos para ello se describen en el artículo NodeRed - Obtener datos meteorológicos actuales de OpenWeatherMap descrito.
Ejemplo de código de nodo: recibir los datos meteorológicos actuales por correo electrónico
Para este ejemplo, no necesitas más nodos que los instalados por defecto. Para adoptar la configuración, sólo tiene que importar el código del nodo siguiente a su configuración. Cómo hacerlo se describe en el artículo NodeRed – Instalar nuevos nodos explicado.
Después de haber importado el código de los nodos, aún tienes que añadir algunas configuraciones de los nodos individuales.
Código de nodo:
[{"id":"3aab8493.0bc2fc","type":"e-mail","z":"550c7bf5.5c03e4","server":"mail.gmx.net","port":"465","secure":true,"name":"info@test.de","dname":"sendEmail","x":1050,"y":380,"wires":[]},{"id":"51ae2d16.38b7a4","type":"change","z":"550c7bf5.5c03e4","name":"tempConvert","rules":[{"t":"set","p":"data.main.temp","pt":"msg","to":"data.main.temp-273.15","tot":"jsonata"},{"t":"set","p":"data.main.temp_min","pt":"msg","to":"data.main.temp_min-273.15","tot":"jsonata"},{"t":"set","p":"data.main.temp_max","pt":"msg","to":"data.main.temp_max-273.15","tot":"jsonata"},{"t":"set","p":"title","pt":"msg","to":"Aktueller Wetterbericht","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":670,"y":380,"wires":[["41a940d8.99eb7"]]},{"id":"ca0b22a9.c0272","type":"json","z":"550c7bf5.5c03e4","name":"","property":"payload","action":"","pretty":false,"x":510,"y":380,"wires":[["51ae2d16.38b7a4"]]},{"id":"a7dc889e.b097a8","type":"inject","z":"550c7bf5.5c03e4","name":"request data","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":440,"wires":[["9e4b2651.4217b8"]]},{"id":"9e4b2651.4217b8","type":"openweathermap","z":"550c7bf5.5c03e4","name":"","wtype":"current","lon":"","lat":"","city":"Bochum","country":"Germany","language":"de","x":350,"y":440,"wires":[["ca0b22a9.c0272"]]},{"id":"314b9fd1.5d28e","type":"openweathermap in","z":"550c7bf5.5c03e4","name":"","wtype":"current","lon":"","lat":"","city":"Bochum","country":"Germany","language":"de","x":160,"y":380,"wires":[["ca0b22a9.c0272"]]},{"id":"41a940d8.99eb7","type":"template","z":"550c7bf5.5c03e4","name":"mailTemplate","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Hallo lieber E-Mail-Empfänger, aquí tienes los últimos datos meteorológicos de {{time}} para {{data.name}}. Temperatura: {{data.main.temp}}°C, Temperatura mínima {{data.main.temp_min}}°C, Temperatura máxima {{data.main.temp_max}}°C, Humedad {{data.main.humidity}}%, presión barométrica: {{data.main.pressure}}mmHg, velocidad del viento: {{data.wind.speed}}, dirección del viento: {{data.wind.deg}}° Saludos cordiales Tu NodoRojo ","output":"str","x":850,"y":380,"wires":[["d81ba695.75a538","3aab8493.0bc2fc"]]},{"id":"d81ba695.75a538","type":"debug","z":"550c7bf5.5c03e4", "name": "rawData", "active":true, "tosidebar":true, "console":false, "tostatus":false, "complete": "true", "x":1040, "y":320, "wires":[]}]
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é. 🙂
Hola 🙂
¿Qué pasa si, por ejemplo, quiero recibir un correo electrónico cuando un interruptor esté activo? Recibo una cantidad infinita de correos electrónicos, creo que proviene de la marca de tiempo o algo así.
soy un novato absoluto
saludos fabián
Hola Fabián,
déjame adivinar, usaste un nodo de inyección, que verifica cada segundo si el interruptor está activado y, de ser así, envía un correo. 🙂
Sería mejor publicar el código desde la ubicación relevante aquí, entonces puedo entenderlo mejor. 🙂
Pero si quieres experimentar un poco: puedes construir un "bloqueo de estado" usando dos bloques de "disparador".
Puede encontrar un ejemplo en el que ya he usado esto en el código para la detección de presencia usando FritzBox: https://nerdiy.de/nodered-fritzbox-anwesenheitserkennung-mit-der-fritzbox/
Este bloqueo significa que el mensaje entrante sólo se reenvía si cambia el estado. En última instancia, sólo desea enviar un correo electrónico en el momento en que cambia el interruptor de "Apagado" a "Encendido". 🙂
Espero que esto te ayude. De lo contrario, no dude en publicar su código aquí y "construiré una solución". 🙂
Atentamente
Fabian
hola fabián
Gracias por su señal de comentarios.
Aquí está el código 😀
LG fabián
[
{
“id”: “1c51458d.3afefa”,
“tipo”: “ds18b20”,
“z”: “57ba4cc7.5cb3f4”,
"Apellido": "",
“sensoride”: “28-03139779ce96”,
“temporizador”: “0,1”,
“x”: 170,
“y”: 760,
“cables”: [
[
“54a48697.1af1a8”
]
]
},
{
“identificación”: “54a48697.1af1a8”,
“tipo”: “calculadora”,
“z”: “57ba4cc7.5cb3f4”,
"Apellido": "",
“inputMsgField”: “carga útil”,
“outputMsgField”: “carga útil”,
“operación”: “suma”,
“constante”: “2,4”,
“redondo”: falso,
“decimales”: 0,
“x”: 370,
“y”: 760,
“cables”: [
[
“b8f5c9e0.476758”,
“14be39f2.c942c6”,
“5e74354.53e37cc”,
“3a997c58.458334”,
“9015895f.473e48”,
“b31c2c33.6dfc8”,
“e667a58a.f5bae8”
]
]
},
{
“identificación”: “b8f5c9e0.476758”,
“tipo”: “plantilla”,
“z”: “57ba4cc7.5cb3f4”,
“nombre”: “opciones”,
“campo”: “carga útil”,
“tipo de campo”: “mensaje”,
“formato”: “manillar”,
“sintaxis”: “bigote”,
“plantilla”: “{\”foo\”:\”bar\”}”,
“salida”: “cadena”,
“x”: 600,
“y”: 700,
“cables”: [
[
“ae2f45f6.fb9e48”
]
]
},
{
“identificación”: “14be39f2.c942c6”,
“tipo”: “función”,
“z”: “57ba4cc7.5cb3f4”,
"Apellido": "",
“func”: “if(msg.payload> 26.2) {msg.payload = false;}\nelse if (msg.payload< 24) {msg.payload = true;}\nreturn msg;",
"salidas": 1,
"nor": 0,
"inicializar": "",
"finalizar": "",
"x": 600,
"y": 460,
"cables": [
[
"9f7947ae.c38e68",
"29f32232.207e9e"
]
]
},
{
"id": "5e74354.53e37cc",
"tipo": "ui_gauge",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"grupo": "a22f56de.8c6458",
"orden": 6,
"ancho": 0,
"altura": 0,
"gtype": "tarifa",
"título": "Temperatura del agua.",
"etiqueta": "",
"formato": "{{valor| número:1}}°C",
"mínimo": 0,
"máximo": "50",
"colores": [
"#ff0000",
"#00ffe1",
"#ff0000"
],
"seg1": "23",
"seg2": "25",
"x": 610,
"y": 520,
"alambres": []
},
{
"id": "3a997c58.458334",
"tipo": "ui_gauge",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"grupo": "8bdfeaf5.0afa18",
"orden": 1,
"ancho": "5",
"altura": "5",
"gtype": "tarifa",
"título": "Temperatura del agua.",
"etiqueta": "",
"formato": "{{valor| número:1}}°C",
"mínimo": 0,
"máximo": "50",
"colores": [
"#ff0000",
"#00ffe1",
"#ff0000"
],
"seg1": "23",
"seg2": "25",
"x": 610,
"y": 560,
"alambres": []
},
{
"id": "9015895f.473e48",
"tipo": "ui_chart",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"grupo": "8bdfeaf5.0afa18",
"orden": 2,
"ancho": "7.8",
"altura": "5",
"label": "Historial de temperatura",
"tipo de gráfico": "línea",
"leyenda": "falsa",
"formatox": "HH:mm:ss",
"interpolar": "lineal",
"sin datos": "",
"punto": cierto,
"ymin": "23",
"ymax": "25",
"removeOlder": "1",
"removeOlderPoints": "",
"removeOlderUnit": "60",
"recorte": 0,
"usar un color": falso,
"usarUTC": falso,
"colores": [
"#00d9ff",
"#aec7e8",
"#ff7f0e",
"#00ff00",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"usar estilo antiguo": falso,
"salidas": 1,
"x": 630,
"y": 600,
"cables": [
[]
]
},
{
"id": "b31c2c33.6dfc8",
"tipo": "plantilla",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"campo": "carga útil",
"fieldType": "mensaje",
"formato": "manillar",
"sintaxis": "bigote",
"plantilla": "{\"Temperatura actual\":\"{{carga útil}}\"}",
"salida": "cadena",
"x": 600,
"y": 760,
"cables": [
[
"8241846e.2d9298"
]
]
},
{
"id": "e667a58a.f5bae8",
"tipo": "ui_chart",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"grupo": "be6d8af4.0031d8",
"orden": 2,
"ancho": "4",
"altura": "4",
"label": "Historial de temperatura",
"tipo de gráfico": "línea",
"leyenda": "falsa",
"formatox": "dd HH:mm",
"interpolar": "lineal",
"sin datos": "",
"punto": falso,
"ymin": "23.",
"ymax": "25",
"removeOlder": "1",
"removeOlderPoints": "",
"removeOlderUnit": "604800",
"recorte": 0,
"usar un color": verdadero,
"usarUTC": falso,
"colores": [
"#f702e3",
"#aec7e8",
"#ff7f0e",
"#00ff00",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"usar estilo antiguo": falso,
"salidas": 1,
"x": 630,
"y": 640,
"cables": [
[]
]
},
{
"id": "ae2f45f6.fb9e48",
"tipo": "json",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"propiedad": "carga útil",
"acción": "",
"bonita": falso,
"x": 750,
"y": 700,
"cables": [
[]
]
},
{
"id": "9f7947ae.c38e68",
"tipo": "ui_switch",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"etiqueta": "ventilación",
"información sobre herramientas": "",
"grupo": "84c4d91b.9ddaa8",
"orden": 4,
"ancho": 0,
"altura": 0,
"passthru": cierto,
"desacoplar": "falso",
"tema": "",
"estilo": "",
"onvalue": "falso",
"onvalueType": "bool",
"onicon": "",
"encolor": "",
"offvalue": "verdadero",
"offvalueType": "bool",
"oficon": "",
"fuera de color": "",
"x": 740,
"y": 320,
"cables": [
[
"97a8ff1f.f0019",
"8194db18.ab6cb8",
"c17fafae.c5817"
]
]
},
{
"id": "29f32232.207e9e",
"tipo": "retraso",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"pauseType": "retraso",
"tiempo de espera": "10",
"timeoutUnits": "segundos",
"tasa": "1",
"nbRateUnits": "1",
"rateUnits": "segundo",
"primero al azar": "1",
"último al azar": "5",
"unidades aleatorias": "segundos",
"gota": falso,
"x": 750,
"y": 280,
"cables": [
[
"97a8ff1f.f0019"
]
]
},
{
"id": "8241846e.2d9298",
"tipo": "json",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"propiedad": "carga útil",
"acción": "",
"bonita": falso,
"x": 750,
"y": 760,
"cables": [
[]
]
},
{
"id": "97a8ff1f.f0019",
"tipo": "salida rpi-gpio",
"z": "57ba4cc7.5cb3f4",
"nombre": "ventilación",
"alfiler": "37",
"colocar": "",
"nivel": "0",
"frecuencia": "",
"fuera fuera",
"x": 1180,
"y": 320,
"alambres": []
},
{
"id": "8194db18.ab6cb8",
"tipo": "plantilla",
"z": "57ba4cc7.5cb3f4",
"nombre": "opciones",
"campo": "carga útil",
"fieldType": "mensaje",
"formato": "manillar",
"sintaxis": "bigote",
"plantilla": "{\"foo\":\"bar\"}",
"salida": "cadena",
"x": 1040,
"y": 400,
"cables": [
[
"84dd1d88.e7b5d"
]
]
},
{
"id": "c17fafae.c5817",
"tipo": "cambiar",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"normas": [
{
"t": "cambiar",
"p": "carga útil",
"pt": "mensaje",
"de": "falso",
"desde": "bool",
"a": "verdadero",
"muerto": "booleano"
}
],
"acción": "",
"propiedad": "",
"de": "",
"a": "",
"registro": falso,
"x": 920,
"y": 460,
"cables": [
[
"d2cfcf2f.07f02"
]
]
},
{
"id": "84dd1d88.e7b5d",
"tipo": "json",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"propiedad": "carga útil",
"acción": "",
"bonita": falso,
"x": 1190,
"y": 400,
"cables": [
[]
]
},
{
"id": "d2cfcf2f.07f02",
"tipo": "desencadenantes",
"z": "57ba4cc7.5cb3f4",
"Apellido": "",
"op1": "",
"op2": "",
"op1type": "pagar",
"op2type": "pago",
"duración": "24",
"extender": falso,
"overrideDelay": falso,
"unidades": "hora",
"reiniciar": "",
"bytopic": "todos",
"tema": "tema",
"salidas": 1,
"x": 1140,
"y": 460,
"cables": [
[
"e08c20eb.589ed"
]
]
},
{
"id": "e08c20eb.589ed",
"tipo": "plantilla",
"z": "57ba4cc7.5cb3f4",
"nombre": "correo",
"campo": "carga útil",
"fieldType": "mensaje",
"formato": "manillar",
"sintaxis": "bigote",
"template": "Mensaje de advertencia\n\nEl acuario está demasiado caliente.\n\n¡Se ha activado la ventilación!\n\nSaludos\nSu servidor",
"salida": "cadena",
"x": 1310,
"y": 460,
"cables": [
[]
]
},
{
"id": "d80536f4.eb90a8",
"tipo": "comentario",
"z": "57ba4cc7.5cb3f4",
"nombre": "Homekit",
"información": "Homekit",
"x": 1300,
"y": 400,
"alambres": []
},
{
"id": "68db86f2.b08c58",
"tipo": "comentario",
"z": "57ba4cc7.5cb3f4",
"nombre": "Servidor de correo",
"información": "",
"x": 1420,
"y": 460,
"alambres": []
},
{
"id": "a22f56de.8c6458",
"tipo": "ui_group",
"nombre": "Acuario",
"pestaña": "2495f749.c25f58",
"orden": 4,
"disp": cierto,
"ancho": "4",
"colapso": falso
},
{
"id": "8bdfeaf5.0afa18",
"tipo": "ui_group",
"nombre": "Temperatura",
"pestaña": "99bb712a.2b3ca",
"orden": 3,
"disp": cierto,
"ancho": "12",
"colapso": falso
},
{
"id": "be6d8af4.0031d8",
"tipo": "ui_group",
"name": "Valores del agua",
"pestaña": "99bb712a.2b3ca",
"orden": 4,
"disp": cierto,
"ancho": "20",
"colapso": falso
},
{
"id": "84c4d91b.9ddaa8",
"tipo": "ui_group",
"nombre": "circuito",
"pestaña": "99bb712a.2b3ca",
"orden": 2,
"disp": cierto,
"ancho": "4",
"colapso": falso
},
{
"id": "2495f749.c25f58",
"tipo": "ui_tab",
"nombre": "Panel de control",
"icono": "panel de control",
"orden": 1,
"deshabilitado": falso,
"oculto": falso
},
{
"id": "99bb712a.2b3ca",
"tipo": "ui_tab",
"nombre": "Acuario",
"icono": "panel de control",
"orden": 4,
"deshabilitado": falso,
"oculto": falso
}
]
Hola Fabián,
fue capaz de importar su código. No eliminé nada y solo agregué la parte que debería traer la función. 🙂
Déjame saber si funcionó. 🙂
[{“id”:”ab28b311.e87e5″”,tipo”:”ds18b20″”,z”:”ba705cfb.7ee0a”,”nombre”:””,”sensorid”:”28-03139779ce96″”,temporizador” :”0.1″,”x”:130,”y”:2520,”wires”:[[“b044b02a.74e65”]]},{“id”:”b044b02a.74e65″”,type”:”calculadora” ”,z”:”ba705cfb.7ee0a”,”nombre”:””,”inputMsgField”:”carga útil”,”outputMsgField”:”carga útil”,”operación”:”suma”,”constante”:”2.4″, ”redondo”:falso”,decimales”:0”,x”:330”,y”:2520,”cables”:[[“7f3d76c9.23b358″”,”c6a9f213.d9fcb”,”dd6c569.7663ca8″”,”c3eb58f .778fda8″”,770f98ee.58c258″”,9cdd55d0.3bacf8″”,a40e44a0.15ea98″]]},{“id”:”7f3d76c9.23b358″”,type”:”plantilla”,”z”:”ba705cfb .7ee0a”,”nombre”:”opciones”,”campo”:”carga útil”,”tipo de campo”:”msg”,”formato”:”manillar”,”sintaxis”:”bigote”,”plantilla”:”{ \”foo\”:\”bar\”}”,”output”:”str”,”x”:560,”y”:2460,”wires”:[[“48dab8e0.ca9128”]]},{ “id”:”c6a9f213.d9fcb”,”tipo”:”función”,”z”:”ba705cfb.7ee0a”,”nombre”:””,”func”:”if(msg.payload> 26.2) \n {\n msg.payload = false;\n}\nelse si (msg.payload< 24) \n{\n msg.payload = true;\n}\nreturn msg;","outputs":1,"noerr":0,"x":560,"y":2220,"wires" :[["5b87956f.4ab73c","cac571b3.65e59","165cfc4f.46f004"]]},{"id":"dd6c569.7663ca8","type":"ui_gauge","z":"ba705cfb. 7ee0a","name":"","group":"2e9e95aa.f1c83a","order":6,"width":0,"height":0,"gtype":"gage","title": "Temperatura del agua","etiqueta":"","formato":"{{valor| numero:1}}°C","min":0,"max":"50","colores":["#ff0000","#00ffe1","#ff0000"],"seg1":"23"," seg2":"25","x":570,"y":2280,"cables":[]},{"id":"c3eb58f.778fda8","tipo":"ui_gauge","z": "ba705cfb.7ee0a","name":"","group":"92f6590a.a3d328","order":1,"width":"5","height":"5","gtype":" gage","title":"Temperatura del agua","label":"","format":"{{value| numero:1}}°C","min":0,"max":"50","colores":["#ff0000","#00ffe1","#ff0000"],"seg1":"23"," seg2":"25","x":570,"y":2320,"cables":[]},{"id":"770f98ee.58c258","tipo":"ui_chart","z": "ba705cfb.7ee0a","nombre":"","grupo":"92f6590a.a3d328","orden":2,"ancho":"7.8","alto":"5","etiqueta":" Curva de temperatura","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot" : verdadero,"ymin":"23","ymax":"25","removeOlder":"1","removeOlderPoints":"","removeOlderUnit":"60","cutout":0,"useOneColor " :falso,"useUTC":falso,"colores":["#00d9ff","#aec7e8","#ff7f0e","#00ff00","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5" ] ,"useOldStyle":false,"salidas":1,"x":590,"y":2360,"cables":[[]]},{"id":"9cdd55d0.3bacf8","tipo" : "template","z":"ba705cfb.7ee0a","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax": " bigote","plantilla":"{\"Temperatura actual\":\"{{carga útil}}\"}","salida":"str","x":560,"y":2520,"cables " :[["15301b09.d03 e65"]]},{"id":"a40e44a0.15ea98","tipo":"ui_chart","z":"ba705cfb.7ee0a","nombre":"","grupo":"bf0e6207.0ed3 ","orden":2","ancho":"4","alto":"4","label":"Progresión de temperatura","chartType":"línea","leyenda":"falso", "formatox":"dd HH:mm","interpolar":"lineal","nodatos":"","punto":falso,"ymin":"23.","ymax":"25"," removeOlder":"1","removeOlderPoints":"","removeOlderUnit":"604800","cutout":0,"useOneColor":true,"useUTC":false,"colors":["#f702e3"," #aec7e8", ,"#ff7f0e","#00ff00","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":falso,"salidas":1,"x":590, "y ":2400,"cables":[[]]},{"id":"48dab8e0.ca9128","tipo":"json","z":"ba705cfb.7ee0a","nombre":" ", "propiedad":"carga útil","acción":"","bonita":falso,"x":710,"y":2460,"cables":[[]]},{"id": "5b87956f .4ab73c","type":"ui_switch","z":"ba705cfb.7ee0a","name":"","label":"Ventilación","tooltip":"","group": "3cc5c223 .3f1a2e","orden":4,"ancho":0,"alto":0,"paso":verdadero,"desacoplar":"falso","tema":"","estilo":" ","onvalue":"falso","onva lueType":"bool","onicon":"","oncolor":"","offvalue":"true","offvalueType":"bool","officon":"","offcolor":"" ,"x":700,"y":2080,"cables":[["2fabb5e1.8db58a","8fda296a.f35b58","6bbb4798.295ab8"]]},{"id":"cac571b3.65e59" ","tipo":"retraso","z":"ba705cfb.7ee0a","nombre":"","pauseType":"retraso","tiempo de espera":"10","timeoutUnits":"segundos", "rate":"1","nbRateUnits":"1","rateUnits":"segundo","randomFirst":"1","randomLast":"5","randomUnits":"segundos","drop ":falso,"x":730,"y":2040,"cables":[["2fabb5e1.8db58a"]]},{"id":"15301b09.d03e65","tipo":"json", "z":"ba705cfb.7ee0a","nombre":"","propiedad":"carga útil","acción":"","bonita":falso,"x":710,"y":2520, "cables":[[]]},{"id":"2fabb5e1.8db58a","tipo":"salida rpi-gpio","z":"ba705cfb.7ee0a","nombre":"Ventilador", "pin":"37","establecer":"","nivel":"0","frecuencia":"","salida":"salida","x":1140,"y":2080, "cables":[]},{"id":"8fda296a.f35b58","tipo":"plantilla","z":"ba705cfb.7ee0a","nombre":"opciones","campo":" payload","fieldType":"msg","format":"handlebars","syntax":"bigote","template":"{\"foo\":\"bar\"}","out poner":"str","x":1000,"y":2160,"cables":[["f959d03a.784"]]},{"id":"6bbb4798.295ab8","tipo":" cambio","z":"ba705cfb.7ee0a","nombre":"","reglas":[{"t":"cambio","p":"carga útil","pt":"mensaje", "from":"false","fromt":"bool","to":"true","tot":"bool"}],"action":"","property":"","from ":"","a":"","reg":falso,"x":880,"y":2220,"cables":[["4e441bb9.ff4694"]]},{"id": "f959d03a.784","type":"json","z":"ba705cfb.7ee0a","name":"","property":"payload","action":"","pretty": false,"x":1150,"y":2160,"wires":[[]]},{"id":"4e441bb9.ff4694","type":"trigger","z":"ba705cfb. 7ee0a","op1":"","op2":"","op1type":"pay","op2type":"payl","duration":"24","extend":false,"units" :"hr","reset":"","bytopic":"all","name":"","x":1100,"y":2220,"wires":[["14531d47.88c793" ]]},{"id":"14531d47.88c793","tipo":"plantilla","z":"ba705cfb.7ee0a","nombre":"correo","campo":"carga útil"," fieldType":"msg","format":"manillar","syntax":"bigote","template":"Mensaje de advertencia\n\nEl acuario está demasiado caliente.\n\n¡Se ha activado la ventilación!\n\ nSaludos \nSu servidor","salida": "str","x":1270,"y":2220,"cables":[[]]},{"id":"5d57fc0f.2457f4","tipo":"comentario","z":" ba705cfb.7ee0a","nombre":"Homekit","info":"Homekit","x":1300,"y":2160,"cables":[]},{"id":"9db436ad.9af6b8 ","tipo":"comentario","z":"ba705cfb.7ee0a","nombre":"Servidor de correo","info":"","x":1420,"y":2220,"cables " :[]},{"id":"165cfc4f.46f004","tipo":"gatillo","z":"ba705cfb.7ee0a","op1":"falso","op2":"0" , "op1type":"str","op2type":"str","duration":"0","extend":false,"units":"ms","reset":"true","bytopic" : "todos","nombre":"falso","x":1070,"y":2280,"cables":[["14531d47.88c793"]]},{"id":"2e9e95aa.f1c83a" , "type":"ui_group","name":"Aquarium","tab":"2d9fb55d.7b096a","order":4,"disp":true,"width":"4","collapse" : false},{"id":"92f6590a.a3d328","type":"ui_group","name":"Temperature","tab":"e7ec43f.3af8fc","order":3,"disp" : true,"width":"12","collapse":false},{"id":"bf0e6207.0ed3","type":"ui_group","name":"Valores de agua","tab": "e7ec43f .3af8fc","order":4,"disp":true,"width":"20","collapse":false},{"id":"3cc5c223.3f1a2e","type":"ui_group "," Apellido ":"Circuito","tab":"e7ec43f.3af8fc","order":2,"disp":true,"width":"4","collapse":false},{"id":"2d9fb55d .7b096a","type":"ui_tab","name":"Control panel","icon":"dashboard","order":1,"disabled":false,"hidden":false},{" id ":"e7ec43f.3af8fc","type":"ui_tab","name":"Aquarium","icon":"dashboard","order":4,"disabled":false,"hidden":false } ] Saludos cordiales Fabián
Gracias 😀
Lo intentaré ahora mismo ;)
hola fabián
Lamentablemente no puedo pegar el código.
Te envié un correo electrónico
saludos
Fabian
¡Hola! Tal vez el nodo MJML también sea algo para ti.
https://flows.nodered.org/node/@vergissberlin/node-red-contrib-mjml
Con MJM L puedes diseñar correos electrónicos. La sintaxis MJM simplifica el proceso de diseño. Debido a la necesidad, siempre se crea específicamente para correos electrónicos.
hola andre,
gracias por la pista. Yo no sabía eso en absoluto. 🙂
Voy a echar un vistazo y probablemente. también un HowTo listo para hacerlo.
Gracias y saludos
Fabian