Un programa de extracción de Samovar es un conjunto de comandos de texto que describe el comportamiento del controlador a lo largo del tiempo. Cada línea indica una condición (temperatura del sensor, tiempo, volumen), una acción (encender o apagar la bomba, cambiar la velocidad, detener el proceso) y parámetros. Sintaxis: T(sensor) (operator) (value) → (action) (parameters). Ejemplo: T2 > 78.5 → PUMP ON 30% significa «cuando la temperatura del sensor 2 supere los 78,5°C, encender la bomba al 30 % de potencia». El programa se ejecuta de forma secuencial, con puntos de control: el controlador no pasa a la línea siguiente hasta que se cumple la condición. Esto permite separar con precisión las fracciones: cabezas (hasta 78°C), corazón (78–92°C), colas (por encima de 92°C). El programa se guarda en la memoria no volátil del ESP32 y sobrevive a un reinicio. Se puede editar a través de la interfaz web o con un script de Lua.
Qué es un programa de extracción para Samovar
Un programa de extracción son varias líneas. Cada línea describe qué debe hacer Samovar en un momento dado. El tiempo de ejecución de una línea lo determina el volumen de líquido que la bomba debe entregar a la velocidad fijada, o bien el tiempo.

El programa de extracción más sencillo podría verse así:
H;250;0.10;1;0.00;120
B;2500;1.00;2;0.00;150
T;250;0.10;3;0.00;160
¿Qué significan estas líneas? Veamos con más detalle la primera.
Hay que decirle a Samovar qué es exactamente lo que extrae en esta línea: cabezas, corazón o colas. El tipo de extracción lo indica la primera letra (latina): H, cabezas (Heads); B, corazón (Body); T, colas (Tail), y hay un tipo adicional más, P, pausa (Pause). En la primera línea extraemos cabezas.
El segundo parámetro, separado del tipo de extracción por un punto y coma, define qué volumen de líquido hay que extraer antes de pasar a la línea siguiente. En nuestro caso son 250 mililitros.
El tercer parámetro, tras el punto y coma, es la velocidad a la que Samovar debe extraer el volumen indicado, que para la primera línea del ejemplo es de 100 mililitros por hora, o 0,1 litros por hora.
El cuarto parámetro define el recipiente en el que se recogerá el líquido; en el ejemplo, el 1.
El quinto parámetro es la temperatura de extracción; por ahora no se usa y su valor no importa: póngalo a 0 por defecto para no equivocarse.
Y el sexto, último parámetro, define qué tensión debe fijar Samovar en el regulador mientras ejecuta esa línea concreta, 120 voltios.
Si abre la pestaña del programa en la pantalla principal, verá un campo de texto para introducir el programa, así como una pequeña chuleta que describe qué significa cada parámetro.
El tipo de programa Pausa merece una mención aparte. Al ejecutar una línea de tipo P, Samovar detiene la bomba y espera el tiempo indicado en esa línea. Todos los demás parámetros se ignoran, salvo el sexto: la tensión. La pausa se puede usar, por ejemplo, si hay que subir (o bajar) mucho la tensión del regulador. Como la caldera y la columna tienen bastante inercia, esto lleva tiempo. Cuánto esperar, tendrá que decidirlo usted mismo según su experiencia. Si fija una pausa más larga de lo necesario, puede pulsar simplemente el botón “Start take-off” (Iniciar extracción) y Samovar pasará a la línea siguiente. Si el tiempo no bastó, puede pulsar el botón “Pause” (Pausa) y Samovar pausará la bomba. Para continuar la extracción, tendrá que pulsar el botón “Continue take-off” (Continuar extracción). Así podría verse una línea del programa de extracción: esperar 120 segundos, fijar la tensión del regulador en 140 voltios:
P;120;0;0;0;140
Como ve, controlar Samovar con un programa no es nada difícil. Lo difícil es determinar qué volumen, a qué velocidad y en qué proporción extraer para sus condiciones concretas. Por supuesto, puede calcularlo todo usted mismo. Pero hay una forma más fácil.

En la pestaña “Program” (Programa) hay un botón “Calculate program” (Calcular programa); al pulsarlo se abre una página con una calculadora de programas, que contiene un ejemplo de cálculo de un programa a partir del volumen de flemas y su graduación. Para un cálculo preciso hay que fijar la graduación esperada a la salida de la columna. También puede fijar la proporción porcentual de cabezas y colas para sus flemas (depende del tipo de materia prima utilizada).

Cuando descargó de GitHub la carpeta con el sketch y las bibliotecas necesarias para que Samovar funcione, también descargó la carpeta tools. Esta carpeta contiene tres archivos (program_shugar.txt, program_grain.txt y program_fruit.txt) con plantillas para calcular programas de extracción para azúcar, fruta y grano. Estos cálculos se pueden usar tal cual, cargándolos con el botón “Load program” (Cargar programa), o ajustarlos como crea conveniente y guardarlos en otra carpeta para que los cambios no se sobrescriban al actualizar Samovar (botón “Save program”, Guardar programa).
¿Y si no quiere un programa de extracción y prefiere controlar Samovar usted mismo?
También es posible. Para ello puede fijar una sola línea de programa y ejecutarla. Por ejemplo, esta:
H;99999;0.10;1;0.00;120
En este caso Samovar ejecutará este programa hasta extraer 100 litros, y mientras lo hace, usted puede controlar los parámetros de extracción. Puede cambiar la velocidad de extracción y la tensión del regulador. El grupo de seguridad también funcionará.
