I am in the process of convert my home heating and cooling system from an old system that was built on Picaxe chips and Basic programming into Arduino and MQTT (using Node-red of course !!)
Of course i have left this until Winter is almost upon us (in Australia) so the system needs to be operational whilst in transition.
I am gradually migrating functionality to the new system - ultimately all the main code will be in JS on Node-red and the Arduino will only perform I/O functions.
Part of the heating system enables the use of Solar to heat a water tank for hydronic heating, and this overrides the use of a boiler for the same purpose (so on a nice sunny day i prefer essentially free solar hot water for heating, than using a gas fired boiler)
This was all performed with convoluted logic that grew organically in the Picaxe system - i want this to get smarter in Node-red and intend to source external weather data in the longer term to establish whether i would get enough solar input on a given day to make it worthwhile rather than running the boiler.
Before i get to that level - i want a “manual” overide in Node-red - i can look out the window and see the weather for the day and then press a Node-red button that will inject an override code into a MQTT topic that the Arduino monitors.
I have all of that working - what i am looking for is a node that i can click on (call the node Manual Override - 4 hours) for instance, and this node will inject (say) a 1 into the MQTT topic, it will then countdown and after 4 hours will inject a 0 back into the same Topic to now put the system back into automatic mode.
ANyone know of a node i can use to do this ??