I would like to suggest an idea for a new plugin.
It is necessary to add the ability to issue notifications when a preset temperature is reached for a hot bed (and for a hot end - completely the same). In order not to get confused while talking about the temperature of the hot bed.
Next to the standard temperature control buttons on the "Control" tab, add one more button: "Signal". The button must have two states: "On" and "Off". The state is switched with a mouse click.
If the button is switched to the "On" state, tracking of the moment of reaching the temperature set in the interface (value from the interface) should be started. The signal is issued once when the set temperature is reached. When the preset temperature is reached, Octoprint should send for execution the command specified by the user in the settings, and the button should be set to “Off”.
In the plug-in settings, you must also provide for the user to set the temperature corresponding to the temperature of the "off" state. I suppose for her it is advisable to set the default value "30 degrees Celsius". The user can switch the heater to “off”, turn on the “Alarm” - and he will receive a notification about the moment when it will be possible to remove the part from the cooled table.
It was the idea itself, and now thoughts on implementation options:
The minimum option is the command M190 S value from the interface M300 S user setting P user setting. But this is a rather weak option.
It would be much better to keep track of the values that are received in the terminal from the printer. If at the moment of turning on the "Signal" button the current table temperature is lower than the set one (the user is heating the bed), then the signal must be issued when the temperature becomes equal to the value of the value from the interface or higher than it. If at the moment of turning on the "Signal" button the current temperature of the table is higher than the set one (the user is cooling the bed), then the signal must be issued when the temperature becomes equal to or less than the value from the interface.
And of course, it is advisable to execute a fully user-defined command.
It seems to me that such a plugin is not very difficult to implement. The interface is simple and intuitive, and the possibilities are very broad. I think the plugin will be popular with users.