Hallo zusammen. Ich habe nach 15 Jahren Abstinenz mit wenig Zeit vor zirka einem Jahr wieder mit der Terraristik angefangen. Es handelt sich um ein Halbwüstenterrarium (Grundfläche 80 x 50, Eigenbau mit Alu-Steck) mit Hemidactylus imbricatus (1,2).
Die Steuerung sollte so weit automatisiert werden, dass das natürliche Habitat abgebildet wird und wo immer möglich von alleine läuft. Auch war es wichtig, das Klima so weit unter Kontrolle zu haben, dass keine gefährlichen Situationen entstehen können. Mit der Zeit wurde das Projekt grösser und mittlerweile würde ich das Projekt auch eher Ki-unterstützte Klima-Simulation nennen.
Plattform
Die gesamte Steuerung läuft auf einer Synology-NAS mit Homeassistant. Homeassistant habe ich deshalb gewählt, da es in der Heimautomation eine breite Community hat und zusammen mit Pyscript sehr flexibel einsetzbar ist. In Pyscript ist auch das Projekt selber geschrieben.
Sensoren
Mir war es wichtig, dass dies kein Hardware-DIY-Projekt wird. Ich wollte hier alles von der Stange kaufen und nicht den Lötkolben schwingen. Temperatur und Luftfeuchtigkeit werden von mehreren «Aqara Temperatur- und Feuchtigkeitssensor T1» gemessen. Diese lassen sich auch gut mit Sand überdecken und vergraben, um z.B. die Temperatur direkt über den Heizmatten oder den Sonnenplätzen zu messen. Dann sind sie nicht mehr zu sehen. Dazu gibt es in der Kiste mit der Beregnungsanlage auch noch einen Aqara Wasserlecksensor und die Tür ist abgesichert mit einem Aqara Door & Window Sensor T1.
Schalter und Geräte
Auch die Schalter sind alle von der Stange gekauft. Ich schalte alle Geräte getrennt mit Philips Hue SmartPlug. Das sind dann 2 x LR Light Strip, 2 x LR Bright Sun HQI-Lampen, 2 x kleine Heizmatten, 1 x PC-Lüfter im Lichtkasten, 1 x Nachtlicht, 1 x Beregnungsanlage.
Prinzip der Steuerung
Kurz nach Mitternacht wird der anstehende Tag geplant. Das folgt immer dem gleichen Muster:
1. Konfiguration des Terrariums auslesen. Hier sind folgende Informationen hinterlegt:
3. Dann werden die Tagesverläufe von Temperatur und Luftfeuchtigkeit generiert.
4. Anschliessend findet die Planung der Licht-, Lüfter und der Sprühzeiten statt. Damit steht dann der Fahrplan für den nun anstehenden Tag fest.
5. Anschliessend gibt es noch eine automatische Mail zum Start des Tages mit allen relevanten Informationen.
Kontinuierlich prüft dann ein stetig laufendes Skript, ob eine Aktion gemäss Fahrplan geschehen soll, z.B. einen Spot anschalten. Alle Geräte kann ich in folgenden Modi laufen lassen:
Temperatursteuerung
Über jeder der beiden Heizmatten ist ein Temperatursensor im Sand platziert. Im Homeassistant habe ich die Temperatursteuerung über sogenannte Thermostate abgebildet. Die Thermostate fahren dann die um Mitternacht generierten Temperaturkurven für den Tag nach.
Gleichzeitig habe ich unter den Spots ebenfalls Temperatursensoren platziert. Als Sicherheitsmechanismus schalten die Temperatursensoren die Spots bei Überschreiten eines Schwellwertes ab. Gleichzeitig werden auch alle anderen Temperatursensoren auf Schwellenwerte überwacht und fahren Heizelemente im Notfall herunter. Die Schwellenwerte habe ich jedoch auf Grund der passenden Dimensionierung ;-) auch noch nie erreicht.
Sprühen und Luftfeuchtigkeit
Ich habe mich trotz Halbwüstenterrarium für eine Beregnungsanlage entschieden. Einfach auch deshalb, weil ich manchmal zwei oder drei Tage in folge nicht zu Hause bin. Die Beregnungsanlage hat zwei Düsen. Einerseits sprüht sie auf einen Stein zum Befeuchten und Erhöhen der Luftfeuchtigkeit, andererseits füllt sie ein kleines Wasserreservoir in einem Stein. Das Wasser im Wasserreservoir verdunstet im Regelfall im Laufe vom Tag.
Eine längere Zeit habe ich versucht, die Luftfeuchtigkeit über eine klassische Steuerung zu regulieren. Das hat nicht zuverlässig funktioniert, da das System an sich recht träge ist und auch sehr von den äusseren Einflüssen abhängig ist. Daher habe irgendwann entschieden hier Open-Ai entscheiden zu lassen.
Integration von Ki in die Steuerung
Insbesondere die Steuerung der Spühimpulse und Luftfeuchtigkeit hat sich als Herausforderung für die Steuerung erwiesen. Ich habe daher nach einer Weile den Schritt getan und die API von Open-AI integriert. Folgende Informationen übertrage ich an die API von Open-Ai.
Ähnliche Herausforderungen hatte ich bei den Wetterlagen. Zuerst habe ich diese per Zufall generieren lassen. Das ist dann jedoch teils sehr gesprungen. Auch hierfür habe ich dann eine Ki-Abfrage implementiert. Diese generiert das Wetter einmal in der Woche als Block für die kommenden Tage.
Zurück bekomme ich gemäss Ai-Prompt beispielhaft die folgenden Informationen:
Das Thema Dashboard – beziehungsweise welche Informationen man sehen möchte oder benötig – ist sehr individuell. Bei mir schaut das wie folgt aus.

Zusätzlich habe ich noch ein altes Tablett am Terrarium befestigt, bei dem man auch direkt vor Ort die Informationen ablesen kann.
Fazit
Alles Spielerei? Ich habe damit zwei Hobbys kombiniert. Mittlerweile sind einige Tausend Zeilen Code entstanden. Das Ganze war von Grund auf auch so konfigurierbar angelegt, dass ich nur mit einer Konfigurationserweiterung weitere Terrarien aus anderen Klimazonen und mit anderen Anforderungen der Bewohner dazunehmen kann. So habe ich beispielsweise auch ein Testterrarium in der Konfiguration, um Neuerungen oder Anpassungen direkt damit simulieren zu können, ohne direkt Lampen aus- und einzuschalten. Und vielleicht kommt ja noch später was dazu ;-)

Die Steuerung sollte so weit automatisiert werden, dass das natürliche Habitat abgebildet wird und wo immer möglich von alleine läuft. Auch war es wichtig, das Klima so weit unter Kontrolle zu haben, dass keine gefährlichen Situationen entstehen können. Mit der Zeit wurde das Projekt grösser und mittlerweile würde ich das Projekt auch eher Ki-unterstützte Klima-Simulation nennen.
Plattform
Die gesamte Steuerung läuft auf einer Synology-NAS mit Homeassistant. Homeassistant habe ich deshalb gewählt, da es in der Heimautomation eine breite Community hat und zusammen mit Pyscript sehr flexibel einsetzbar ist. In Pyscript ist auch das Projekt selber geschrieben.
Sensoren
Mir war es wichtig, dass dies kein Hardware-DIY-Projekt wird. Ich wollte hier alles von der Stange kaufen und nicht den Lötkolben schwingen. Temperatur und Luftfeuchtigkeit werden von mehreren «Aqara Temperatur- und Feuchtigkeitssensor T1» gemessen. Diese lassen sich auch gut mit Sand überdecken und vergraben, um z.B. die Temperatur direkt über den Heizmatten oder den Sonnenplätzen zu messen. Dann sind sie nicht mehr zu sehen. Dazu gibt es in der Kiste mit der Beregnungsanlage auch noch einen Aqara Wasserlecksensor und die Tür ist abgesichert mit einem Aqara Door & Window Sensor T1.
Schalter und Geräte
Auch die Schalter sind alle von der Stange gekauft. Ich schalte alle Geräte getrennt mit Philips Hue SmartPlug. Das sind dann 2 x LR Light Strip, 2 x LR Bright Sun HQI-Lampen, 2 x kleine Heizmatten, 1 x PC-Lüfter im Lichtkasten, 1 x Nachtlicht, 1 x Beregnungsanlage.
Prinzip der Steuerung
Kurz nach Mitternacht wird der anstehende Tag geplant. Das folgt immer dem gleichen Muster:
1. Konfiguration des Terrariums auslesen. Hier sind folgende Informationen hinterlegt:
- Strukturierte Textinformationen wie Beschreibung des Terrariums, Besatz, Habitat, Klimaprofil. Die Textinformationen sind ist vor allem für die Zusammenstellung der Promps für die automatischen Ki-Abfragen relevant.
- Sonnenauf- und Sonnenuntergangszeiten je Monat im Jahresverlauf
- Spot-Zeiten je Monat im Jahresverlauf
- Min-. und Max-Temperatur je Monat im Jahresverlauf
- Min-. und Max-Luftfeuchtigkeit je Monat im Jahresverlauf
- Klimaanpassungen für unterschiedliche Wetterlagen für Lichtkonfiguration, Temperatur- und Luftfeuchtigkeitsverlauf
3. Dann werden die Tagesverläufe von Temperatur und Luftfeuchtigkeit generiert.
4. Anschliessend findet die Planung der Licht-, Lüfter und der Sprühzeiten statt. Damit steht dann der Fahrplan für den nun anstehenden Tag fest.
5. Anschliessend gibt es noch eine automatische Mail zum Start des Tages mit allen relevanten Informationen.
Kontinuierlich prüft dann ein stetig laufendes Skript, ob eine Aktion gemäss Fahrplan geschehen soll, z.B. einen Spot anschalten. Alle Geräte kann ich in folgenden Modi laufen lassen:
- Automatisch gemäss generiertem Fahrplan
- Off
- On
Temperatursteuerung
Über jeder der beiden Heizmatten ist ein Temperatursensor im Sand platziert. Im Homeassistant habe ich die Temperatursteuerung über sogenannte Thermostate abgebildet. Die Thermostate fahren dann die um Mitternacht generierten Temperaturkurven für den Tag nach.
Gleichzeitig habe ich unter den Spots ebenfalls Temperatursensoren platziert. Als Sicherheitsmechanismus schalten die Temperatursensoren die Spots bei Überschreiten eines Schwellwertes ab. Gleichzeitig werden auch alle anderen Temperatursensoren auf Schwellenwerte überwacht und fahren Heizelemente im Notfall herunter. Die Schwellenwerte habe ich jedoch auf Grund der passenden Dimensionierung ;-) auch noch nie erreicht.
Sprühen und Luftfeuchtigkeit
Ich habe mich trotz Halbwüstenterrarium für eine Beregnungsanlage entschieden. Einfach auch deshalb, weil ich manchmal zwei oder drei Tage in folge nicht zu Hause bin. Die Beregnungsanlage hat zwei Düsen. Einerseits sprüht sie auf einen Stein zum Befeuchten und Erhöhen der Luftfeuchtigkeit, andererseits füllt sie ein kleines Wasserreservoir in einem Stein. Das Wasser im Wasserreservoir verdunstet im Regelfall im Laufe vom Tag.
Eine längere Zeit habe ich versucht, die Luftfeuchtigkeit über eine klassische Steuerung zu regulieren. Das hat nicht zuverlässig funktioniert, da das System an sich recht träge ist und auch sehr von den äusseren Einflüssen abhängig ist. Daher habe irgendwann entschieden hier Open-Ai entscheiden zu lassen.
Integration von Ki in die Steuerung
Insbesondere die Steuerung der Spühimpulse und Luftfeuchtigkeit hat sich als Herausforderung für die Steuerung erwiesen. Ich habe daher nach einer Weile den Schritt getan und die API von Open-AI integriert. Folgende Informationen übertrage ich an die API von Open-Ai.
- Generelle Anweisungen, welche Informationen ich von der Abfrage benötige und wie ich diese Informationen erwarte
- Beschreibung des Terrariums, Besatz, Habitat, Klimaprofil der Region gemäss Konfiguration
- Sprühzeiten und Sprüdauern der letzten Tage
- Temperatur- und Luftfeuchtigkeitsmessungen der letzten Tage
- Wetterlage und geplante Temperatur und Luftfeuchtigkeit für den kommenden Tag
- Sprühzeitpunkte und Dauern. Diese verarbeite ich dann direkt automatisch im Fahrplan zum Sprühen.
- Begründung. Z.B. «Die aktuelle Luftfeuchtigkeit am Hauptsensor liegt mit ca. 49 % nur leicht unter dem Zielwert von rund 51 %, die Tageskurve strebt aber ohnehin gegen Abend wieder nach oben. Frühere Sprühungen von 7–8 Sekunden haben die Feuchte moderat und kontrollierbar angehoben und sich innerhalb von 1–2 Stunden wieder eingependelt, ohne Staunässe zu erzeugen. Da das heutige und morgige Wetterprofil als kühl mit ohnehin leicht erhöhter Zielfeuchte eingestellt ist, reicht eine einmalige, kurze Abendberegnung aus. Eine zusätzliche Morgen- oder Tagspritze ist nicht nötig, weil die Werte bereits nahe am Ziel liegen und ein semi-arides Habitat keine dauerhaft hohe Feuchte verlangt. Der gewählte Zeitpunkt um 18:30 Uhr liegt nach dem Hauptbetriebszeitraum des Spots, sodass die erhöhte Feuchte vor allem die kühleren Ruhe- und Versteckbereiche unterstützt. Gleichzeitig bleibt genügend Zeit bis in die Nacht, damit die Luftfeuchtigkeit sich wieder in Richtung Modellkurve einpendelt. Durch die Begrenzung auf 8 Sekunden wird eine sanfte Korrektur ohne Risiko von Staunässe erreicht. Insgesamt folgt der Plan den bisherigen erfolgreichen Mustern und berücksichtigt das eher trockene, aber aktuell kühlere Wetterprofil.»
Ähnliche Herausforderungen hatte ich bei den Wetterlagen. Zuerst habe ich diese per Zufall generieren lassen. Das ist dann jedoch teils sehr gesprungen. Auch hierfür habe ich dann eine Ki-Abfrage implementiert. Diese generiert das Wetter einmal in der Woche als Block für die kommenden Tage.
Zurück bekomme ich gemäss Ai-Prompt beispielhaft die folgenden Informationen:
- Wetter der nächsten Tage
- Begründung. Z.B. «Ende Dezember liegt das Hochland von Pakistan klimatisch in der trockenen, eher kühlen Wintersaison – das spiegeln wir mit ein paar deutlich kühleren Tagen zu Beginn wider. Danach folgen zwei leicht bewölkte Tage, in denen sich das Terrarium langsam wieder in Richtung normaler Winterwerte stabilisiert. Anschliessend planen wir mehrere klare, trockene Tage mit viel Licht, wie es für das semi-aride Habitat typisch ist. Zu Monatswechsel simulieren wir noch einmal eine kurze kühlere Phase, damit die Tiere keine dauerhaft hohen Temperaturen im Winter haben. Darauf folgt ein gemässigter Übergang über einen bewölkten Tag zurück zu mehreren klaren Tagen. Insgesamt bleiben Luftfeuchte und Sprühbedarf moderat, ohne das semi-aride Grundklima zu verlassen.»
Das Thema Dashboard – beziehungsweise welche Informationen man sehen möchte oder benötig – ist sehr individuell. Bei mir schaut das wie folgt aus.
Zusätzlich habe ich noch ein altes Tablett am Terrarium befestigt, bei dem man auch direkt vor Ort die Informationen ablesen kann.
Fazit
Alles Spielerei? Ich habe damit zwei Hobbys kombiniert. Mittlerweile sind einige Tausend Zeilen Code entstanden. Das Ganze war von Grund auf auch so konfigurierbar angelegt, dass ich nur mit einer Konfigurationserweiterung weitere Terrarien aus anderen Klimazonen und mit anderen Anforderungen der Bewohner dazunehmen kann. So habe ich beispielsweise auch ein Testterrarium in der Konfiguration, um Neuerungen oder Anpassungen direkt damit simulieren zu können, ohne direkt Lampen aus- und einzuschalten. Und vielleicht kommt ja noch später was dazu ;-)
Kommentar