Homeautomation 1.0

How are you using your Bubba? Got ideas for a cool modification? Share!
Locked
DanielM
Posts: 637
Joined: 28 Mar 2008, 06:37
Location: Sweden

Homeautomation 1.0

Post by DanielM » 11 Feb 2010, 13:31

Mors alla.
(for those non-swedish-speaking people out there, this post is about something that isn't useful to you anyway, so I'll continue in swedish).

Tänkte bara nämna ett litet trevligt webgui för att styra sina lampor där hemma som jag och en bekant har knåpat ihop. Det har alla trevliga finesser man (eller åtminstone jag :D ) behöver, typ schemaläggning baserat på solupp- samt -nedgång, möjlighet att visa alla sina lampor på en planlösning och behörighetsstyrning med olika nivåer. Den Linux-specifika delen av det hela har jag utvecklat på min Bubba Server och det funkar finemang. Så för er som har en Tellstick i era Bubbor (fungerar ju förmodligen minst lika bra på Bubba 2), ta er gärna en titt.

Ni kan se hur det ser ut hemma hos mig på http://ljus.kolefors.se (logga in som demo/password1) och installation för det hela finns på http://karpero.mine.nu/counter/click.php?id=5. Är inte det här det perfekta användningsområdet för en Bubba så säg 8)

/Daniel

edit: Hmmm... Insåg nu att den här versionen av phpBB inte verkar klara av idn-domännamn. Plockar väl bort prickarna över ö i kölefors då :?

Moloko
Posts: 51
Joined: 12 Feb 2010, 00:50

Re: Homeautomation 1.0

Post by Moloko » 12 Feb 2010, 00:54

Jag har precis fått upp Homeautomation på BubbaTwo, funkar fint här med! 8)

MagnusJonsson
Posts: 88
Joined: 26 Sep 2008, 04:18

Re: Homeautomation 1.0

Post by MagnusJonsson » 13 Feb 2010, 09:49

Hej Daniel !

Detta lät så trevligt att jag fort som en avlöning stack och handlade en Tellstick och två mottagare.

Dessvärre är jag bara måttligt bevandrad i Linuxvärlden så om du (eller någon annan) har möjlighet att "brodera ut" installationsbeskrivningen så hade jag varit väldigt glad.

Har så här långt gjort följande:
  • Kopierat zipfilens innehåll till /var/www
  • Gjort chmod a=rw /var/www/homeautomation_v1.0/
  • För säkerhetsskull, gått in i homeautomation_v1.0 och gjort chmod a=rw *
Nå, detta räcker uppenbarligen inte eftersom när jag i webläsaren skriver

http://bubba/homeautomation_v1.0/

så får jag You don't have permission to access /homeautomation_v1.0/ on this server.

Trots Googling så hittar jag inte riktigt vilken rättighet det är som saknas. :oops: (Prövade en extra chmod 755 index.php för säkerhetsskull)
Jag hade varit väldigt tacksam för alla tips som göra att min färd mot ett fungerande system på min B2:a blev lite mindre bumpig.


Edit:
Jag insåg ju efter min post att jag antagligen måste installera Telldus grejorna (självklart ?) så jag har börjat försöka med det. Eftersom man tydligen måste ladda ner cmake och sånt så tar det en stund att lösa uppgiften för en newbie.... :)

Edit2:
Hrm... Ska det vara så här bökigt?. Nå, gjorde en apt-get install cmake och det gick bra, men när man enligt installationsanvisningarna från Telldus ska göra en cmake . så är systemet mindre nöjt:
CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Please set CMAKE_C_COMPILER to a valid compiler path or name.

Jag antar att jag måste plocka ner en C-kompilator dessutom, eller? :?
Är jag ens inne på rätt väg? :cry:

DanielM
Posts: 637
Joined: 28 Mar 2008, 06:37
Location: Sweden

Re: Homeautomation 1.0

Post by DanielM » 13 Feb 2010, 13:39

MagnusJonsson wrote:Hej Daniel !

Detta lät så trevligt att jag fort som en avlöning stack och handlade en Tellstick och två mottagare.
Haha, ja det var snabbt jobbat. Klart vi ska lösa det :wink:
MagnusJonsson wrote: Jag antar att jag måste plocka ner en C-kompilator dessutom, eller? :?
Är jag ens inne på rätt väg? :cry:
Ja, du är nog inne på rätt spår, men du kanske har längre väg att vandra än du tror. Det behövs lite diverse installerat för att kunna kompilera saker över huvud taget. Det första du behöver installera är nog paketet build-essential tror jag. Har för mig att det drar med sig en massa andra bra-att-ha-när-man-kompilerar-paketet (rätta mig någon om jag har fel).

En sak till du behöver för att kunna köra just homeautomation är mysql. Minns inte säkert (var ett tag sedan jag själv installerade det), men jag tror det borde räcka med typ en "apt-get install mysql-client-5.0 mysql-server-5.0" för att få in det (nu kan folk rätta mig igen om jag har helt fel)

/Daniel

edit: Just det, kom på en bra sak till att veta. Den officiella versionen av telldus-core går tyvärr inte att kompilera om man inte har en massa qt-jox installerat, vilket man inte har (och inte vill ha) på en Bubba. Jag moddade lite för att över huvud taget kunna kompilera. Du kan hämta min moddade version (inga garantier!) här: http://www.kolefors.se/telldus-core-201-danielmod.tgz

tobbenet
Posts: 16
Joined: 25 Jun 2008, 08:30

Re: Homeautomation 1.0

Post by tobbenet » 13 Feb 2010, 14:04

Njaeee vänta lite här nu, jag har samma fel och en fungerande tellstick enligt den här tråden: http://forum.excito.net/viewtopic.php?f ... =tellstick EDIT: Man måste ha Tdtool också..

Men! Jag får också samma felmeddelande. När jag trycker på "Testa Rättigheter" så får jag meddelandet:
PHP har inte rätt att skriva/läsa i HomeAutomation mappen, var god kolla rättigheterna i filsystemet.

Jag har satt allt i HomeAutomation mappen till chmod -R 0777 så det vore väl sjutton om den inte har rättigheter? Är det något annat man ska göra? EDIT: sätt CHOWN www-data på katalogen också.

Verkar för övrigt vara en otroligt bra sak ni har meckat ihop! Hade bara varit om möjligt ännu roligare om man fått igång det ;-)
Last edited by tobbenet on 18 Feb 2010, 16:04, edited 1 time in total.

Moloko
Posts: 51
Joined: 12 Feb 2010, 00:50

Re: Homeautomation 1.0

Post by Moloko » 13 Feb 2010, 14:29

Men! Jag får också samma felmeddelande. När jag trycker på "Testa Rättigheter" så får jag meddelandet:
PHP har inte rätt att skriva/läsa i HomeAutomation mappen, var god kolla rättigheterna i filsystemet.
Jag fick samma fel, men det berodde på att den mysql databasen som följer med BubbaTwo har lösenord satt till inget och det gillar inte installationsprogrammet... Ska fixas i nästa version av HomeAutomation.
Men jag gjorde följande för att sätta lösenord för root-användaren i mysql:

bubbaprompt# su
bubbaprompt# mysql -u root

mysql> USE mysql;

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('losenord');

mysql> FLUSH PRIVILEGES;

Gå till webbgränssnittet och mata in samma lösenord i installationsformuläret...

Moloko
Posts: 51
Joined: 12 Feb 2010, 00:50

Re: Homeautomation 1.0

Post by Moloko » 13 Feb 2010, 15:04

I övrigt gick jag tillväga på ungefär följande sätt när jag kompilerade och installerade för Tellstick:

Lite friskrivningsklausuler först:
Det är möjligt att jag missat att beskriva någon punkt, såsom installation av cmake, bla bla bla, på egen risk, etc, osv. I sådana fall får jag hänvisa till Telldus utmärkta forum: http://telldus.se/forum/ eller deras wiki: http://developer.telldus.se/wiki/
(den senare är något tunn dessvärre...) :?


Originalinstruktionerna från början till slut hittas på
http://developer.telldus.se/wiki/TellSt ... 0-%20Linux


Utgångsläge
Tellstick ej ansluten
Inloggad som root (kör su i prompten)

Hämta hem några paket för att bygga
# Installera paket så att vi kan kompilera egna program

Code: Select all

apt-get install cmake

Code: Select all

apt-get install build-essential
# Installera paket som telldus behöver för kompilering

Code: Select all

apt-get install libconfuse-dev libqt4-dev help2man
Hämta hem mjukvaran till Tellstick o packa upp

Code: Select all

wget http://download.telldus.se/TellStick/Software/telldus-core/telldus-core-2.0.1.tar.gz

tar xvfz telldus-core-2.0.1.tar.gz

cd telldus-core
Detta borde bygga både tdtool och rfcmd, med följande kommando:

Code: Select all

cmake -DBUILD_LIBTELLDUS-CORE=1 -DBUILD_TDTOOL=1 -DBUILD_RFCMD_WITH_LIBFTDI=0 -DGENERATE_MAN=1 .

make 

make install
I filen

Code: Select all

/etc/ld.so.conf.d/local.conf
(tror den finns där, annars skapar du den), lägger du till följande kodrad:

Code: Select all

/usr/local/lib


Kör sen:

Code: Select all

ldconfig
Kör även:

Code: Select all

rm -f /var/state/telldus-core.conf 
Sätt i Tellstick
Gör en learning session (här fuskade jag och gjorde learning session i Telldus Center på min Win XP), i mitt fall med huskod 'L' och enhetskod '1'.


Testa tdtool och rfcmd
Så här långt hade jag alltså min Tellstick 'upplärd'.
Det är möjligt att även editera enheterna i /etc/tellstick.conf, så jag editerade exempelenheten i den filen och gjorde om den till min med mina specifika inställningar.

tdtool
Lista enheter:

Code: Select all

tdtool --list
Fick felmeddelande:

Code: Select all

"/var/state/telldus-core.conf:1: ingen flagga 'deviceNode' finns"
gjorde då följande:

Code: Select all

cp /dev/null /var/state/telldus-core.conf 

Lägg till gruppen 'www-data' i filen /etc/udev/rules.d/99-tellstick.rules:

Code: Select all

KERNEL=="ttyUSB*", BUS=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c30", NAME="tellstick", GROUP="www-data"
Rättigheter på /dev/tellstick:

Code: Select all

 chown www-data:www-data /dev/tellstick
Editera dina enheter i /etc/tellstick.conf (är detta verkligen nödvändigt??)

Code: Select all

cat /etc/tellstick.conf
deviceNode = "/dev/tellstick"
device {
  id = 1
  name = "Ute 1"
  protocol = "arctech"
  model = "codeswitch"
  parameters {
    house = "L"
    unit = "1"
  }
}
För rfcmd
Tända mottagare nr 1: (i mitt fall med huskod 'L' och enhetskod '1')

Code: Select all

> rfcmd /dev/tellstick NEXA L 1 1
Släcka mottagare nr 1:

Code: Select all

> rfcmd /dev/tellstick NEXA L 1 0

Puh, har jag glömt något steg?? Daniel?
Last edited by Moloko on 28 Nov 2010, 16:24, edited 8 times in total.

DanielM
Posts: 637
Joined: 28 Mar 2008, 06:37
Location: Sweden

Re: Homeautomation 1.0

Post by DanielM » 13 Feb 2010, 15:55

Moloko wrote:Puh, har jag glömt något steg?? Daniel?
Nä, det känns nog som att du har fått med allt. Till skillnad från mig har du dock installerat det jag ovan benämnde qt-jox istället för att knapra med koden :D

Man kan även notera att för att få homeautomation att funka måste man alltså ha ett fungerande tdtool, det räcker inte med att bara rfcmd funkar. Rfcmd är över huvud taget om jag har förstått saker rätt det "gamla sättet" att styra sin tellstick med.

/Daniel

MagnusJonsson
Posts: 88
Joined: 26 Sep 2008, 04:18

Re: Homeautomation 1.0

Post by MagnusJonsson » 13 Feb 2010, 19:26

Huj, här händer det grejor en lördagskväll. Nå, efter ett par glas vin är väl jag i lika fin form som någon. Let's get to it ! :mrgreen:
Moloko wrote:
Installera paket så att vi kan kompilera egna program
Sagt och gjort:

Code: Select all

apt-get install build-essentials
vilket tyvärr genererar ett felmeddelande direkt:

Code: Select all

bubba:/usr/src# apt-get install build-essentials
Reading package lists... Done
Building dependency tree... Done
E: Couldn't find package build-essentials
bubba:/usr/src#
Nå, kör på de andra bitarna:

Code: Select all

apt-get install subversion fakeroot
apt-get install libconfuse-dev libqt4-dev help2man
 wget http://download.telldus.se/TellStick/Software/telldus-core/telldus-core-2.0.1.tar.gz

modprobe ftdi_sio vendor=0x1781 product=0x0c30
update-modules
modprobe ftdi_sio
vilket går bra. Skapade filen /etc/udev/rules.d/10-tellstick.rules med innehål enligt länken.

Körde sedan

Code: Select all

svn co http://svn.telldus.se/telldus/trunk/telldus-core
cd telldus-core
cmake -DBUILD_LIBTELLDUS-CORE=0 -DBUILD_TDTOOL=0 -DBUILD_RFCMD_WITH_LIBFTDI=1 .
men se, här gick det på pumpen igen. Samma problem som förut, jag saknar en C-kompilator.

Verkar som om

Code: Select all

apt-get install build-essentials
är rätt viktig att få att fungera..... Men, det är här som jag sitter fast...
Kan det vara vinets fel ? :oops:

Nå, all cred till Moloko som har gjort en tutorial som till och med jag kan följa ! :D

DanielM
Posts: 637
Joined: 28 Mar 2008, 06:37
Location: Sweden

Re: Homeautomation 1.0

Post by DanielM » 14 Feb 2010, 01:40

MagnusJonsson wrote:

Code: Select all

apt-get install build-essentials
vilket tyvärr genererar ett felmeddelande direkt:

Code: Select all

bubba:/usr/src# apt-get install build-essentials
Reading package lists... Done
Building dependency tree... Done
E: Couldn't find package build-essentials
bubba:/usr/src#
Det ska inte vara build-essentials, det ska vara build-essential. Så noga korrläste jag inte guiden :wink:

/Daniel

Moloko
Posts: 51
Joined: 12 Feb 2010, 00:50

Re: Homeautomation 1.0

Post by Moloko » 14 Feb 2010, 06:57

Guiden uppdaterad nu, sorry för dåligt minne... :roll:

MagnusJonsson
Posts: 88
Joined: 26 Sep 2008, 04:18

Re: Homeautomation 1.0

Post by MagnusJonsson » 14 Feb 2010, 10:16

Moloko wrote:
Det ska inte vara build-essentials, det ska vara build-essential. Så noga korrläste jag inte guiden :wink:
Åhh... Det kanske jag borde ha listat ut :oops:

Nå, jag ger mig på det hela ytterligare en gång, men fastnar såklart igen. Denna gång på ett nytt ställe.
När jag kör

Code: Select all

telldus-core# cmake -DBUILD_LIBTELLDUS-CORE=0 -DBUILD_TDTOOL=0 -DBUILD_RFCMD_WITH_LIBFTDI=1 .
så får jag
WARNING: This project requires version 2.6.0 of CMake. You are running version 2.4.5.
Aha. Stärkt av mina tidigare framgångar så laddar jag ner CMake version 2.8.0, packar upp och bygger med

Code: Select all

tar -xvzf cmake-2.8.0.tar.gz
cmake .
make
make install
90 minuter (!) senare så verkar Cmake version 2.8.0 vara byggd och allt ser bra ut.... Trodde jag ja.
Naturligtvis fungerar det inte. Felmeddelandet blir fortfarande ... You are running version 2.4.5.

På något sätt måste jag tydligen referera till biblioteket där CMake hamnade (/usr/src/cmake-2.8.0) eller på något annat sätt få systemet att glömma version 2.4.5.

Tips någon ? :?

DanielM
Posts: 637
Joined: 28 Mar 2008, 06:37
Location: Sweden

Re: Homeautomation 1.0

Post by DanielM » 14 Feb 2010, 10:21

MagnusJonsson wrote:WARNING: This project requires version 2.6.0 of CMake. You are running version 2.4.5.
Hmmm... Den cmake jag kör på min Bubba hämtade jag från etch-backports, typ här http://packages.debian.org/etch-backports/cmake

Det är i min åsikt alltid en bra idé att ha backports påslaget. Kör du Etch kan du lägga till följande rad i din /etc/apt/sources.list:

Code: Select all

deb http://www.backports.org/debian etch-backports main contrib non-free
Sorry för strulet. Man har visst moddat sin kära Bubba mer genom åren än man minns :roll:

/Daniel

MagnusJonsson
Posts: 88
Joined: 26 Sep 2008, 04:18

Re: Homeautomation 1.0

Post by MagnusJonsson » 14 Feb 2010, 10:39

Ja, om inte någon har genomskådat min okunnighet hittills så kommer här öppet mål.
DanielM wrote:
Det är i min åsikt alltid en bra idé att ha backports påslaget. Kör du Etch kan du lägga till följande rad i din /etc/apt/sources.list:
Sorry, Daniel, jag är helt ute turnerar nu.
  • Backports påslaget ? Hmmm... Vad innebär det ?
  • Kör jag Etch ? Hmmm... Inte den blekaste. Borde jag det, och vad är det ? Ska jag lägga till ditt förslag sources.list ?
Innebär ovanstående att jag måste hämta och installera cmake igen (fast från den länk som du har angivit) ?

DanielM
Posts: 637
Joined: 28 Mar 2008, 06:37
Location: Sweden

Re: Homeautomation 1.0

Post by DanielM » 14 Feb 2010, 12:21

MagnusJonsson wrote:Ja, om inte någon har genomskådat min okunnighet hittills så kommer här öppet mål.
Nä, mitt fel. Hade lite bråttom när jag skrev mitt förra inlägg, så jag skrev inte så utförligt som jag borde.

När man kör Debian (vilket Bubba gör) så kör man en viss version av Debian. Om jag inte minns fel så skeppades Bubba från början med Debian version 3.1, kodnamn Sarge. Har man installerat sin Bubba något senare (vilket jag har gjort) så kör man förmodligen 4.0, kodnamn Etch. Har man installerat om den ännu senare så kanske man har Debian 5.0, kodnamn Lenny. Lenny är jag ganska säker på att du inte kör, då borde du fått cmake 2.6.0 automatiskt.

Nu är det så fiffigt att det finns någonting som heter backports. Där finns nyare versioner av paket för gamla versioner av Debian. T ex finns cmake version 2.4.5 med i Debian Etch, men lägger man in repositoriet Etch-backports bland de ställen apt letar efter paket på så kan man istället på ett enkelt sätt få in cmake 2.6.0, vilket ju är vad du behöver här.

Det enklaste sättet att ta reda på vilken version av Debian man kör är genom att titta i filen /etc/debian_version. Jag kör Etch, så filen säger 4.0. Därför har jag lagt till raden jag nämnde i min tidigare post i min /etc/apt/sources.list.

Jag tror det enklaste egentligen är om du tittar här: http://www.backports.org/dokuwiki/doku. ... structions

(Notera att texten på sidan beskriver hur man använder Lenny-backports. Byt bara ut "lenny" mot "etch" överallt så funkar det bra ändå)

Jag noterade förresten att Etch bara är supportat till 15 februari 2010. Det är ju... imorgon! Darn. Antar att det inte kommer att dyka upp mycket nytt för oss framöver med andra ord :(
MagnusJonsson wrote: Innebär ovanstående att jag måste hämta och installera cmake igen (fast från den länk som du har angivit) ?
Typ. Men det känns ändå enklare än att hålla på och kompilera det själv från källkod...

/Daniel

Locked