Kom igång med Raspberry pi för hemautomation.
Har börjat komma igång med Raspberry pi för hemautomation. För att minska startsträckan för fler, och kanske få några tips tänkte jag göra en serie ”från start till mål med Raspberry Pi”.
- 2017-02-25 – Uppdaterar stegen för Grafana till V4.1.2, mer info om hur graferna ska ordnas. Guiden är nu testad och verifierad med Asus tinker board (förutom del 1 RPI installationen).
- 2017-02-04 – Lägger till info att tänka på när det gäller minneskort under ”Hårdvara”.
- 2017-01-22 – Rättad rutin för Home Assistant, uppdaterad förklaring på Grafana
- 2017-01-19 – Lägger till guide för installation av Telldus Duo.
- Hela guiden uppdaterades 2017-01-14 för att fungera med version ”PIXEL” som nu finns
- Guiden håller nu på att verifieras med PIXEL som släpptes 2017-01-11
- Ändrad hantering för lösenordsbyte
- Ett extra uppdateringssteg under installationen
- Lägger med Mosquitto i uppdate soruces (Tack för tipset Borkman)
- Uppdaterar Grafana guiden till V4.1.1 (Tack för tipset Borkman)
- Uppdaterat till Node red v0.16 i guiden.
Meny
- Installation av Raspberry PI – 2016-12-08
- Installation av Influxdb – 2016-12-08
- Installation av Grafana – 2016-12-11
- Installation av Mosquitto MQTT – 2016-12-13
- Installation av Node Red – 2016-12-18
- Installation MQTT på Vera – 2016-12-19
- Konfiguration Node red och SMS – 2016-12-26
- Installation av Home Assistant med Virtual env (2017-01-13)
- Installation av Telldus Duo (2017-01-19)
- Vad mer ska ingå i guiden?
När guiden är klar kommer du att ha en InfluxDB (databas), Grafana (grafer, bilden nedan), Mosquitto (MQTT protokoll) och node Red för att trigga på larm och liknande. Det kan säkert komma in mer roligt på vägen allt eftersom jag skriver guiden, ser du något som inte stämmer eller inte fungerar. Säg gärna till i så fall så korrigerar jag 🙂
Redan idag har jag en RPI med en DHT22 och Webbkamera integrerad till Vera. Förhoppningen är att även dela med mig om hur det görs i den här guiden. Kom gärna med tips på vad mer man kan göra med en RPI eller om något inte stämmer i guiden.
Hårdvara
För att få till följande resultat behövs hårdvara för ca 700 – 800 kr. Då räknar jag med låda och annat med till RPI.
- Raspberry Pi (2 eller 3) Länk till ett startkit på m.nu
- MicroSDHC Minneskort, ju större desto bättre men mist 8GB
- MicroSDHC läsare till dator.
- Usb strömadapter, tänk på att skaffa en som klarar mer än 2A!
När du väljer att köra med InfluxDB på din RPI tänk på att detta kommer att slita på minneskortet som har en begränsad mängd skrivningar. Fick tipset om att tänka på det när det gäller stora mängder loggar (dvs skrivningar) i InfluxDB.
- Tänk på att använda ett så stort minneskort som möjligt för att undvika att slita ut minneskortet.
- Kosta på och köp ett riktigt minneskort som klarar hög skriv/läs hasighet och många skrivningar (länk wiki).
Guiden byggs på här nedan allt eftersom jag hinner med mig. MYCKET tacksam för tips eftersom jag själv håller på att sätta mig in i området med.
Installation av Raspberry PI
Börja med att ladda hem Raspbian från en Windows dator. Jag valde ”Raspbian Jessie with PIXEL”, spara den på en disk med nog mycket utrymme.
Packa upp filen till en mapp (notera vart mappen är)
Koppla in minneskortet i kortläsaren och koppla in det i klient. Skriv upp vilken diskenhet minneskortet får.
Jag valde att ladda ”win32 Disk Imager”, det finns säkert fler men även den här guiden rekommenderar den
När detta är klart är det bara att trycka Write och vänta till skrivningen är klar.
Mer än så är det inte! koppla in minneskortet i din Raspberry Pi (RPI) och koppla in tangentbord, mus, skärm.
Uppe till vänster finns en ikon som är ett hallon, tyck på det och gå ner till ”preference / raspberry pi configuration”
Sätt ett lösenord genom ”Change Password”, nytt från och med PIXEL (2017-01-11 Kernel 4.4) är att man nu behöver ange det gamla lösenordet för att få byta till ett nytt!
Lösenordet för pi är: ”raspberry”
Jag valde att även lägga till VNC för att kunna fjärrstyra RPI och visa skärmen. Det går lika bra att sitta vid RPI eller köra SSH (obs SSH måste aktiveras i så fall), men då antar jag att man inte behöver läsa den här delen av guiden 🙂
Nu är det klart. Spara alla inställningar och välj att den ska starta om. När det är klart är den grundläggande konfigurationen klar.
Uppe på menyn finns en svart ruta (terminalen) öppna den och skriv som nedan ”ip addr”, detta ger dig information om vilken ip adress din RPI har.
Det är bra idé att nu uppdatera all mjukvara i din RPI till den senaste, detta görs genom att skriva:
sudo bash apt-get update apt-get upgrade
Passar även på att köra följande när den andra installationer var klar:
apt-get upgrade dist
2016-12-08 – Del 1 av guiden klar
Nu är din RPI grundinstallerad och uppgraderad. Jag kommer inom kort att fortsätta med nästa del av guiden.
Installation av InfluxDB
InfluxDB är en nosql databas som används för att lagra information, i mitt fall är tanken att koppla den till Grafana. Men det går att använda den till mer än så.
Jag utgick själv från dessa guider när jag skrev min: Influx och Influx
Öppna en terminal och kör kommandona i följande ordning för att installera Influxdb:
# ladda hem http transport sudo apt-get install apt-transport-https curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add - source /etc/os-release # Kommandot ovan borde ge ett "OK" om allt gick vägen. echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list sudo apt-get update && sudo apt-get install influxdb
# För att konfigurera tjänsten körs följande kommando: sudo nano /etc/influxdb/influxdb.conf # editera följande tre rader genom att ta bort "#" tecknet. # [http] # Determines whether HTTP endpoint is enabled. enabled = true # The bind address used by the HTTP service. bind-address = ":8086" # Determines whether HTTP authentication is enabled. auth-enabled = false # The default realm sent back when issuing a basic auth challenge. # realm = "InfluxDB" # Determines whether HTTP request logging is enable.d # log-enabled = true #### För att sedan spara tryck ctrl+x och J och enter skriv sedan service influxd restart # nu är influx Redo för en databas.
Öppna en webbläsare på din dator och verifiera att du får följande resultat:
Nästa steg är att skapa en databas att lagra datat i (i den här guiden flyttar jag inte lagningen, utan den förblir på minneskortet!).
# Konfiguration av en databas sudo influx CREATE DATABASE db_automatiserar show databases exit # resultatet bör då se ut som bilden nedan.
För att verifiera att databasen fungerar kör följande kommando i terminalen
# testa att skriva en rad till databasen. curl -i -XPOST "http://localhost:8086/write?db=db_automatiserar&precision=s" --data-binary 'test,sensornamn=Demo temperatur=50 ' # kör sedan följande kommando för att öppna databasen med influx influx -execute 'SELECT * FROM test' -database db_automatiserar # beroende på hur många gånger du körde bör du få nått liknande bilden nedan:
Installera Grafana
Grafana är ett verktyg för att presentera data, liknande den som finns i till Vera: DataMine
Personligen tycker jag att Grafana ger en stor flexibilitet i hur grafer ska presenteras, mycket större än den som ges med DataMine.
Guiden bygger vidare på instruktionerna för influxDB på en RPI. Eftersom version v4.0.2 släpptes 8 Dec 2016 insåg jag att det är lika bra att försöka få igång den direkt, istället för att göra en guide på den gamla versionen jag redan kör.
Om du inte får koden i exemplet nedan att fungera kan du scrolla en bit längre ner till ”Testar därför att köra installationen manuellt”
# FUNGERADE EJ ------- Lägg till Grafana som permanent betrodd och med stöd för apt-get install # Fungerade ej när jag testade, kanske kan komma att fungera i framtiden (eller om man gör rätt) sudo nano /etc/apt/sources.list # Detta öppnar en editor, under de befintliga raderna klistra in följande: deb https://packagecloud.io/grafana/stable/debian/ jessie main # Tryck CTRL+X och sedan j och enter # Lägg till nyckeln curl https://packagecloud.io/gpg.key | sudo apt-key add - # --- # fungerar det bör du få ett resultat "OK" som bilden nedan
# Sök efter uppdateringar sudo apt-get update # Fick nu inte till kommandot nedan direkt, testar därför att starta om och köra det igen. Tyvärr samma fel sudo apt-get install grafana
Testar därför att köra installationen manuellt.
# Guiden uppdaterad till v4.1.1 av Grafana 2017-01-14, tack Borkman att du såg att det fanns en ny version
#Gå till mappen Downloads
cd /home/pi/Downloads
wget https://github.com/fg2it/grafana-on-raspberry/releases/download/v4.1.2/grafana_4.1.2-1487023783_armhf.deb
# Uppdaterar libfontconfig mm
sudo apt-get install -y adduser libfontconfig
# Installerar grafana.
sudo dpkg -i grafana_4.1.2-1487023783_armhf.deb
# om allt går bra så ta bort den nerladdade filen med:
sudo rm grafana_4.1.2-1487023783_armhf.deb
# Grafana ska nu vara installerat. Starta tjänsten genom att skriva:
sudo /bin/systemctl start grafana-server
# Fick tips från Jonsson i kommentaren nedan att även lägga köra följande för att få tjänsten att auto starta:
sudo systemctl enable grafana-server.service
För att verifiera att Grafana nu fungerar skriv: http:// ( DIN IP ADRESS TILL RPI ) :3000 ( exempelvis 10.20.30.40:3000 ), du bör då mötas av sidan nedan.
Konfigurera en graf med Grafana
För att konfigurera en graf enligt instruktionerna krävs att en InfluxDB installerats och konfigurerats. Om du inte gjort detta så finns instruktioner för hur detta sker längre upp.
För att få någon testdata att jobba med kör jag följande rad på den RPI där Installationen är gjord.
# Detta förutsätter att du satt upp InfluxDB som instruktionerna jag gjorde för att installera InfluxDB curl -i -XPOST "http://localhost:8086/write?db=db_automatiserar&precision=s" --data-binary 'test,sensornamn=Demo temperatur=50 ' # databasen blir db_automatiserar # datat som skickas är: # Topic: Test # Sensornamn : Demo # temperatur : 50 # för att sedan visa detta i forsätter du guiden nedan.
Skapa graf
Logga in i grafana genom att surfa till adressen till din RPI på port 3000 ( exempelvis http://10.20.30.40:3000 )
Välj: Add data source
Ange sedan:
Name: ett namn på din databas
Type: InfluxDB (som finns installerat på din RPI)
Url: http://DINRPIS IP ADRESS: 8086 ( typ http://10.20.30.40:8086, testade att köra localhost och 127.0.0.1 men den gillar inte riktigt det..)
Access: direct
Database: db_automatiserar
User: admin
Password: admin
Fungerar instruktionerna ovan bör du nu se följande under data seources.
Nu är det dags att skapa en graf av informationen, detta görs genom att trycka på knappen längst upp till vänster, dashboard, home och ”Create New”
Klicka på bilden ”Graph”
Tryck på listan ovanför grafen som du just fick och välj ”Edit”
Under ”panel data source” ändra från default till ”auotmatiserar databas” (den som du tidigare kopplad upp under stegen Data sources)
Verifiera att du har rätt databas nedan och tryck sedan ”Add query”. Tänk på att ta bort den som heter ”A” med, den kommer inte att behövas längre.
Nu har du fått en ny fråga, genom att trycka på varje text efter ”FROM” kommer du sakta men säkert att få informationen nedan presenterad automatiskt. Verifiera att det ser ut som bilden nedan, då är du säker på att det ska fungera.
Du bör nu få fram en stapel med som går från 0 till 50, vilket visar att det fungerar.
Namnsätt den nya grafen till önskat namn
Välj sedan att spara panelen med lämpligt namn.
Nu är graferna klar, för att testa att det fungerar kan du testa att köra följande rad igen på din RPI:
# kör följande rad för att verifera att du får en ny datapunkt i grafen (uppdatera längst upp till höger på sidan) curl -i -XPOST "http://localhost:8086/write?db=db_automatiserar&precision=s" --data-binary 'test,sensornamn=Demo temperatur=10 '
2017-02-25 – Får du problem att visa grafen så kan det vara bra att även kollade dessa stegen:
Genom att bocka Bars, Lines och Points ser man tydligt om en datapunkt finns i grafana. (obs bilden visar data inskickat under någon dags tid)
Får du mot förmodan inte någon data kan det bero på hur du valt att gruppera datat, testa att ändra enligt bilden nedan om du inte får Grafana att visa något.
Skulle du mot förmodan ändå inte se någon data, kolla i din ssh session om du fått in någon data i influxdb genom att köra följande kommando:
influx -execute ’SELECT * FROM test’ -database db_automatiserar
Nu är Grafana installerad och klar, allt som behövs nu är att skicka in data. Det kommer jag att visa i kommande delar med MQTT och Node Red.
Installation av Mosquitto MQTT broker
Tänkte i den här delen skriva om MQTT som är ett protokoll som speciellt används för batteridrivna enheter. Protokollet kommer från IBM men är Open Source. Protokollet möjliggör publish / subscribe. Dvs att enheter kan välja att prenumerera och skicka information till olika ”topics”. Den stora fördelen är att avsändaren (enheten) och mottagaren inte behöver känna till varandra, detta hanteras av en ”brokers”, i det här fallet en RPI. MQTT Brokern som jag valt att nyttja heter Mosquitto. Den finns utan något större jobb tillgänglig till RPI.
Jag baserar den här guiden på en från Adafruit.com
Börja med att uppgradera din RPI
# 2017-01-14: Lägg med Mosquitto i sources för att automatiskt få veta när det finns uppdateringar, tackar Borkman för tispet! cd /tmp sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key cd /etc/apt/sources.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list # Uppdatera klienten sudo apt-get update # Installera själva MQTT servern och klienten. sudo apt-get install mosquitto mosquitto-clients # svara J på frågan och tryck sedan Enter
Nu är själva klienten Installerad, för att få den att göra något vettigt behövs en konfigurationsfil.
Detta skapas genom att köra följande delar.
# Skapa filen " mosquitto.conf " under sökvägen /etc/mosquitto/conf.d sudo touch /etc/mosquitto/conf.d/mosquitto.conf # Kör följande för att öppna filen i editeringsläge sudo nano /etc/mosquitto/conf.d/mosquitto.conf # Klistra sedan in följande rader: # --- start ---- # Config file for mosquitto user mosquitto max_queued_messages 200 message_size_limit 0 allow_zero_length_clientid true allow_duplicate_messages false listener 1883 autosave_interval 900 autosave_on_changes false persistence true persistence_file mosquitto.db allow_anonymous false password_file /etc/mosquitto/passwd # --- stop ----- Tryck Ctrl + X och sedan J och Enter. # Verifiera att filen innehåller samma som ovan genom att skriva: cat /etc/mosquitto/conf.d/mosquitto.conf
2017-01-06 – Ändrade idag ”allow_anonymous true” till allow_anonymous false”, orsaken är att Mosquitto inte kontrollerar behörigehten! Har du kört guiden sedan tidigare räcker det att du öppnar filen igen och ändrar värdet från true till false för att öka säkerheten. Detta uppmärksammades av en läsare, stort tack för att du uppmärksammade min miss i guiden 🙂
Nu är den grundläggande konfigurationen klar, det är dags att verifiera att tjänsten hoppar igång (och klagar på att den saknar lösenord, bilden nedan visar det du bör se)
# starta om MQTT tjänsten sudo systemctl restart mosquitto # Kontrollera om loggfilen skapats och om den innehåller "fel", vilket är helt ok ännu. cat /var/log/mosquitto/mosquitto.log # Om du får att den inte hittade lösenordsfilen ovan är allt helt ok, den skapas nu. # kontot blir "hemautomation" (namnet på kontot sätts efter passwd) sudo mosquitto_passwd -c /etc/mosquitto/passwd hemautomation # Ange sedan ett valfritt lösenord ( jag valde hemautomation igen eftersom det är en guide jag gör)
När lösenordet är satt är det dags att testa att tjänsten fungerar som tänkt.
# Ta bort den gamla loggfilen: sudo rm /var/log/mosquitto/mosquitto.log # Starta om tjänsten igen (man måste inte göra på det här sättet, men det ger info om att configen är ok) sudo systemctl restart mosquitto # Om du inte får någon information alls när du skriver raden nedan är allt klart och igång! cat /var/log/mosquitto/mosquitto.log # Klart !
För att göra ett test mot MQTT servern behöver du skapa en lyssnare på en valfri topic.
Kommandot jag kommer att köra byggs upp av följande:
- -t = Topic
- -u = Användare
- -P = Lösenord
# För att starta en lyssnare till topicen Automatiserar/demo körs följande: mosquitto_sub -d -t Automatiserar/demo -u hemautomation -P hemautomation # Nu är en lyssnare ( klient ) klar.
Nu behöver du öppna en ny SSH session eller en ny terminal på till/på din RPI och köra följande:
# Skicka följande rad, tänk på att ändra efter -h till IP:T på din RPI! mosquitto_pub -h DINIPADRESS -t Automatiserar/demo -m "Data skickat OK" -u hemautomation -P hemautomation # När du kört detta bör du ha fått något i den andra terminalen.
Nu är MQTT konfigurerat och redo att kopplas till Node Red och andra roliga verktyg! Om du uppskattar guiden gilla / dela den gärna så fler får se den och jag får motivation att fortsätta med kommande delar av guiden.
Installation av Node Red
Node red är en mycket behändig visuell programmerare som bygger på Node.JS, Jag har helt gått ifrån mina egna http loggserver till den här istället, orsaken är att man här kan samla på allt från MQTT flöden till att själv få den att samla data från webbsidor. Node Red har idag över 1000 olika nooder som det bara är att lägga till. En nood är ett färdig ”block” som kan kopplas ihop med andra flöden. Flödet lyssnar på två st DHT22 som kopplats på två olika RPI:er. Dom rapporterar temperatursensorer och luftfuktighet via MQTT varje minut. Resultatet visas sedan under ”LIVE!!”
Ingen kod behövdes skrivas för att uppnå resultatet ovan!!! De två konfigurationerna nedan av noderna är allt som behövs.
Topic sätts till den jag vill visa i grafen ( data kommer via MQTT borkern i guiden)
Jag sätter vilken tab gaugen ska visas i och vilket värde som ska visas {{value}}, dvs det som kommer från MQTT nooden. Mer än så är det inte!
Installation av Node Red
Börja alltid med att se om det finns några uppdateringar. Jag har även fått installationen att fungera på asus tinker board (fick dock köra kommandot bash <(curl -….. osv en bit ner i guiden)
# börja med att uppgradera din RPI sudo apt-get update sudo apt-get upgrade # Se om installationen redan finns på plats, i mitt fall behövdes det inte göras någon installation. sudo apt-get install nodered # 2017-01-14: Uppdaterar till senaste NodeJS och Node-Red på din RPI. Steget kan ta tid! update-nodejs-and-nodered # Fungerar inte kommantod ovan kan du testa att köra följande rad: bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered) # I så fall är det bara att aktivera så att tjänsten alltid startar när din RPI startar sudo systemctl enable nodered.service
Du bör nu se något liknande som nedan om allt gick bra.
( väljer du att köra med kommandot bash <(curl -sL…..) så bör du mötas av en liknande bild nedan när allt är klart.
För att verifiera att tjänsten stoppar och startar som den ska, kör följande:
# Testa att stoppa tjänsten sudo systemctl stop nodered.service # Testa att starta tjänsten. sudo systemctl start nodered.service # bilden nedan kommer du inte att se, den ser du bara om node red startas via CLI och inte som tjänst!
För att verifiera att allt fungerar kan du nu surfa in på din RPI:S ip adress på porten 1880, exempelvis http://10.20.30.40:1880
Du bör nu mötas av följande sida:
Installation av ”noder” (2016-12-18)
Det finns en hel del inbyggt i Node Red, men vissa saker behöver man lägga till för att få den funktionalitet man önskar. Nedan lägger jag till den delen som behövs för att skapa gränssnittet med knappar.
# stoppa node red sudo systemctl stop nodered.service # jag börjar med att installera npm, följ anvisningarna och svara y på frågan om att installera. sudo apt-get install npm # starta node red igen via grässnittet, bara för att se att allt laddas. sudo systemctl start nodered.service #
Efter du öppnat ”Manage Palette” ges fler val till vänster, sök efter ”node-red-contrib-ui”, välj sedan Install”
starta om tjänsten:
# stoppa node red sudo systemctl stop nodered.service # starta node red igen via grässnittet, bara för att se att allt laddas. sudo systemctl start nodered.service
Genom att ange IP till din RPI och avsluta med /UI så har du nu gränssnittet öppet. http://10.20.30.40:1880/ui. Nu är det dags att testa att hämta upp temperaturen från din RPI:s processor och visa den i gränssnittet.
# Kopiera in följande till ditt node red flöde [{"id":"83e56d78.e9fbb8","type":"inject","z":"de1eae93.59ad78","name":"tick 15","topic":"tempC","payload":"","payloadType":"str","repeat":"15","crontab":"","once":false,"x":134,"y":220,"wires":[["6d48d640.ada4b8"]]},{"id":"6d48d640.ada4b8","type":"exec","z":"de1eae93.59ad78","command":"vcgencmd measure_temp","addpay":false,"append":"","useSpawn":"","timer":"","name":"read cpu temperature","x":338,"y":220,"wires":[["8ef3941d.a8e978"],[],[]]},{"id":"8ef3941d.a8e978","type":"function","z":"de1eae93.59ad78","name":"format temperature","func":"msg.payload = Number(msg.payload.slice(5,-3));\nreturn msg;","outputs":"1","noerr":0,"x":584,"y":208,"wires":[["c2962844.58a13","23e60386.46b89c"]]},{"id":"c2962844.58a13","type":"debug","z":"de1eae93.59ad78","name":"","active":true,"console":"false","complete":"false","x":819,"y":206,"wires":[]},{"id":"23e60386.46b89c","type":"ui_gauge","z":"de1eae93.59ad78","tab":"c103edc9.53a33","name":"RPI Temperatur","group":"","order":1,"format":"{{value}}","min":"20.0","max":"70.0","x":834,"y":257,"wires":[]},{"id":"c103edc9.53a33","type":"ui_tab","z":"","name":"Hemma","icon":"dashboard","order":"1"}]
Om koden ovan gick att importera via en clipboard är det bara att trycka på ”Deploy” längs upp till höger.
Nu är allt klart, du har en live uppdaterande graf på http://10.20.30.40:1880/ui likt bilden nedan (10.20.30.40 ändras till adressen till din RPI)
Skicka samma information till Grafana
Om du inte kommer fram till sidan ”http://10.20.30.40:3000” (10.20.30.40 ändras till din RPI:s ip) så kan du behöva starta tjänsten ”systemctl start grafana-server”, Om du inte tidigare konfigurerat Grafana och InfluxDB kommer följande ej att fungera. Kolla i guiden ovan och följ stegen för att kunna använda följande exempel. Genom att addera en funktion till och lägga till en http post så får jag samma information skickad till RPI:ens influxDB, den kommer sedan att visas i Grafana med.
# klistra in följande i ett tomt flöde i Node Red för att få motsvarande resultat som jag (obs fungerar ej på ASUS tinker board) # OBS tänk på att ändra IP 10.20.30.40 till din RPI:s ip med! [{"id":"7719b21e.761cb4","type":"inject","z":"de1eae93.59ad78","name":"tick 15","topic":"tempC","payload":"","payloadType":"str","repeat":"15","crontab":"","once":false,"x":218,"y":172,"wires":[["d800341b.79d688"]]},{"id":"d800341b.79d688","type":"exec","z":"de1eae93.59ad78","command":"vcgencmd measure_temp","addpay":false,"append":"","useSpawn":"","timer":"","name":"read cpu temperature","x":422,"y":172,"wires":[["4fb51c82.7c6d0c"],[],[]]},{"id":"4fb51c82.7c6d0c","type":"function","z":"de1eae93.59ad78","name":"format temperature","func":"msg.payload = Number(msg.payload.slice(5,-3));\nreturn msg;","outputs":"1","noerr":0,"x":668,"y":160,"wires":[["8b7dc6d6.752ff8","fcb22ba8.b61758","6cbb0b71.b8649c"]]},{"id":"8b7dc6d6.752ff8","type":"debug","z":"de1eae93.59ad78","name":"","active":false,"console":"false","complete":"false","x":903,"y":158,"wires":[]},{"id":"fcb22ba8.b61758","type":"ui_gauge","z":"de1eae93.59ad78","tab":"c103edc9.53a33","name":"RPI Temperatur","group":"","order":1,"format":"{{value}}","min":"20.0","max":"70.0","x":928,"y":237,"wires":[]},{"id":"fa2a94a.a4e1768","type":"http request","z":"de1eae93.59ad78","name":"Skicka till Influx","method":"POST","ret":"txt","url":"http://10.20.30.40:8086/write?db=db_automatiserar","tls":"","x":915,"y":330,"wires":[["158ede6.da70022"]]},{"id":"6cbb0b71.b8649c","type":"function","z":"de1eae93.59ad78","name":"Skicka till influxDB","func":"//msg.url =\"http://10.20.30.40:8086/write?db=db_automatiserar\";\nmsg.payload =\"RPI\" + \",DataTyp=CPU\" + \",Rum=UTE\" + \",Datatyp=Temperatur\" + \" value=\" + msg.payload;\nreturn msg;\n","outputs":1,"noerr":0,"x":668,"y":329,"wires":[["fa2a94a.a4e1768"]]},{"id":"158ede6.da70022","type":"debug","z":"de1eae93.59ad78","name":"","active":false,"console":"false","complete":"true","x":1075,"y":328,"wires":[]},{"id":"c103edc9.53a33","type":"ui_tab","z":"","name":"Hemma","icon":"dashboard","order":"1"}] # slut
Genom att öppna nooden ”Skicka itll influxDB” och editera IP där till adressen du har på din RPI är allt klart (OM du har en databas på influxdb som heter db_automatiserar), aktivera debugen genom att trycka på den gröna fyrkanten på msg noden, detta bör ge en statuscode i meddelandet som är ”
”. Får du det är det bara att gå vidare till Grafana.Öppna dashboarden som skapades i RPI guiden (förustätter att du kopplat upp grafana mot InfluxDB enligt guiden ovan). Välj databasen och tryck på ”add query”
När detta är gjort tar du bort den defaulta frågan som ligger på ”A” och kopplar den nya frågan likt nedan. De texter nedan som är markerade med rött ska väljas från vänster till höger som nedan. Nu har du även konfigurerat Grafana 🙂
Om du följt guiden fram tills nu och inte stött på några problem gilla den gärna, och om du kommit hit men stött på problem på vägen gilla den ändå och säg vad som felade.
Installera MQTT på Vera
Jag måste börja med att varna för att följande görs på egen risk och att garantin på din Vera kanske inte gäller sedan, nog med varningar 😀
Tackar bland annat Borkman som gjort de störasta jobbet för den här MQTT guiden 🙂
Guiden visar hur du får Vera att skicka alla events till en MQTT broker, dessa hämtas sedan upp med Node Red.
Börja med att göra en backup av din Vera
Nu är det dags att ladda hem https://github.com/jonferreira/vera-mqtt/archive/master.zip till lämlig mapp, i mitt exempel blir det C:\Temp\
Packa upp master.zip till mappen: C:\temp\vera-mqtt-master
Öppna en klient som klarar SCP. Jag har valt att aktivera Bash klienten i Windows 10 för att enklare få access till RPI och Vera.
Det görs genom att gå till ”kontrollpanelen” / lägg till ta bort program / aktivera windows features – bocka i Windows-undersystem för Linux (Beta)
öppna bash klienten och gå till mnt/C/temp/vera-mqtt-master/vera-mqtt-master/Dependencies/usr/lib/lua
Där finns det tre filer:
- JSON.lua
- mqtt_library.lua
- utility.lua
Filerna ska kopieras till /usr/lib/lua på din vera.
( OBS DU MÅSTE AKTIVERA REMOTE SUPPORT PÅ VERAN )
# om du står i temp mappen med din klient ska följande rad fungera för skicka filerna till veran. scp JSON.lua mqtt_library.lua utility.lua remote@vera:/usr/lib/lua
Om allt går som det ska bör du få nått liknande resultat som nedan: (lösenodet till veran får du när du aktiverar remote kontot)
Då var det svåra klart med din Vera. Nu är det dags att öppna webbgränssnittet på Vera och gå till följande meny:
- APPS \ Develop Apps \ Luup Files \
Där går det att ladda upp filer, välj att ladda upp alla filer från C:\temp\vera-mqtt-master\vera-mqtt-master\Plugin
Nu är det läge att skapa en ny enhet, detta görs under ”Create Device” som är några steg under ”Luup Files” i menyn:
Ange följande egenskaper på enheten (Description är valfritt)
Description = MQTT Client
Upnp Device Filename = D_SensorMqtt1.xml
Upnp Implementation Filename = I_SensorMqtt1.xml
Klart! Nu är alla filer som ska kopieras på plats, Luup motorn behöver startas om innan enheten listas i gränssnittet.
Detta kan enkelt göras med följande kommando:
- http://(DINVerasIP):3480/data_request?id=reload
Efter en stund bör du nu ha en ny enhet, öppna den och gå till ”Advanced” och konfigurera följande:
# tänk på att användarnamn och lösenord förutsätter att du kört guiden för MQTT tidigare och skapat kontot automatiserar.
mqttServerIp = IP till din RPI
mqttServerPort = 1883
mqttServerUser = automatiserar
mqttServerPassword = automatiserar
Under menyvalet Watchdog konfigurerar du vad Vera ska skicka till din MQTT broker:
Om allt gått vägen bör du nu i verans gränssnitt ha följande status på din enhet ”MQTT Status: Connected”
Allt du nu behöver göra är att i din Node red koppla en MQTT lyssnare till Vera/#
Klart nu har du en Vera som förhoppningsvis skickar allt du valt till topic:en Vera/# ..
Node red och SMS med 3g modem
2016-12-26 – Skriver hur jag själv konfigurerat min RPI för att addera SMS-support för Node-Red och Vera. Inte längre begränsad till 2 sms / dag, nu kan jag dra iväg 5000 sms / månad 😀
För att göra detta behöver du ett gammalt 3G modem eller liknande samt ett kontantkort med SMS på!
Jag har valt att skapa en scriptfil med innehållet från github: Python script för att skicka sms, jag kan själv inte ta någon cred för detta scriptet i dagsläget. Fick det av en kompis, i dagsläget är det gjort för Python 2.7. Kommer eventuellt att porta det till V 3.6 i framtiden.
Jag har valt att ladda ner och spara scriptet ”sendsms.py” till sökvägen ”/opt/smskod/sendsms.py” på min RPI 3:a. Modemet är samma som jag tidigare nyttjade till min Powershell webbserver och C# program som skickade SMS från Windows enheter. Jag har valt ett Telia kontantkort med 5000 sms / månad. Detta kostade när jag skaffad det ca 500:-
Så gör du:
- cd /opt
- sudo mkdir smskod
- cd smskod
- touch sendsms.py
- nano sendsms.py # kopiera in innehållet från scriptet du hämtade från github.
- ctrl+x och välj y för att spara.
Nu bör du kunna öppna Node-Red och kopiera in flödet nedan till en tom vy.
# node red flödet, kopiera hela flödet och gör en import enligt guiden i Node-red steget. [{"id":"4c326d35.68e94c","type":"exec","z":"de1eae93.59ad78","command":"python","addpay":true,"append":"0701234567 \"SMS skickat med Node-Red\"","useSpawn":"","timer":"","name":"Skicka SMS","x":527,"y":444.5,"wires":[["ec368d7f.1a718"],["ec368d7f.1a718"],["ec368d7f.1a718"]]},{"id":"ec368d7f.1a718","type":"debug","z":"de1eae93.59ad78","name":"","active":true,"console":"false","complete":"false","x":782,"y":437,"wires":[]},{"id":"1986daa9.fd33f5","type":"inject","z":"de1eae93.59ad78","name":"Skicka SMS","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":133,"y":439,"wires":[["6dc4beb7.6150d8"]]},{"id":"6dc4beb7.6150d8","type":"function","z":"de1eae93.59ad78","name":"Scriptet.","func":"msg.payload = \"/opt/smskod/sendsms.py\"\nreturn msg;","outputs":1,"noerr":0,"x":314,"y":437,"wires":[["4c326d35.68e94c"]]}] # Slut
Resultatet du bör få av detta ser ut som nedan. Editera ”Skicka SMS”, där anger du ditt sms nummer, spara sedan och tryck på den blå delen till vänster om ”Skicka SMS”
Om du har problem att få iväg ett sms, kontrollera att du fått 3g modemet på rätt port.
Detta kontrollerar du lättast genom att koppla bort modemet och köra: ls /dev/ttyUSB, kontrollera antalet enheter, koppla in modemet och testa igen. I mitt fall hamnade den på ttyUSB0.
Visar det sig att din hamnar på en annan port behöver du editera python scriptet:
- sudo nano /opt/smskod/sendsms.py
- Editera raden: port=’/dev/ttyUSB0′, till port=’/dev/ttyUSB1′, ( om ditt modem hamnade på 1 dvs)
- Ctrl+X och tryck Y
KLART!
Hoppas detta är nog för att även du ska få sms stöd till Node-Red.
Har tyvärr inte hunnit mycket längre än hit själv, så det kommer att ta en stund innan jag kommer med mer tips tyvärr… Jag mottar gärna tips, exempel och råd!
Vad mer kan tänkas komma i guiden?
Jag ska försöka att dela flödet nedan på ett vettigt sätt så den direkt mappar mot Vera, InfluxDB och Grafana i framtiden. Just nu håller jag på att fundera på vilket tillvägagångssätt som passar bäst.
#Följande Node Red flöde innehåller allt du ser på bilden, #just nu är det ett tidigt exempel på hur jag väljer att mappa upp. [{"id":"8466c478.9c0918","type":"mqtt in","z":"b1945a55.2de458","name":"Verans MQTT","topic":"Vera/#","qos":"2","broker":"9e7f89b3.04a4a8","x":231,"y":43.00001525878906,"wires":[["1ef99e4.4f5f662"]]},{"id":"1ef99e4.4f5f662","type":"json","z":"b1945a55.2de458","name":"","x":232,"y":114.66668701171875,"wires":[["e5849c74.0c9738"]]},{"id":"3fa040c0.fcfe08","type":"switch","z":"b1945a55.2de458","name":"Sortera Vera Saker","property":"payload.DeviceType","propertyType":"msg","rules":[{"t":"eq","v":"urn:schemas-upnp-org:device:BinaryLight:1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:TemperatureSensor:1","vt":"str"},{"t":"eq","v":"urn:micasaverde-com:serviceId:SecuritySensor1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:LightSensor:1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:MotionSensor:1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:ComboDevice:1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:DoorSensor:1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:SunPower:1","vt":"str"},{"t":"eq","v":"urn:schemas-demo-ted-striker:device:PingSensor:1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:GenericIO:1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:Siren:1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:HumiditySensor:1","vt":"str"},{"t":"eq","v":"urn:schemas-micasaverde-com:device:Keypad:1","vt":"str"},{"t":"eq","v":"urn:schemas-upnp-org:device:VSwitch:1","vt":"str"},{"t":"else"}],"checkall":"false","outputs":15,"x":236,"y":249.33319091796875,"wires":[["81b4e4ab.83fca"],["131330ad.2ff51f"],["65dd2ac5.63bde4"],["f6a0eb8f.a4e1e"],["28e2792e.153a56"],["eda248f1.d9a82"],["a581e864.47314"],["937564dd.2bb7"],["9c3c6654.1f4688"],["9fcda44d.b32b88"],["93dd1b93.8821a"],["939a215a.050688"],["768dd990.957bb"],["26459d3c.81ab3a"],["cd9eab32.4c3468"]]},{"id":"cd9eab32.4c3468","type":"debug","z":"b1945a55.2de458","name":"Efter json","active":false,"console":"false","complete":"true","x":212.83331298828125,"y":544.9999389648438,"wires":[]},{"id":"6c9f3cce.1ec37c","type":"debug","z":"b1945a55.2de458","name":"Data som skickas","active":false,"console":"false","complete":"true","x":1071.833251953125,"y":161.99993896484375,"wires":[]},{"id":"e4e2caf2.6744a8","type":"debug","z":"b1945a55.2de458","name":"All debug data","active":false,"console":"false","complete":"true","x":913.833251953125,"y":410.99993896484375,"wires":[]},{"id":"131330ad.2ff51f","type":"function","z":"b1945a55.2de458","name":"TemperatureSensor","func":"// urn:schemas-upnp-org:device:TemperatureSensor:1\nmsg.topic = msg.topic + \"/Temperature/\";\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.OldCurrentTemperature\n\nreturn msg;","outputs":"1","noerr":0,"x":572,"y":195.99993896484375,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"a4959386.bfae38","type":"http request","z":"b1945a55.2de458","name":"Skicka till Mastern","method":"GET","ret":"txt","url":"http://172.20.0.21:86/?NodeRed/MQTT/{{{topic}}}{{{payload}}}","tls":"","x":1071.5,"y":220.66668701171875,"wires":[[]]},{"id":"e5849c74.0c9738","type":"function","z":"b1945a55.2de458","name":"Ny Topic som passar mig","func":"msg.topic = \"Vera/\" + msg.payload.DeviceId + \"/\" + msg.payload.RoomName + \"/\" + msg.payload.DeviceName;\nreturn msg;","outputs":1,"noerr":0,"x":429.5,"y":87.66668701171875,"wires":[["3fa040c0.fcfe08"]]},{"id":"81b4e4ab.83fca","type":"function","z":"b1945a55.2de458","name":"BinaryLight:1","func":"//urn:schemas-upnp-org:device:BinaryLight:1\nmsg.topic = msg.topic + \"/Watt/\";\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.Watts;\nreturn msg;","outputs":1,"noerr":0,"x":543.5,"y":158.66668701171875,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"65dd2ac5.63bde4","type":"function","z":"b1945a55.2de458","name":"SecuritySensor1","func":"//urn:micasaverde-com:serviceId:SecuritySensor1\nmsg.topic = msg.topic + \"/Time/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.Time\nreturn msg;","outputs":1,"noerr":0,"x":561.5,"y":232.66668701171875,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"48236a77.f1b26c","type":"switch","z":"b1945a55.2de458","name":"Ej tomt","property":"payload","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","outputs":2,"x":835.5,"y":169.66668701171875,"wires":[["a4959386.bfae38","6c9f3cce.1ec37c"],["812d6e78.4c4d48"]]},{"id":"812d6e78.4c4d48","type":"debug","z":"b1945a55.2de458","name":"Saknar data","active":false,"console":"false","complete":"true","x":880.5,"y":294.66668701171875,"wires":[]},{"id":"f6a0eb8f.a4e1e","type":"function","z":"b1945a55.2de458","name":"LightSensor:1","func":"//urn:schemas-micasaverde-com:device:LightSensor:1\nmsg.topic = msg.topic + \"/Light/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.CurrentLevel \nreturn msg;","outputs":1,"noerr":0,"x":549.5,"y":269.66668701171875,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"28e2792e.153a56","type":"function","z":"b1945a55.2de458","name":"MotionSensor:1","func":"//urn:schemas-micasaverde-com:device:MotionSensor:1\nmsg.topic = msg.topic + \"/Motionsensor/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.Tripped \nreturn msg;","outputs":1,"noerr":0,"x":549.5,"y":307.66668701171875,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"eda248f1.d9a82","type":"switch","z":"b1945a55.2de458","name":"Combo Device","property":"payload.ServiceId","propertyType":"msg","rules":[{"t":"eq","v":"urn:micasaverde-com:serviceId:SecuritySensor1","vt":"str"},{"t":"eq","v":"urn:micasaverde-com:serviceId:ZWaveNetwork1","vt":"str"},{"t":"else"}],"checkall":"false","outputs":3,"x":226.5,"y":410.66668701171875,"wires":[["65dd2ac5.63bde4"],["d959a6b4.a21c28"],["189f15f1.c4c382"]]},{"id":"189f15f1.c4c382","type":"debug","z":"b1945a55.2de458","name":"Efter Combo Device","active":false,"console":"false","complete":"true","x":234.5,"y":491.66668701171875,"wires":[]},{"id":"a581e864.47314","type":"function","z":"b1945a55.2de458","name":"DoorSensor:1","func":"//urn:schemas-micasaverde-com:device:DoorSensor:1\nmsg.topic = msg.topic + \"/DoorSensor/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.Tripped \nreturn msg;","outputs":1,"noerr":0,"x":548.5,"y":345.66668701171875,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8","4774def6.8d0ed"]]},{"id":"937564dd.2bb7","type":"function","z":"b1945a55.2de458","name":"SunPower:1","func":"//urn:schemas-micasaverde-com:device:SunPower:1\nmsg.topic = msg.topic + \"/SunPower/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.CurrentLevel \nreturn msg;","outputs":1,"noerr":0,"x":535.5,"y":385.66668701171875,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"9c3c6654.1f4688","type":"function","z":"b1945a55.2de458","name":"PingSensor:1","func":"//urn:schemas-demo-ted-striker:device:PingSensor:1\nmsg.topic = msg.topic + \"/PingSensor/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.Tripped;\nreturn msg;","outputs":1,"noerr":0,"x":541.5,"y":430.66668701171875,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"9fcda44d.b32b88","type":"function","z":"b1945a55.2de458","name":"GenericIO:1","func":"//urn:schemas-micasaverde-com:device:GenericIO:1\nmsg.topic = msg.topic + \"/LastPollSuccess/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.LastPollSuccess;\nreturn msg;","outputs":1,"noerr":0,"x":530.5,"y":482.66668701171875,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"d959a6b4.a21c28","type":"function","z":"b1945a55.2de458","name":"ZWaveNetwork1","func":"//urn:micasaverde-com:serviceId:ZWaveNetwork1\nmsg.topic = msg.topic + \"/LastPollSuccess/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.LastPollSuccess;\nreturn msg;","outputs":1,"noerr":0,"x":541.5,"y":529.6666870117188,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"93dd1b93.8821a","type":"function","z":"b1945a55.2de458","name":"Siren:1","func":"//urn:schemas-micasaverde-com:device:Siren:1\nmsg.topic = msg.topic + \"/Time/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.Time;\nreturn msg;","outputs":1,"noerr":0,"x":515.5,"y":582.6666870117188,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"939a215a.050688","type":"function","z":"b1945a55.2de458","name":"HumiditySensor:1","func":"//urn:schemas-micasaverde-com:device:HumiditySensor:1\nmsg.topic = msg.topic + \"/Humidity/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.CurrentLevel;\nreturn msg;","outputs":1,"noerr":0,"x":549.5,"y":637.6666870117188,"wires":[["48236a77.f1b26c","e4e2caf2.6744a8"]]},{"id":"4774def6.8d0ed","type":"function","z":"b1945a55.2de458","name":"Scriptet.","func":"if (msg.payload == 1){\n\n var tmpinfo = msg.topic.split(\"/\");\n msg.payload = \"/opt/smskod/sendsms.py 07012345678 \" + '\"' + tmpinfo[1] + \" Door open\" + '\"';\n \n return msg;\n}\nelse \n{\n\n\n \n}","outputs":"2","noerr":0,"x":834.5,"y":559.1666870117188,"wires":[["988b8694.1dca88"],["c40ac2f4.ad4888"]]},{"id":"988b8694.1dca88","type":"debug","z":"b1945a55.2de458","name":"SMS","active":false,"console":"false","complete":"payload","x":1074.5,"y":562.6666870117188,"wires":[]},{"id":"c40ac2f4.ad4888","type":"debug","z":"b1945a55.2de458","name":"Inget SMS","active":false,"console":"false","complete":"payload","x":1078.5,"y":622.6666870117188,"wires":[]},{"id":"768dd990.957bb","type":"function","z":"b1945a55.2de458","name":"Keypad:1","func":"//urn:schemas-micasaverde-com:device:Keypad:1\nmsg.topic = msg.topic + \"/LastPollSuccess/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.LastPollSuccess;\nreturn msg;","outputs":1,"noerr":0,"x":518.5,"y":693.6666870117188,"wires":[["48236a77.f1b26c"]]},{"id":"26459d3c.81ab3a","type":"function","z":"b1945a55.2de458","name":"VSwitch:1","func":"//urn:schemas-upnp-org:device:VSwitch:1\nmsg.topic = msg.topic + \"/Status/\"\nmsg.oldpayload = msg.payload;\nmsg.payload = msg.payload.Status;\nreturn msg;","outputs":1,"noerr":0,"x":511.5,"y":745.6666870117188,"wires":[["48236a77.f1b26c","7634c771.fe40e","b3f00dc9.480818"]]},{"id":"7634c771.fe40e","type":"debug","z":"b1945a55.2de458","name":"Virtuell Knapp","active":false,"console":"false","complete":"true","x":770.5,"y":687.6666870117188,"wires":[]},{"id":"b3f00dc9.480818","type":"function","z":"b1945a55.2de458","name":"MQTT Arduino Topic","func":"msg.topic = \"automatiserarse/arduino/in/\"\n\nif (msg.oldpayload.DeviceId == 199){\n msg.payload = \"LAMPA1:\" + msg.payload\n} else if (msg.oldpayload.DeviceId == 200){\n msg.payload = \"LAMPA2:\" + msg.payload \n} else if (msg.oldpayload.DeviceId == 201){\n msg.payload = \"LAMPA3:\" + msg.payload \n}\nreturn msg;","outputs":1,"noerr":0,"x":740.5,"y":762.6666870117188,"wires":[["6811a7e.eba9858"]]},{"id":"6811a7e.eba9858","type":"debug","z":"b1945a55.2de458","name":"Behandlad Virtuell Knapp","active":false,"console":"false","complete":"true","x":1039.5,"y":748.6666870117188,"wires":[]},{"id":"9e7f89b3.04a4a8","type":"mqtt-broker","z":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}] # Kopiera raden ovan, öppna menyn i node red, välj "import - Clipboard", klista in allt och tryck på Import, då bör följande flöde dyka upp.
För tillfället väljer jag att skicka all info till min gamla loggserver. Kommer göra så tills jag kommit på hur och vart jag ska lagra all information i framtiden. Söker någon vettig databas eller liknande där det går att lagra JSON objekt på ett effektivt sätt (någon kanske har tips på vad man ska välja????).
Ser jag att intresset är nog stort så kommer det en fortsättning på guiden, funderar då på att skriva hur man konfigurerar Node-Red att logga till Influx för att sedan visas i Grafana, kanske testar att skicka Alerts med Grafana med.
Stort tack till bland annat Borkman med fler som gjort bra guider att utgå ifrån!
Installation av Home Assistant med Virtual env
Istället för att skapa en massa bilder och förklara det som behövs här har jag samlat de kommandon som behövs:
Nästan all info kommer från Home Assistants egna guide
# kör kommandona i den här ordningen sudo apt-get update sudo apt-get upgrade -y sudo mkdir /srv # 2017-01-14 - Skapar mappen (tack för tipset Borkman) cd /srv sudo apt-get install python3 python3-venv python3-pip sudo useradd -rm homeassistant sudo mkdir homeassistant sudo chown homeassistant:homeassistant homeassistant sudo su -s /bin/bash homeassistant cd /srv/homeassistant python3 -m venv homeassistant_venv source /srv/homeassistant/homeassistant_venv/bin/activate pip3 install homeassistant # om allt gick vägen så har du nu en installation gjord. # om allt ovan gick vägen så kan du gå ut ur den virtuella miljön med "exit" och fortsätta: exit
Nästa steg är att sätta tjänsten att automatiskt starta, här skiljer sig guiden lite mellan mig och Home Assistant, rätt eller fel så löste jag det.
# börja med att köra följande för att skapa filen för tjänsten cd /etc/systemd/system sudo touch homeassistant.service sudo nano homeassistant.service # Nu står du med en öppen fil, följande information ska ingå i den: ### klistra in detta (hoppa över ### raderna): [Unit] Description=Home Assistant After=network.target [Service] Type=simple User=homeassistant ExecStartPre=source /srv/homeassistant/homeassistant_venv/bin/activate ExecStart=/srv/homeassistant/homeassistant_venv/bin/hass -c "/home/homeassistant/.homeassistant" Restart=on-failure [Install] WantedBy=multi-user.target Alias=homeassistant.service ### SLUT ### för att sedan spara trycker du CTRL+X och sedan "Y" för att spara.
Nu ska allt vara klart för att starta Home Assistant som en tjänst!
Börja med att ladda om så tjänsten finns med:
# då är det dags att starta om så tjänsten går att starta sudo systemctl --system daemon-reload sudo systemctl start homeassistant.service # om du inte får nått fel nu är det klart!! När den har laddat klart bör "http://DITT_RPI_IP:8123/" fungera. # Det tog mellan 3 - 5 minuter innan det hände nått, för att se att de fungerar kan man installera htop... sudo apt-get install htop htop # Nu ser du förhoppningsvis nått med homeassistant längst upp i listan som rör sig (det går att se med bara top med om man vill)
Fördelen med att göra som jag gjort är att man kör Home Assistanat som ett annat konto än root i en virtuell Python 3 miljö, alla beroenden finns i den miljön. Vilket betyder att man nu inte behöver vara lika orolig varje gång man uppgraderar eller installerar något.
Lite bra tips innan jag fått till en guide på hur man konfigurerar själva Home Assistant:
När du editerar filen ”configuration.yaml” under sökvägen ”/home/homeassistant/.homeassistant” behöver tjänsten starta om för att läsa in ändringarna. Detta görs lättast genom gränssnittet nedan.
Om Home Assistant vägrar starta har man med säkerhet gjort nått fel i ”configuration.yaml”, kör följande kommando för att se status:
- journalctl -f -u homeassistant
Tryck CTRL+C för att avsluta sedan.
För att starta om tjänsten när du editerat filen igen skriver du:
- systemctl restart homeassistant.service
Installation av Telldus Duo
Efter att ha fått lånat en Telldus Duo och Tellstick classic som blivit över på grund av RFXtrx 433Mhz till Vera. Bestämde mig för att testa dom på Raspberry Pi och Orange Pi Zero.
Jag har tidigare integrerat och kört en Telldus Duo till min Vera, valde då att integrera den med Powershell från en Windows dator. Den här gången tänkte jag testa att integrera den till Home Assistant.
Installation
Installationen av Telldus duo var mycket enkel, istället för att skriva en hel guide till om varje kommando så lägger jag en länk till sidan jag följde för att göra installationen. Det jag istället kommer att skriva är hur man får igång Telldus med Home Assistant.
Guiden för installationen kommer delvis från Telldus.com
# Installation av Telldus Duo sudo nano /etc/apt/sources.list.d/telldus.list deb-src http://download.telldus.com/debian/ stable main # tryck Ctrl + X och y för att spara # ladda hem och installera Telldus nyckel wget -q http://download.telldus.se/debian/telldus-public.key -O- | sudo apt-key add - sudo apt-get update sudo apt-get install telldus-core # Editera filen /etc/tellstick.conf sudo nano /etc/tellstick.conf # starta om tjänsten sudo systemctl restart telldusd.service # Lättast är nog att starta en gång för att säkerställa att allt går igång som det är tänkt.
Mer än så här är det inte för att lägga till stöd för Telldus Duo i RPI. För att sedan göra något med detta behöver man editera två filer.
All hantering av enheter sköts i filen: /etc/tellstick.conf
# demo konfiguration sudo nano /etc/tellstick.conf # Nått liknande har jag i min configuration just nu. device { id = 2 name = "Nexa: Labbstation" controller = 0 protocol = "arctech" model = "selflearning-switch:nexa" parameters { # devices = "" house = "123123123" unit = "1" # code = "" # system = "" # units = "" # fade = "" } } controller { id = 1 # name = "" type = 1 serial = "xxxxxxx" } # Efter att ha editerat filen kan man behöva starta om tjänsten # starta om tjänsten sudo systemctl restart telldusd.service
För att testa om din Telldus Duo nu fungerar kör
- tdtool –list
- tdtool –on 1
För att kunna lyssna på min Telldus Duo och spela in koder behövde jag ladda hem:
Jag kommer inte att föklara mycket mer än så här i guiden för Telldus Duo konfigurationen. Jag kommer istället att föklara hur jag kopplar ihop allt med Home Assistant i en kommande guide på Home Assistant. Bilden nedan visar hur min nuvarande konfiguration ser ut. Detta innefattar enheter från Vera Lite och två Nexa enheter med Telldus Duo.
Vad mer ska ingå i guiden?
Nu hoppas jag ni gillar guiden och forsätter supporta oss genom att gilla sidan och sprida länkar till oss 🙂 Det ger en bra motivation att forsätta skriva om bra tips och trix
Kan även tänkas att det blir en guide för Tasker kopplat till RPI i så fall (håller på att testa det redan idag!).
*** Gilla / Dela och sprid gärna Automatiserar.se så vi ser att vi gör nytta och att det är värd att fortsätta skriva om Hemautomation ***
//Ispep
Pingback: Raspberry PI – Guiden är nu klar |
Hej!
Vad är anledning till valet av OS på Raspberryn?
Tänker att Iot Core med dina befintliga Powershell script bör väl fungera?
Nyfiken iom. att jag själv är på väg att sätta upp min RPI men har ännu inte valt OS.
Kör Powershell dagligen på jobbet och har ingen vana med Linux. Kanske är dags. hmmm..
Hej
Måste erkänna att det blev av en slump jag gav upp Iot Core för Linux, men det är kanske de bästa beslut jag tagit. Direkt när Iot core släpptes köpte jag två RPI 2:er och testade en hel del. När jag köpte kamerorna som var anpassade till RPI och insåg att de fungerade dåligt till Iot core bestämde jag mig för att testa Linux. Hittade massor med bra kod för kamerorna, fick efter min första guide lite tips att även testa Node-Red och MQTT.
När jag testade dessa två komponenter insåg jag att jobbet att koppla ihop mina system minskade enormt! (Har själv varit 110% Windows människa)
Alla lösningar fram tills nu har jag i stort sett byggt från grunden upp i Powershell och C# (finns på bloggen), eftersom jag hållit på med Powershell sedan det släpptes till Windows 2003 har det gått relativt fort att koda. Men det har varit svårt att dela koden och ytterst få som hoppat på PS. Modulen jag delat på Powershell Gallery har laddats ner en del, men inte så många som spunnit vidare på den tyvärr, så man får göra allt jobb själv.
Allt jag stött på fram tills nu har gått att Googla, är själv väldigt inte någon expert på Linux.
Testa, tror du kommer att inse hur mycket tid node red kommer att spara när det gäller att koppla ihop alla system.
Ersatte själv alla mina script och webbservrar med node red på några dagar 🙂
// Ispep
Hej
Har följt hela guiden. Men är inte helt med på hur jag får variablera från veran att hitta i Nod-red eller grafana.
Jätte bra guide
Tackar, fungerade alla steg bra?
Har inte riktigt hunnit skriva klart den biten som behandlar allt som kommer från Vera grafana. Jobbar med att skapar det flödet på något smart sätt. När det är klart kommer jag att dela det.
Men fram tills det är klart kan du klistra in följande i din Node Red för att få en MQTT lyssnare och en debug som visar det som kommer från Veran:
[{”id”:”cc6a9a3.2efd668″,”type”:”mqtt in”,”z”:”916afc82.f3cae”,”name”:”Verans MQTT”,”topic”:”Vera/#”,”qos”:”2″,”broker”:”76f0b589.45c034″,”x”:146.5,”y”:1060.3333282470703,”wires”:[[”b89c1628.4e51e8″,”5a792d62.374c3c”]]},{”id”:”b89c1628.4e51e8″,”type”:”debug”,”z”:”916afc82.f3cae”,”name”:””,”active”:false,”console”:”false”,”complete”:”true”,”x”:528.5,”y”:1047.3333740234375,”wires”:[]},{”id”:”76f0b589.45c034″,”type”:”mqtt-broker”,”z”:””,”broker”:”localhost”,”port”:”1883″,”clientid”:””,”usetls”:false,”compatmode”:true,”keepalive”:”60″,”cleansession”:true,”willTopic”:””,”willQos”:”0″,”willPayload”:””,”birthTopic”:””,”birthQos”:”0″,”birthPayload”:””}]
// Ispep
Hej
Ja alla stegen fungera bra.
Jag är imponerad av allt jobb som läggs ner på detta.
Jag försökte klippa in det i import/clipboard men det gick inte.
Knappen import kom inte upp
//Roger
Undra om du får med radbrytningar eftersom det är en kommentar. Testa att klistra in i notepad, se där till att allt ligger på samma rad.
// Ispep
Japp det va allt på en rad.
//Roger
Nu kom jag på vad som felar.. När man lägger exemplet som en kommentar är tecknet ’ ” ’ felande.
Jag skapade en Node-Red på github och la exemplet där, borde fungera bättre nu 🙂
https://github.com/Ispep/Hemautomation/tree/master/Node-Red
Jag får se om jag hinner med att posta något idag eller om det blir under någon av de kommande dagarna.
// Ispep
// Ispep
tackar. tips på sida att lära sig Node-red bättre
Härligt, Tack!
lägg till:
sudo systemctl enable grafana-server.service
så startar Grafana automatiskt vid reboot.
/Jonsson
Tack för tipset (finns nu med i guiden), inser att jag inte har startat om någon RPI sedan jag konfigurerat dom.
// Ispep
Mycket intressant och bra guide! Nu känner jag att jag måste knyta ihop min egen säck och bestämma mig för vilken trådlös teknik jag ska använda mig av.
Har idag onewire i pannrum, men vill utöka med trådlöst. Vad är det som gäller? tellstick duo? rpi Znet modul? Är ointresserad av ”molntjänster” som telldus live, etc.
Följer jag din guide bör jag också relativt enkelt kunna byta destination i min nuvarande NodeMCU energimätare. (byggde enligt https://op-en.se/emm-intro/)
Tackar, roligt att det uppskattas 🙂
Har alltid haft samma tanke som du, dvs jag skulle begränsa mig till endast en teknik och lägga allt fokus där, gjorde tyvärr det och sålde alla mina 433Mhz sensorer och gick all in på Z-Wave. Vilket jag ångrar idag eftersom den tekniken är perfekt för fönsterlampor och temperatursensorer och mer kostnadseffektiv.. Tyvärr går det så fort att ny teknik blir populär och gammal ska ersättas, tiden för hur olika system stödjer tekniker skiljer även rejält.
Idag har JAG faktiskt ändrat åsikt helt, det hände när började testa Node Red.
Med Node-Red ersatte jag rätt fort mina PowerShell script och C# program. Nu kan jag koppla ihop ett nytt system genom att dra en koppling från ett befintlig Node Red flöde till ett nytt.
Nu kan jag utan allt för mycket bekymmer integrera olika typer av tekniker rakt in i Node Red, den kan i sin tur ”koppar ihop” alla system. Håller på att göra ett flöde för Vera <> Node Red för fullt, så fort jag är nöjd med det så kommer jag att posta hela flödet så man slipper uppfinna hjulet på nytt.
Redan idag har jag fått till så att node-Red skickar ett sms varje gång en dörr öppnas i Vera. Jag valde att stänga det efter en halv dag… har dock 5000 sms / månad så jag kommer att nyttja det när jag är helt klar med flödet.
Idag blandar jag friskt med olika tekniker som: Arduino, RPI, vera, datorer, Z-Wave, esp8266, nodeMCU, tasker, osv osv. Men allt knyts samman med Node Red, olika flöden knyter samman med en blandning av http och MQTT.
// Ispep
Tack för en bra guide.
Jag upptäckte att mqtt pluginet i Veran inte får med sig MySensors noderna. Har du något bra info om detta ?
//Peti
Jag har sett att det inte är allt som man har i Vera som exponeras, tyvärr om man får säga så har jag fått allt jag ville ha ur min Vera. Därför har jag inte kollat vidare på om det är nått man kan lösa.
Jag skickade ett mail till Hek som skrivit hela Mysensors för att om det är nått han har hört talas om eller har tips på hur man kan lösa.
// Ispep
Jag har lyckats med att få ut en del av MySensors genom att kryssa i Arduino enheten i Veras export. Den får då över alla temp händelser via MQTT som man sedan kan hantera i Node-Red. Så det fungerat till viss del nu. Men jag får te.x inte över Humidity. Man får skriva någon typ av funktion i Node-Red för att välja vilka givare man vill ta emot.
Hittade nu även Humidity funktionen. Man ska bara förstå hur dom har byggt upp systemet. Watchdog valet för Mysensors Temp och Humidity heter:
urn:upnp-org:serviceId:TemperatureSensor1
urn:micasaverde-com:serviceId:HumiditySensor1
Idag uppdaterade vi bloggen så det går att få ett mail varje gång vi svarar på kommenterar eller det händer något i den här posten 🙂
Jag delar min ”BETA 0.0.01” version av node red flöded så ser du hur jag tänkte när jag mappade upp från min Vera.
// Ispep
Ni som redan kört guiden och fått igång Mosquitto bör ändra följande värde ”allow_anonymous true” till ”allow_anonymous false”.
Om man kör med värdet jag först skrev i guiden (dvs true) så kontrollerar inte Mosquitto behörigheten. Missade att ändra detta när jag skrev guiden. Kan va bra att ändra detta om du planerar att nå Mosquitto kön från internet
Stort tack till läsaren som uppmärksammade detta 🙂
// Ispep
Hej,
Jag har problem att få grafana att fungera. Jag har följt instruktionerna för installeringen och det verkar ok men när jag ska verifiera att det funkar med ”http://minipaddress:3000” får jag bara att webbplatsen inte kan nås. Jag har trippel kolla ip:n och porten ska ju vara default.
Vad kan jag ha missat? Det är ju kanske lite svårt att svara på förstås men kommer du på något spontant?
Kolla om det står nått konstigt i loggen med kommandot nedan:
cat /var/log/grafana/grafana.log
Du kan även testa att starta om tjänsten ett varv.
sudo systemctl stop grafana-server
sudo systemctl start grafana-server
I min logg får jag föjande rad när allt är klart:
t=2017-01-06T13:16:09+0100 lvl=info msg=”Initializing HTTP Server” logger=server address=0.0.0.0:3000 protocol=http subUrl=
Hör gärna av dig även om det fungerar så jag vet om det är nått som behöver uppdateras i guiden.
// Ispep
Står bara att filen eller katalogen inte finns. Kollade och det är filen som saknas, katalogen finns.
Ser ingen skillnad med omstart av tjänsten heller.
Kolla vilken konfigurationsfil och sökväg till loggen du har med följande rad:
ps -aux | grep grafana
Mitt resultat blir följande på RPI:en som den här guiden bygger på:
grafana 19840 0.5 2.0 890532 19136 ? Ssl 13:16 0:06 /usr/sbin/grafana-server –config=/etc/grafana/grafana.ini –pidfile= cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins
Det kanske kan ge nått tips på vad som eventuellt felar.
// Ispep
Det enda jag får är detta:
1876 0.0 0.4 3132 1820 pts/0 S+ 15:04 0:00 grep grafana
Det tyder på att du inte alls får igång tjänsten, har du kört alla uppgraderingar på din RPI innan du började med grafana?
sudo apt-get update
sudo apt-get upgrade
sudo apt-get upgrade dist
— vad får du om du kör följande:
cd /var/lib
grafana-cli –version
# Jag fick: Grafana cli version 4.0.2
cd /etc/rc3.d
grafana-server -v
# jag fick: Version 4.0.2 (commit: v4.0.2)
Om det inte fungerar och du inte kommit allt för långt skulle jag nästan tro att det snabbaste är att börja om med en ny installation av RPI Jessie från grunden igen.
// Ispep
Jo, men det måste ha blivit nå fel. Jag har jonglerat med en 1-åring under tiden så jag kan inte garantera att allt gjorts rätt. Kommandona du skrev nu funkade inte alls, nåt med installationen måste ha blivit fel. Men som du säger är det nog lika bra att börja om. 🙂
Testar det. Tack för all hjälp!
Ingen fara, bra att få feedback om nått inte fungerar i guden så jag kan uppdatera. Funderar på vad nästa steg i guiden ska bli, finns ju så mycket man kan göra!
// Ispep
Kanon vilken guide nu ska lekas när barnen sover 🙂
Kanske en dum fråga men ska man vara i rooten under hela installationen?
Alltså sudo bash
Får ”failed to stop eller start influxd”
Tackar! Uppskattas, tog en stund att skriva 🙂
jag har gjort installationen som root hela tiden ( även om det inte är så kanske kanske ska göra ).
Fick du igenom hela Installationen?
// Ispep
Allt gick bra fram till Mqtt 🙂
Där harjag fastnat får bara upp ”E: Kunde inte hitta paketet”
Så nu blir nya tag ikväll och försöka komma vidare där. Skulle vara riktigt smutt om jag fick till detta. Lite tråkigt med grafana är ju att det inte har stöd för MySQL, Har flera miljoner rader men det kan man kanske konvertera 🙂
Testade nyss ”sudo apt-get install mosquitto” på en RPI, fick info om att den fanns och att jag hade senaste versionen, det borde fungera. Har du uppgraderat din RPI till de senaste av allt?
Jo den där biten med att konvertera allt data från en databas till en annan är lite drygt, fick själv göra samma 🙁
// Ispep
Jag får pröva att göra om igen, satt på lunchen idag men fick inte till det iaf,
Tack för att du kollade igen
Detta kommer i terminalfönstret
Följande paket har beroenden som inte kan tillfredsställas:
mosquitto : Beroende av: libwebsockets3 (>= 1.2) men det kan inte installeras
E: Kunde inte korrigera problemen, du har hållit tillbaka trasiga paket.
root@grafana:/home/pi#
Testa om du kan tvinga in den innan du kör Mosquitto guiden igen med:
sudo apt-get install libwebsockets3
// Ispep
Pingback: Test & utvärdering av Home Assistant |
Gjorde om hela installationen igår med samma resultat 🙁
Såg att det kom en ny Jessie igår som jag nu laddat ner och ska pröva med ikväll 🙂
Håller mina tummar att det kommer fungera.
Eller är det för att jag försöker göra allt detta via VNC?
Vilken version hade du när du gjorde guiden?
Bra att du säger till att det inte fungerar. Om jag hinner ikväll ska jag installera en RPI 3:a med Razberry kort, kommer att gå igenom alla steg i guiden då för att verifiera att allt fungerar.
Den största orsaken till VNC var att jag skulle ta skärmklipp samtidigt som jag skrev guiden, men det ska inte göra någon skillnad så länge du är root.
Lite osäker men jag tror den är från November, sak testa med den senaste och lägga till versionen i guiden i så fall 🙂
// Ispep
Nu fungerar Mqtt, jag installerade 2017-01-11 jessie.
Sen körde jag detta.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get autoremove
sedan mqtt guiden och det lirade direkt 🙂
Detta för att kolla mqtt statusen
”service mosquitto status”
pi@grafana:~ $ service mosquitto status
● mosquitto.service – LSB: mosquitto MQTT v3.1 message broker
Loaded: loaded (/etc/init.d/mosquitto)
Active: active (exited) since tor 2017-01-12 18:32:24 CET; 30min ago
Process: 409 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS)
Nu ska jag in med InfluxDB och Grafana.
Stort tack igen för guiden.
//Sonny
Tackar för den infon 🙂
Såg att den här släpptes igår:
Raspbian Jessie with PIXEL
Image with PIXEL desktop based on Debian Jessie
Version: January 2017
Release date: 2017-01-11
Kernel version: 4.4
Så jag installerade min RPI 3 med guiden nyss. Fick uppdatera en del steg, men nu ska det fungera helt 🙂
// Ispep
Pingback: Nu finns en guide för Home Assistant |
Hej
Bra guide.
Men jag får inte grafana o lira.
Kommer hit ”Konfigurera en graf med Grafana” o sen funkar det inte längre o se någon uppdatering av graf. kört in alla strängar som du skrev.
Installation av Mosquitto MQTT borker får jag inte till heller riktigt… testen i slutet svarar inte.’
Installation av Node Red gick bra förutom kopplingen mot Grafana som strula tidigare i flödet.
Rpi 3
Rasbian Jessy 170111
Grafana 4.1.1
Några ideer på vad jag bör börja leta eller är det o starta om från början o se om det funkar bättre?
Mvh
Mats
Om du fått in alla rader som jag skrivit borde det fungera, annars bör du på vägen fått något felmeddelande. om du fått in data via Influxdb brukar felet ligga på att man valt fel tidsintervall i grafana (längst upp till höger), ställ de senaste 7 dagarna och se om du får nått värde.
Vad gäller MQTT delen så checkade jag just alla komponenter jag använder i guiden och dom ska fungera vad jag kan se.
hittar du några fel om du kör
sudo cat /var/log/mosquitto/mosquitto.log
Om det inte skulle visa nått då går det ibland lika snabbt att börja om som att felsöka 🙂
// Ispep
Pingback: Min resa till hemautomation |
Hej,
Trasslade en stund med Grafana-installationen. Uptäckte sedan att det är två olika filer att tanka, beroende av version på raspberry:n du har. Hittade en guide, och där finns även installation med apt-get, som jag fick att fungera:
https://github.com/fg2it/grafana-on-raspberry/wiki#with-apt-from-bintray-debian-repository
//Jocke
Bra att du nämnde det, jag ska lägga till en kommentar om att installationerna kan skilja om man väljer en annan dist än den jag gjort guiden för.
Antar att du kört med den versionen utan GUI?
// Ispep
Nja, var ju inte annan dist det berodde på som jag fattade det, utan vilken version av hårdvaran man har.
Och sen som sagt, APT-GET installation som funkar finns där med.
Pingback: IKEAs ”Trådfri” med uppkopplad Arduino |
Hej.
Bra guide!.
Har kommit till att influx är installerat och configurerat men startar web browsern på rasberry:n men får inte i fältet ?????:8086.
Vad kan ha gått fel?
Mvh Dan
Tackar 🙂
När du öppnar en webbläsare måste du manuellt lägga till din RPI:s IP adress och port 8086.
dvs http://10.20.30.40:8086 ( om din RPI:s ip är 10.20.30.40 )
// Ispep
Pingback: Hemautomation och strömavbrott? |
Pingback: Läs om IKEAS Gateway "TRÅDFRI", vi har testat den |
Litet stavfel:
Installation av Mosquitto MQTT borker
Installation av Mosquitto MQTT broker
https://www.automatiserar.se/guide-raspberry-pi/#InstallationMQTT
Mvh
Mats
Tackar
Så stor text och ändå lyckas jag missa att det står fel 🙂
Har rättat det nu.
// Ispep
Helt underbar guide!!!
Såg denna sent. Har lagt puzzelbitarna node-red, influxdb, MQTT.
Men saknade bitarna node-red mot influxdb och influxdb mot grafana.
Tror ”livet” nu kommer bli mycket enklare.
Så mycket roligare att använda sin paj till annat än media center.
Fortsätt på detta underbara verktyg, där många kan bli hjälpta av.
Tackar! bara jag får lite tid så ska jag lägga upp en massa nytt jag håller på med 🙂
// Ispep
Kan du göra en howto hur man installerar HomeKit Homebridge så det funkar ihop med
Home Assistant
Kan du det?
Hej
För tillfället har jag inte någon ledig RPI som jag kan testa på, har dessutom lite tidsbrist 🙁
Men jag lägger med det i saker vi borde skriva om på sidan 🙂
// Ispep
tack för en bra Guide. Jag har installerat Influxdb och Grafana på RPi 3, gick precis som det skulle.
Det finns en ny version för Grafana 4.3.2
https://github.com/fg2it/grafana-on-raspberry/releases/download/v4.3.2/grafana-4.3.2.linux-armhf.tar.gz
fel länk ska vara denna
https://github.com/fg2it/grafana-on-raspberry/releases/download/v4.3.2/grafana_4.3.2_armhf.deb
Hej.
Jag försöker få detta att funka men jag får bara -ash: sudo: not found
när jag kör sudo nano /etc/apt/sources.list.d/telldus.list
Jag kan heller inte skapa detta manuellt genom att bara köra nano och skriva in allt manuellt i filen.
Tacksam för hjälp.
Konstigt, blir det någon skillnad för dig om du först kör ”sudo bash” och sedan nano /etc/apt/sources.list.d/telldus.list?
// Ispep
Hej
Tack för fantastisk guide.
Är nybörjare på Linux, har fastnat när jag ska starta HA automatiskt. Klistrar in din text i den öppna filen, vad gör jag efter det? Sparar på något sätt?
Tacksam för svar
/Micke
Tackar!
Missat att skriva hur man stänger och sparar där 🙂 Tryck på Ctrl+X när du skrivit texten, sedan väljer du ”Y” för att spara (Uppdaterade det steget i Guiden nu). Jag kommer att uppdatera guiderna under hösten och göra fler exempel på sätt att Automatisera.
// Ispep
Pingback: Ubuntu Server och Hemautomation |
Hej igen, tack för svar 🙂
Nytt problem:
Får följande när jag försöker ladda om tjänsten:
”Failed to start homeassistant.service: Unit homeassistant.service is masked.”
Har du någon idé?
Tack
Micke
Pingback: Guide: Hemautomation med Node-Red |
Hejsan!
Jag har följt guiden men lyckas inte starta influx CLI. Det går bra att logga in på influxdb admin-sida via http://localhost:8083/. När jag försöker starta influx CLI får jag ”bash: influx: command not found” värt att notera är att jag har 1.0.2 av InfluxDB. Några tips?
(ursäkta sent svar) Låter konstigt att du inte hittar den.. Det var iofs ett tag sedan jag satte upp en influx på mina RPI:er så jag kanske måste revidera och uppdatera guiden med lite nyheter igen 🙂
Men som svar på frågan så vet jag inte om det beror på att dom ändrat något sedan jag gjorde guiden, jag ska försöka uppdatera den och verifiera allt så fort jag hinner.
// Ispep
Pingback: Allt om Vera och VeraSecure |
Hej!
Är det samma förfarande med tellstick Classic som för duo, försöker som nybörjare få igång den i HASS.IO
Tror det finns ett bättre sätt nu:
** Get the beta core
* example go to: cd /usr/src
* sudo wget https://s3.eu-central-1.amazonaws.com/download.telldus.com/pool/main/t/telldus-core/telldus-core_2.1.3-beta1.orig.tar.gz
** Install prerequisites.
* sudo apt-get install libftdi1 libftdi-dev libconfuse1 libconfuse-dev cmake
** Unpack the source code
* gunzip telldus-core_2.1.3-beta1.orig.tar.gz
* sudo tar xzf telldus-core_2.1.3-beta1.orig.tar
** Go to the created folder:
* cd telldus-core-2.1.3-beta1
** And run cmake
* sudo cmake .
If you get
— Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
run:
* sudo apt-get install doxygen
After that, I still got:
* CMake Error: File /usr/src/telldus-core-2.1.2/Doxyfile.in does not exist.
run this command to solve that:
* sudo wget http://developer.telldus.com/export/4342bbaa1dcd90011b66e8c1540db6ba904877fe/telldus-core/Doxyfile.in
Try again
* sudo cmake .
Now we can make and install.
* sudo make
* sudo make install
and update library cache
* sudo ldconfig
** Install Service
* sudo nano /lib/systemd/system/telldusd.service
And put in the following in this empty file:
———
[Unit]
Description=Tellstick service daemon
After=multi-user.target
[Service]
Type=forking
ExecStart=/usr/local/sbin/telldusd
[Install]
WantedBy=multi-user.target
——–
** Reload systemctl
*sudo systemctl daemon-reload
** Start the daemon!
* sudo systemctl start telldusd.service
** Check if it worked with
*systemctl status telldusd.service
The terminal should output something like
● telldusd.service – Tellstick service daemon
Loaded: loaded (/lib/systemd/system/telldusd.service; disabled)
Active: active (running) since Sun 2016-04-03 17:29:25 UTC; 16min ago
Process: 28856 ExecStart=/usr/local/sbin/telldusd (code=exited, status=0/SUCCESS)
Main PID: 28857 (telldusd)
CGroup: /system.slice/telldusd.service
└─28857 /usr/local/sbin/telldusd
** Enable service to start on every reboot:
* sudo systemctl enable telldusd.service
** Now configure your switches by running
* sudo nano /etc/tellstick.conf
(( Fick tipset av Stefan, tyvärr inte hunnit lägga med dom i guiden ))
// Ispep
Hittade denna guide och tänkte att den såg väldigt bra ut och skulle passa mitt behov. Men jag fastnar redan på influx, raden ”curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add – source /etc/os-release”, den resulterar i
gpg: can’t open ’source’: Filen eller katalogen finns inte
gpg: no valid OpenPGP data found.
Jag gör säkert något fel, men är för dålig på hur det fungerar för att hitta felet…
Guiden har tyvärr inte fått någon uppdatering under lång tid. Kan vara så att jag behöver uppdatera guiden, tidigare fungerade alla steg utan problem
// Ispep
Jag förstår att det är något sådant problem. Får se om jag får tid att se om jag kan lista ut vad det är som inte fungerar.
/Erik
Tack för intressanta artiklar.
Lite nyheter om Raspberry Jessie , det påverkar era instruktioner ovan.
https://www.raspberrypi.org/forums/viewtopic.php?t=192212
Det finns en ny source för TelldusCore som man måste använda för att få det att fungera:
deb http://s3.eu-central-1.amazonaws.com/download.telldus.com unstable main
Pingback: Philio Tech - Temperatur & luftfuktighetsmätare(PAT02-1B) |
Hej!
Det finns numera ett bibliotek (open source + NuGet) för att styra allt som är uppkopplat mot Telldus Live. Se https://github.com/wolfberry-ab/telldus-live-dotnet. Den har support för alla 180 metoder i API:et. Kanske kan vara något?
Mvh Mikael
Hej, bra tips det måste kollas in! Har dock inte tillgång till någon Telldus för tillfället, men kanske någon av alla läsare kan testa den och säga hur den fungerar 🙂