Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
parnu_elamine:smarthome.server

Installation

apt-get install php5 php5-cli
apt-get install vim
apt-get install rrdtool
apt-get install screen
apt-get install python
apt-get install mercurial
apt-get install git
apt-get install imagemagick
apt-get install fonts-tlwg-sawasdee
apt-get install lirc
apt-get install php5-mysql mysql-server mysql-client
apt-get install python-mysqldb
apt-get install sqlite php5-sqlite python-pysqlite2
apt-get install build-essential python-pip python-dev python-smbus git
apt-get install sendmail

Set up my smarthome environment

cd /srv
sudo hg clone https://renebe@bitbucket.org/renebe/smarthome/
cd /srv/smarthome/config
ln -s ../1wire/configs/ 1wire
# fix configuration
cd /srv/smarthome/config
cp conf.php-dist conf.php
vi conf.php
cp 1wire/owfs_temperature.py-dist 1wire/owfs_temperature.py

configuration

# configure apache

vi /etc/apache2/sites-enabled/000-default 
<VirtualHost *:8080>
    ServerAdmin smarthome@rene.ee

    DocumentRoot /srv/smarthome/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /srv/smarthome/www>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/etc/init.d/apache2 restart

# add ssh keys

vi .ssh/authorized_keys

# fix aliases & bashrc

vim ~/.bashrc
alias l='ls -la'
alias vi=vim
alias 1wire='python /srv/smarthome/1wire/temperature_owfs.py'
alias generate_graphs='php /srv/smarthome/1wire/scripts/draw_graphs.php'

alias t01='printf "sauna (28.FF24983E0400): ";cat /mnt/1wire/28.FF24983E0400/temperature; echo ""'
alias t02='printf "sauna boiler (28.FF959C3C0400): ";cat /mnt/1wire/28.FF959C3C0400/temperature; echo ""'
alias t03='printf "server room (28.FFAB583A0400): ";cat /mnt/1wire/28.FFAB583A0400/temperature; echo ""'
alias t04='printf "outside (28.FF1D983E0400): ";cat /mnt/1wire/28.FF1D983E0400/temperature; echo ""'
alias t05='printf "livingroom (28.FFC4583A0400): ";cat /mnt/1wire/28.FFC4583A0400/temperature; echo ""'
alias ttt='t01;t02;t03;t04;t05'

cd /srv/smarthome
source ~/.bashrc

# fix hgrc

vi ~/.hgrc
[ui]
username = René Bernard <rene@rene.ee>

# fix vimrc

vi ~/.vimrc
syntax enable
set background=dark
colorscheme solarized
set encoding=utf-8
set tabstop=4
set shiftwidth=1
set nocindent
set softtabstop=4
set expandtab
set noerrorbells
set vb
set nowrap
set ruler
set viminfo='100,\"100,:20,%,n~/.viminfo
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
autocmd Filetype gitcommit setlocal spell textwidth=72

# add Estonian locale

locale-gen et_EE.UTF-8
dpkg-reconfigure locales

# shows GUI to select timezone

dpkg-reconfigure tzdata

# crontab

crontab -e
MAILTO=""
* * * * * cd /srv/smarthome/; php 1wire/scripts/draw_graphs.php
* * * * * cd /srv/smarthome/; sudo php sauna_display.php

# add sudoers

visudo
# for Pi
pi ALL=(ALL) NOPASSWD: ALL
# for Apache to run GPIO commands
www-data ALL=(ALL) NOPASSWD: ALL

# screen

NB! Only run it on the main server and not on all! This is the box that has 1wire sensors and energy sensor connected to it.

vi ~/.screenrc
# don't display the copyright page
startup_message off

# increase scrollback buffer size
defscrollback 10000

# create windows
screen -t "job-temperature" python /srv/smarthome/1wire/temperature_owfs.py
screen -t "job-energy" python /srv/smarthome/scripts/energy_meter.py
screen -t "pi" ssh pi@raspberrypi
screen -t "empty"
parnu_elamine/smarthome.server.txt · Last modified: 2019/09/20 15:52 by 127.0.0.1