NodeRed: Calcula el consumo de tu casa. Parte 2. Separa las señales por hora y guardalas en InfluxDB

NodeRed: Calcula el consumo de tu casa. Parte 2. Separa las señales por hora y guardalas en InfluxDB
En el capítulo de hoy te enseñamos cómo separar señales de energía por el bloque horario.
todo esto con Node Red, este video es la 2 parte del video como calcular el consumo de tu instalación
El código que hemos utilizado en las cajas de node red son:
var fecha = new Date(); var horas = fecha.getHours(); var diferenciahoraria = fecha.getTimezoneOffset()/60*(-1); if(diferenciahoraria==2){ verano= true; $hora_inicio_P1=13; $hora_inicio_P2=23; } else{ verano= false; $hora_inicio_P1=12; $hora_inicio_P2=22; } if(horas<$hora_inicio_P1 || horas >$hora_inicio_P2){ horarioP1=parseInt(msg.payload); horarioP2=0; } else{ horarioP1=0; horarioP2=parseInt(msg.payload); } var consumoP1 ={ payload: horarioP1 }; var consumoP2 ={ payload: horarioP2 }; return [consumoP1,consumoP2]
y en la segunda caja:
if(msg.payload>=0){ //IMPORTACION DE ENERGIA energia_importada=msg.payload; energia_exportada=0; } else{ energia_importada=0; energia_exportada=msg.payload*(-1); } var excedente ={ payload: energia_exportada }; var importar ={ payload: energia_importada }; return [excedente, importar];
Si sabes importar y exportar flows de nodered aqui te dejamos el flow completo:
[{"id":"afac1f23.fb6b1","type":"tab","label":"Discriminacion horaria","disabled":false,"info":""},{"id":"9e9854ff.e44f28","type":"mqtt in","z":"afac1f23.fb6b1","name":"","topic":"/energia/total","qos":"2","datatype":"auto","broker":"8c0d0ea.2879af","x":90,"y":260,"wires":[["1d6c5e2e.24a412","e12682a2.07ef4"]]},{"id":"e12682a2.07ef4","type":"debug","z":"afac1f23.fb6b1","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":470,"y":280,"wires":[]},{"id":"1fd7a377.21ba3d","type":"influxdb out","z":"afac1f23.fb6b1","influxdb":"9cf8af75.dedfd","name":"","measurement":"iota_lineaDistribuidora_P1","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":530,"y":40,"wires":[]},{"id":"5ea92bb8.b5d854","type":"influxdb out","z":"afac1f23.fb6b1","influxdb":"9cf8af75.dedfd","name":"","measurement":"iota_lineaDistribuidora_P2","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":450,"y":180,"wires":[]},{"id":"1d6c5e2e.24a412","type":"function","z":"afac1f23.fb6b1","name":"","func":"var fecha = new Date();\nvar horas = fecha.getHours();\nvar diferenciahoraria = fecha.getTimezoneOffset()/60*(-1);\n\n\nif(diferenciahoraria==2){\n verano= true;\n $hora_inicio_P1=13;\n $hora_inicio_P2=23;\n \n}\nelse{\n verano= false;\n $hora_inicio_P1=12;\n $hora_inicio_P2=22;\n \n}\n\nif(horas<$hora_inicio_P1 || horas >$hora_inicio_P2){\n horarioP1=parseInt(msg.payload);\n horarioP2=0;\n}\nelse{\n horarioP1=0;\n horarioP2=parseInt(msg.payload);\n}\n \n var consumoP1 ={ payload: horarioP1 };\n var consumoP2 ={ payload: horarioP2 };\n \n\n\nreturn [consumoP1,consumoP2]","outputs":2,"noerr":0,"initialize":"","finalize":"","x":120,"y":60,"wires":[["1fd7a377.21ba3d","4f49239a.bd7cdc"],["5ea92bb8.b5d854","3ecc2995.bb3e56"]]},{"id":"1612e567.0f88fb","type":"influxdb out","z":"afac1f23.fb6b1","influxdb":"9cf8af75.dedfd","name":"","measurement":"iota_lineaDistribuidora_P1_excedente","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":660,"y":80,"wires":[]},{"id":"a9a0533c.1d0d4","type":"influxdb out","z":"afac1f23.fb6b1","influxdb":"9cf8af75.dedfd","name":"","measurement":"iota_lineaDistribuidora_P1_importada","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":660,"y":120,"wires":[]},{"id":"4f49239a.bd7cdc","type":"function","z":"afac1f23.fb6b1","name":"","func":"if(msg.payload>=0){\n //IMPORTACION DE ENERGIA\n energia_importada=msg.payload;\n energia_exportada=0;\n \n}\nelse{\n energia_importada=0;\n energia_exportada=msg.payload*(-1);\n \n}\n \n var excedente ={ payload: energia_exportada };\n var importar ={ payload: energia_importada };\nreturn [excedente, importar];","outputs":2,"noerr":0,"initialize":"","finalize":"","x":330,"y":100,"wires":[["1612e567.0f88fb"],["a9a0533c.1d0d4"]]},{"id":"9cd144d8.8c5e68","type":"influxdb out","z":"afac1f23.fb6b1","influxdb":"9cf8af75.dedfd","name":"","measurement":"iota_lineaDistribuidora_P2_excedente","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":760,"y":220,"wires":[]},{"id":"6860124c.6968fc","type":"influxdb out","z":"afac1f23.fb6b1","influxdb":"9cf8af75.dedfd","name":"","measurement":"iota_lineaDistribuidora_P2_importada","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":760,"y":260,"wires":[]},{"id":"3ecc2995.bb3e56","type":"function","z":"afac1f23.fb6b1","name":"","func":"if(msg.payload>=0){\n //IMPORTACION DE ENERGIA\n energia_importada=msg.payload;\n energia_exportada=0;\n \n}\nelse{\n energia_importada=0;\n energia_exportada=msg.payload*(-1);\n \n}\n \n var excedente ={ payload: energia_exportada };\n var importar ={ payload: energia_importada };\nreturn [excedente, importar];","outputs":2,"noerr":0,"initialize":"","finalize":"","x":430,"y":240,"wires":[["9cd144d8.8c5e68"],["6860124c.6968fc"]]},{"id":"8c0d0ea.2879af","type":"mqtt-broker","name":"","broker":"192.168.1.16","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"9cf8af75.dedfd","type":"influxdb","hostname":"raspberry.local","port":"8086","protocol":"http","database":"MiCasa","name":"Conexion BBDD","usetls":false,"tls":"","influxdbVersion":"1.x","url":"http://localhost:8086","rejectUnauthorized":true}]
Aquí tenéis la lista de los componentes necesarios para montar tu propia instalación:
¡También te pueden interesar estos otros vídeos!
Instala el software en la raspberry
Una introducción a NodeRed
creo que el calculo de las discriminación horaria esta mal porque el horas >$hora_inicio_P2 tiene que ser horas >=$hora_inicio_P2
gracias
Hola, como este flow ya se queda obsoleto, no podrías hacer un tutorial para la nueva tarifa eléctrica. Creo que lo vi pero no lo puedo encontrar. Muchas gracias.
NodeRed: Calcula el consumo de tu casa. Parte 2. Separa las señales por hora y guardalas en InfluxDB – Domótica Solar
lgzjdroor http://www.gv86g15tb1u24x2tnuo727wf8i3f241is.org/
[url=http://www.gv86g15tb1u24x2tnuo727wf8i3f241is.org/]ulgzjdroor[/url]
algzjdroor