Proszę o pomoc, utworzyłem automatyzację do uruchomienia ogrzewania klimatyzatorem domku na działce w node-red. Mam jednak problem ponieważ moje wypociny ponawiają komendy. Ja chciałbym aby wysłany rozkaz załączył klimatyzację i po osiągnięciu się wyłączył, sprawdza temperaturę co 5 minut, i niestety wysyła daną rozkaz również co 5 minut co powoduje że klimatyzator wydaje dźwięki, ponadto przy zmianie temperatury z sensora również jest dźwięk.
Proszę o pomoc jak pominąć wysyłanie call-service podczas zmiany temperatury aż do uzyskania maksymalnej lub minimalnej. Inne automatyzacje mi nie przeszkadzają ponieważ przełączniki sonof nie wydają żadnych dźwięków.
Niestety w rotenso można wyłączyć dźwięk ale działa to tylko na pilota.
Wysyłanie poprzez lan niestety sygnalizuje
flow w załączniku
[{"id":"4abe6e16f771fdcb","type":"comment","z":"59341062864472e0","name":"Automatyzacja klimatyzacji w sypialni","info":"","x":230,"y":440,"wires":[]},{"id":"39269c6f222a708e","type":"function","z":"59341062864472e0","name":"Warunki temperaturowe","func":"var pom = parseFloat(msg.payload);\nvar zad = parseFloat(msg.oczekiwana);\nvar hist = parseFloat(msg.histereza) || parseFloat(2);\nvar min = zad - hist; // || parseFloat(2);\n//var wind = msg.windows || false;\nmsg.histereza = hist;\n////if (wind){\nif ((pom < zad) && (pom >= min)) {\n\n node.status({ fill: \"blue\", shape: \"dot\", text: \"W zakresie temperatury\" });\n return [null, msg, null];\n\n}\nelse {\n if (pom >= zad) {\n\n node.status({ fill: \"green\", shape: \"dot\", text: \"Temperatura osiągnięta\" });\n return [null, null, msg];\n\n }\n if (pom < min) {\n node.status({ fill: \"red\", shape: \"dot\", text: \"Trwa ogrzewanie sypialni\" });\n return [msg, null, null];\n\n }\n}\n\nreturn [null, null, null];","outputs":3,"noerr":0,"initialize":"","finalize":"","libs":[],"x":890,"y":80,"wires":[["0490b4d830c4ed56"],["89fcba1a7b982118"],["740238d913bb07c9"]]},{"id":"e4cdbd25da6975d6","type":"change","z":"59341062864472e0","name":"Histereza w 2°C","rules":[{"t":"set","p":"histereza","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":80,"wires":[["39269c6f222a708e"]]},{"id":"b8bc26d8429448a5","type":"comment","z":"59341062864472e0","name":"Klimatyzacja włączy ogrzewanie przy temperaturze niższej o 2 stopnie od ustawionej po soiągnięciu temperatury zostanie wyłączona","info":"","x":520,"y":380,"wires":[]},{"id":"0490b4d830c4ed56","type":"api-call-service","z":"59341062864472e0","name":"Włącz ogrzewanie","server":"55bcb0b1.5b942","version":5,"debugenabled":true,"domain":"climate","service":"set_hvac_mode","areaId":["sypialnia"],"deviceId":["000bcb9d7a4fa163dc39aa2d8f34c591"],"entityId":["climate.35184372096891_climate"],"data":"{ \"hvac_mode\": \"heat\"}","dataType":"json","mergeContext":"","mustacheAltTags":true,"outputProperties":[],"queue":"all","output_location":"","output_location_type":"none","x":1110,"y":20,"wires":[[]]},{"id":"740238d913bb07c9","type":"api-call-service","z":"59341062864472e0","name":"Wyłącz ogrzewanie","server":"55bcb0b1.5b942","version":5,"debugenabled":true,"domain":"climate","service":"set_hvac_mode","areaId":["sypialnia"],"deviceId":["000bcb9d7a4fa163dc39aa2d8f34c591"],"entityId":["climate.35184372096891_climate"],"data":"{ \"hvac_mode\": \"off\"}","dataType":"json","mergeContext":"","mustacheAltTags":true,"outputProperties":[],"queue":"all","output_location":"","output_location_type":"none","x":1090,"y":160,"wires":[[]]},{"id":"89fcba1a7b982118","type":"debug","z":"59341062864472e0","name":"debug 8","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1400,"y":80,"wires":[]},{"id":"0d8d7bf32347a5a2","type":"server-state-changed","z":"59341062864472e0","name":"Aktualna w sypialni","server":"55bcb0b1.5b942","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.temp_w_sypialni_zigbee_temperature","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":210,"y":60,"wires":[["bd980fabd75122d0"]]},{"id":"bd980fabd75122d0","type":"api-current-state","z":"59341062864472e0","name":"Zadana","server":"55bcb0b1.5b942","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_number.temperatura_zadana_sypialnia","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"oczekiwana","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":440,"y":80,"wires":[["e4cdbd25da6975d6"]]},{"id":"e79fb2b19618accc","type":"inject","z":"59341062864472e0","name":"Odświeżanie","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"7200","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":220,"y":180,"wires":[["bd980fabd75122d0"]]},{"id":"55bcb0b1.5b942","type":"server","name":"HA OS","version":4,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"numeric","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m"}]