Die Möglichkeiten von Samovar lassen sich durch zusätzliche Module am I2C-Bus und durch zusätzliche Skripte erheblich erweitern:
PCF8575 — ein Port-Expander mit 16 digitalen Ports. Er wird in der Firmware mit der Zeile #define USE_EXPANDER 0x20 (Adresse des Moduls am Bus) aktiviert.
PCF8591 — ein Expander mit vier analogen Eingängen und einem analogen Ausgang. Er wird mit der Zeile #define USE_ANALOG_EXPANDER 0x48 aktiviert.
I2CStepper — eine Platine mit einem Schrittmotor für ein Rührwerk oder eine Dosierpumpe und vier Relais. Sie wird beim Start von Samovar automatisch erkannt.
Die Programmierung zusätzlicher Funktionen ist auf Basis der SkriptspracheLua umgesetzt. Die Lua-Unterstützung wird beim Erstellen der Firmware aktiviert: im Konfigurator mit dem Kontrollkästchen „Lua verwenden“ («Использовать Lua») (Abschnitt „Hardware“ («Оборудование»)); in PlatformIO mit der Umgebung Samovar_lua; bei einer manuellen Erstellung mit der Zeile #define USE_LUA in der Datei user_config_override.h. Der Skripteditor wird mit der Schaltfläche „Editor“ («Редактор») auf der Einstellungsseite geöffnet.
An den Port-Expander lassen sich beliebige Aktoren oder Taster (Sensoren, die als Taster arbeiten) anschließen, und Sie können selbst festlegen, was zu einem bestimmten Zeitpunkt während des Betriebs von Samovar geschehen soll.
Das Initialisierungsskript läuft beim Start von Samovar, danach läuft einmal pro Sekunde ein weiteres Skript. Im ersten können Sie die benötigten Geräte beschreiben, im zweiten ihr Verhalten. Es kann zum Beispiel die Temperatur oder den aktuellen Status von Samovar prüfen und/oder eine Pumpe ein- oder ausschalten, ein Ventil öffnen oder schließen oder ein zusätzliches Heizelement steuern.
Sie können Variablen im Speicher von Samovar ablegen, bis zu 10 Timer starten, den Betriebsstatus von Samovar abfragen, Rührwerk, Pumpe und Relais der I2CStepper-Platine steuern und HTTP-Anfragen senden. Sie können also zusätzliche Geräte anschließen und während des Betriebs von Samovar automatisch steuern.
Sie können prüfen, ob ein Sicherheitssensor ausgelöst hat, und in diesem Fall Samovar direkt aus dem Skript abschalten oder die Wasserzufuhr erhöhen bzw. stoppen. Es sind viele Szenarien möglich. Sie hängen von der konkreten Ausrüstung ab.
Die Grundfunktionen von Samovar ändern sich nicht.