[Uppdaterad 2012-02-13. Ny version som är mycket enklare att konfigurera]
[Uppdaterad 2012-04-01. Nytt gränssnitt är snabbare.]
Klicka här för att gå till en demo.
Många har bett mig göra en mer detailjerad beskrivning av hur jag satt upp min hemautomation så här kommer den.
Materiel:
- En dator dedikerad till hemmaserver (som behöver vara påslagen hela tiden. Jag tog min gamla laptop)
- Tellstick för att skicka rf-signaler (det som styr Nexabrytare) http://www.clasohlson.se/Product/Product.aspx?id=167971680
- Usb-uirt som ir-sändare och mottagare (för tv, stereo mm) http://www.usbuirt.com/order.htm (jag har den billiga)
- Några vanliga Nexabrytare http://www.clasohlson.se/Product/Product.aspx?id=165894303
- Inbyggd dimmer, Nexa http://www.clasohlson.se/Product/Product.aspx?id=165064932
Installation
- Koppla upp dator
- Koppla in tellstick och installera tillsammans med Telldust mjukvara
- Installera alla nexa-brytare du vill använda
- Sätt ir-sändaren så att den når det du vill styra. Lägg dit ir-repeterare om signalen inte når hela hemmet.
Testa tellstick
- Öppna Telldus Center
- Lägg till en enhet genom att klicka på Ny.
- Välj enhet.
- Lär upp.
- Det fungerar när du kan släcka och tända lampor genom att klicka på de små ikonerna.
Eventghost
- Installera http://www.eventghost.org/
- Jag har för mig att du inte behöver ett plugin för att köra tellstick och usb-uirt. Det ska bara fungera.
- Testa dig fram till hur eventghost fungerar. Jag tänker inte förklara det i detalj men mekron är en kombination av händelser. I varje makro behöver man ha actions vilka bestämmer när ett makro ska köras. Exempelvis kanske man vill köra ett visst makro som tänder en lampa när en knapp på fjärrkontrollen trycks (läses från ir-mottagaren). Makron kan placeras i mappar.
Webbservrar
Nu till det lite svårare nämligen webbserver. Jag rekommenderade tidigare "dynamic web server" men denna har blivit gammal och fungerar inte lika bra som den vanliga webbservern i Eventghost. Se till att du har senaste versionen av Eventghost för att också ha den senaste versionen av webbserver-plugin.
- Du lägger till webbservern som en plugin i Eventghost. Autostart->Lägg till plugin->Webserver,
- Ställ in en port och en dokumentrot. Porten valde jag till 8080. Dokumentroten "C:UsersSebastianDocumentsEventghost webserver" men båda dessa kan givetvis vara annorlunda.
- Lägg all min kod i dokumentroten ( "C:UsersSebastianDocumentsEventghost webserver" i mitt fall). Koden får du från https://bitbucket.org/sebnil/eventghost-web-gui/get/tip.zip.
- Navigera till http://localhost:8080/index.html för att se att det fungerar. Om det fungerar så ser du gränssnittet. Testa i olika webbläsare eftersom det finns risk för att det ser lite dåligt ut i Internet Explorer. Om du inte får igång webbservern så börja felsök i Eventghost. Testa annan port och annan dokumentrot. Skype ligger på port 80 vilket kan ge problem om du valde den porten.
- Testa att du kan skicka kommandon till eventghost genom att skriva localhost:8080/?foo=bar. Om det syns till vänster i Log i Eventghost så är det ok.
- Testa att klicka på knappar i gränssnittet på http://localhost:8080 får att se om de registrerar i Eventghost. Om du kör Chrome kan du högerklicka och trycka Granska komponent, välja Nätverk och se om det skickas några kommandon till eventghosts webbserver.
Den stora förändringen med den nya versionen är att man inte behöver ställa in lika mycket för att få servern att fungera. Om du har senaste versionen av Eventghost och senaste versionen av min kod ska det räcka med att köra webbserver i Eventghost (och inte som det var tidigare då man även behövde köra en php-server i Wamp).
Gör gränssnittet personligt
Jag antar nu att du fått igång mitt gränssnitt och att det ligger uppe på din webbserver. Konfigurationen jag gjort ligger i /js/script-and-config.js. Ändra i denna endast om du känner att du vill fixa något i bakomliggande teknik.
/index.html är huvudsidan. De andra sidorna ligger under i samma dokumentrot. Grundläggande kunskap i html är nödvändig men du kanske klarar dig på att redigera filerna och testa dig fram. Den action som skickas till Eventghost bestäms av data-action=x. Det borde vara allt. Som sagt, testa dig fram och se vad som fungerar och blir bra. Det är så jag gjorde.
Komma åt hemautomation utifrån (över internet)
Om du gjort alla steg innan detta så är du egentligen klar men det kan finnas vissa saker kvar att göra om du vill komma åt webbservern utifrån (alltså att styra hemautomationen när du inte är hemma). Jag går inte igenom detta detaljerat eftersom det skiljer sig från system till system. Några saker att komma ihåg är dock:
- Ta reda på extern ip från exempelvis mittip.nu
- [Frivilligt] Fixa ett domännamn kopplat till ditt ipnummer. De flesta har dynamiskt ip som byter och därför behöver man en tjänst som uppdaterar regelbundet exempelvis http://www.no-ip.com/. Istället för att koppla upp sig mot något som http://213.100.33.42 så får du http://hem.zapto.org eller http://hem.servehttp.com. Lättare att komma ihåg helt enkelt.
- Gör en port forward i routern.
- Öppna brandväggen i operativet + eventuella övriga brandväggar.
- Glöm inte bort att lägga in skydd från att andra kommer åt din hemautomation!
Det vore kul att se vad ni lyckas göra med min mjukvara och hur den modifieras så lägg gärna en kommentar och berätta vad du gjort. Projektet ligger som öppen källkod på https://bitbucket.org/sebnil/eventghost-web-gui/overview. Lycka till!