I’m kind of a control freak when it comes to my servers, lately the temperatures in Sweden reaches well above 30 degrees celsius and i need to get a warning in case the temp goes below 23 or above 26.
I use the following setup, it does a lot more than just temperature control like sending SMS when ever the magnetic lock gets activated on non-office-hours and sends an email with a picture of the person entering.
- RFXtrx433XL USB-controller
for sending and receiving signals wireless over the 433Mhz band. - Telldus Thermo/Hygro sensor
433Mhz Thermometer - Raspberry PI 4B, 4GB
Get Raspbian on your SD-Card and then use the following guide to install Domoticz:
https://www.domoticz.com/wiki/Raspberry_Pi
Create a LUA script
In the Domoticz menu, head over to:
Setup -> More Options -> Events
Select new LUA script and choose DEVICE as trigger.
This is my first ever LUA script, there are probably better ways of doing this but it works for now.
-- Warn on warm or cold temperature in Serverskåp 1 local kallt = 23 local varmt = 26 commandArray = {} -- loop through all the changed devices for deviceName,deviceValue in pairs(devicechanged) do if (deviceName == 'Serverskåp 1_Temperature') then print("*** Serverskåp1 Temp ("..tostring(deviceValue)..")" ) if deviceValue < kallt then print("*** Serverskåp1 Temp LOW! ("..tostring(deviceValue)..")" ) -- os.execute ('/bin/echo "Serverskåp1 Temp! ('..tostring(deviceValue)..')" | /usr/bin/mail -s "[Warn] Serverskåp1 Låg Temp" root') os.execute ("/usr/bin/curl 'http://sms.asbra.lan/index.php?phone=%2B46720437670&message=Temp+Low+"..tostring(deviceValue).."' &> /dev/null") elseif deviceValue > varmt then print("*** Serverskåp Temp HIGH!("..tostring(deviceValue)..")") -- os.execute ('/bin/echo "Serverskåp1 Temp! ('..tostring(deviceValue)..')" | /usr/bin/mail -s "[Warn] Serverskåp1 Låg Temp" root') os.execute ("/usr/bin/curl 'http://sms.asbra.lan/index.php?phone=%2B46720437670&message=Temp+High+"..tostring(deviceValue).."' &> /dev/null") end end end return commandArray