Ankündigung

Einklappen
Keine Ankündigung bisher.

Terrarien-Automatisierung mit Homeassistant und Open-Ai

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Terrarien-Automatisierung mit Homeassistant und Open-Ai

    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:
    • 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
    2. Das Wetter für den Tag setzen. Ich habe die Wetterlagen «klar», «bewölkt», «kühl» und «regnerisch» umgesetzt. Je nach Wetterlage ändern sich Lichtkonfiguration, Temperatur- und Luftfeuchtigkeitsverlauf leicht zu den Basiswerten gemäss monatlichem Verlauf. Wenn es z.B. «klar» ist, wird die Soll-Temperatur für den Tag ein klein wenig höher, die Soll-Luftfeuchtigkeit ein klein wenig geringer und die Spots werden früher aktiviert. Das Wetter wird zirka 14 Tage im Voraus geplant.

    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
    Zurück bekomme ich gemäss Ai-Prompt beispielhaft die folgenden Informationen:
    • 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.»
    30 Minuten vor dem geplanten Sprühzeitpunkt mache ich dann erneut eine ähnliche Abfrage und lasse die Dauer des Sprühens nochmals vorher wenn notwendig anpassen.

    Ä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.»
    Dashboard
    Das Thema Dashboard – beziehungsweise welche Informationen man sehen möchte oder benötig – ist sehr individuell. Bei mir schaut das wie folgt aus.
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: forumsbeitrag.PNG
Ansichten: 76
Größe: 95,6 KB
ID: 1246821

    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 ;-)

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 20250410_072314.jpg Ansichten: 0 Größe: 88,0 KB ID: 1246820
    Angehängte Dateien
    Zuletzt geändert von snowshoe; 25.12.2025, 18:22.

  • #2
    Ich bin sehr beeindruckt von dieser sehr durchdachten Lösung. Leider schreibst du nicht, wie sie sich auf deine Geckos auswirkt! Kannst du, im Gegensatz zu früheren Tieren, einen Unterschied im Verhalten/in der Vitalität ausmachen?

    Kommentar


    • #3
      Es ist doch schön, wenn man zwei Hobbies so kombinieren kann. Das kann für Regionen mit starken Jahreszeiten durchaus einen signifikanten Benefit für die Pfleglinge haben. Für die derzeitigen Geckos ist es eher overkill, aber es sind Hobbies und es geht um Spaß für den Pfleger.
      In meinen Aquarien gibt es auch Wolkenflug und Gewitter. Den Fischen ist das völlig schnuppe. Mir gefällts.
      Kober? Ach der mit den Viechern!




      Kommentar


      • #4
        So ähnlich denke ich das auch.

        Kommentar


        • #5
          Einen Unterschied im Verhalten kann ich allenfalls bei der Wahl der Aufwärmpunkte feststellen. Klar gibt es Lieblingsplätze bei denen Wärme und je nach Bedürfnis auch viel oder wenig Sichtschutz zusammenkommen. Diese müssen jedoch durch die Steuerung nicht immer gleich gut sein. Es gibt durch die Wärme- und Luftfeuchtigkeitsanpassungen hier immer wieder Änderungen und nicht jeden Tag das identische Setting.
          Rivalitäten habe ich dadurch keine feststellen können, was aber auch an Hemidactylus imbricatus liegt. Gesonnt und gejagt wird ohnehin gerne auch im Rudel.
          Klar heisst das aber auch mehr Technik-Aufwand (= Kosten) durch 2 x Heimatten, 2 x HQI, 2 x Tageslicht usw.

          Kommentar


          • #6
            Okay, danke! Genau auf so etwas zielte meine Frage hin. Dann ist dein Setting für die Tiere und für dich sinnvoll, da es deine Hobbys verbindet und sicherlich bei noch komplexeren Arten als Hemidactylus imbricatus (ich halte die übrigens auch) sehr vorteilhaft sein kann.

            Kommentar

            Lädt...
            X