Ny variant med Tellstick, Nexa och Raspberry Pi


För några år sedan knåpade jag ju ihop ett sorts system
för att kunna tända och släcka lampor här hemma med hjälp av iPhone. Det användes ju oftast kring jul när andelen lampor blir väldigt mycket högre. När alla julstjärnorna kom upp nu till jul kände jag att det var dags att ta fram något nytt.

NexaHome

Jag hittade NexaHome.se, ett program för Tellstick som finns för mac OS X, Windows och Linux. Jag tycker ju att det är lite roligare att köra den på Raspberry Pi, så jag plockade hem en skivavbild (finns på nexahome.se) och installerade på en RPi.

Jag nollställde dessutom alla Nexa-mottagare (har bara sådana fula utanpåliggande) så att jag kunde börja om på nytt.

Det gick alldeles utmärkt att installera skivavbilden och få allt att snurra. Det har en inbyggd webserver som laddas in automatiskt så att man kan nå av/på-knapparna via webbläsaren.

Däremot så kräver programmet att man använder det grafiska gränssnittet på Raspberry Pi och jag stuvar helst undan min lilla hallonpaj där den inte syns, så jag installerade X11 VNC (det finns massor av guider till detta, googla och du kommer att hitta till exempel denna).

Så för att koppla upp mig mot den lilla datorn öppnar jag bara programmet Skärmdelning (mac) skriver in adressen och lösenordet.

Skarmklipp-2015-12-12-19.23.00-1024x597

Då ser det ut så här.

Skarmklipp-2015-12-12-19.25.27

Det tog ett bra tag innan jag fattade hur man lade till nya enheter. Det gör man inte i NexaHome-programmet! Jag gissar att man kan göra det i XML-filen Nexahome.xml. Men det verkar krångligt.

Skarmklipp-2015-12-12-19.31.47-1024x765

Öppna istället programmet Telldus Center som ligger installerat på din Raspberry Pi (om du installerat NexaHome-skivavbilden vill säga).

Skarmklipp-2015-12-12-19.32.44-1024x974

Där är det lika enkelt som i alla andra varianter av Telldus Center. Man lägger till en enhet och om ni som jag har köpt vanliga startpaket av Nexa på till exempel Clas Ohlson, så är det Nexa Self Learning on/off som gäller.

Den hamnar automatiskt i NexaHome. Man lär ju upp enheten som vanligt, genom att trycka på den precis efter att man stoppat i kontakten. I alla fall om man som jag har en helt vanlig Tellstick, och inte en Duo eller Net.

Webbserver

Skarmklipp-2015-12-12-20.09.33-530x324

Hela vitsen med det här är ju att kunna tända och släcka med telefonen. För att göra det ansluter man till webbservern. Det finns lite olika sätt att göra det. Går man till http://raspiburkens-ipadress:8080/nexahome/ så får man upp ett gränssnitt som visserligen fungerar på datorn men som kanske inte är så formmässigt tilltalande och som inte fungerar alls särskilt bra på telefonen.

Istället kan man göra egna html-filer.

Skarmklipp-2015-12-12-19.46.20

I mitt fall så tog jag ett html-dokument och duplicerade och döpte det till hus.html.

Skarmklipp-2015-12-12-19.49.16-1024x702

Jag kan inte så mycket om kodning och även om det här är kodning på rätt enkel nivå så måste man lista ut lite sammanhang och kopplingar. Men det gick. Först måste man ange vilka av- och på-knappar som ska visas för respektive enhet. I grundutförandet är det samma knappar för alla enheter, men det insåg jag snabbt att det blev ju lite trist.

Det är dessutom uppbyggt med rätt enkla medel, som position och liknande. Jag raderade bakgrundsbilden och gjorde istället bakgrundsfärgen svart. Jag gillar det.

<div style="position: absolute; top: 10px; left: 2%">

För att det skulle flyta lite snyggare även på stora mobiler och högupplösta skärmar så fick det bli procent istället för exakta positioner. Fungerar ok tycker jag.

2015-12-12 19.08.20

Jag kommer nog att fortsätta finlira lite med typen av knappar, men just nu ser det ut så här på en iPhone 6s plus. Jag tyckte att det var lite fräckt att ha bilder på en del av lamporna istället för att försöka beskriva dessa i ord. Ring Henrik var mest ett test för att se hur det fungerade.

Finlir

<head><title>House of Love & Elsa</title>
<link rel="Shortcut Icon" href="nexahome/favicon32x32.ico">
<link rel="apple-touch-icon" href="nexahome/apple-touch-icon-precomposed.png">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta http-equiv="refresh" content="60;#URL#?mypage=hus&psw=#PSW#">

Jag bytte ut faviconen, den lilla ikon som hamnar uppe vid sidtiteln i din flik i webbläsaren, jag gjorde en ikon så att det blev snyggt när jag lade till den på hemskärmen på telefonen och jag lade till två rader kod som gör att den ser ut som en app, fast det egentligen är en webbsida. Se skärmdumpen längre ner.

Sista raden i koden ovan är med från grunden och gör att sidan laddas om varje minut. Vet inte varför så jag vågar inte ta bort den. Den gör dock så att telefonen inte släcks. Jag gissar att det laddar om för att se om det skickats kommandon från någon annan telefon eller liknande.

Det kluriga med att skapa en egen sida är att adressen inte riktigt blir den man tror.
I mitt fall blir den: http://10.0.1.26:8080/nexahome?mypage=hus

Det finns en flik i NexaHome-programmet på RPi där man verkar kunna redigera sidorna. Gör inte det. Koppla upp dig med ftp och redigera sidorna på en vanlig sida istället.

Skarmklipp-2015-12-12-20.02.41-1024x663

Sidorna laddas in i programmet när det startar, så för att dina uppdateringar ska synas i webbläsaren måste du trycka på knappen Reload under Web-fliken varje gång du uppdaterar koden eller lägger till en ny bild.

Här är min html-fil: hus.html (högerklicka och ladda ner).

Telldus Live

Däremot har jag inte fått kopplingen mot Telldus Live att fungera. Det kommer helt enkelt inte upp i Telldus Center och jag har ingen aning om varför. Jag har testat att uppdatera bara Telldus Center, att installera förra betan, men inget hjälper. Oklart varför. Om ni vet får ni gärna tipsa.

Slutsats

Eftersom jag själv inte kan skriva sådana här program och jag hajar att det flesta som gör sådant här gör det på fritiden så jag är så tacksam att de gör det gratis (och ibland även som open source). Men inte ska det vara så här krångligt att tända och släcka lampor här hemma. Visst fungerar Telldus Live, som jag har förstått det, bra men man vill ju dra det lite längre ibland. Så anledningen att jag gör det här är snarare att det är roligt, jag lär mig en del prylar och jag får användning för en av mina tre Raspberry Pi-burkar.

Men nog kan jag längta efter Apple HomeKit och att alla mina prylar där hemma är uppkopplade mot iPhone, dator och Apple TV.

Nästa steg

Snygga till gränssnittet ännu mer, få Telldus Live att fungera och att kanske köpa några inbäddade Nexa-kontroller. Eller byta system.

Det går ju att komplicera det ganska rejält genom att istället ha en Tellstick Duo och sedan koppla in temperatursensorer och annat skoj.

Ett svar på “Ny variant med Tellstick, Nexa och Raspberry Pi”

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *