Добавил поддержку модуля PCF8575 - это расширитель на 16 портов, который подключается по I2C. А так же добавил скриптовый язык lua. По умолчанию они в скетче отключены.
На расширитель портов можно вешать любые исполнительные устройства или кнопки (датчики, которые работают как кнопки), и самому определить, что должно происходить в тот или иной момент при работе Самовара.
Инициализационный скрипт запускается при старте Самовара, а дальше раз в секунду запускается другой скрипт. В первом можно описать необходимые устройства, во втором описать их поведение. Например, в нем можно сделать проверку по температуре или текущему статусу Самовара, и, например, включить/выключить насос, или открыть/закрыть клапан, или управлять дополнительным тэном. Можно проверить, что не сработал датчик безопасности, а если сработал, то прямо из скрипта можно выключить Самовар, увеличить или остановить подачу воды. Сценариев может быть много. Определяются они конкретным оборудованием.
При этом базовый функционал Самовара не меняется.
Ниже пример скрипта, который можно написать прямо в редакторе в веб-интерфейсе, он будет выполняться раз в секунду и при достижении температуры в кубе 70 градусов начнет включать/выключать устройство, подключенное к первому порту расширителя, а так же писать об этом в UART и в консоль браузера
if TankTemp > 70 then
if exp_digitalRead(1) == 0 then
exp_digitalWrite(1,1)
print("Включено")
else
exp_digitalWrite(1,0)
print("Выключено")
end
end