Usage Requirements/Limitations
- Scripts: currently only editable with the mouse (drag and drop); they don't work with android and similar
- Limited WLAN range (depending on distance, walls,...) - only 2.4 Ghz possible
- WPA3 rarely causes brief connection interruptions, so WPA2 is recommended on the router side
- During brewing, the temperature in the group may naturally fluctuate slightly and in the brewing boiler more strongly
- Depending on the (lack of) resistance of the ground coffee, brewing pressures cannot be achieved.
- Durch die Anlaufphase können Drücke u. U. erst später bzw. verzögert erreicht werden.
- Die Angleichung des Pumpendruckes erfolgt nicht immer gleichmäßig und das hängt von dem sich ändernden Widerstand des Kaffeemehls ab.
- Wi-Fi cannot be turned off at this time.
- Festwasseranschluß nicht möglich
- Manchmal zeigt der Browser einen alten Ihalt auf der Startseite an. Dann den Browsercache leeren (oder über ein privates Fenster auf die Maschine zugrreifen).
- Keine Zeitschaltuhr oder WLan-Steckdose nutzen
Wishes
- Timer for the WiFi function does not work correctly (WLAN is switched on again after a short time)
- The machine must be integrated into a WLAN. In AP mode (direct access), an (unnoticed) reset will take place at regular intervals during operation.
- Improved PID parameters for the pump
- Countdown 5 seconds before the end of brewing (discreet signal tone)
Instructions
Switches
The machine has 2 switches (technically: toggle switches), which can each be tilted in 2 directions. And then we differentiate between a short fold and a long fold–so the machine offers the user 8 functions.
The duration for 'long' is ~2 seconds and is signaled by a short tone when reached.

On/Off switch (left switch to right)–number 2 in the picture on the right
If you flip the on/off switch briefly, the machine starts with both boilers. If you flip the switch longer, only the brewing boiler starts, but not the steam boiler. This is sufficient for an espresso and you can save yourself the trouble of heating up the steam boiler. By the way, this switching on/off of the steam boiler also works during operation. Alternatively, you can do this via the start page of the web interface.
However, the switch has another useful function during a reference. If a brewing process is running and you flip the switch briefly, then it stops. If you flip the switch again briefly, the brewing will continue. For example, you can control a pre-infusion. If you see the first drops of coffee in the outlet of the portafilter, stop the brewing process, let the ground coffee swell for a few seconds and then continue the brewing process.
Switches 1, 3 and 4
These switches can be freely assigned with scripts. The stand assignment is as follows: Turning switch 4 to the right starts an espresso shot for the duration that is set in the web interface under the menu item 'Pump'. If you flip the switch longer, an 'endless' brewing process starts.
Homepage
The home of the Xenia is the Swiss army knife of the machine. It summarises some important functions for direct access and presents the necessary information clearly.

The 3 switches at the top center of the page turn the machine on and off (or set it to ECO mode).
Each switch has its own color, which lights up when the switch is active, so that the respective status can be recognised quickly. In addition, the text on the switches also changes so that the status of the machine is also made clear by the text.

The target temperature (slightly larger) and (slightly smaller) the actual temperature of the group are displayed at the top left under the heading 'Brew Group'. The target temperature changes color depending on the status.
Red means: the actual temperature is well below the target temperature. Green means everything is ok with the temperature. Between these two states there is the color orange. It indicates that the system is almost at the right temperature.
The states of the colors red and green are also displayed via the 2nd LED from the top in the front.
There are 2 more subtle switches with arrows in the field. These switches can be used to raise and lower the target temperature in 0.5 °C increments.
Mentioned for the sake of completeness: Above these switches there is an indication in %. It shows the percentage of power the brewing group is heated with. In the case of an installed power controller, only as much energy is 'requested' from the group as it needs to maintain the temperature precisely. The values here are usually well below 40%.

Rechts unter der Überschrift ‚Dampfboiler‘ wird der Soll- und der Ist-Druck des Dampfkessels angezeigt. Die Farben Rot und Grün zeigen wieder den Zustand des Dampfboilers an.
Über die 2 Schalter mit den Pfeilen, kann man den Solldruck anheben und senken.
Und rechts oben in der Box ist ein kleiner Umschalter. Mit ihm kann man den Dampfboiler aus- bzw. anschalten. Das geht übrigens auch über den Startschalter in der Front der Maschine. Legt man den Startschalter kurz nach rechts um, startet die Maschine mit Dampf- und mit Brühboiler. Legt man ihn lang um (bis zum Signalton), dann startet die Maschine ohne Dampfboiler. Das geht auch im laufenden Betrieb.

Scripts
Scripte der Xenia beschreiben auf einfache Weise einen Bezug. Im Prinzip schreibt man als Nutzer damit ein kleines Programm. Öffnet man diesen Menüpunkt, findet man erst einmal eine Liste der Scripte vor, kann Scripte anlegen, importieren, exportieren oder löschen.
Auch wenn das Erstellen von Scripten ziemlich einfach ist, muss man jedoch einen Befehl verstanden haben: den ‚Warten‘-Befehl. Und der wird nun an Hand von Beispielen erklärt.
Wenn man sich das rechts abgebildete Script anschaut, dann liesst sich das so:
- Das Bezugsventil (des Brühkessels) wird geöffnet.
- Dann steigert sich die Leistung der Pumpe über 10 Sekunden (=10 000 ms) von 0% (=Aus) auf 100% (volle Leistung)
- Und dann fällt die Pumpenleistung über 10 Sekunden auf 0 % ab (d.h. sie geht aus).
- dann werden alle Ventile geöffnet und die Gruppe wird entwässert. Der Bezug ist zu Ende.
Genau das passiert aber nicht.

Der Grund, warum beim Starten des Scripts (fast) garnichts passiert, ist dass nicht alle Befehle nacheinander abgearbeitet werden.
Bei der Programmierung haben wir den Script-Prozessor in die Lage versetzt, Befehle, die mit einer Zeitangabe zu tun haben, parallel zu dem Rest auszuführen. So haben wir recht viel Flexibilität von Beginn an im System, weil ein Befehl andere nicht blockieren kann.
Damit ist klar was passiert:
- Das Ventil wird geöffnet.
- Dann wird der Befehl „100% in 10 Sekunden“ in einem eigenen Prozess gestartet.
- Also springt das System zum nächsten Befehl :“0% in 10 Sekunden“ und startet auch diesen Befehl in einem eigenen Prozess.
- Und das System springt zum nächsten Befehl: „Entleeren & beenden“
- Und weil dann kein Befehl mehr kommt, wird der Bezug beendet (in dem Moment wo er begonnen hat).
Die Lösung ist aber sehr einfach. Wenn wir möchten, dass nichts parallel z.Bsp. zu „100% in 10 Sekunden“ ausgeführt wird, lassen wir das System einfach 10 Sekunden warten.

Mit dieser Erklärung Logik ist auch klar, wie ein richtiger Bezug definiert werden kann. Das hier ist im Prinzip das (unsichtbare) Script des Standardbezuges.
Anstieg auf 70% Leistung in 5 Sekunden
Nach 25 Sekunden beginnt der Abfall der Pumpenleistung auf 0% über 5 Sekunden.
Gesamtbezugszeit: 30 Sekunden (nicht 35 oder 40 Sekunden)


Scripte können übrigens über den Menüpunkt ‚Schalter‘ den Schaltern in der Front zugewiesen werden. Oder man führt sie über die Übersichtsseite der Scripte aus.
Am Abschluß sei der vollständigkeit halber noch eine Expertenfunktion erklärt:
Man kann ja Scripte den Schaltern zuweisen – ingesamt 6 Stück (der An/ausschalter kann nicht mit einem Script belegt werden). Wenn man ein Script gestartet hatm kann man im laufenden Bezug auf ein anderes Script wechseln, das auf einem anderen Schalter liegt. dazu muss man nur diesen Schalter betäigen und der Prozessor wechselt ansatzlos in dieses Script.
Wir wollen im Laufe der Zeit solche speziellen Scripte mit einer Beschreibung Ihrer Anwendung als Download zur Verfügung stellen.
Erst-Inbetriebnahme
Man füllt den Tank mit Wasser und hängt die 2 Schläuche in den Tank. Die schwarze Abtropfschale wird vorne/unten in die Maschine eingesetzt und nun wird den Siebträger mit dem 1er Sieb und dem schwarzen Blindsiebeinsatz in die Maschine eingespannt. Nun schließt man die Maschine an das Stromnetz an. Der Hauptschalter steht auf 1. Sollte die Maschine wider Erwarten jetzt starten, dann schaltet man sie an Schalter in der Front wieder aus um die folgenden Schritte einfacher zu gestalten (linker Schalte kurz nach rechts umlegen).
Nach kurzer Zeit wird sich die Maschine mit einem eigenen Netz melden, an dem man sich über die WiFi–Einstellungen anmelden kann. Das Bild zeigt wie es unter Windows aussieht.

Der Schlüssel ist Xenia.coffee
Nach der erfolgreichen Verbindung zum Router wird die Maschine das eigene Netz ausschalten und ist nur noch innerhalb des eigenen Netzes erreichbar.

Es öffnet sich die Anmeldeseite (oder man wird aufgefordert sie zu öffnen):

Und dann wählt man den Menüpunkt ‚Configure new IP‘, um eine Verbindung der Maschine zum Router herzustellen.

Nun wählt man seinen Router aus der Liste und gibt das Passwort des Routers ein.

Die Maschine stellt dann nach ein paar Sekunden die Verbindung her und zeigt die IP–Adresse der Maschine an.
Ein Hinweis: Probiert haben wir das mit Android und Windows. Unter Windows und iOS hakt das manchmal bei der ersten Einrichtung wegen eines Timeout – dann muss man sich nur erneut verbinden.
Und es gibt nach unserem Wissen ab und an Probleme mit WPA3. Das äußert sich in sporadischen Verbindungsabbrüchen. Die Maschine baut dann selber wieder die Verbindung auf.
Bekommt man keine IP–Adresse angezeigt, ist das nicht weiter schlimm, weil die Maschine auch einen Namen an den Router weitergibt: xenia.local oder ein Name beginnend mit esp:

The PC, das Mobiltelefon oder das Tablet kann dann wieder in das eigene Netz eingebunden werden (es ist ja noch mit dem Netz der Maschine verbunden). Jetzt kann man das Webinterface der Maschine über die IP–Adresse (oder: xenia.local) im Browser öffnen.

Dieser Schritt ist nicht für den 2-Kreiser der Xenia mit WLAN durchzuführen (weil diese maschien keine 2 Boiler hat):
Anschließend wählt man links im Menü den Menüpunkt ‚Brühboiler‘ und prüft, ob bei Wasserstand auf ‚Leer‘ steht.
Wenn nicht, dann bitte auf ‚leer‘ ändern auf ‚Speichern‘ klicken.

Nun stellt man über den Menüpunkt ‚Systrem‘ die Zeitzone ein und drückt auf den Schalter ‚Jetzt synchronisieren‘ und dann auf ‚Speichern‘:
Es kann bis zu 1 Stunde dauern bis die Synchronisation erfolgreich war und wir empfehlen nach 1 Stunde nachzuschauen, ob es geklappt hat. Wenn nicht, kann man auch die automatische Synchronisierung ausschalten, Datum und Uhrzeit manuell eingeben, auf ‚Speichern‘ klicken und dann sieht man rechts oben Datum und Uhrzeit. Am Anschluß schaltet man einfach die automatische Synchronisierung wieder an.

Spätestens jetzt muss man den Filterhalter mit dem 1er-Sieb einspannen. Vorher legt man aber noch den schwarzen Blindsiebeinsatz in das Sieb..
Dann kann man die Maschine über den linken Kippschalter (nach rechts kurz umlegen) starten. Sie wird anfangen den/die Boiler zu füllen.
Im Fall des Dualboiler beginnt die Füllung mit dem Brühboiler und dabei leuchtet die oberster und unterste Signalleuchte mit jeweils einem Signalton. Nach kurzer Zeit wird sich kurz ein Druck aufbauen (am rechten Manometer zu sehen) und dann wird etwas Wasser aus dem Auslauf links laufen und der Druck baut sich wieder ab.
Die Füllung der Boiler wird zwischenzeitlich auch für 1 Minute unterbrochen und nach einer kurzen Zeit fortgesetzt. Das hat damit zu tun, dass die Pumpen nach Herstellervorgaben nur eine festgelegte Zeit am Stück laufen dürfen und dann eine Pause benötigen.
Im Fall des Dualboilers: Insgesamt dauert das Befüllen der Boiler mit allen Pausen ca. 5 Minuten. Der Dampfboiler hat nach ca 8 Minuten Druck aufzubauen und die Brühgruppe ist nach ca. 12 Minuten fertig. Dann sind alle LEDs (mit Ausnahme der oberste LED) aus. Der 2-Kreiser ist schneller fertig.
Ist alles fertig, wird die Maschine automatisch aufheizen und ist nach einigen Minuten betriebsbereit. Nun startet man mit den rechten Schalter (nach rechts umlegen) einen Bezug gegen das eingespannte Blindsieb. Nach ca. 5 Sekunden beendet man den Bezug (Schalter nochmals umlegen). Jetzt spannt man den Siebträger aus und entnimmt den Blindsiebeinsatz.
Nun ist die Maschine einsatzbereit.
Und man sollte nach einigen Minuten noch die Empfindlichkeit des Tanksensors auf das eigene Wasser einstellen:
Hinweis zum ECO-Modus des Dualboilers: Man kann den ECO-Modus über das Webfrontend beenden (Schalter oben auf der Startseite) oder durch Umlegen des Einschalters. Dann kehrt die Maschine in den normalen Betriebsmodus zurück.
Hinweis zum Zugriff auf das Webfrontend: Der Webserver kann nur einen Zugriff verarbeiten. Deswegen nicht mit mehr als einem Browser oder Browserfenster zugreifen. Sollte es auf der 1. Seite keine Anzeige geben, dann mag ein privates Fenster (oder das Leeren des Browserchache helfen).

Userscripte zum Download

Import Skripte
Die Skripte können einzeln heruntergeladen werden und über den Menüpunkt ‚Skripts‘ importiert werden.
Über den Menüpunkt ‚Schalter‘ können die Skripte dann einem Schalter zugewiesen werden.
Blooming Espresso
Eine kurze Preinfusion gefolgt von einem 30 Sek. Blooming. Danach wird der Bezug mit stabilen 8 bar gezogen. Angelehnt an Pour Over Kaffees und ideal für hellere Röstungen.
Declining Espresso
Relativ schneller und starker Anstieg zu Beginn gefolgt von einem langsamen Druckabbau über die Zeit des Bezugs. Betont die Säurenoten und ist daher für dunkle Röstungen gut.
Full Pressure Profile
Kombiniert eine Preinfusion mit einem darauffolgenden langsam anziehenden und wieder abfallenden Bezug.
Preinfusion 8 Sek.
Simple Preinfusion um den Puck auf den darauffolgenden Bezug vorzubereiten (schon Teil des Scripts)
Bezug, aufgeteilt in 3 Schritte
lange Preinfusion mit abfallender Pumpenleistung am Ende des Bezugs
Firmware
Version 3.2 1.8
- Korrektur der Timerfelder, waren ohne Funktion
- geänderte Farben der Diagramme auf der 1. Seite
- größeres Zeitfenster für die Erstkonfiguration (für iOS und Windows reichten 80 Sekunden nicht)
- Sprachwahl: EN, DE, IT
- 3. Farbe (rot) für die Temperaturfelder auf der Übersichtsseite (zusätztlich zu orange, grün)
- Dampfboiler beliebig an/abschaltbar (linker Schalter, lange nach rechts bis zum Signalton umlegen)
- Erstbefüllung Kessel mit akustischem Signal
- Startseite Temperatur: Brühgruppe, Brühboiler, Dampfboiler direkt einstellbar (0,5- bzw. 0,1-Schritte)
- Maschine kann direkt über die Startseite in den ECO-Modus versetzt werden.
- Cappuccino-Modus entfernt (sinnlos für DB/DBL)
Startseite. Temperaturänderung der Brühgruppe wird 1:1 auf den Brühboiler übertragen (zentrale Verstellung beider Temperaturen)
Version 3.7 2.7
- ok – Bezug kann über den An/Ausschalter pausiert werden
- ok – Script:Sprung in ein anderes Script über Kippschalter in der Front
- ok – Scripte werden direkt ohne Schalterzuweisung in der Übersicht ausführbar
- ok – Ergänzung des Exports von Scripten: Export einzelner Scripte
- ok – Aufzeichnungsfunktion für Bezüge über Temperatur und Druck, Aufzeichnung bei Bezugsstart
- ok – Standard-Espresso (ohne Script) mit 70% Leistung (zur Geräuschreduzierung)
- ok – Bezüge werden erst ab 10 Sekunden gezählt.
- ok – Dampfboiler kann über das Webinterface an- und ausgeschaltet werden.
- ok – Deutsch (statt EN) als Standdardsprache – jetzt also ohne Nachladen der dt. Begriffe
- ok – Standardbezüge mit langsamen Pumpenstart (zur Geräuschreduzierung)
- ok – Standard-Espresso (ohne Script) mit 70% Leistung (zur Geräuschreduzierung)
- ok – akt. Signal Wassermengel im Tank
- ok – Scripte/Bezüge können über das Webinterface gestoppt werden.
- ok – schnellerer Seitenaufbau
Wichtig:
— Alle Dateien müssen hintereinander auf die Maschine geladen werden. Man darf die Uploadseite also nicht vorher verlassen.
— Und man muss diesmal in dieser Reihenfolge aufspielen:
- firmware.bin
- littlefs.bin
- baseboard.bin
BETA
Version 3.9 2.8
- Speichern-button auf der Timerseite aktiviert
- ausgeschalteter Dampfboiler bleibt nach Bezug inaktiv
- Timer: Bezeichner für ‚Dienstag‘ korrigiert.
Und man muss in dieser Reihenfolge aufspielen:
- firmware.bin
- littlefs.bin
- baseboard.bin
Hinweis: PID-Parameter Pumpe ändern auf:
P = 0,03
I = 0,0008
D = 10