Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Vinnerliste

  1. Fredrick

    Fredrick

    Medlemmer


    • Poeng

      4

    • Innlegg

      497


  2. Evelen

    Evelen

    VIP


    • Poeng

      1

    • Innlegg

      1 092


  3. Mastiff

    Mastiff

    VIP


    • Poeng

      1

    • Innlegg

      1 246


  4. Grøtan

    Grøtan

    Medlemmer


    • Poeng

      1

    • Innlegg

      20


Populært innhold

Viser innholdet med mest poeng fra 14. juli 2019 i alle områder

  1. Hei, Valgte å legge topic her da mye av dette kan hackes om til andre systemer, men for egen del er det Homeseer som gjelder. Følgende «komponenter» inngår for å få dette til å virke: Webkamera (PoE Hikvision 2432) ESP8266 med en billig lydsensor Homeseer med plugins: - Kodi - EasyTrigger - Tasker - mcsMQTT MQTT-broker Mobil med Tasker, AutoRemote og AutoNotification Jeg har hermet etter noen andre på forumet i prinsippene, men så har jeg også tatt den litt lenger og tenkte at jeg kunne dele hvordan jeg har gjort det. Jeg forsvarer tidsbruken for meg selv ved at jeg tror vi trenger «babycall» i en del år frem ettersom vi har en lydisolert kjeller-kino der vi ikke hører barna, og det er vi litt avhengige av å ha kontroll på. Resultatet er slik: Lydnivå i barnerommene overvåkes og sendes kontinuerlig til Homeseer Hvis lydnivå overstiger en terskelverdi sendes det ut en egenprodusert notification (se under) til telefonen. Hvis Kodi i kjelleren eller i stuen spiller av kommer samtidig bilde-i-bilde av webkamera til det rommet det gjelder Fra notification kan jeg åpne webkamera på mobilen, senke terskelverdien (noen kvelder er det mye bråk ute som gjør at alarmen trigges), skru av alarmen for dagen (eks. hvis jeg vet vi er tilgjengelig – eller hvis vi har barnevakt så trenger ikke jeg notifications) eller «slumre» alarmen i 15 minutter i de tilfellene der barna må få sovnet inn igjen. Notification ser slik ut: Jeg fikk aldri digital utgang fra en annen lydsensor til å fungere, så det er brukt analog. Her hadde jeg nok hatt godt av litt bedre elektro-kompetanse, for jeg tipper det mangler en motstand. Justeringen på selve lydsensoren er ekstremt følsom, og den minste endring fører til at signalet klipper på maks. Senker jeg den litt reagerer den ikke på skriking. For eget vedkommende har jeg klart å få det til å fungere, men ta det som en advarsel/mulighet for forbedring. Kombinasjon av «If its stupid, but it works..» og «If it works, dont fix it»  Programmering – ESP8266 Klipper bare inn programmet som brukes, så får dere heller spørre hvis det er noe. Kanskje jeg kan svare, kanskje noen andre kan svare. Kanskje noen kan fortelle meg om ting som burde vært gjort annerledes //Library and defining DHT #include "DHT.h" #define DHTTYPE DHT22 #define DHTPIN 2 DHT dht(DHTPIN, DHTTYPE); //Library for NodeMCU #include <ESP8266WiFi.h> //WiFi setup const char* ssid = "SSID"; const char* password = "PASSORD"; WiFiClient espClient; //Libraries, setup and topics for MQTT #include "PubSubClient.h" const char* mqtt_server = "192.168.1.7"; const int mqtt_port = 1883; #define temperature_topic "ESP/Ronjas/temp/temp" #define lyd10_topic "ESP/Ronjas/lyd/lyd10" #define lyd60_topic "ESP/Ronjas/lyd/lyd60" PubSubClient client(espClient); //Variables for temperature-reporting. long lastMsg = 0; //Storing last sent temp float temp = 0.0; float diff = 1.0; //change to a suited value based on max difference in temp that should be accepted int pinSignal = A0; // pin connected to sound sensor //Sound-sensor connected to A0 void setup () { pinMode (pinSignal, INPUT); // Set the signal pin as input for sound sensor Serial.begin (74880); setup_wifi(); client.setServer(mqtt_server, mqtt_port); dht.begin(); } void setup_wifi() { delay(10); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("WiFi connected"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); } void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection..."); // Attempt to connect if (client.connect("ESP8266Client")) { Serial.println("connected"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); //Wait 5 seconds before retrying delay(5000); } } } //Check if new temp value can be accepted bool checkBound(float newValue, float prevValue, float maxDiff) { return !isnan(newValue) && (newValue > prevValue - maxDiff || newValue < prevValue + maxDiff) && newValue != prevValue; } void loop () { if (!client.connected()) { reconnect(); } client.loop(); int level60 = 0; //Averages the last minute and publishes to MQTT for (int x = 0; x<6; x++){ int level10 = 0; //Averages the reads from last 10 seconds and publishes to MQTT for (int y = 0; y<10; y++){ int level1 = 0; //Takes 200 polls from sound sensor and stores the sum. 5ms between polls for (int z = 0; z<200; z++){ level1 = level1 + analogRead(pinSignal); delay(5); } level1 = level1 / 200; level10 = level10 + level1; } level10 = level10 / 10; level60 = level60 + level10; client.publish(lyd10_topic, String(level10).c_str(), true); //Serial.print("Lyd siste 10: "); //Serial.println(level10); } level60 = level60 / 6; client.publish(lyd60_topic, String(level60).c_str(), true); Serial.print("Lyd siste 60: "); Serial.println(level60); //Reporting new temp each minute if it passes checkBound float newTemp = dht.readTemperature(); if (checkBound(newTemp, temp, diff)) { temp = newTemp; Serial.print("Ny temperatur rapportert: "); Serial.println(String(temp).c_str()); client.publish(temperature_topic, String(temp).c_str(), true); } else { Serial.print("Skippet rapportering av temp, newTemp: "); Serial.print(newTemp); Serial.print(" temp: "); Serial.println(temp); } } Merk at denne sender ut gjennomsnittsverdier for siste 10 og siste 60 sekunder. Dette ble brukt litt i testingen, men jeg har valgt å beholde begge. Jeg bruker siste 10s for å utløse alarmer da det har vist seg å fungere godt uten at det blir for følsomt. Programmering – Homeseer Forutsetter at dere har installert Tasker plugin og fått den til å fungere begge veier. Det trengs noen virtuelle devicer for å komme i mål: «Leggetid» On/Off o Brukes for å skru av alarmen når ungene ikke sover. Brukes også for å skru av/slumre alarmen «Lydnivå» o Denne enheten oppdateres (via MQTT) med verdiene fra lydsensoren «Alarmterskel» o Denne enheten brukes for å utløse Homeseer-event ved sammenligning mot Lydnivå (Lydnivå>terskel – kjør notification) o Eneste grunn til å ha dette som en egen device og ikke kjøre event direkte (lydnivå>»TERSKELVERDI») er for å kunne senke følsomheten via notification. Så blir det en del events: «Leggetid unger» Skrur på device «Leggetid» etter fastsatt klokkeslett. Jeg kan også kjøre dette eventet via snarveier på mobilen. Har ambisjoner om å få dette bedre automatisert fordi leggetid selvsagt ikke følger et fast klokkeslett hver dag. Jeg har lagt inn en «failsafe» ved at dersom de er lagt tidlig og vi fyrer opp kinoen skrus alarmene likevel på. «Lydalarm» Sammenligner devicene «Lydnivå» og «alarmterskel» med hjelp av EasyTrigger, kjører event hvis barna er lagt (og ikke «huset sover», altså vi voksne også). Sender notification til mobilen min Starter bilde-i-bilde på Kodi dersom det spilles av media der "Morgen" Skrur av leggetid for begge barna og for huset «Resett terskelnivå» Hvis vi har senket sense via mobilen så skal den tilbake til opprinnelig verdi hver natt «Senk sense» Kjører skript som senker verdien på «Alarmterskel» med et gitt intervall «Slumre» Skrur av leggetid i 15 minutter Programmering – Tasker Tasker er for meg tungvint og uoversiktlig, men jeg fikk det nå til tilslutt. Ser store muligheter med Autonotification. F.eks automatisk fjerne notifications for «post» fremfor å sende en ny notification «Post hentet». - Event «Notification» kjører når det sendes alarm fra Homeseer. Denne notification har 3 knapper i tillegg til å i seg selv fungere som en knapp. Setup ser slik ut: - De ulike knappene må alle ha tilhørende «Profiles» som ser slik ut: Disse profilene kjører hver sin task som ser slik ut: - Snooze (OBS! Feil ID-nummer): - Skru av (OBS! Feil ID-nummer): - Senk sense: - Åpne webkamera:
    4 poeng
  2. Skal komme med en update når jeg har den Ja, jeg syns den jeg har i dag (dog bare 600lm) er noe svak for å lyse opp rommet, så derfor jeg kjøper en sterkere.
    1 poeng
  3. ZoRaC, jeg prøvde... Jeg slet en hel helg for å få den til å funke stabilt med Z-Wave-nettverket uten å lykkes. Og så da fruen, da hun kom hjem fra jobb: "Få vekk den stygge klumpen fra døra vår!" Og dett ver dettt, som Fleksnes sier.
    1 poeng
  4. Tronika har fått inn et par dimmere med hjul til Zwave. Kommer i 2 utgaver der ene er tilpasset elko ramme. https://www.tronika.no/no/dimmer-zv2400tac-sl-b.html
    1 poeng
Vinnerlisten er satt til Oslo/GMT+01:00
×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.