Att hemmasnickra ett hemautomationsystem. (Domoticz + MySensors.org)

70k läst  252 svar

  1. S
    Medlem Nivå 10

    Robotgräsklippar övervakning

    Då har jag äntligen fått installera min övervakning till robotgräsklipparen jag nämnde i ett inlägg ovan.

    Inloggade ser högupplösta bilder Logga in
    20160410_144221.jpg


    "Vad ni ser är en rörelsedetektor och en avståndsmätare. Tanken är enkel... jag sätter den bredvid laddstationen. När något rör sig triggas rörelsedetektorn och avståndsmätaren läser av... står det en robot i stationen kommer avståndet bli 5-6cm, annars 30+cm.

    Varför inte bara en rörelsedetektor... 1) Katter, ungar och annat okontrollerbart 2) Jag vill veta om det står en robot där, eller det bara triggas rörelse av något i skjulet. 3) Jag vill veta om den kör ut eller in i laddstationen."

    Inloggade ser högupplösta bilder Logga in
    2.JPG

    Inloggade ser högupplösta bilder Logga in
    3.JPG


    Bygget är en vanlig MySensors 5v nod med en rörelsedetektor och en avståndsmätare. Allt inhusat i en vanlig eldosa. Här är resultatet i Domoticz:

    Inloggade ser högupplösta bilder Logga in
    4.JPG


    Inspiraton:
    Inloggade ser högupplösta bilder Logga in
    20160410_144230.jpg


    Nästa steg blir logiken i Domoticz (nästan klar) med att om roboten är ute mer än 1.5h utan att komma tillbaka till laddstationen skickas en push notis till min mobil.
     
    • Laddar…
  2. S
    Medlem Nivå 10

    Events i Domoticz

    Det fina med ett hemautomationssystem är just att det kan bli automatisk! Här är några delar som jag har för tillfället:

    -
    1. Automatiskt av/på larm
    2. Tänd/släck fönsterlampor beroende på ljus och larm.
    3. Tänd (dimma) lampor under natten vid rörelse.
    4. Spela in ip cameror till ftp
    5. Aktivera fläkt vid hög luftfuktighet
    6. Förbered huset (ljus, rörelse, larm) vid sänggång
    7. NY! Håll koll på robotgräsklipparen

    Allt görs möjlig genom kodning på olika sätt. För dom lite mer avancerade användarna i Domoticz används mest Lua och för de lite mer nya används Blockly

    Här är ett exempel för Blockly som i princip säger om huset är larmat och rörelsedetektorn i garaget är triggad så skickar Domoticz en push notis med subject: ALARM! och medelandet "Garaget triggad". Det kommer 2 sekunder senare till min telefon.

    Inloggade ser högupplösta bilder Logga in
    1.jpg

    (Obs, ej testat - jag använder normalt inte blockly!)

    Ett annat sätt är att programmera ett LUA scripts. I domoticz mappen finns subfolderna /scripts/lua och där hittar man filer som heter script_device_xxx.lua. Här skapar man bara nya filer .lua och skriver sin kod.

    Nedan följer koden för min robotgräsklippare med kommentarer (markerade med --)

    --Var_padde = Domoticz variabel (integer). 0=Ingen övervakning! 1=Inne 2=Ute
    --Padde = smeknamn på roboten...

    commandArray = {}

    --Hämta tiden och gör om den till minuter
    h = tonumber((os.date('%H')))
    time = os.date("*t")
    min = time.min + time.hour * 60

    --Hämta senaste uppdateringen av variablen och gör om till minuter (för beräkning hur länge roboten varit ute)
    s = uservariables_lastupdate["var_padde"]
    hour = string.sub(s, 12, 13)
    minutes = string.sub(s, 15, 16)
    s = hour * 60
    s = s + minutes

    --Om distans är mer än 25cm (klipparen ute) och det är 90 min sen senaste uppdateringen, larma!
    if ((s + 90 < min) and uservariables["var_padde"] == "2") then
    commandArray['SendNotification']='Paddington#Gräsklipparen ute mer än 1.5h#-2'
    --En variable för att inte få en endless loop på push-notiserna.
    commandArray['Variable:var_padde']='0'
    end

    if (uservariables["var_padde"] == 2 and otherdevices_utility['Paddington'] < 25 and otherdevices_utility['Paddington'] > 0) then
    -- Padde har kommit in
    commandArray['Variable:var_padde']='1'
    print("Padde har kommit in")
    end

    if (uservariables["var_padde"] == 1 and otherdevices_utility['Paddington'] > 25) then
    -- Padde går ut och klipper!
    commandArray['Variable:var_padde']='2'
    print("Padde åker ut och klipper")
    end


    if (otherdevices['Master']=='On') then
    return commandArray
    end



    Mer går att läsa här om Domoticz eventssystem - https://www.domoticz.com/wiki/Events
    Det finns massor hjälp på wiki och på forumet - sök och du ska finna! Låt inte dina "smarta" prylar vara korkade och enbart möjligt att manuellt styra.
     
  3. M
    Byggveteran Nivå 6
    Imponerande :)

    Men, vad ska man med detta till i slutändan hehe
     
  4. S
    Medlem Nivå 10
    Hej @memike - med vad? HA systemet eller robotövervakaren?
    I HA systemet är mitt hemlarm, brandlarm och automatisk belysning... det är rätt nice kan jag säga.
     
  5. M
    Byggveteran Nivå 6

    Med robotövervakningen :)
     
  6. S
    Medlem Nivå 10
    @memike - kan väl erkänna att det inte löser några världsproblem :) men en rolig grej att bygga och som sagt, om min robot fastnar eller ej kommer tillbaka av någon annan anledning - så får jag en notis till telefonen! Smidigt! Annars kan det lätt gå lite tid innan man upptäcker den är ute, ex över natten...
     
  7. Q
    Medlem Nivå 4
    Hej,

    Har precis köpt en RFXtrx433E till en RPI3 tillsammans med Domoticz. Tänkte sätta en microbrytare som via en nexa sändare skickar det till Domoticz för att kunna logga robotklipparen.

    Sen snubblade jag in på denna intressanta tråden.
    Jag skulle vilja ha en temp/fukt mätare i garaget som trådlöst skickar till Domoticz i huset. Kan man göra detta med en DHT22 och en NRF24L01+?

    Kan man ta emot det på en RFXtrx433E, antar det?
    Hur lång räckvidd är det ca på en NRF24L01+?
    Garaget är ca 15 meter från huset.

    Tacksam för svar, är helt grön på detta men man måste ju börja någonstans :)

    Edit: Kom just på att NRF24L01+ skickar 2.4ghz...
    Finns det liknande komponenter för 433mhz?
     
    Redigerat 15 maj 2016 19:47
  8. S
    Medlem Nivå 10
    @qsecofr - Hej!

    Temp/Fukt är inga problem. Jag använder MySensors och du kan använda både Nrf24l01+ (2.4ghz) eller ex RFM69HW (433mhz) om du vill det. Kolla på MySensors.org

    Om du vill köra RFLink kan du bara köpa dig en Temp/Hum mätare som stödjs... flera varianeter på class ohlsson stödjs tror jag.

    Vill du ha en brytare borde detta också finnas i 433. Nexa har en som jag tror stöjds.
    Det är ganska enkelt att göra en i MySensors om du vill knåpa själv.

    Edit: Såg du använder RFXCom och inte Rxlink. Du får helt enkelt kolla vilka devices som stödjs med RFXCom har en gedigen databas vet jag.
     
    • Laddar…
  9. S
    Medlem Nivå 10

    UV Sensor

    Semestern är över och det tekniska nere i min mörka källare har i sommar fått stå lite till sidan mot sommar, semester, resor och barnaktiviteter. I stort sett har det varit två projekt - dels utveckling av ett kretskort och en UV sensor.

    Inloggade ser högupplösta bilder Logga in
    1467280186277-1.jpg


    Det är en dual UV och ljussensor (LM393 Light Sensor) som körs på en EasyPCB och 2xAA batterier. Den samlar in UV och ljusstyrka 1 ggn/15min. Även denna "låda" är inte den bästa... en vanlig eldosa med lite hål i botten, övertäckt med en genomskinlig plastpåse. Fungerar fint!

    Inloggade ser högupplösta bilder Logga in
    20160630_112833.jpg


    För en som är nyfikna, gå tillbaka i bloggen och läs om hur man bygger. Kolla också på www.mysensors.com. I stort sett en vanlig MySensors nod på min EasyPCB. Det är en booster för att dra maximalt ur batteriet och en voltage divider för att mäta batteriets styrka och rapportera in.

    Mäta strömförbrukning

    En viktig aspekt såklart när man bygger batterinoder är hur mycket ström den slukar i mA. När man väl fått reda på detta kan man via online kalkulatorer snabbt ta reda på ungefär hur länge noden kommer leva på batterierna. Det finns två läge att mäta, när radion sänder och den absolut viktigaste - när noden sover. Enklast att mäta är att koppla in sin mätare i serie mellan batteriets +pol och VCC (dvs ström in) på noden.

    Till en början hade jag problem med för hög förbrukning (1500uA) i sov-läget. Kom snart fram till att det var ljussensorn som drog mycket ström hela tiden pga sin konstruktion. Med 1500mA kan man räkna med att noden dör inom ett par veckor.

    Försökte helt enkelt plocka bort alla komponenter på ljussensorn som ej behövdes som statusled m.m. utan resultat. Slutade med att jag strömsatte noden via en digital output pin på arudinon istället för VCC då man kan stänga av och sätta på den när det behövs. Det vill säga, innan jag sover noden med sleep() så sätter jag pinnen till LOW. Resultatet blev istället för 1500uA så är vi nere på 60uA.

    Kostnad - ca 70kr.
    Kod och mer info: https://forum.mysensors.org/topic/1456/rebuild-of-my-broken-433mhz-cresta-hideki-uv-sensor/11

    Inloggade ser högupplösta bilder Logga in
    1.jpg


    UV alarm är satt till 8 - så nu får jag en push notis till mobilen i stil med "UV över 8 - dags att smörja barnen??". Ljusensorn är backup till en annan ljussensor och dom används till att tända och släcka belysing i bland annat fönster.

    Så - för alla som är rädda för barnen ska få för mycket UV strålning till nästa sommar - nu har ni 9 månader på er! Lycka till!
     
    Redigerat 30 aug 2016 13:15
    • Laddar…
  10. johel572
    Garagebyggare Nivå 12
    Hur mycket ström kan en IO leverera kontra hur mycket drar sensor? 1500mA för en sensor låter ju helt sjukt, är det några nollor för mycket.
     
  11. S
    Medlem Nivå 10
    Haha, japp - menade uA såklart :) Ändrar i texten - tack!
    Max är 40mA enligt flera källor jag läst... och det beror hur många du använder såklart. 200mA tror jag är totalen. Om du kommer upp i dessa nummer finns inga garantier kvar dock att det ska fungera...

    Edit: Hittade denna: http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations

    Sensorn drog ungeför 1400uA :) (Efter borttagande av digital krets och statusled)
     
    Redigerat 30 aug 2016 13:43
  12. E
    Medlem Nivå 1
    Bra jobbat @Sundberg84.
    Det var en bra idé att strömsätta sensors till en output på arudinon.
     
    • Laddar…
  13. S
    Medlem Nivå 10

    IP Kameror och ström via nätverkskabel (Power over ethernet (POE))

    Ett projekt som varit klart en tid men som städats upp under sommaren är övervakning med hjälp av IP kameror.

    Inloggade ser högupplösta bilder Logga in
    2.JPG


    Det svåra med IP kameror och framförallt kameror som ska placeras utomhus är hur man får ström till dom. I normala fall skickas en enkel inomhus strömadapter med (iallafall till dom billigare varianterna). Är du beredd att lägga lite mer pengar finns kameror med POE inbyggt.

    Power over ethernet eller PoE är en teknik för att på ett säkert sätt överföra elektrisk kraft tillsammans med datakommunikation i Ethernetkablar. I normala fall använder man sig av en POE router som injiserar 48V i ett par av trådarna i ethernet kabeln. I andra ändan har den kompatibla POE enheten möjlighet att omvandla dessa 48V till passade volt och strömföra sig genom detta. Underbart - men dyrt!

    Så finns det en annan variant... lite mer jobb, men framförallt roligt och mycket billigare.

    Inloggade ser högupplösta bilder Logga in
    Over.jpg


    Istället kan du köpa dig POE injectors och splitters. Den enklaste varianten består av en passiv injector och en passiv splitter (70kr i Sve, 15kr på ebay). Du drar din ethernet-sladd från routern till där du vill ha din IP kamera. I början sätter du din injektor och i den kopplar du din strömadapter. I andra änden sätter du din IP kamera och splitter.

    Inloggade ser högupplösta bilder Logga in
    Inj.JPG


    Detta fungerar fint men har sina nackdelar.
    - Du behöver 1 injector + 1 strömadapter / ip kamera
    - Fungerar endast med kortare kablar, eftersom du har ett voltage drop ju längre kabeln blir kommer du vid längre distanser ej få tillräckligt power fram för att driva kameran på ett bra sätt.

    Den något bättre varianten i min mening är schemat enkligt bilden ovan. Istället för en passiv injector sätter du en POE Modul injector (40kr ebay) och ansluter en strömadapter med något högre styrka än du behöver. I mitt fall har jag 12v kameror och anslutit en 18V adapter med bra Ampere. Detta förebygger tapp över längre kablar.

    Inloggade ser högupplösta bilder Logga in
    1.JPG


    I mitt fall har jag sedan fyra utgångar och kan dra fyra nätverkskablar till fyra kameror. I slutet på varje nätverkskabel finns en splitter och en voltregulator (40kr ip klassad) som konverterar allt från 15-40 V till 12V, perfekt för kameran.

    Så - övervakningen är online hemma, fungerar fint och ett roligt projekt för den som vill ha utomhus ip kameror. Lycka till!

    Inloggade ser högupplösta bilder Logga in
    3.JPG


    Här är också en fin tutorial (men lite mer avancerad då han bygger in sin volt regulator i ip kameran) https://www.youtube.com/watch?v=NhCATUfMA7Y
     
    Redigerat 31 aug 2016 13:09
    • Laddar…
  14. 13th Marine
    Renoverare · Nivå 16
    Är det inte som så att dessa endast fungerar till 100Mbit?
     
  15. S
    Medlem Nivå 10
    @13th Marine: Helt korrekt - som jag skrev i min bild klarar detta ej 1gb då alla paren i kabeln är upptagen för datatrafik då. Så endast 100mb i kablar som du skriver - men det räcker gott och väl!
     

Logga in för att se högupplösta bilder och få möjlighet att ställa frågor. :love: