appélis.se

Hemautomation

Skorpan använder heyu 2.6.0 för X10-automation. heyu skickar och tar emot x10-kommandon via en  CM11A-modul. heyu tar emot X10- och Oregon-sensorer med USB-rfxcom. heyu hämtas från www.heyu.org, kompileras och installeras (ej dpkg)

/etc/heyu/x10.conf
TTY /dev/CM11A
TTY_AUX  /dev/rfxcom RFXCOM
TRANSCEIVE NONE
RFFORWARD ALL
RFXCOM_ENABLE  OREGON
#DISPLAY_RAW_RF NOISE
DISPLAY_RAW_RF ALL
:
HOUSECODE       F

Script
/usr/local/sbin/monitor.pl monitorerar ständigt händelser från heyu. Händelser sparas till databas och kan trigga tändning av lampor. Det körs även som cron-jobb varje minut för att släcka då ingen rörelse skett på bestämd tid.

/usr/local/sbin/x10-cmd-proxy.py lyssnar efter x10-kommandon från x10-webben, cron-jobb och x10-servleten. Proxyn behövs för att göra apparna medvetna om vad andra gör.

/usr/local/sbin/daylight.pl hämtar solens upp och nedgång från weatherunderground. Den används för att styra när lampor ska tändas vid rörelse.

/usr/local/sbin/clean_weather.pl arkiverar data från x10 i weather

/usr/local/sbin/clean_x10test.pl arkiverar data från x10_2 i weather

Crontab

#Tänd
#00 7  * * 1,2,3,4,5 tommy echo on A5,6|telnet localhost 8002;
00 6  * * 1,2,3,4 tommy echo on O3|telnet localhost 8002; echo off O5|telnet localhost 8002;
00 7  * * 1,2,3,4 tommy echo on O5|telnet localhost 8002;
45 18  * * * tommy echo on O4|telnet localhost 8002;

# Släck
00 23  * * * tommy echo off A1-2,4-6|telnet localhost 8002;
00 23  * * 0,1,2,3,4 tommy echo dim F2-4,6 22|telnet localhost 8002;
00 23  * * * tommy echo dim A3 22|telnet localhost 8002;
30 22  * * 0,1,2,3,4 tommy echo off O4|telnet localhost 8002;
30 23  * * 5,6 tommy echo off O4|telnet localhost 8002;

# periodisk x10
* *  * * * root /usr/local/sbin/x10-monitor.pl -s 2>/dev/null > /dev/null

# daylight
30 2  * * * tommy /usr/local/sbin/daylight.pl

# clean daily
00 00 * * * tommy mysql –batch -N -u x10 x10 -e ”DELETE FROM motion WHERE time<DATE_SUB(now(), INTERVAL 7 DAY)”
00 00 * * * tommy mysql –batch -N -u x10 x10 -e ”DELETE FROM control WHERE time<DATE_SUB(now(), INTERVAL 7 DAY)”
00 * * * * tommy mysql –batch -N -u x10 x10 -e ”DELETE FROM hardstate WHERE time<DATE_SUB(now(), INTERVAL 4 hour)”

30 04  * * * tommy /usr/bin/nice /usr/local/sbin/clean_weather.pl > /dev/null
00 04  * * * tommy /usr/bin/nice /usr/local/sbin/clean_x10test.pl > /dev/null