附加功能可以借助 Lua 以及通过 I2C 连接的 PCF8575/PCF8591 扩展器来实现。启用 Lua 的方法有:PlatformIO 中单独的 Samovar_lua 构建环境、配置器“设备”(«Оборудование»)选项卡上的“使用 Lua”(«Использовать Lua»)复选框,或 user_config_override.h 中的 #define USE_LUA 指令;扩展器也在同一处用 USE_EXPANDER 和 USE_ANALOG_EXPANDER 指令启用(在配置器中为“PCF8575 扩展器地址”(«Адрес расширителя PCF8575»)和“PCF8591 扩展器地址”(«Адрес расширителя PCF8591»)字段)。
附加功能的编程基于脚本语言 Lua。脚本编辑器位于“设置 – 编辑器”页面(“设置”(«Настройки»)–“编辑器”(«Редактор»))。
端口扩展器上可以连接任意执行机构或按钮(以按钮方式工作的传感器),并由您自己决定在 Samovar 运行的某一时刻应当发生什么。
Lua 初始化时运行 init.lua 文件。Samovar 工作期间,通用的 script.lua 和设置中选定的模式脚本大约每秒运行一次。可以在网页界面的文件编辑器中修改它们。
可以在 Samovar 内存中保存变量、运行最多 10 个定时器、获取 Samovar 的运行状态等等。也就是说,可以连接附加设备,并在 Samovar 工作时自动控制它们
可以检查安全传感器是否触发,如果触发,直接从脚本关闭 Samovar,或者加大、停止供水。可能的方案很多,取决于具体的设备。
Samovar 的基本功能不会改变。
脚本可以使用开发板的一个模拟输入——LUA_PIN(ESP32 DevKit 为 GPIO34,ESP32-S3 为 GPIO4),通过 analogRead() 函数读取。
Samovar 7.00: 在
奶酪制作模式下,该输入由 pH 传感器占用,从脚本访问它会报错。继电器、泵和按钮的输出不能从脚本切换——只能通过端口扩展器或 Samovar 的标准功能。