-
Notifications
You must be signed in to change notification settings - Fork 0
/
flows.json
1 lines (1 loc) · 10.2 KB
/
flows.json
1
[{"id":"cad1e2646da772e2","type":"tab","label":"Riscalda soggiorno climatizzatore","disabled":false,"info":"","env":[]},{"id":"faf38060e8f54d89","type":"api-current-state","z":"cad1e2646da772e2","name":"Temperatura","server":"fafbe59a.ff0788","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.tado_smart_thermostat_ru2758104576_current_temperature","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":330,"y":540,"wires":[["679116a18590ec3c"]]},{"id":"993389208618feb0","type":"function","z":"cad1e2646da772e2","name":"function 3","func":"let currentMonth = new Date().getMonth() + 1; // +1 perché getMonth() restituisce mesi da 0 a 11\n\n// Verifica se il mese corrente è da ottobre (10) a marzo (3)\nif (currentMonth >= 10 || currentMonth <= 3) {\n // Se il mese corrente è ottobre, novembre, dicembre, gennaio, febbraio o marzo, passa il messaggio\n return msg;\n} else {\n // Altrimenti, non passare il messaggio (il condizionatore non deve essere acceso)\n return null; // Imposta questo a null per non far proseguire il flusso\n}\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":500,"wires":[["26b7815b87581d35"]]},{"id":"6615324dbc3655df","type":"inject","z":"cad1e2646da772e2","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"30","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":90,"y":400,"wires":[["00770166ae551e45","87a9cab66131ec71"]]},{"id":"00770166ae551e45","type":"api-current-state","z":"cad1e2646da772e2","name":"Produzione Pannelli","server":"fafbe59a.ff0788","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.solaredge_i1_dc_power","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"topic","propertyType":"msg","value":"produzione","valueType":"str"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":320,"y":380,"wires":[["ce8d71da00b78417"]]},{"id":"87a9cab66131ec71","type":"api-current-state","z":"cad1e2646da772e2","name":"Assorbimento Casa","server":"fafbe59a.ff0788","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.potenza_casa","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"topic","propertyType":"msg","value":"assorbimento","valueType":"str"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":310,"y":440,"wires":[["ce8d71da00b78417"]]},{"id":"ce8d71da00b78417","type":"join","z":"cad1e2646da772e2","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":510,"y":420,"wires":[["5a69e0233783a4d6","0749bf4249708f3b"]]},{"id":"5a69e0233783a4d6","type":"function","z":"cad1e2646da772e2","name":"Decisione","func":"// Converti i valori in ingresso in numeri\nconst produzioneSolare = parseFloat(msg.payload.produzione) || 0;\nconst consumoCasa = parseFloat(msg.payload.assorbimento) || 0;\n\n// Calcola la produzione extra in watt (W)\nconst produzioneExtra = produzioneSolare - consumoCasa;\n\n// Definisci le soglie di isteresi in watt (W)\nconst sogliaAccensione = 1800; // Soglia di produzione extra per accendere il condizionatore in W\nconst sogliaSpegnimento = 1600; // Soglia di produzione extra per spegnere il condizionatore in W\nconst deltaIsteresi = 600; // Margine di tolleranza in W per evitare accensioni/spegnimenti frequenti\n\n// Recupera l'ultimo stato salvato del condizionatore\nconst ultimoStatoCondizionatore = flow.get('ultimoStatoCondizionatore') || 'sconosciuto';\n\n// Applica la logica di isteresi\nlet comando;\nif (produzioneExtra >= sogliaAccensione + deltaIsteresi && ultimoStatoCondizionatore !== 'ON') {\n // Abbastanza produzione extra per accendere il condizionatore e non è già acceso\n comando = 'ON';\n flow.set('ultimoStatoCondizionatore', 'ON'); // Salva il nuovo stato\n} else if (produzioneExtra <= sogliaSpegnimento - deltaIsteresi && ultimoStatoCondizionatore !== 'OFF') {\n // Non abbastanza produzione extra, spegni il condizionatore e non è già spento\n comando = 'OFF';\n flow.set('ultimoStatoCondizionatore', 'OFF'); // Salva il nuovo stato\n}\n\n// Imposta il comando nel payload se è stato deciso\nif (comando) {\n msg.payload = comando;\n return msg;\n}\n\n// Se non è stato deciso nessun comando, non inviare nessun messaggio\nreturn null;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":420,"wires":[["60f1ddc42f62abcd","d6fce5a4142d4778"]]},{"id":"60f1ddc42f62abcd","type":"switch","z":"cad1e2646da772e2","name":"scelta del flusso","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"ON","vt":"str"},{"t":"eq","v":"OFF","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":120,"y":580,"wires":[["faf38060e8f54d89"],["073a7d5a295aa98b"]]},{"id":"679116a18590ec3c","type":"switch","z":"cad1e2646da772e2","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lte","v":"23","vt":"str"},{"t":"gt","v":"23","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":490,"y":540,"wires":[["993389208618feb0"],["073a7d5a295aa98b"]]},{"id":"cd461206749f238c","type":"api-call-service","z":"cad1e2646da772e2","name":"Accendi condizionatore","server":"fafbe59a.ff0788","version":5,"debugenabled":false,"domain":"media_player","service":"play_media","areaId":[],"deviceId":[],"entityId":["media_player.soggiorno"],"data":"{\t \"media_content_id\": \"accendi clima\",\t \"media_content_type\": \"custom\"\t}\t","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":330,"y":120,"wires":[[]]},{"id":"4b60a979e8c4dd35","type":"api-call-service","z":"cad1e2646da772e2","name":"Spegni condizionatore","server":"fafbe59a.ff0788","version":5,"debugenabled":false,"domain":"media_player","service":"play_media","areaId":[],"deviceId":[],"entityId":["media_player.soggiorno"],"data":"{\t \"media_content_id\": \"spegni il soggiorno\",\t \"media_content_type\": \"custom\"\t}\t","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":320,"y":180,"wires":[[]]},{"id":"f7fc5d4d7681229d","type":"inject","z":"cad1e2646da772e2","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":80,"y":120,"wires":[["cd461206749f238c"]]},{"id":"b77f57cedd665b89","type":"inject","z":"cad1e2646da772e2","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":80,"y":180,"wires":[["4b60a979e8c4dd35"]]},{"id":"073a7d5a295aa98b","type":"api-call-service","z":"cad1e2646da772e2","name":"Spegni condizionatore","server":"fafbe59a.ff0788","version":5,"debugenabled":false,"domain":"media_player","service":"play_media","areaId":[],"deviceId":[],"entityId":["media_player.soggiorno"],"data":"{\t \"media_content_id\": \"spegni il soggiorno\",\t \"media_content_type\": \"custom\"\t}\t","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":540,"y":700,"wires":[["41e2d1176a6b533e"]]},{"id":"26b7815b87581d35","type":"api-call-service","z":"cad1e2646da772e2","name":"Accendi condizionatore","server":"fafbe59a.ff0788","version":5,"debugenabled":false,"domain":"media_player","service":"play_media","areaId":[],"deviceId":[],"entityId":["media_player.soggiorno"],"data":"{\t \"media_content_id\": \"accendi clima\",\t \"media_content_type\": \"custom\"\t}\t","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":850,"y":500,"wires":[["65d21cdcc4382521"]]},{"id":"0749bf4249708f3b","type":"debug","z":"cad1e2646da772e2","name":"debug 1","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":610,"y":260,"wires":[]},{"id":"d6fce5a4142d4778","type":"debug","z":"cad1e2646da772e2","name":"debug 2","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":690,"y":340,"wires":[]},{"id":"65d21cdcc4382521","type":"api-call-service","z":"cad1e2646da772e2","name":"","server":"fafbe59a.ff0788","version":5,"debugenabled":false,"domain":"notify","service":"emanuele","areaId":[],"deviceId":[],"entityId":[],"data":"{\"message\":\"Il condizionatore è stato acceso\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1080,"y":500,"wires":[[]]},{"id":"41e2d1176a6b533e","type":"api-call-service","z":"cad1e2646da772e2","name":"","server":"fafbe59a.ff0788","version":5,"debugenabled":false,"domain":"notify","service":"emanuele","areaId":[],"deviceId":[],"entityId":[],"data":"{\"message\":\"Il condizionatore è stato spento\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":780,"y":700,"wires":[[]]},{"id":"fafbe59a.ff0788","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","enableGlobalContextStore":false}]