This terrarium is for a corn snake and can be used as a template for different terrariums. I mention on this page why I used different construction methods, but also what problems occurred and what I would improve next time.
Most of the products I use have a link, either to the manufacturer or where I bought this (Amazon/OBI).
for drilling and screwing.
for screws in T20.
to pre-drill for the screws, otherwise the OSB panels could crack (~3 mm)
to cut out the air openings.
I had a belt sander. This is used to grind the OSB boards outside (avoid splinters) and the edges (very sharp edges).
for the nails on the grids.
for cutting to size for the grids.
can help if you work alone (see pictures of building)
for the assembly adhesive.
because you have to measure something from time to time.
to cut the polystyrene and PU foam to size (inner wall). Here a styrofoam cutter/ hot wire cutter may be better.
a carpenter or mason's pencil is better visible through the thick lead than "normal" pencils.
eg a construction ruler for straight lines, I had simply taken 2 aluminium rods for this.
the big ones are best because of their relatively hard bristles, the small ones for corners that are difficult to reach. Both to apply the epoxy resin and for the tile adhesive, so I recommend cheap ones here, because you can throw them away afterwards.
because the epoxy resin can cause skin problems and allergic reactions, I strongly recommend to use gloves. Personally I had a rash on my arms and had to have a doctor prescribe me an ointment.
here I used (and almost used up) the Spax installation screws 4,5x60 150 pieces package. Reason: the screws are very long and hold well in the OSB boards, and I find Torx better than cross slot.
i used a few of these to fix the ventilation grills, because it is easier to fix with them than with screws and they are not exposed to any stress.
everything in 12mm thickness, back and sides in 2 parts, otherwise too big to transport by car and easier to assemble.
also called substructure batten. to reinforce the panel construction. The battens are 19 mm x 44 mm x 2500 mm and must be cut to:
to cover the ventilation slots. The linked one is well bendable, but strong enough so that the snake cannot escape. Cut the whole thing to about 2* 12 x 44 cm (preferably a little bit bigger at first and later cut off the excess).
the clear varnish is applied on the outside to protect the wood, e.g. from some moisture.
for thermal insulation and later still the interior construction. In 5 cm thickness for the sides for insulation, thicker for interior decoration.
is used for the interior construction and moulds and thus better holds the polystyrene pieces on the back wall. Depending on how the size of the terrarium and how detailed the interior should be.
stick the styrofoam to the wall, you need about 2 pieces. For this you need a cartridge gun (see tools).
forms the structure of the back wall, 5kg should be enough here - otherwise you can do the whole thing on 2 times.
about 5kg was used by me. This makes everything waterproof, both the floor and the tile adhesive. As an alternative for the floor there would also be liquid film.
e.g. play box sand is thrown on the not yet dried epoxy resin, this makes the wall nice and rough, so that the snake can climb well later.
here the upper rails are a bit lower, because the glass is lifted to the top. You need
is preferable instead of plexiglass in any case, because plexiglass discolors and can bend. It should be safety glass, in case it breaks. Esg Glas is a safety glass, which is very shock resistant and copes well with temperature changes (Source).4mm thick ESG glass (with polished edges) is used by me, too thick glasses could be too heavy for the glass guide.
The project was planned with Sketchup , also roughly how the lights are arranged later.
The size is 120 cm x 180 cm x 60cm (W x H x D), a larger width like 140 cm + would be better. These dimensions are much more than the minimum dimensions for a corn snake, but the animal really uses the whole space.
There are bars at the top and bottom to prevent the glass from being too heavy, otherwise it would not be easy to push it. If you use guide rails with rollers this should not be necessary.
The ceiling is recessed by 4 cm to hide the electronics later.
It is also important to check the electronics before the interior work.
The terrariums from Hoppe-Terrarienbau always look very good, there are certainly other good providers. In any case, you can get a lot of inspiration here.
is also called building protection mat, the linked fits very well in size with 125x80cm.
suction lifter glass insert & move
for soldering on the sensors.
for soldering of course...
for shrinking the heat shrinkable tubing
the one from lamp protection basket possibly a little small
I use them to protect the connection point directly at the sensor (even after 2 years I have not had a water problem because of this)
required quantity depends on whether you buy the temperature sensors with or without cable.
for so that one can protect the connection points, the sensor cables.
to screw on the ceramic socket.
to screw on the lamp protection baskets.
a 10 mm drill bit for the ceramic sockets.
is needed to install the kermaic socket, more can be found there in the manual
As lighting I currently have 3 lamps, 2 daylight lamps in different strengths and a heat spot. Previously, I had only a heat spot and a led, however, the plants have grown very poorly. The size and the location (light / dark) of the terrarium determine the required lighting.
2 pieces in 13W and 25W, so that the plants get enough light.
50w heat spot for heat development.
since the lamps can get quite warm, 3 pieces.
with this the single lamps can be time controlled, the usb connectors are used for the sensors.
of this one for each lamp, otherwise the snake can burn itself. The size depends on whether the lamps are installed at an angle or straight. For the daylight lamps I used the larger, round ones and for the spot the smaller, square one.
these are available with or without cable.
I used 8 pieces, even if that is exaggerated.
only one resistor is needed for this circuit, 4.7 - 10kOhm are possible for the DS18B29. I use 10kOhm
to connect the sensors to the board.
is used to measure the humidity, as an alternative there is still the DHT22 sensor, but this supplied me after 2 weeks no longer correct values.
this board can be used without programming knowledge and has Wlan directly on the board. Alternative would be a Wemos D1 (mini).
on it the sensors are linked with the board, is worthwhile itself very well for testing, since one can change simply. Later you could also solder the sensors to the board.
Red is3V3, black is GND.
The Violette Cable is connected to D3 and at the middle point of the DS18B20.
Blue is connected to D2 and SDA, Yellow to D1 and SLC of the HTU21D-F.
For the cables of the sensors I have drilled a large hole in the ceiling, very close to the rear wall.
As you can see on the circuit diagram, the DS18B20 sensors are connected in parallel, thereby saving much length of cable. These run all behind the Styrofoam and are protected at the soldering points by insulating tape. On the sensors themselves, I have a small heat shrink tube on each cable and another large one around the outside. It is important to test the sensors after the installation and before the interior removal if the sensors really work with the software because only then you can repair the wiring. Alternatively, you could also do the wiring behind the rear wall and would thus always have access.
Die Kabel der der niedrigen Lampe verläuft unterhalb des Styropors und geht dann durch ein Loch in der Decke. Hierfür musste ich das Kabel auseinander schneiden und hinterher wieder zusammenlöten.
Bei den Lampenschutzkörben habe ich eigene Schauben verwendet, da die mitgelieferten etwas klein sind, hier kann man auch evtl Löcher vorbohren da die Körbe erst nach dem Styropor und allem anderen Installiert wurden.
TODO Anleitung keramikfassung und Bild wie die Sensoren aussehen und das Loch
As software I use Sonoff-Tasmota.
Here you don't need to program anything, there is a web interface and a large community in case of problems.
Since the power strip is a so-called China product and sends a lot of data to their server (including Wlan passwords), it is not put into operation as described in the user manual, but another software is installed before.
You can find more information in this Heise Ct Article read.
To do this, you use the Tuya-Convert.
Prerequisite:
There are already a lot of tutorials about this, so I'll keep it short and only describe the version with the Raspberry Pi.
# git clone https://github.com/ct-Open-Source/tuya-convert
# cd tuya-convert
# ./install_prereq.sh
Wenn etwas nicht funktioniert hilft der Heise Ct Article.
Nach dem Flashen habe ich im Router eingestellt, dass dieses Gerät eine feste IP zugewiesen bekommt.
Danach kann man über die Weboberfläche (IP im Browser in die URL Zeile eingeben) das Gerät Updaten.
Hier muss dann auch die Software richtig eingestellt werden, mit diesem Template:
{“NAME”:”AOFO4AC4USB”,”GPIO”:[0,56,0,17,22,21,0,0,23,24,25,0,0],”FLAG”:0,”BASE”:18}
Installiert wird es über Configuration -> Configure Other -> im Template Feld.
Dann kann man das ganze Testen, bei mir war wie auf der Template Seite beschrieben, die USB Ports “invertiert” hierzu braucht man dann dieses Template:
{“NAME”:”AOFO4AC4USB”,”GPIO”:[0,56,0,17,22,21,0,0,23,24,33,0,0],”FLAG”:0,”BASE”:18}
Die anderen Einstellungen nehme ich später vor.
Dieses Board zu flashen ist wesentlich einfacher, da man hier Zugriff auf einen USB Port hat.
Jetzt ist man hier schon fertig, muss nach dem Schaltplan oben noch das Board mit dem Breadboard verbinden, Strom verbinden und kurz warten bis es gebootet ist. Dann kann man wieder die IP auf statisch stellen und die Weboberfläche öffnen.
Wenn die Software die Sensoren nicht automatisch erkannt hat, kann man das in Configuration -> Configure Module Einstellen.
Hier wählt man (die Zahl in den Klammern kann anders sein):
alle anderen Felder sollten auf None (0) stehen.
Durch Save wird das Board neu gestartet und jetzt sollten die Sensoren alle erkannt werden. Wenn dies nicht funktioniert muss man die Schaltung nochmal überprüfen.
Es gibt verschiedene Möglichkeiten das Licht zeit gesteuert zu schalten, zusätzlich kann man auch wie hier gezeigt, das Licht mit Sonnenaufgang/Sonnenuntergang steuern, wodurch das Tier auch einen Leichten Sommer-Winterrhythmus hat.
Ich Zeige eine Variante ohne weiter Software zu nutzen und wie man es mithilfe von Node-Red macht, welches zB mit Home Assistant als Docker Container läuft.
Diese Einstellung findet man in der Weboberfläche der Steckdose unter Configuration - Timer.Um Sunrise und Sunset richtig zu nutzen, muss man die eigene Position Einstellen, mehr Information in der Dokumentation unter Timer.
Mit Home Assitant kann man die Daten der Sensoren graphisch Darstellen und die Steckdosen zB mittels Node-Red ansteuern.
Hierfür benötigt man einen MQTT-Server und muss die SonOff/Tasmota Software richtig einstellen, dazu gibt es viele simple Tutorials im Internet.
Mein MQTT Server läuft wie auch Node-Red in einem Docker Container als Home Assistant Add-On.
Ich nutze Node-Red in Home Assistant, es gibt jedoch auch andere Möglichkeiten.
Die Zeiten werden über einen Big Timer eingestellt:
Der Switch erkennt ob der Timer An oder Aus ist.
Includes Current State wird erkannt ob die Lampe aktuell an oder aus ist und mit Call Service wir die Steckdose an- oder ausgeschaltet.
Die Daten der Sensoren können entweder über deren Weboberfläche angesehen werden, oder über eine Zusatzssoftware dargestellt werden. Wie man an den Werten schön sehen kann gibt es ein gutes Temperaturgefälle im Terrarium, wodurch die Schlange sich Ihre gewünschte Temperatur aussuchen kann.
Hier sind meine Sonoff MQTT Einstellungen und die dazu passenden Configuration.yaml Einträge für Home Assistant.
Sonoff MQTT Configuration
Topic: terrariumleiste
Full Topic: %prefix%/%topic%/
Configuration.yaml
switch:
– platform: mqtt
name: “terrariumoben”
command_topic: “cmnd/terrariumleiste/POWER2”
state_topic: “stat/terrariumleiste/POWER2”
availability_topic: “tele/terrariumleiste/LWT”
payload_available: “Online”
payload_not_available: “Offline”
payload_on: “ON”
payload_off: “OFF”
state_on: “ON”
state_off: “OFF”
retain: false
– platform: mqtt
name: “terrariumunten”
command_topic: “cmnd/terrariumleiste/POWER1”
state_topic: “stat/terrariumleiste/POWER1”
availability_topic: “tele/terrariumleiste/LWT”
payload_available: “Online”
payload_not_available: “Offline”
payload_on: “ON”
payload_off: “OFF”
state_on: “ON”
state_off: “OFF”
retain: false
– platform: mqtt
name: “terrariumspot”
command_topic: “cmnd/terrariumleiste/POWER3”
state_topic: “stat/terrariumleiste/POWER3”
availability_topic: “tele/terrariumleiste/LWT”
payload_available: “Online”
payload_not_available: “Offline”
payload_on: “ON”
payload_off: “OFF”
state_on: “ON”
state_off: “OFF”
retain: false
– platform: mqtt
name: “staubsauger”
command_topic: “cmnd/terrariumleiste/POWER4”
state_topic: “stat/terrariumleiste/POWER4”
availability_topic: “tele/terrariumleiste/LWT”
payload_available: “Online”
payload_not_available: “Offline”
payload_on: “ON”
payload_off: “OFF”
state_on: “ON”
state_off: “OFF”
retain: false
– platform: mqtt
name: “tadoundsensoren”
command_topic: “cmnd/terrariumleiste/POWER5”
state_topic: “stat/terrariumleiste/POWER5”
availability_topic: “tele/terrariumleiste/LWT”
payload_available: “Online”
payload_not_available: “Offline”
payload_on: “ON”
payload_off: “OFF”
state_on: “ON”
state_off: “OFF”
retain: false
Sonoff MQTT Configuration
Topic: sonofft
Full Topic: %prefix%/%topic%/
Configuration.yaml
sensor:
– platform: mqtt
name: “terrarium_s”
state_topic: “tele/sonofft/SENSOR”
value_template: ‘{{ value_json[“HTU21”][“Temperature”] }}’
unit_of_measurement: “°C”
qos: 1
– platform: mqtt
name: “terrarium_s_h”
state_topic: “tele/sonofft/SENSOR”
value_template: ‘{{ value_json[“HTU21”][“Humidity”] }}’
unit_of_measurement: “%”
qos: 1
– platform: mqtt
name: “terrarium_s_0”
state_topic: “tele/sonofft/SENSOR”
value_template: ‘{{ value_json[“DS18B20-1”][“Temperature”] }}’
unit_of_measurement: “°C”
qos: 1
– platform: mqtt
name: “terrarium_s_1”
state_topic: “tele/sonofft/SENSOR”
value_template: ‘{{ value_json[“DS18B20-2”][“Temperature”] }}’
unit_of_measurement: “°C”
qos: 1
– platform: mqtt
name: “terrarium_s_2”
state_topic: “tele/sonofft/SENSOR”
value_template: ‘{{ value_json[“DS18B20-3”][“Temperature”] }}’
unit_of_measurement: “°C”
qos: 1
– platform: mqtt
name: “terrarium_s_3”
state_topic: “tele/sonofft/SENSOR”
value_template: ‘{{ value_json[“DS18B20-4”][“Temperature”] }}’
unit_of_measurement: “°C”
qos: 1
– platform: mqtt
name: “terrarium_s_4”
state_topic: “tele/sonofft/SENSOR”
value_template: ‘{{ value_json[“DS18B20-5”][“Temperature”] }}’
unit_of_measurement: “°C”
qos: 1
– platform: mqtt
name: “terrarium_s_5”
state_topic: “tele/sonofft/SENSOR”
value_template: ‘{{ value_json[“DS18B20-6”][“Temperature”] }}’
unit_of_measurement: “°C”
qos: 1
– platform: mqtt
name: “terrarium_s_6”
state_topic: “tele/sonofft/SENSOR”
value_template: ‘{{ value_json[“DS18B20-7”][“Temperature”] }}’
unit_of_measurement: “°C”
qos: 1
The electronics was a fun and learning project, although it is very exaggerated for corn snakes, which are relatively undemanding, but still you can implement these possibilities for other animals or on a smaller scale very easily, even without programming skills.
For example, you could time a sprinkler system and additionally link it to the values of a humidity sensor or send notifications when a lamp breaks, or turn on an emergency heat lamp, this could prevent problems with very temperature sensitive animals....
Also deine Seite ist ja mal Klasse! Gefällt mir richtig gut, wie du alles genau beschrieben hast zum Terrabau, werde ich auf jeden Fall weiterempfehlen!
Habe eine Frage zur Steckdose/Software.
Mit deiner beschriebenen Software und Steckdose ist es möglich jede einzelne Steckdose nach Zeit zu schalten und so hoch und runter zu dimmen, wie man es selbst einstellt?
Gruß, Luca
Zeitschalten ist möglich, dimmen leider nicht. Ich kenne soweit auch keine Mehrfachsteckdose bei der dimmen Möglich ist.
Ich versuche die Helligkeit einfach so zu steuern, in dem Ich die Hellste Lampe Abends zuerst ausschalte und dann Schrittweise die anderen, dadurch wird es “langsam” dunkel.