Gästblogg: Att skicka meddelanden från sin hemautomation till en telefon

Med en handfull Raspberry Pi:s, ett växande 1-wirenät med en uppsjö med sensorer på diverse ställen i och utanför huset, vindmätare, elmätare, fjärrvärmemätare, regnmätare, GPIO med övervakning av dörrkontakter, IP-kameror, etc. inser jag att jag vill kunna skicka statusmeddelanden till min telefon när det händer saker och jag är på jobbet eller bortrest.

T.ex. att matarvattnet från fjärrvärmenätet eller husets radiatorvatten är för kallt jämfört med yttertemperaturen eller att någon garageport eller ytterdörr lämnats öppen/olåst.

Jag sökte o fastnade för Pyrowl o Prowl – ett Python-skript samt en iOS app för några futtiga dollar som nära nog ger mig ”SMS”-möjlighet från mina Raspberrys till min iPhone/iPad.

ProwlappIOS

För er som kör Android heter appen ”NMA” (Notify My Android) och den erbjuder i princip samma funktion (5 meddelanden per dag är gratis med NMA, sen måste man betala en slant för att få skicka fler per dag).

Här är källartikeln och källorna till det jag nedan kommer att beskriva:

Så till saken!

  1. Skapa ett konto på www.prowlapp.com
    Generera en API-nyckel (ett långt hexadecimalt tal som kan jämföras med ett GSM nummer som man skickar SMS-till)
    Prowlapp
  2. Ladda hem Prowl till din iOS enhet(er)
    Den kostar några kronor men jag kan i sammanhanget nämna att jag sedan min första iPhone 2008 totalt köpt fyra (4) betalappar där Prowl är en av dem!
    Logga in Prowl-appen på den API-nyckel du nyss skapade.
    Prova att skicka ett testtelegram med ”Add Message”  knappen – det skall nu plinga till i din iPad eller iPhone!
  3. Ladda hem Pyrowl-pythonskriptet (pyrowl.py) från github.com till din Raspberry
  4. Lägg upp skriptet på valfri katalog och ställ in accessrättigheterna
    Jag valde /usr/local/lib/python och då blir filnamnet:
    /usr/local/lib/python/pyrowl.py
    För att tillåta exekvering till alla kör detta kommando:
    $ sudo chmod 555 /usr/local/lib/python/pyrowl.py
    Du behöver göra ”sudo” när du skapar katalogen och sätter exekveringsrättigheter.
    Om du väljer en annan katalog måste du justera PYTHONPATH i nästa steg.
  5. Skapa hjälpskript nr 1 ”/usr/local/bin/sendprowlmessage” mha en editor, t.ex. nano
    sendprowlmessage
  6. Skapa hjälpskript nr 2 ”/usr/local/bin/sendprowlmessage.py”.
    Observera att korrekt indentering (mellanslag i början på en rad) är A&O i Python!
    sendprowlmessage.sh
  7. Gör ”chmod 555” även på dessa två skript
    $ sudo chmod 555 usr/local/bin/sendprowlmessage
    $ sudo chmod 555 usr/local/bin/sendprowlmessage.py
  8. Prova att skicka ett testmeddelande, t.ex.
    $ sendprowlmessage "Hej" "Test" 2
  9. Nu är det bara att börja anropa sendprowlmessage från din husautomation!
    IMG_2956
  10. Jag har lagt in ”startup” och ”shutdown” meddelanden från alla mina Raspberry-enheter så att jag får kännedom om de stänger ned eller startar om (IP-adressen skickas med startup-meddelandet vilket kan vara bra).
    Här nedan ett exempel på startupscript: /etc/init.d/sendhelloprowlmessage.sh
    (med ”awk” kommandot på slutraden trollar jag till så att outputen från ifconfig blir minimal, ethernetdevice + ip-adress.)
    sendhellomessage
  11. Den som tittat lite noggrannare ser att jag loggar alla sändningsförsök på en logfil i Raspberryn: /var/log/sendprowlmessage.log

PS. Den som inte vill skriva av all kommandotext kan ladda hem en ZIP-fil här: skript.zip (505 nedladdningar)

 

/flyvert

2 svar till Gästblogg: Att skicka meddelanden från sin hemautomation till en telefon

  • Kommentera