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

Vinnerliste

Populært innhold

Viser innholdet med mest poeng siden 26. feb. 2016 i alle områder

  1. For noen måneder siden var jeg på jakt etter en "dings" med 2 sensorinnganger og en relé-utgang (gjerne Z-wave), men det var ikke lett å finne. Fikk da et tips fra @Blodstrupmoenom en NodeMCU. Siden den gang har jeg kommet på flere prosjekter hvor dette kan være nyttig (og ikke minst, billig! 😁), så tenkte jeg kunne dele litt erfaringer jeg har gjort meg her, hvis det er flere som kunne tenke seg å se på lignende løsninger. Man kan lage omtrent hva som helst: * Styre smarthuset fra en fjernkontroll (Ir) * Magnetsensor og temp/fukt-måling på vaskerom * Bevegelssestyrt lys over kjøkkenvasken * Styre garasjeportåpner Alle disse løsningene havner nok under 100-lappen! Noen krever litt "peiling", men ikke mye, og har man HomeSeer kan mye av dette gjøres uten å programmere noe til og med (Arduino-plugin)! Hva er NodeMCU/ESP8266? Begrepene NodeMCU og ESP8266 er de som går igjen og hva forskjellen egentlig er har jeg slitt litt med å få helt "tak på". I mange tilfeller brukes begrepene om hverandre, men kort sagt så er det en mikroprosessor med innebygget støtte for wifi. For de som har hørt om Arduino, så er dette nesten det samme, men da med wifi i tillegg. Det finnes 3 typer NodeMCU (men i hovedsak 2 som selges i dag). De aller aller fleste trenger en NodeMCU v2: Det finnes en NodeMCU v3 også (og man skulle tro høyeste versjon=best), men det er en produsent som har gjort en bitteliten endring på v2 og lansert den som v3. Grunnen til at man ofte vil ha v2 er at v3 er fysisk sett større enn v2 og da passer det ikke nødvendigvis like godt i de boksene man vil putte det i (primært 3D-printede bokser), i tillegg til at v3 er bredere og ikke får plass på vanlige "breadboards" (dekker alle hull). Det finnes mange produsenter og hvem som lager kvalitet er ikke godt å si, men jeg har bestilt et par herfra til ca 25 kr inkl frakt. Hva trengs for å komme i gang? Det er selvsagt ikke nok med bare mikroprosessoren, man trenger noe mer "småtteri" i tillegg. Det finnes flust av sensorer og ting man kan styre. Eksempler: * DHT22 temp-/fuktmåler (4$) * Vibrasjonssensorer (1$ for 3 stk) * Relé (0,6$) * Magnetsensor for dør/vindu (1$) * IR-mottaker (1$) * Lysdioder (1$) I utgangpunktet kan man stort sett søke på "arduino <sensortype>" og finne det man trenger! 🙂 Så, hva trenger man minimum for å koble opp noe? Breadboard er praktisk når man kobler opp noe nytt for testing - de setter man NodeMCU "nedi" og så kobler man sensorer og sånt i nærliggende hull: * Veldig små (0,35$) * Litt større (1$) De kablene man bruker for å koble ting sammen (uten å måtte lodde) kalles "dupont kabler". De finnes i flere varianter ferdige (eller man kan lage selv). Kjøp gjerne alle 3 variantene: * Hun-Hun (0,60$ for 40 stk) * Hun-Han (0.64$ for 40 stk) * Han-Ha (0,58$ for 40 stk) Det sies at å få en lysdiode til å lyse er det samme som å skrive "Hello, World" i et programmeringsspråk, så det er jo noe man kan prøve å gjøre først. Da trenger du: * En resistor (motstand, på norsk) - pakke med 300 stk i 30 forskjellige størrelser (1,69$) * Lysdioder (1$) I tillegg trenger du en strømkilde, f.eks en vanlig mobillader med MicroUSB. Da har du det du minimum trenger for å koble opp og bruke en NodeMCU! Dupont-kabler - lage selv Ønsker du å lage "dupont-kabler" selv? Da kan du lage de lengder du vil og sette på "plugger" på f.eks DHT22-temp/fukt-sensoren. Da trenger du: * Han-"plugg" (1$ for 100 stk) * Hun-"plugg" (0,83$ for 100 stk) * 1-pins "hus" (0,48$ for 100 stk) * 2-pins "hus" (0,67$ for 100 stk) - det er sjelden behov for "hus" for mer enn 2 kabler, da man ikke nødvendigvis kan koble alle kabler fra f.eks DHT22 ved siden av hverandre på NodeMCU (3v, gnd og digital inngang er ikke nødvendigvis ved siden av hverandre) * Krympetang (5,30$) Det kan være litt vrient å koble på dupont-plugger selv, man må gjerne se noen videoer som viser hvordan man bruker krympetangen og prøve litt. For økt WAF kan det være lurt med 1-2 slike for å oppbevare alle disse små duppedittene man har kjøpt (rommene kan tilpasses i bredden ved å fjerne skillevegger). Fra prototype til noe mer "profft" Joda, dette funker: og dette også (@xibriz😞 Men, man vil kanskje ha noe som ser "ordenlig ut" (sorry, @xibriz 😜), som dette (@Blodstrupmoen😞 eller dette (@xibriz😞 Da trenger man en "project box", i passende størrelse. F.eks: * 100x60x25 (0,89$) - merk at denne kan bli for lav, avhengig av hvordan du fester NodeMCU i "bunnen"! * 116x68x36 (1,58$) For å feste NodeMCU og relé-kort, har jeg kjøpt slike "spacer standoffs" (4,20$ for 100 stk). Hvis du da har den øverste "project boxen", så vil den altså bli for lav til å få på lokket: For å skjære hull og sånt, kan man bruke en Dremel. Jeg har bestilt slike, men vet ikke hvor godt det funker på plastikk enda. For strømtilførsel til en slik boks, har jeg kjøpt en slik USB-kabel som jeg tenker å skjære på hull til. Kanskje noen her som bruker Arduino-plugin kan skrive noen ord om hvordan det settes opp? For nå har man bare en "hardware-dings", som ikke snakker med noe... 😜 Alternativt kan man bruke f.eks JSON-interfacet mot HomeSeer (og sikkert lignende løsninger på andre systemer), men da må man programmere litt.
    26 poeng
  2. Versjon 0.0.3.5

    1 921 nedlastninger

    Du har et smart hus med HomeSeer som hjerne. Du kan få Tibber til å kjøpe strøm for deg til spotpris (for 39 kr i måneden). Hvis du kombinerer HomeSeer og Tibber får du et enda smartere hus, mulighet til å spare noen kroner på strømregningen, samt mulighet til å gjøre noe godt for planeten. Det er en vinn-vinn-vinn situasjon, det! Er du ikke Tibber-kunde kan du bli det her, så får vi begge 500 kr til gadgets. TibberSeer henter data fra Tibber. Forbruksdata, og dagens og morgendagens strømpriser blir tilgjengelige. I tillegg litt enkel statistikk. HomeSeer sin eventmotor er blant de kraftigste innen hjemmeautomasjon, og med informasjon med Tibber blir den enda kraftigere Dette er imidlertid en beta-versjon av plugien, så forvent litt bugs. I tillegg vil jeg vite om dine behov. Ønsker og kommentarer er velkomne! Priser TibberSeer henter priser fra Tibber og lager litt enkel statistikk. "High" og "Low" er gjennomsnittspris hhv. lagt til og trukket fra et standardavvik. Mellom High og Low vil dermed statistisk sett 84% av all tid være. Dermed overskrides f.eks. "High" i 8% av tilfellene; dvs. 3 timer i døgnet hvis prisene er noenlunde normalfordelte. Det er de nødvendigvis ikke, men statistikken kan likevel brukes for å unngå de verste timene i døgnet. Fargene er foreløpig som følger: - Hvit under 20 øre - Blått fra 20 øre til 40 øre - Grønt fra 40 øre til 60 øre - Gult fra 60 øre til 80 øre - Rødt over 80 øre Forbruk Her vises oppsummeringer over forbruk, i år, måneder, uker og dager. Timedata hvis du har det. Det er imidlertid store begrensinger for datatilgjengelighet, selv for oss som har AMS-målere. Men håpet er at dette blir bedre i løpet av året (og det er ikke Tibber sin feil, men leverandørene). Realtime forbruk (for dem med Tibber Pulse) Tibber Pusle kan kobles til HAN-porten, og vil sende realtime (oppdatering hvert ca. 2,5 sekund) forbruksdata til Tibber og deretter til HomeSeer. Hvilke data som skal vises kan du endre i plugin-innstillingene. Grafer Hvis du kjører HomeSeer på Windows kan du få TibberSeer til å lage grafer. Utmerket til HStouch. Planen er selvfølgelig å få dette tilgjengelig for Linux-brukere også. Under vises eksempeldata (ikke mine data). Lager også en graf over dagens strømpriser, med "High", "Low" og gjennomsnitt tegnet inn. Events For å gjøre et smart hus smartere må man ha mulighet for å programmere "Events". HomeSeer kan dermed sjekke om prisen er høyere eller lavere utvalgte verdier (High, Average, Low eller en verdi du spesifiserer selv, "custom"). TibberSeer legger til egne triggere, som vist under: I tillegg kan du bruke prisdataene som betingelser i Dermed blir det lett å spare strøm i de periodene med høyest strømpris. La oss skru av varmtvannsberederen når prisen er høyest: Men siden vi faktisk trenger varmt vann og vil unngå legionella, må vi jo sette den på igjen: Men vi kan jo også bruke strøm når den er lav: Eller hva med et hint at det kan koste ekstra penger? Scripting Fra og med versjon 0.0.3.0 er det mulig å hente timepriser samt de billigste N sammenhengende timene via script. Se detaljer her: Installasjon Last ned ZIP-filen og pakk den ut i HS-mappen. Gå til Plugins -> Manage. Aktiver TibberSeer. Gå til Plugins -> TibberSeer -> Configuration. Legg inn din egen Tibber token i tekstboksen "Token". Viktig! Priser Gå til Plugins -> TibberSeer -> Configuration. Trykk på "Configure price grabbing". Trykk på "Done!" nederst på siden. <- Viktig! Forbruk Gå til Plugins -> TibberSeer -> Configuration. Trykk på "Configure consumption grabbing". <Trykk på "Done!" nederst på siden. <- Viktig! Kjente begrensninger -Kan ikke lage grafer på Linux. Enda. -Statistikken er ikke testet over lang tid. Trenger tilbakemeldinger her! Merk at dette er en BETA-VERSJON! Jeg tar selvfølgelig ikke ansvar for din HS-installasjon, deg, ditt hus, kona eller hunden din (eller noe som helst annet) hvis du installerer plugin'en. Jeg tror imidlertid ikke så mye kan skje... Jeg kjører den selv på min egen hoved-HS-installasjon, hvis du føler deg betrygget av det. Tilbakemelding ønskes her: https://www.hjemmeautomasjon.no/forums/topic/2749-tibber-plugin-hva-ønsker-du-deg/
    24 poeng
  3. Noen oppdateringer fra den siste uken... 1) Laget meg en boks selv og 3D printet. Ble helt greitt til å gjemmes bort i sikringskapet (bilder nedenfor) Om interesse ligger STL filer på github: https://github.com/roarfred/AmsToMqttBridge/tree/master/Electrical/HAN_ESP_TSS721/enclosure (Brukt Fusion 360 her, er det noe annet enn STL format som er fornuftig å dele?) 2) Har laget en mer fullverdig Arduino "sketch", med følgende features: Boot som Access Point om ikke config finnes, eller om Prog-knappen trykkes ned innen 5 sek etter oppstart Webside for å konfigurere (bruker innebygget DNS, så hvilken som helst http-url funker, eks. http://config) SSID / Passord Meter Type (Kaifa / Kamstrup / Aidon) MQTT server, port, brukernavn og passord Lagrer config i EEPROM (første byte er en "identifying byte" som kan endres om en endrer på strukturen) Støtter Kaifa og Kamstrup måler, og tilrettelagt for Aidon (sendt forespørsel om å få test-data fra dem for å fullføre. Får se om det kommer noe, ellers får jeg ta en best guess) Temperatursensor leses av og rapporteres sammen med hver sending på MQTT Mottak av MQTT meldinger (klargjort, med egen metode, men ikke kodet noe spesiellt her) - kan enkelt brukes for OTA update Debugging via samme connector (litt klønete, må koble til/fra TX på FTDI når evt. HAN port skal brukes, og en må ha en terminal som støtter 2400 baud 8E1 for Kaifa) Utnytter blå LED på ESP, for litt status: Lyser i 5 sek etter oppstart, for å vise at du kan trykke Prog-knappen for å boote som AP Blinker hvert sekund (50% syklus) hvis startet som AP Under normal drift, tennes hver gang en pakke på HAN porten er dekodet, og lyser til den er levert på MQTT. (På Kaifa, flash hvert 2. sekund) WiFi/MQTT reconnect Da tror jeg det er på tide å gjøre en solid oppdatering på all dokumentasjon på github... Som de sier i politikken om dagen, lik og del! Config Kretskort i boksen "Montert" vha friksjon i sikringsskapet
    22 poeng
  4. Skal holde et foredrag om hjemmeautomasjon neste uke og har snekret et smarthus for anledningen Huset har: IKEA pære, HUE pære, Fibaro dimmer bak ELKO bryter, Rollertrol rullegardin, Nexa vindus sensor, NEXA plugin switch og Oregon temp giver. Også en liten "server plate" med HUE, IKEA, RFXCom og en NUC med HS og med en lokal WiFi-Router for å slippe å konfigurere alt på nytt hver gang. (Særlig ECHO, men også at HS serveren har fast IP for å kunne nås enkelt med HSTouch) En Fibaro dimmer bak ELKO bryteren Strøm på baksiden
    22 poeng
  5. Jeg savnet den gamle forbruksmåleren på kjøkkenveggen som viser strømforbruket. Selv om jeg kan sjekke forbruket som leses via HAN porten via telefonen/nettside, så var ikke dataene like tilgjengelige. Har derfor laget en prototype med hjelp av en nodemcu, neopixel LED-ring og en 0.96 tommers OLED skjerm. Hver LED illustrer 1kW i strømtrekk. Antall watt vises på første linje. Spotpris for aktuell time blir hentet fra Tibber APIet og vises i andre linje. Estimert kostnad per time med nåværende strømtrekk inkluderer nettleiedelen på 42,61øre/kWh til BKK. Oppdateringsfrekvensen er hvert 2.sekund (hver gang AMS måleren sender ut "Act_Pow_P_Q1_Q4"). Backend systemer består av følgende: Raspberry Pi leser modbus til USB adapter er koblet til HAN porten ved hjelp av test_rx / han-port-1.15 nevnt i "Lesing av HAN - The Easy Way (TM) - WIP" tråden. Output fra test_rx blir matet til MQTT ved hjelp av et python-script. Node-Red henter spotpris fra Tibber i starten av hver time og sender til MQTT. NodeMCU heter dataene fra MQTT kjører beregninger på kostnad og viser dette på OLED-skjermen og via neopixlene. Todo: Printe ut et nytt kabinett med høy WAF slik at fruen blir glad. Prototypen ble tegnet i en fei i går kveld. Lage presence detection på boksen slik at OLED skjermen ikke blir brent ut, alternativt bytte ut skjermen (stor e-paper/e-ink skjerm står på ønskelisten). Forsøke å skrive om koden til hente sanntidsforbruk direkte fra Tibber APIet slik at andre kan lage sitt eget watt-o-meter ved hjelp av en Nodemcu/ESP uten noe annet enn en Tibber pulse. Om noen vet om noe kode som henter ut sanntidsmålingene fra tibber og som kan kjøres på en esp/nodemcu så send meg gjerne i den retningen. PS: Første post på forumet. Takk til alle som er aktive her, dere har hjulpet meg i mange prosjekter uten at dere har visst om det. (F.eks "Backspace" som inspirerte meg til å gjøre Mitsubishi varmepumpen smart ved hjelp av Nodemcu/SwiCago prosjektet, Moskus sin visdom og alle dere andre). Edit:26.01.2021: Byggetråd her:
    19 poeng
  6. Jeg laget for to uker siden en liten(?) kode for å optimalisere strømforbruket med tanke på strømutgifter (ikke strømforbruk) for å ta hensyn til varierende pris gjennom døgnet (og siden jeg for et par uker siden fikk timesavlesning gjennom ny måler fra BKK og strømregning hos Tibber). Grunntanken er å forvarme huset når prisen er billig. For å kunne gjøre dette må man ha en modell av huset som beskriver strømforbruk som funksjon av husets tilstand (temperatur) og hvilken temperatur man ønsker. Jeg har i et halvt år samlet strømforbruk hvert 5. minutt og samtidig logget temperatur. Ved å se på midlere strømforbruk for hver time og sammenligne det med temperaturer og temperaturendring over hver time så kan man bygge en modell på dette (hvis jeg gjentar denne analysebiten kontinuerlig, så kan det kalles maskinlæring). Jeg bruker da sklearn i Python til å lage en (multi)lineær modell som predikerer strømforbruk utifra temperaturendring og differanse mellom ute og innetemperatur. Det er betydelig med støy i denne modellen, se plott av alle dataene mine her: Som en bilineær modell i Python, så implementerer jeg den slik, dette blir nesten analogt med de rette linjene i plottet over: def hourly_power_usage(tmpincrease, insideoutsidediff): """This function could do multlinear regression on the dataset or use finished regression coefficients. It answers what power (in KwH) is needed for the whole house to reach the delta temperature in one hour. """ # from sklearn import linear_model # model = lm.fit(X, y) # X = [inne_diff, inne_diff_ute], y=Smappee5minavg(hour)] coef = [2.150, 0.189] # beware W vs KW intercept = 0.5735 return coef[0] * tmpincrease + coef[1] * insideoutsidediff + intercept Her er det tallene 2.150 og 0.189 kW som man kan tolke: 2150 er ekstraeffekten som kreves for å øke temperaturen med en grad i løpet av en time, samt at man må legge på 189W for hver grad differanse det er på ute og inne, og blir et mål på hvor godt huset er isolert. Kaldere utetemperatur gir høyere pådrag på 189-koeffisienten. I tillegg passer det modellen å legge på 573 watt uansett hvordan temperaturforholdene er. Når denne modellen er på plass, så kan man ved å kjenne framtidas strømpris, framtidas temperaturbehov (ønsket termostatinnstilling) og framtidas utetemperatur (yr) estimere strømforbruk og tilhørende kostnad. I tillegg kan man få tilpasset start av oppvarming for å møte et framtid temperaturønske. Jeg har delt "optimaliseringen" i to deler. Først en kodesnutt som flytter oppvarming tidligere i tid i tilfelle estimert effektpådrag blir for stort. Hvis man skal hoppe fra 18 grader til 25 grader i ett jafs, så tilsier modellen et effektuttak på omtrent 14KW. Jeg har ikke nok variabel effekt (Multireg x 5 (snart 10) + varmepumpe) til å klare dette, så det betyr at jeg må starte en eller to timer tidligere. Koden er enkel brute-force som øker termostatverdien timen forut for høyt estimert effektuttak og gjør dette omigjen helt til effektuttaket går under en viss grenseverdi. Resultatet av det steget ligger i den blåe linja i plottene lenger nede, kalt 'Kwh-adjusted'. Neste steg er optimalisering - her gjør jeg det med hjemmelaget brute-force (jeg tror optimaliseringsteknikken kalles 'simulated annealing'). Jeg øker temperaturen med 0.5 grader på tilfeldige tidspunkt (untatt i nedkjøliingsperioder) og rekalkulerer kostnad. Hvis en viss temperaturøkning resulterer i redusert kostnad, bevares forslaget, ellers forkastes det. Dette gjøres iterativt, og endel ganger omigjen for å øke sannsynligheten for at man ender opp på et globalt minimum. Resultatet blir som man kan se i plottet under. Optimaliseringen gjentas hver time, og jeg har justert antall iterasjoner slik at det tar ca 1 minutt å kjøre. Her kan man se blå kurve som startpunkt, og rød kurve som ferdig produkt. I natt har altså huset tenkt å begynne med forsiktig oppvarming allerede klokka ett for å på billigst mulige måte klare holde 25 grader mellom 7 og 8 i morgen tidlig når prisen er 80 øre (25 grader er 'master-termostat', faktiske termostater har en viss delta i forhold til denne utifra rommets behov). Det regnes også ut hvor mye man sparer på optimaliseringen, akkurat i denne perioden er det hele 2.37 kr (det er mye i forhold til det jeg har sett de i ukene dette har vært i drift..). (i plottet ser man at jeg også skrur av varmtvannstank i døgnets tre-fire dyreste timer) Så, virker det? Vel, jeg har ikke kontroll på alt effektuttak ennå (venter på 5 stk multireg som skal monteres av elektriker), men jeg er ihvertfall i stand til å observere historisk strømforbruk og pris som ser slik ut: og gjetter på at akkurat her har jeg spart noen titalls øre
    19 poeng
  7. Devicehåndtering, organisering og konfigurering Nå begynner vi å få litt utstyr å holde orden på, og siden vi i neste del skal se nærmere på selve automasjonen, så må vi først se nærmere på "devicene" og hvordan vi kan konfigurere dem. Den første delen (organiseringen) av dette er muligens litt kjedelig, men nødvendig for å holde orden i det kaoset som så altfor lett kan oppstå. Den andre delen (device konfigurasjon) er viktig å ha med seg med tanke på automasjonen vi skal se på senere. NB! I enkelte deler av det som følger er fakta blandet med mine erfaringer og meninger. Og bærer nok preg av det. Hva er en "Device"? En device er en "linje" i HomeSeer sin Device Manager-side som kan vise statusen til et lys og tilhørende kontroller eller kun vise informasjon (f.eks. temperatur eller strømforbruk). Som her, dette er taklampen min i stua (Fibaro Dimmer 1 FGD-211): En fysisk enhet (f.eks. en Z-wave node) kan ha flere devicer. Disse har alltid en parent device (som "Root") og de under kalles "child" devices. Her er en Fibaro Wall Plug. Disse grupperes vanligvis sammen: Men hvorfor heter det en "Device"? Historisk sett, altså i 1999 da HomeSeer 1 ble sluppet, var det en én-til-én relasjon for en slik "linje" i HomeSeer og en fysisk enhet. Dette gjaldt stort sett også i 2005 da HomeSeer 2 kom. Dette var da X10 var stort innen hjemmeautomasjon, og X10 hadde i utgangspunktet kun en funksjon pr enhet. X10 bruke et kode-system der en enhet hadde en bokstav fra A-P og et tall fra 1-16 (som gir 256 kombinasjoner), satt sammen til en device code. Rester av dette lever enda i HomeSeer, og er grunnen til at en slik linje i HomeSeer kalles en "device". In HomeSeer, as in real estate, it's location, location, location Når du har lagt inn de to-tre første enhetene dine, så er alt pent og pyntelig. Avhengig av hvilke noder det er kan det være alt fra 2 til 25 devicer, men alt er likevel forholdsvis oversiktlig og grensesnittet reagerer raskt. Hos oss er det rett rundt 1000 devicer. Bare det å laste alt på en gang tar altfor lang tid til at det er et alternativ. Man må filtrere på noe, og til det bruker man location2 og location. Den anbefalte metoden er å bruke location2 som "Etasje" (eller "Floor" på engelsk) og location som "Rom" (eller "Room"), og så standardisere navngivingen så mye du kan. I de rommene du har taklamper, kall hver av dem "Taklampe", men sett locations til tilhøreden etasje og rom. Det samme med "Temperatur", og andre typiske gjengangere. Her er organiseringen hos oss. Hvis jeg sorterer kun ut "Gang", så får jeg opp bevegelsessensorer, taklamper og temperaturer for gang i alle etasjer samtidig. For grupperte devicer, f.eks. bevegelsessensorer eller tilsvarende så setter jeg sensornavnet foran navnet som beskriver selve enheten, f.eks. "Bevegelsessensor, Lux" eller "Taklampe, kWh". Slik er det enkelt å se hva som hører sammen til en fysisk node. (Jeg kunne valgt å gi dem andre navn enn "Taklampe, Switch Multilevel", men siden jeg ofte prøver å hjelpe andre så bruker jeg den originale beskrivelsen i navnet.) Andre liker å bruke location2 til f.eks. klassifisere selve devicen. En fordel er at hvis du skal styre flere lys, så kan det være lettere å finne alle lys i et rom fra web-grensesnittet. En ulempe er at denne organiseringen vil splitte devicer som er gruppert sammen, og at i HStouch (og andre apper/plugins som WinSeer og TextSeer) sorterer enhetene først på location2, så location og deretter navn. Se bevegelsessensoren over. For denne noden setter man da typisk Location2 (Floor) til "Bevegelse", men hva med devicen som angir temperatur? I utgangspunktet virker jo dette nesten likt det å nangi devicene med type foran. Helt til du skal ha tak i root-devicen for en Z-wave node. I HomeSeer er det lov å ombestemme seg. Du kan navngi noder på nytt og du kan gi dem nye plasseringer helt uten at det betyr noe for HomeSeer. Du må bare huske det selv. Norsk eller engelsk? Jeg har en herlig blanding. Mange enheter synes jeg det er enkelst å navngi på norsk, fordi det virker kunstig for meg på engelsk. Dessuten er det småbarn i huset som skal bruke dem, og "Taklampe" i store bokstaver er lettere å forstå enn "Ceiling lamp". Jeg har f.eks. et "floor" som heter "Settings" og et rooms om heter "Options", men inni der ligger det enheter som har navn på norsk. Rett og slett fordi jeg stort sett bruker OSer på engelsk, og da vet jeg hva jeg skal lete etter. (Jeg klarer ikke engang bruke Excel på norsk. "SUM.HVIS" istedenfor "SUMIF"? Nei takk!). Norske .NET feilmeldinger liker jeg heller ikke, om ikke annet fordi det er så mye vanskeligere å søke etter dem på nettet. Men språk er for meg kun en personlig preferanse, HomeSeer vil kjøre like godt på norsk Windows og for HomeSeer spiller det ingen rolle om du navngir enheter på norsk eller engelsk. HomeSeer kan være litt grinete med Voice Recognition hvis du har æøå i navnet. Rommet som egentlig heter kjøkken heter hos meg "Kjokken". Og det kan man jo lage mange dårlige vitser med. Kort oppsummert: Uansett hvilken måte du velger å sortere på, så MÅ DET GJENNOMFØRES. I begynnelsen er det lett å ha oversikten, men senere, når det har gått en tid og du har lagt til mye mer utstyr, så må man ha et system som er så selvsagt at man fremdeles finner fram (og orker å forholde seg til). Husk at du i konfigurasjonsfasen (f.eks. oppsett av Eventer og HStouch-prosjekter) skal bruke devicene mye! Hvis du hver gang du skal ha tak i en device må bruke 7-8 sekunder på å prøve å huske hva den het og hvor du fant den, så taper du fort mye tid. Device Management Device Management-siden, som vi har sett flere ganger nå, er siden som brukes til å se og håndtere alle enhetene i systemet. For å gjøre utvalg har vi nedtrekksmenyer, overskrifter og hurtigvalg-menyer. Nedtrekksmenyene 1 og 2 styrer hvilke rom og etasjer som vises under. Man kan velge flere etasjer og flere rom. Slik er det raskt å vise informasjonen man et interessert i. (En ulempe er at location ikke blir filtrert etter at man har valgt location2, dessverre!) Meny-knappeene (merket 3) har følgende funksjoner: legger til en virtuell device. Location og location2 er satt til "Unknown", så hvis du ikke finner den så legg til visning for både "Rooms" og "Floors". lar deg justere bredden fra å enten være låst til 1000px til å bruke full bredde. HomeSeer 2 brukte hele side-bredden, men det var ikke SÅ vanlig med store 16:9-skjermer i 2005. Da HS3 kom, låste de bredden til 1000px for å unngå å måtte flytte på hodet for å lese en linje. Jeg foretrekker det, men andre brukerer er vanedyr og lager rabalder hvis noe endrer seg, selv om det er til det bedre. Omtrent som noen Windows 7-brukere da Windows 10 kom. lar deg velge å vise eller skjule de enhetene du har markert som skjult. Min står vanligvis på "skjult", for det gir et ryddigere interface. er for kun devicer som kan polles, f.eks. Z-wave-enheter. Polling spør enheten hvilken status enheten faktisk har, og oppdatere HomeSeer hvis det er nødvendig. I "gamle dager" fantes ikke Instant Status for Z-wave, og Z-wave enheter måtte polles. 433 Mhz enheter og mange andre kan ikke polles, og blir dermed bare ignorert av denne funksjonen. lar deg vise gruppere enhetene som har et parent/child-forhold, f.eks. Z-wave-enheter som har en Root, som Fibaro Dimmer2 og alle Z-wave bevegelsessensorer jeg vet om. Checkbox-en helt til venstre på en device er for å kunne velge flere enheter og gjøre operasjoner på alle sammen samtidig. Operasjonene du kan gjøre finner du i dropdown boksen rett under "Device List" som inneholder ting som å vise eller skjule, bytte floor/room, skru av/på voice control, logging, etc. Sortering For å sortere trykker du på overskriften til kolonnen du vil sorterer på. Trykker du på den samme kolonnen en gang til, snur du sorteringsretningen. Kolonner HomeSeer kan vise eller skjule flere kolonner enn de du ser som standard. Dette justeres under Tools -> Setup -> Custom. Device Ref (eller ID), Code og Address Alle enheter i HomeSeer har et unikt referansenummer, slik at hvis man vil gjøre noe mer avansert (f.eks. med scripting) så kan man bruke denne unike koden til å finne en helt bestemt device. "Address" gjør mye det samme, men det er et selvdefinert felt, det vil si at du (eller plugins) kan definere dette som du (eller pluginen) ønsker. Hvis du ser en Address du ikke har definert selv, så er den en dårlig idé å endre på den (me sannsynligvis får du ikke lov til det)… ;-) Og som med tidligere X10-enheter, kan man også definere en "device code" med en bokstav Jeg personlig bruker kun Device Ref da disse er enklest å forholde seg til. Device String, Device Value, Device Status og CAPI En device i HomeSeer kan i utgangspunktet lagre to ting: En tekst-streng (Device String) og en tallverdi (Device Value). Man kan også forhåndsdefinere Device Status'er, som binder en bestemt verdi til en bestemt tekststreng ("hvis verdien er n, vises teksten xyz"). For en typisk dimmer er verdien 0 definert til å vise teksten "Off", 99 (eller 100) viser teksten "On", og verdier mellom 1 og 98 vises som "Dim X%" der X byttes ut med den faktiske verdien (dimme-nivået i vårt eksempel). CAPI, eller Device Control API, er mye brukt i HomeSeer 3. Tidligere, hvis man med et script oppdaterte en dimmer sin value til å være 50, så ble lyset dimmet til 50%. Slik er det ikke lenger. Hvis du gjør det, så vil det tilsynelatende se ut som om det fungerte for devicen vil vise "Dim 50%", men det skjedde ingenting med selve lyset. For å få det til nå må man bruke CAPI (og det skal vi se nærmere på med scripting). Når CAPI blir trigget, så får HomeSeer beskjed om hvilken CAPI som skal bli trigget, og sender beskjeden videre til plugin'en (eller scriptet) som eier devicen hvis det ikke er HomeSeer selv . For eksempel hvis du trykker på "Update" på root'devicen i FitBitSeer, så får plugin'en beskjed fra HomeSeer hvilken CAPI som ble trykket på for hvilken device. Så er det opp til pluginen å gjøre som den får beskjed om. Her, når vi styrer devicer enten fra web grensesnittet, HStouch, eller via Eventer, så gjøres det alltid med CAPI så vi trenger ikke tenke på det. Men for de som vil kikke nærmere på scripting eller plugin-programmering, så er CAPI et veldig kraftig verktøy for device-håndtering. Device-konfigurasjon En device har flere parametere enn bare location og name, og det justerer vi under Device Properties. For å finne disse, så trykker du på navnet til en device. Properties … er det første bildet du møter. Her kan man også sette navn og location, samt device address hvis man ønsker. Her velger man også andre ting, som om verdi-forandringer også skal lagres i loggen, om den skal være skjult, om den skal tas med for enheter som støttes av voice recognition (Speaker Client, Alexa), og en del annet. I tillegg kan man endre på hvilke brukere som har tilgang til den devicen. Advanced Her er det ikke så mye man kan gjøre, men man finner mye nyttig informasjon om enheten. F.eks. om det er lagret en tekststreng som vises istedenfor Device Status, eller hvilken Device Reference den har, om den har et "forhold" til andre enheter, hvilken plugin (se "interface") som eier den og så videre. Status Graphics Her defineres de forskjellige Device Status'ene som enheten kan ha. Beskrivelse fra feltene fra venstre, mot høyre: "Value" er verdien som skal sendes med CAPI eller som devicen settes til. "Status" er teksten som vises istedenfor ferdien. "Control Use" (under Status-teksten): Blir brukt av JSON, Hstouch, Alexa-integrering, etc. F.eks. Hvis jeg har en enhet som heter "coffe machine" og for knappen "Brew" velger jeg "On", kan jeg spørre Alexa: "Alexa, turn the coffee machine on". Da vil CAPIen kalt "Brew" bli utført. "Row": CAPI-control kan arrangeres i rader (f.eks. dimmere har brytere On Off øverst og slider nederst) "Column": Tilsvarende Rows "ColumnSpan": En CAPI-control kan spenne over flere kolonner "Status-Control": En CAPI-control kan bare være en status (altså en tekst som erstatter en verdi), bare en knapp som sender en verdi til plugin'en eller scriptet som håndterer det, eller begge deler. Man kan også spesifisere en verdi to ganger, men med ulik Status-Control. En status kan være både en enkelt-verdi, og en range (altså mellom to verdier). Det beste eksempelet som forklarer mye av dette er å se på hvordan en dimmer device ser ut slik den er konfigurert. Slik ser den ut: ... og slik er den konfigurert: Merk: Det behøver ikke være en 1-til-1 relasjon mellom knappe-tekst og status-tekst. Hvis du lager en Status-Control som kun er "control", verdi 100 og status-status tekst "Skru på!", og deretter enda en med Status-Control til "status", verdi 100 og status-tekst "Du skrudde den på!", så vil teksten på enheten bli "Du skrudde den på!" etter at du trykket på "Skru på!". Denne konfigurasjonen: ... gir dette resultatet: Dermed har man mange muligheter til å lage controller og statuser som gir mening. Det gjør det lettere enn å prøve hva tallet 23 betydde for den aktuelle devicen. Under Status Values finner du Status Graphics. Som med Status-tekst, så viser den et bilde basert på hvilken verdi det er. Status Graphics kan svære enkeltverdi eller en range. Hvis du vil legge inn dine egne bilder, så legges de inn i \html\images-mappen i HomeSeer-området. Virtuelle devicer Virtuelle Devicer kalles dette fordi de ikke styrer eller styres av noe fysisk. Hva disse kan brukes til er muligens enklest å forklare med et eksempel. Vi har en jeg har kalt "Tidsstatus". Der har jeg definert 0 til å være "Morgen", 1 til å være "Dag", 2 til å være "Kveld" og "3" til å være "Natt". Denne devicen styres av automatikken samtidig som den kan brukes som betingelser i andre eventer. Hvis denne brukes som betingelser kan jeg få det slik: "… AND IF the device Tidsstatus is Morgen", men jeg kan også bruke "… AND IF the device Tidsstatus has a value greater than Dag", som da vil bety "... AND IF det er kveld ELLER natt". Jeg har mange slike devicer for å styre eller overstyre automatikken. Det er en glimrende måte å lagre og sette verdier man trenger å huske til en senere anledning. I sin enkleste form ser den slik ut (eller i det minste tidligere, da jeg skulle demonstrere det på det engelske HS-forumet): Oppsummering Phew! Ferdig! Hvis du synes dette tidvis var tungt å lese, kan du trøste deg med at det var også tungt å skrive. Device-håndtering kan være tidkrevende, i hvert fall i begynnelsen. Men tenk på at det er en investering for fremtiden. Virtuelle Devicer gir oss mulighet til å lagre verdier det kan være verdt å ta vare på, og kan brukes både som triggere og som betingelser til eventer, samtidig som de selvfølgelig kan styres fra et Event. Tidligere har vi snakket om innkjøp (del 1), oppsett (del 2), Z-wave-konfigurasjon (del 3 og del 4), og 433 MHz utstyr (del 5). I del 7 skal vi begynne å se nærmere på Events. Det er kanskje det mest spennende med hjemmeautomasjonen, nettopp fordi det er automasjon!
    18 poeng
  8. Da jeg var innom et shoppingsenter i Berlin i fjor sommer fant så jeg disse klokkene: Jeg ble kjempefasinert, særlig fordi det slo meg at dette var noe jeg selv kunne klare å lage. Da jeg kom hjem fant jeg dem på nettet hos Nordiska Galleriet og de var ikke akkurat billige 😮 (Sjekk DEN prisen) Enda en grunn til å lage dem selv. Jeg har alltid være fasinert (og litt stolt) over måten vi normenn angir tiden med "avstanden til nærmeste halve time": - 5 over 2 - 5 på halv 3 - 5 over halv 3 -5 på 4 osv Utlendinger går i fella hele tiden og mange tror at "halv 7" er 07:30 🙂 I tillegg ville jeg selvfølgelig ha minutters nøyaktighet (og ikke 5 min nøyaktighet som de kjøpeklokkene hadde) og også tekst på "halv" og "kvart". Etter å ha sittet noen kvelder og stablet sammen ord på rutepapir (Trenger ikke egen TO når du kan tenne de 2 første bokstavene i TOLV etc) endte jeg opp med en matrise på 12x12 bokstaver. Jeg hadde da også plass til "KLOKKA ER NÅ" og litt Service ord som "WIFI" og "DOT" Jeg var litt usikker på angivelsen av minuttene mellom xx:15 og xx:20 (og xx:40 og xx:45). -Sier vi "tolv minutter over halv" eller "atten minutter på" ? (Antakeligvis ingen av delene 🙂 ) Jeg tok en sjefsavgjørelse og bestemte meg for 1..19 minutter på og over hel time, og 1..10 minutter på/over halv time Å frese ut så små bokstaver i aluminium er ikke bare-bare og det prosjektet arbeider jeg fortsatt med, -MEN jeg har jo en laser 😉 ! Og laserskårene Times New Roman (Med seriff og greier) ble skikkelig fint i svart kartong (Fra Ark bokhandel) Måtte jobbe litt i CAD for å få bokstavene til å bli "stencil-type" men det ble jo ferdig til slutt. De nye adresserbare LED stripene er jo helt perfekte til slikt og jeg valgte en 5V stripe med RGBW slik at jeg kunne kjøre dem på en USB kabel og kunne få litt varmt gult lys. Med 30 stk på meteren ble det 3.33cm på hver bokstav som var helt passe. Så da var det bare å klippe dem opp og lime dem på bakplata og lodde dem sammen med strøm og data slik at alle kom etterhverandre: "Avstands plata" ble det jo en del arbeid med. Den måtte freses nøyaktig og ha utsparinger til loddingene: Her er et glimt fra produsjonen IMG_0096.mp4 Med plata montert og ESP32'en på plass så det slik ut: Hadde ikke lyst til å sette av noe plass til en "reset knapp" så den ble bare 2 kabler på baksiden 🙂 : For at kartong-bokstavene skulle holde seg flate måtte jeg ha plastplate både over og under. Jula hadde noen fine i 2mm og 4mm. Jeg prøvde meg med hvit plast fra Biltema for å gjøre lyset diffust men det "lakk" for mye over til nabobokstaven så løsningen ble faktisk helt vanlig printerpapir (2 x A3) som ble lagt under bokstavene: En venn av meg foreslo svart silkepapir som difusjonspapir og det ble også ganske fint. -Da ser en ikke bokstavene så godt før de lyser opp og det gir en annen effekt (men jeg synes det er litt kult å se dem ellers også) 2 x 6mm MDF + 2mm plast + 4mm plast = 18mm Til slutt hadde jeg litt flaks og fant alu-profiler hos Maxbo som var perfekte. Disse var rett under 18 og kunne klemmes på som eneste festemåte etter at de var skåret i gjerdesaga. Siden jeg bruke 5m USB kabler til strømforskyning var det jo ingen grunn til ikke å la den USB'en også være plugget i ESP32'en slik at en kan reprogrammere om en vil. Men jeg turte ikke å ta strøm til LED'ene fra ESP32'en så kablene ble klippet opp og tappet for 5V. Så var det programvaren da. Minimums konfigurasjonen fikk WiFi Manager som setter opp en SSID = "BokstavKlokke" med samme passord for å sette opp husets WiFi. Den leser så klokka fra nettet med NTP og "tidssone" = CET-1CEST,M3.5.0,M10.5.0/3 Det skal gi riktig sommertid også så vidt jeg forstår. Når du trykker "reset" (kortslutter de to kablene på baksiden) går den i AP mode igjen og viser "WIFI" på displayet Når den starter tester den alle LEDene i alle farger og så "tekster" den ut IP adressen 🙂 Untitled video - Made with Clipchamp (2).mp4 Mulighetene herfra er mange: - Flere konfigurerings-parametere i WiFi Manager: Justering av bokstav-farger og intensitet Modi med andre farger om natta Feiring av hel/halv time med farger - MQTT support fra Smarthuset Blinker klokka om noe skjer Styrer fargene avhengig av sol opp/ned MEN alt dette må jeg jo spille ball med dere på forumet om ! Jeg opretter en tråd på Mikroprosessor-forumet og tar imot ideer og kode der. (Min kode skal dere selvfølgelig få) Jeg har brukt så mange timer på dette prosjektet at det ville være dumt å ikke dele det med flere. Så jeg har laget noen få komplette som er lagt ut på finn. (Søk på bokstavklokke) Til dere som liker å gjøre ting selv men ikke har fres og/eller laser tenkte jeg å tilby et "byggesett" med de delene som er vanskelige å lage. Egentlig er det bare de to MDF platene og bokstavkartongen men jeg er redd kartongen ikke overlever postgang om jeg ikke legger den mellom plastplatene. Kontakt meg her eller på Finn om dere er interessert. Og hva er neste skritt? Vel, jeg har ikke gitt opp å frese ut bokstavene i aluminiumsplate. Da kan den øverste plastplaten skippes og difusjonspapiret bør byttes ut med plastfolie. Jeg HAR allerede forsøkt å bruke noe annet enn svart kartong i laseren. Jeg har prøvd meg på tapet, både med og uten mønster. Det ble veldig kult men min laser er egentlig bare en fres med påmontert laser og brenner derfor et lite hull hver gang den starter en skjæring. Jeg har kjøpt inn en ny controller som kan ta M11P1/M10P1 koder (skru på laseren først når aksen begynner å bevege seg) så når den er montert får vi se mere på tapeter.
    17 poeng
  9. Oppsett I del 2 skal vi ta for oss det mest grunnleggende av oppsettet, og vi gjør det både for de som har valgt en selvstendig enhet som Zee2 og for de som har valgt programvaren. De som vil lese om Zee2-oppsettet kan bare fortsette å lese. De som har valgt program-tilnærmingen kan bla nedover til overskriften "Programvare-oppsett". Zee2-oppsett Jeg har en Zee versjon 1 men verden har gått videre siden det, så jeg har fått låne en Zee2 av Artius. Inni pakken er det en liten brukermanual for å hjelpe deg i gang, og det kan være greit å skumme gjennom denne. Er du av den utålmodige typen er det egentlig bare å koble til en nettverkskabel og strøm, så er du i gang. Etter et minutt har enheten startet opp. Så vi bruker en PC eller et nettbrett, åpner en nettleser og går til nettsiden http://find.homeseer.com. Denne siden vil finne alle HomeSeer-enheter (enten hardware-bokser, program-installasjoner eller Z-NET) som er tilgjengelig på nettverket ditt. Hos meg ser det slik ut: Du vil sannsynligvis kun ha en linje i tabellen. Vi trykker på IP-adressen i kolonnen "System". Da åpnes web-grensesnittet, og vi skal gjennom førstegangsoppsettet. De første skjermbildene handler om å sette brukernavn og passord, samt å registrere programvaren (lisens og passord står under Zee2-boksen). Du blir bedt om å sette to passord. Det øverste er innloggingen til HomeSeer, altså til selve brukergrensesnittet. Det andre er root-passordet, altså til påloggingen til Linux-installasjonen som kjører på Zee2'en. Begge deler må huskes, så velg (unike) passord som du klarer å huske, eller bruk en passord-manager (f.eks. LastPass eller EnPass). Deretter er du inne i HomeSeer. Det kan se slik ut, men det er mulig du får et par "Devicer" på kjøpet. Disse har ingen funksjon så du kan slette dem (velg dem med checkboksen til venstre, og velg "Delete") i nedtrekksboksen rett under den blå teksten "Device List". Klokka og dato-oppsettet bruker et amerikansk oppsett. Fint for de fleste brukere, men nødvendigvis ikke oss her i Europa. Å endre det er litt mer avansert (og BURDE ha vært gjort med et innebygget script istedenfor), men det er heldigvis noe som kun gjøres en gang. Se den skjulte teksten under for detaljene. En annen ting jeg alltid gjør, er å sette fast IP på slike bokser. Det gjør det lettere å finne dem igjen, og jeg kan enkelt bruke en ping-kommando til å finne ut om boksen i det minste er på eller ei. I Zee2 gjøres dette under Tools -> Setup -> Network. Du må velge en IP som ikke blir utdelt av routeren (dvs DHCP-serveren) din. Hvis alt dette er gresk for deg, så kan det være like enkelt å bruke http://find.homeseer.com for å finne Zee2'en din. Til slutt Hvis du ikke har lyst til å herje med port forwarding, er det enklere å benytte seg av myhs.homeseer.com for å logge seg på HomeSeer over internett. Se nederst for oppsett. Programvare-oppsett HomeSeer installeres som alle andre programvarer. Man laster ned programmet herfra: http://www.homeseer.com/current-downloads.html … og kjører installasjonsfilen når den er ferdig. Man trykker "Neste" til programmet er ferdig installert. Så langt, så vel! Så er det et par elementer som med fordel kan justeres… Auto start HomeSeer 3 krever admin-rettigheter fordi det er filer i programmets mappe i \Program Files (x86) som endres (grunnen til det er at det er enklere å håndtere flytting mellom maskiner og OSer, ta backup av hele HS3, etc. Man kan være enig eller uenig, men slik er det nå engang). Men Windows 10 nekter auto-oppstart for HomeSeer (og andre admin-krevende programmer). Det kan man imidlertid enkelt løse med Startup Delayer. Du kan laste det ned herfra, og det holder lenge med Standard-utgaven. Rettigheter Da jeg installerte HomeSeer direkte på en Windows 10-installasjon (utviklingsmaskinen) trengte jeg ikke gjøre noe som helst. Men da det var installert på en Win7-maskin som jeg oppgraderte til Windows 10 ble det nødvendig å sette mappe-rettighetene til den lokale Windows-brukeren (den som er innlogget når HomeSeer blir startet). Finn HS3-mappen i "C:\Program Files (x86)" Høyreklikk på mappen og velg Properties -> Security -> Edit (knapp). Trykk "Add…" (knapp) Skriv inn navnet på brukeren, trykk "Check names" og deretter OK. Velg brukeren i den øverste listen, og velg "Full control" i listen nederst. Trykk OK. Dette har imidlertid vist seg å ikke være nødvendig når HS3 ble installert direkte på Windows 10. Windows Update Jeg kan forstå at Microsoft ser det nødvendig å tvinge brukere til å oppdatere Windows. Mange lot det bare skure og gå, og programvare må oppdateres for å være sikker! Men det er et problem: Jo flere plugins man bruker jo flere prosesser har HomeSeer kjørende, og dermed tar HomeSeer litt mer tid å avslutte enn vanlige programmer. Til slutt går Windows lei, og lukker HS3. Det kan dessverre resultere i en korrupt HomeSeer-database! Jeg og andre har opplevd det. Det kan løses ved å restarte maskinen før Windows gjør det selv. Det kan også løses med Windows Update Minitool, men for all del: Som med all programvare, sørg for å oppdatere Windows! Ta manuell backup eller bruk BLBackup Dette er kanskje ikke det første du setter opp, men etter en stund har du fått et system som sviver. Da er BLBackup utrolig praktisk å ha. Dette er en plugin som tar backup av HomeSeer-katalogen (eller hva som helst), og er veldig hendig å ha i tillfelle noe skjer. Vi skal komme tilbake til hvordan denne blir satt opp senere. Er du interessert i å ta backup av HS3-installasjonen din er det så enkelt som det kan bli: Høyreklikk på HomeSeer3-mappen i "\Program Files (x86)"-mappen, velg Send To -> Zip file. HomeSeer blir nå sendt til en ZIP-fil som du enkelt kan gjenopprette senere. Tilgang via internett En måte å gjøre det på er å bruke port forwarding for å videresende trafikken fra internett til HomeSeer. Jeg har imidlertid ikke tenkt å si mer om dette her, utenom å nevne at web-trafikken går på port 80 og den må videresendes til en fast IP-adresse. Hvis dette gir deg flere spørsmål en svar, så finnes det et alternativ: HomeSeer gir deg en mulighet for å koble deg på din HomeSeer-installasjon (uansett om det er programvare eller fysisk boks) over internett på uten at du trenger å styre med faste IP-adresser og port forwarding. Den finner du på http://myhs.homeseer.com. Med siste server-oppgradering hos HS er MyHS-tjenesten nå blitt lynende kjapp sammenlignet med direkte tilgang, selv for oss som bor her i Norge. Det første du må gjøre er å gå til Setup -> Network, og huke av "Enable remote access through MyHomeSeer service". Så går du til http://myhs.homeseer.com og trykk på "Register" linken under knappene. Da er det bare å fylle inn epostadresse og passord (BRUK ET LANGT OG SIKKERT PASSORD, husk at HomeSeer kan potensielt styre hele huset inkludert låse opp dører, så det er greit å ha et godt og unikt passord man ikke kan gjette seg for enkelt til). I tillegg må du ha License ID og passordet ditt. Hvis du har en fysisk boks, så står dette på undersiden av boksen. Hvis du har en programvare-lisens, så har du fått dette tilsendt på epost. Det siste er å opprette en bruker i HomeSeer med brukernavn og passord satt til det du brukte da du registrerte deg. Du legger til brukere under Setup -> Network. Nå skal det være mulig å logge på HomeSeer via http://myhs.homeseer.com! Sånn! Vi har nå valgt oppsett (se del 1), og om du nå har valgt hardware- eller software-ruten er nå HomeSeer oppe og kjører. I HomeSeer-skolen del 3 skal vi legge til den aller første Z-wave-enheten, og utføre litt vedlikehold og optimalisering.
    17 poeng
  10. Omsider fått ordnet lysene i trappa etter 1 års venting. Utsatt så lenge som mulig alt som har med lodding å gjøre Mangler fortsatt litt programmering for trigging, men fornøyd så langt.
    17 poeng
  11. Dette skjedde først for to uker siden, men da regnet jeg med det hadde sammenheng med mine Fibaro RGBW-problemer, og tenkte ikke mer over det, for RGBW-problemet ble løst. Men for et par netter siden skjedde det igjen! Vi bråvåknet av at rullegardinet til yngste jenta var i ferd med å gå opp av seg selv, midt på natten ca. kl. 03:00. Flere lys var skrudd på, helt tilfeldig! "Nei, nå er systemet fullstendig ute og sykler!" var første tanke som slo meg. Jeg sprang ned på kjøkkenet for å kikke på den store skjermen, og der kunne jeg se at et og et lys ble skrudd på med noen sekunders intervall! Dette var snodig! Helt til jeg tok på meg brillene... Da så jeg en liten flue spankulere oppover skjermen. Da den gikk over en "knapp" skrudde den dermed på det tilhørende lyset. Jeg ble helt fascinert, og stod og studerte flua. Den gikk lenger og lenger opp over skjermen og kom inn på bildet for 1. etasje. Der snudde den og gikk nedover til den møtte en "slider", og dermed dimmet den lyset på kjøkkenet der jeg stod. Det var et hint om at det er på tide å få tilbake logikken som skrur av skjermen om natten, ja...
    17 poeng
  12. Med en Modbus-plugin og et hardware-interface kan du enkelt få til å styre utstyr som støtter det. Modbus er ikke en uvanlig standard når det gjelder ventilasjonsutstyr og varmepumper, bl.a. fordi den er enkel å implementere i utstyret og relativt enkel for andre å bruke. Vi fikk montert et Systemair VTR-500 anlegg rundt påske, og fikk beskjed om at det gamle Z-wave adapteret dessverre ikke ville fungere med dette (som jeg fremdeles mener hadde vært den foretrukne metoden). Da ble Modbus redningen. Modbus er i utgangspunktet en forholdsvis enkel protokoll, hvor det spørres om eller sendes informasjon på en adresse (dvs. et heltall). Ulempen med den er at det er litt arbeid å få det til, fordi det ikke finnes noen ferdige oppsett. PS. Denne guiden er i utgangspunktet ment for HomeSeer-brukere, men prinsippet vil gjelde for alle. Jeg fikk hjelp til mitt første oppsett av en vennlig sjel på HomeSeer-forumet, det følgende er nærmest en gjenfortelling. Takk skal du ha, du vet hvem du er! Hva du trenger: Interface. Du trenger et. I praksis er det to valg; enten et som kobles til via USB eller et som går via nettverket. Jeg valgte det siste, og kjøpte dette interfacet for vi har fått lagt opp nettverk til loftet hvor aggregatet står fra teknisk rom i kjeller. Modbus-plugin Installer, aktiver og start. Den ligger under "Lighting & Primary Technology" 1. Oppkobling. Den korte versjonen: Kolbe A til A, B til B og G til G. Jeg brukte en CAT6-kabel og rensket endene på lederne. Tvinnet lederne sammen pr. farge, og brukte orange for A, grønn for B og brun for G. Det samme på selve aggregatet. RS485-porten er øverst til høyre (eller nederst til venstre, alt etter som du ser på livet), merket med A(+), B(-) og G. Koble så adapteret til nettverket og til strøm. 2. Konfigurasjon (for de med nettverksinterface) Utfordringen kan være å finne boksen. Der kan en nettverksscanner (f.eks. Advanced IP Scanner) være til hjelp. Finn enheten som har den samme MAC-adressen som står på baksiden av interfacet. Jeg har en Fingbox, og fikk selvfølgelig notifikasjon da den ble plugget inn. Tast inn IP-adressen i nettleseren med http:// foran, f.eks. http://192.168.0.174. Brukernavn og passord er "admin". Endre IP-adresse til en fast adresse: Gå til Local IP config. Endre IP Type til Static IP, og sett inn en adresse som er ledig. Trykk Save. Sett nå inn den nye IPen i nettleseren. RS485 konfigureres slik (de røde innstillingene er viktige): Baud-rate må settes til det som er støttet for ditt spesifikke aggregat. Nyere modeller har 115200 som maks hastighet, mens eldre modeller har lavere hastigheter. Ellers er data size = 8, Parity = None, Stop-bit = 1, og Flow kan fint være RTS/CTS. Workmode skal være "TCP Server" og "ModbusTCP". Hvorfor standardport ikke funker vet jeg ikke, men HS-forum-fyren hadde også endret denne. Det måtte jeg også. 8234 fungerer fint. Trykk Save. 3. Plugin-installasjon Modbus-plugin'en ligger i Updateren, dvs nederst under "Additional Interfaces" -> "Lighting & Primary Technology" (øverst). Velg denne, og trykk Installer-knappen som dukker opp under plugin-listen din. Aktiver plugin'en. 4. Plugin konfigurasjon Gå til Plugins -> Modbus -> Modbus Config. Nå skal vi legge til interfacet ditt. Har du et IP-interface som jeg, så trykker du på knappen til venstre (Add IP-RTU Master), hvis du har et som kobles til med USB, så trykker du på knappen til høyre (Add Serial RTU-Master). Trykk, og du blir videresendt til konfigurasjon av interface-devicen. Her kommer oppsett for IP-interfacet: Endre IP og port til det du satte opp interfacet til å bruke. Om polling spurte jeg SystemAir, og fikk til svar at det ikke var noe problem å polle hvert sekund om jeg ville. Jeg safer den litt med 10 sekunder. Dette kan imidlertid være avhengig av hvilket aggregat du har og hvor gammelt det er. 5. Oppsett Nå begynner det spennende. Eller kjedeligste, alt ettersom hvordan man ser det. Hver parameter man vil lese ut må man legge inn manuelt. Det som gjør det ekstra spennende er at adressene ikke er standardiserte som man kunne ønske seg. De er forskjellige fra leverandør til leverandør, men også fra modell til modell og til og med forskjellig mellom revisjoner eller årsmodeller. Vi har et VTR-500. Det har hatt det samme modellnummeret lenge, men har blitt oppgradert fra år til år. Da var det ikke bare å google for å finne frem (noe som forøvrig anbefales). Jeg fant til slutt beskrivelsen av Modbus-adressene på systemair.com. Jeg søkte etter "modbus", og under "Documents" på søkeresultater fant jeg til slutt SAVE Modbus Variable List 20190116 (Rev. 29).pdf (1 214 kb). Du må altså finne ut hvilke parametre ditt aggregat bruker. Når du har funnet den er det bare å legge inn de verdiene du vil. Problemet er vel kanskje å finne hvilke du ønsker deg... Eksempel 1: Hastighet på viftene for tilluft og fratrekk. I PDF-dokumentet over fant jeg denne: Altså må jeg bruke modbus-adresse 12401 for tilluft-hastigheten og 12402 for fratrekk. Det er et "Read Input Register", det vil si at man kun kan lese variabelen. Gå til Plugins -> Modbus -> Modbus Config. Der ser du interfacet og en knapp hvor det står "Add Device". Trykk på "Add Device". Da kommer du til en ny Device. Der konfigurerer vi Modbus-parametre ihht. adressen vi legger til. Det kan være en idé å endre Status Graphics også: Eksempel 2: Viftehastighet For meg er det register 1131 og 1132: Dette er et "Holding Register", dvs. man kan skrive verdier til den. Det legges inn på samme måte, men nå bruker man "Holding Register" istedenfor "Input Register". Det er litt ulogisk at vi skal ha en "Read Only Device", men ellers får man et tekstfelt og vi må jo gjøre det litt mer praktisk enn det. ... så er det bare å legge til andre verdier. Dette er mine: ... som jeg har konfigurert slik: Dette gir tilstrekkelig informasjon kontroll over anlegget, men det er mulig jeg har oversett noe. Hvilke verdier har du lagt inn? PS! Det er en ganske solid bug i konfigurasjonen pr. dags dato (juni 2019) når man skal sette "Multiplier". Se under:
    16 poeng
  13. Automatiserte min 15 år gamle AEG vaskemaskin her før jul ifm. bytte av motor. Koblet opto-koblere på de mest interessante status-LEDs, og monterte en Z-Uno inne i maskina. Dette har fungert upåklagelig fra dag én, med unntak av en liten bug i HomeSeer. Jeg kan se om maskina vasker eller ikke, og hvilket steg i programmet den jobber med. Når den så er ferdig får jeg og kona en push-melding fra PushOver - så kan jeg rope at vasken må henges opp! [emoji23] Den røde knappen bak på maskina er "service button" for inkludering/ekskludering til Z-wave. I tillegg dingler det en USB-kabel på baksiden i tilfelle OTA-funksjonen til Z-Uno skulle streike [emoji6] Edit: Maskina er forsåvidt automatisert da, men la til statusavlesing [emoji12]
    16 poeng
  14. De fleste har en USB-kontroller som f.eks UZB1 og den er som regel koblet til serveren man kjører HS3 på. I noen tilfeller må/ønsker man å ha denne et annet sted. F.eks pga USB-problemer på serveren, serveren står bortgjemt og man vil ha controlleren mer sentralt eller man vil ha muligheten til å enkelt ta med seg controlleren bort til dørlåsen for inkludering, i stedet for å slepe hele PCen bort til ytterdøra. Da kan "USB-over-nettverk" med en Raspberry Pi være løsningen! (denne løsningen skal også kunne brukes med f.eks RFXtrx433E og guiden er i stor grad basert på dette innlegget til @mk1 black limited, som igjen har hentet det fra Bert i RFXCOM) 1. Installere OS på Raspberry Pi Hvis du allerede har en fungerende RPi med OS, hopp til del 2! Du trenger en RPi og et minnekort for OSet. Jeg har valgt å kjøre dette på en egen RPi som ikke kjører noe som helst annet, rett og slett fordi jeg ikke vil at andre tjenester på den skal bruke opp ressursene, slite ut minnekortet eller på en eller annen måte "krasje" den. Det finnes mange OS å velge blant, jeg ville ha et minimalt OS, som bruker minst mulig ressurser og som krever minst mulig vedlikehold (desto mer software den kjører, desto flere potensielle sikkerhetshull dukker opp som krever patching). Valget falt på Minibian - en minimalistisk variant av det mest brukte OSet for RPi. a. Last ned Minibian, pakk ut tar.gz-filen til en tar-fil og pakk ut tar-filen så du får en img-fil (7-Zip kan pakke ut tar.gz) b. Bruk WIN32DiskImager (hvis du har Windows) til å legge img-filen på minnekortet, se guide her. c. Sett minnekortet i RPi'en og sett i nettverkskabel og strømkabel d. Du kan enten koble til skjerm/tastatur eller koble deg til den via SSH (PuTTy f.eks), finn IPen via DHCP-serveren din e. Logg på med root/raspberry (bytt passord ved å kjøre passwd) 2. Konfigurere USB-deling a. Du trenger noen programmer, kjør "apt-get update" og "apt-get upgrade" (det kan hende du må skrive "sudo" foran alle kommandoer, avhengig av ditt oppsett) b. Deretter kjører du "apt-get install raspi-config nano usbutils keyboard-configuration ser2net" c. Valgfritt: kjør "raspi-config" og gå igjennom innstillingene som f.eks hostname, tidssone, tastaturlayout, o.l d. Koble til UZB1 og følg oppskriften som @mk1 black limited har lagt ut her, men på punktet "nano /etc/ser2net.conf", legg til dette i tillegg: 10003:raw:0:/dev/ttyACM0:38400 8DATABITS NONE 1STOPBIT (UZB1 legger seg på "ACM0" i stedet for USB0) e. Gå inn på HomeSeer, plugins, Z-wave, controller management f. Sett opp Z-wave interfacet til å bruke "Ethernet interface", skriv inn IPen til RPi og port 10003 g. Start interfacet og se at det virker. Fremgangsmåten for RFXCOM er omtrent den samme.
    15 poeng
  15. Etter 6 år hvor vi betalte driften av egen lomme, åpnet vi for frivillig sponsing av forumet i fjor. Dette har nå kjørt et halvt år og mange har meldt seg. Hvem disse flotte menneskene er kan du selv se under postingene deres: Vi er veldig takknemlige for alle som har stilt opp! Dessverre ser vi at det er fremdeles ikke nok inntekter til å dekke utgiftene våre, og vi har derfor bestemt oss for å åpne opp for litt reklame. Mange vil nok synes at dette er ubehagelig, men her kommer det en god nyhet: De som sponser oss slipper reklamen ! Sånn sett vil nå de mange som leser forumet, uten engang å være registrert medlem, også få lov til å bidra litt på sin egen måte. 🙂 Så ikke irriter deg over reklamen men tenk heller at du bidrar til driften ved å se den (og å klikke på den 😉 ) - eller enda bedre; bli kvitt den helt ved å registrere deg her.
    15 poeng
  16. TrådfriSeer (som dessverre må hete "TradfriSeer" i Updateren fordi amerikanere er amerikanere) er en plugin for Ikea sin Trådfri-serie av produkter. Ettersom ikea-pærene ikke lar seg så enkelt integrere i eksisterende løsnigner for Zigbee til HomeSeer, bruker vi (@Fermate og jeg) hub'en og snakker med den via CoAP. Foreløpig er det en enkel plugin med støtte for følgende: Enkel konfigurasjon (kun IP og "key" nødvendig) Styre alle lyskilder som Trådfri-hub'en støtter Henter alle lyspærer automatisk Styrer lyspærer med samme kommandoer som andre lyskilder i HomeSeer, og kan derfor lett integreres med HStouch, Alexa, etc. Følgende er planlagt: Auto-discovery av hub på nettverket Støtte for grupper Potensiell mulighet for flere hub'er (enten for å dekke flere boliger, f.eks. hytte på fjellet, eller øke dekningsforholdene i et større hus)
    15 poeng
  17. Har oppdatert dette da det første utgangspunktet med ESP-01 ikke er så mye brukt lenger samt det er mye enklere med de nyere ESP variantene som Nodemcu, Wemos, ESP32, osv. som har det som trengs innebygd på kortet. Jeg gikk selv raskt over til en Nodemcu like etter jeg brukte ESP-01 pga litt nettere innstallasjon, så på tide med en update da jeg ser flere ønsker å gjøre dette . Jeg bruker enda kode som er fra 2018 som virker helt fint for meg, men det er blitt oppdatert flere ganger på https://github.com/SwiCago/HeatPump ------------- Deler litt bilder og hva jeg gjorde for å få Mitsubishi varmepumpe online med ESP8266 WIFI modul. Utgangspunket var å få noe bedre en zxt-120 til å styre varmepumpa og noterte meg at det kan kjøpes diverse plugin moduler fra Mitsubishi for dette (blant annet MelCloud WIFI adapter). Så da tenkte jeg at det måtte være noen terminaler eller plug som en kunne koble seg til. Heldigvis så er det noen som har trakka løypa først så noen kloke hoder har reversert kommunikasjonen på CN105 porten på disse varmepumpene og laget hardware oppsett og software bibliotek for dette; https://github.com/SwiCago/HeatPump. I korte trekk så er det en kontakt, CN105, som har seriell kommunikasjon og 5V på ene pinnen så da sier det seg selv at en ESP modul er rette valget her. Denne porten finnes på de fleste Mitsubsihi varmepumper, hvis varmepumpen søtter MelCloud så har den denne kontakten slik jeg har forstått det. Jeg har en Mitsubishi FD-Heat Kirigamine (MSZ-35FD). Så da er det bare å trekke ut strømkontakten til varmepumpa og åpne opp. Finner hovedkortet og i mitt tilfelle så må en ta ut flere kontakter for å få ut hovedkortet. CN105 kontakten ser ut til å være brun i det fleste tilfeller. Den har 5 pinner. Type kontakt som passer er PAP-05V-S, jeg kjøpte min fra Elfa: 300-21-706 "PAP-05V-S Krympehus Poles 5, JST 300-21-733 "SPHD-001T-P0.5 - Klemkontakt Hunn 26...22 AWG, JST" Elfa har også ferdige ledninger med klemkontakt montert i svart og rød for å gjøre det litt enklere; 143-52-231 "Rød Forkrympet ledning DF11 Hunn 500mm 143-52-235 "Sort Forkrympet ledning DF11 Hunn 500mm" Jeg gikk for klemkontakter så jeg kunne være litt fargerik på ledningene, bruker kontakter 2 - 5 (TX,RX,5V,GND). Siden jeg har min pumpe opp under taket laget jeg en lang ledning slik at jeg kan ha ESP modul på toppen. Laget et lite hakk i kabinett for ledning ut. Har en liten nedfelt "hylle" på toppen hvor jeg har ESP liggende. Flere modeller har også plass innvendig for ESP modul så kan gjemmes vekk hvis ønskelig. Sjekket at det var 5V på plus leding etter mod (NB! pinne 1 har 12V) så en slipper uønsket grill party. Tilkobling fra CN105 kontakt direkte til Nodemcu blir da slik som under. Kjører 5V fra varmepumpe kontakt inn på 5V inn på nodemcu (VIN). Ser da noe sånt ut som dette: Jeg brukte Arduino IDE med Nodemcu og PubSubClient MQTT biblioteker. På HS3 brukte jeg mcsMQTT plugin da denne parser JSON direkte og lager egne devicer for hver parameter i JSON strengen. Tick av "a" for de lesingene du ønsker og den lager devicer i Homeseer. Trykk på "ref" for å legge til knapper for de ulike parameterene. For hver kommando en vil sende til varmpepumpen må en legge til en kommando. Brukte MQTTlens for Windows med testing. Trykker på f.eks ID "534", tick av Button for "knapper" på HS device siden. Deretter gå til "HS Device VSP list" og legg til kommandoer. Skriver bare i feltet: "0=SWING" og tar retur, deretter neste knapp "1=<<", så bygger en listen nedover som da blir "knapper" i device siden. Det vil da se slik ut: * Oppdatert: dette eksempelet er som sagt laget med 2018 kode så det kan avvike litt fra det siste på https://github.com/SwiCago/HeatPump. Er nye opsjoner som f.eks ignorerer vanlig IR fjernkontroll og overstyrer med satte parameter. Modifiserte MQTT eksempelet med fixed IP og laget egne MQTT subscriptions for de ulike kommandoene da mcsMQTT plugin for Homeseer ikke sender JSON for kommandoer. Noter de ulike topics f.eks heatpump/set/fan nedenfor i settings for mcsMQTT som en må sette for hver device som skal sende data. I utgangspunktet er eksempel kode på ESP'en satt opp med å motta alle parameter på same topic, må da sende MQTT payload som JSON streng f.eks {temperature: 24}. Så derfor tok jeg en "kjapp" update med egen topic for hver setting og tar da bare verdi rett fra device i homeseer som payload for raskt få det til å virke. Men her kan en lage det som en vil uansett. Jeg la til disse som nye topics i .h filen, måtte også oppdatere litt i "void mqttCallback(...) samt registere de nye MQTT topics. // new topics for Homeseer/mcsMQTT const char* heatpump_set_power_topic = "heatpump/set/power"; const char* heatpump_set_mode_topic = "heatpump/set/mode"; const char* heatpump_set_temperature_topic = "heatpump/set/temperature"; const char* heatpump_set_fan_topic = "heatpump/set/fan"; const char* heatpump_set_vane_topic = "heatpump/set/vane"; const char* heatpump_set_widevane_topic = "heatpump/set/widewane"; Får da hver gang det er en forandring på varmepumpe settings (enten via MQTT eller fjernkontroll) og da oppdateres MQTT topic "heatpump" som JSON streng: {"power":"ON","mode":"HEAT","temperature":25,"fan":"2","vane":"SWING","wideVane":"SWING"} Ellers leser den temperatur hver 60 sekunder (kan justeres i kode) på topic "heatpump/status: {"roomTemperature":25,"operating":true} ...og det var en kort update på hvordan jeg fikk min varmepumpe online .
    15 poeng
  18. Hei og velkommen til HomeSeer-skolen! Sannsynligvis leser du dette fordi du er interessert i hjemmeautomasjon, og kanskje lurer du på om HomeSeer er noe for deg. Kanskje bruker du HomeSeer allerede, men gjerne vil se om det er mer å lære. Eller kanskje bruker du et annet system, men vil gjerne utvide smarthus-konseptet ditt enda litt mer. HomeSeer er et sofistikert program/system som har muligheter for utvidelser i (nesten) alle retninger. Det har en Event-motor som er blant de mest avanserte i markedet, det kan utvides stort med scripts og plugins og dermed kobles til andre programmer eller annen hardware, og du kan programmere i et .NET-språk (som C# eller VB.net). Men det er én ting HomeSeer ikke er: Intuitivt. Det er absolutt ikke selvforklarende for en nybegynner. Det er ingen enkle veivisere i programvaren så man kan fort få følelsen av å være på dypt vann. Det skal vi imidlertid prøve å rette litt på med HomeSeer-skolen. Vi begynner med det helt grunnleggende, som versjons-valg, installasjon og grunnleggende oppsett, for selv der er det ting å tenke på. Så går vi videre med hvordan man skal forstå brukergrensesnittet, og hvordan man legger til Z-wave og 433 MHz-enheter (som Nexa). Et smarthus er ikke smart før ting begynner å skje automatisk, og derfor må vi se litt på Eventer (dvs. regel-oppsett). Videre skal vi se litt nærmere på brukergrensesnitt generelt og HStouch spesielt. Til slutt skal vi se om vi klarer å lage noen enkle scripts. HomeSeer-skolen er først og fremst beregnet for nybegynnere. Hvis du har satt opp HomeSeer selv før kan du sannsynligvis hoppe over de første delene. Men kanskje lærer du noe likevel? Og kanskje (og forhåpentligvis) lærer jeg noe nytt av kommentarene, det er jo lenge siden jeg har satt HomeSeer opp fra bunnen av... Hvis du fremdeles (av for oss helt uforståelige grunner) lurer på om HomeSeer er for deg kan du lese anmeldelsen Vesternet har. HomeSeer vinner nok ingen pris for "Mest Sexy Brukergrensesnitt". "Mest Anvendelige og Konfigurerbare" er derimot vesentlig mer sannsynlig. Før vi kommer noen vei må man faktisk kjøre HomeSeer, og før man gjør det må man foreta et… Versjonsvalg HomeSeer er i utgangspunktet et program man installerer på en PC (eller kall det en "server"). Men det kommer også ferdig installert på selvstendige bokser. Programvaren kommer i to versjoner, og det er flere bokser å velge mellom, så man har litt å velge i. Først programvaren: HomeSeer 3 kommer i en standard og en Pro versjon. Standardversjonen har følgende inkludert: Ubegrenset antall devicer og Eventer (regler) Gratis app'er til Android og iOS (standard layout til HStouch) Støtte for Z-wave Støtte for X10 Tilgang til MyHS, nå din HomeSeer-installasjon fra alle steder I tillegg er det en lang liste med "offisielle plugins", og enda flere tilgjengelige på forumet (f.eks. FitbitSeer og TextSeer av undertegnede). Pro-utgaven har i tillegg: Gratis tilgang til alle HomeSeer Tech sine egne plugins som f.eks. Global Cache og NetCam-plugin. Dette gjelder dessverre ikke tredje-parts plugins. Gratis tilgang til HStouch Designer. Designeren lar deg lage dine egne grensesnitt. Standard-utgaven koster $250. HStouch designer koster $200, og en plugin koster typisk mellom $20 og $40. Pro-utgaven koster $600. Og så må det nevnes at HomeSeer Tech selger programvaren sin til 50% rabatt minst to ganger i året, på våren (rundt mai) og i November ("Black November" som de kaller det, som en større utvidelse av Black Friday). Hvis du kan vente så lenge, så er det noen kroner å spare... Hvis du ikke kan vente så lenge, så er det oftere mellom 25%-rabattene dukker opp. Som poengtert under trenger du også hardware tilhørende protokollene du vil bruke. Skal du ha Z-wave-utstyr kan du f.eks. bruke en UZB1. Jeg anbefaler RFXtrx433 til 433Mhz utstyr (som Nexa, Oregon Scientific, Rollertrol, Somfy, etc). De forskjellige controllerne Hvis du derimot vil ha en ferdig boks, så har de tre forskjellge å velge mellom: Zee2, bygget på en RaspberryPi. Finnes kun i Standard-utgave. SEL, kjører Linux. Kommer i en Standard og en Pro-utgave. S6, kjører Windows 7 (embeded). Kommer i en Standard og en Pro-utgave. Zee2 koster $200. SEL koster $400/$700 og S6 koster $900/$1200. Man betaler altså $300 ekstra for Pro-utgaven. Alle boksene inkluderer et Z-wave interface (husk å bestille EU-utgaven!) men ikke til 433 MHz. Forskjellen mellom de forskjellige boksene er datakraften. Jo dyrere jo mer håndterer den, selvfølgelig. Zee2 sitt begrensete minne gjør at du ikke kan kjøre mer enn 5 plugins, og erfaring viser at den begynner å bli litt treg når Z-wave nettverket blir stort (mer enn ca. 50 noder). SEL har ingen begrensninger på antall plugins eller antall noder den håndterer. Man må bære være obs på at den kjører Linux-versjonen av HS3, og ikke alle plugins kan kjøre på Linux. Men antallet som kun kjører på Windows blir mindre og mindre. S6 er i praksis en PC med HomeSeer installert. Hvis denne er interessant for deg tror jeg det er billigere og enklere å kjøpe en liten PC for å installere HomeSeer på. MERK: Det finnes norske forhandlere for hardware-controllerne. Intin.no selger dem, og artius.no åpner sin nettbutikk neste uke. ...så hva skal jeg velge? Det vet jeg ikke! Men jeg kan fortelle hvordan jeg vurderer det. Jeg hadde allerede en server som håndterer familiens bilder og video-opptak, fillagring, etc, så for meg var det naturlig å velge programvaren. Jeg har også et mål om å integrere mest mulig, og det er lettere for meg å få til med Windows. Har man en gammel PC stående man ikke vet hva man skal brukes til, vil denne helt sikkert være egnet. HomeSeer i seg selv krever ikke så mye. I tillegg har jeg valgt Pro-versjonen, mest fordi HStouch Designer følger med. Og skulle jeg få bruk for en av HST-sine plugins, så slipper jeg å betale for det. Selvlagde HStouch-oppsett tilpasset skjermstørrelse og bruksformål finnes flere stedet i huset. Hvis jeg skulle automatisere hytta så kunne jeg gjerne gått for en Zee2. Der blir det ikke SÅ mange noder, det er ikke bruk for like mange plugins (man trenger for eksempel ikke FitbitSeer på hytta), og den trekker veldig lite strøm. Zee2 er en glimrende enhet å starte med hvis man ikke vil ha sin egen dedikerte PC. Dessverre kan ikke HomeSeer-lisensen ikke overføres til PC hvis du vil oppgradere senere, men oppsettet ditt kan enkelt flyttes. I del 2 skal vi gå kjapt gjennom første gangs oppsett.
    15 poeng
  19. Hvorfor HomeSeer Touch? Personlig synes jeg HomeSeer har 3 styrker: Åpenheten gjennom plugin-systemet, muligheten til selv å bygge ut systemet med scripting og egne plugins og sist men ikke minst HS Touch systemet som gir mulighet for å lage egne touch interface. Å kjøre HomeSeer (heretter kalt HS) uten å ta i bruk HomeSeer Touch (heretter kalt HST) blir som å kjøpe en bil men aldri åpne bagasjerommet. HST består av 3 deler: - En editor for å «tegne» opp brukergrensesnittet og definere funksjonene det skal ha. - En App på en telefon, ett nettbrett eller en PC for å kjøre dette brukergrensesnittet - Og en server Plugin for å kommunisere med denne App’en. Editoren lagrer all funksjonaliteten du definerer i en XML fil og overfører denne til App’en sammen med nødvendig grafikk. App’en er således den samme hele tiden men parametriseres til å oppføre seg som du ønsker gjennom dataene som blir lastet opp fra editoren. Når alt er lastet opp kommuniserer App’en direkte med HS plugin’en og editoren er ute av bildet: Pro versjonen av HS kommer med HST inkludert, ellers må du kjøpe den separat. App'ene laster du ned fra Appstore/Google Play, mens Windows klienten førlger med HST: So lets get started! HST er en ganske avansert affære med mange muligheter, men vi skal nå se på hvordan du kommer i gang og hvordan du lager de viktigste tingene: - En slider som dimmer et lys - En knapp som kjører en Event - Statuser vist som tekst eller Grafikk - En knapp som skrur av/på og som viser status - Hvordan en bytter bilde Start opp HST Editoren og velg «File/New Project» så får du opp «Project Defaults»: Her fyller du inn Prosjekt Navn, velger Type (som bestemmer høyde og bredde i piksler) og angir IP adresse (eller DNS) og login til HS serveren (En av dem du har definert i HS under "Tools/Setup/Network") Så dukker editoren opp og for dem som har kjørt Visual Studio er mye kjent: Først sjekk at den "grønne prikken" i toolbaren er grønn. Den signaliserer at du har kontakt med serveren. Er den ikke grønn så gå "Tools/Options/Connection Defaults" og connect på nytt. I midten er arbeidsflaten som skal bli en skjerm i App'en. Til høyre er Egenskapene (Properties) til det elementet som er selected. Til venstre er det Elementer du kan bruke for å tegne opp brukergrensesnittet. Disse velges fra et "Skin" (Et grafisk tema) og er gruppert i faner med navn som "Buttons, Sliders, Graphics osv. En kan også lage egne skins med knapper og Custom elementer men det skal vi ikke snakke om i denne artikkelen. La oss lage en Slider som dimmer et lys. Gå til "Sliders" fanen, dra en Scrollbar ut på arbeidsflaten og klikk på Property: "StatusTracking" : Du får nå opp en "Element Association". Her velger du "HomeSeer Devices" og finner en Device du vet er en dimmer. Etter OK er vi klar for å teste. Velg "Tools/Run Windows Client" og så kommer App'en din opp på PCen og du kan dra i slideren og se at lyset dimmer. Gratulerer du har laget din første HST applikasjon! På telefon eller pad Om du har en PCskjerm med touch kan du nå henge den på veggen og bygge videre. For de fleste av oss er en iPad (gjerne en brukt iPad1) eller en iPhone (eller ditto Adroid selvfølgelig) et enklere alternativ: Last ned HomeSeer Appen og finn den i "Settings". Sjekk at connection Mode = Ask og klikk på en av Server Connection: -> Endre "Address" til IP-Adressen til HS serveren din (eller bruk DNS) og skriv inn brukernavn og passord og gå tilbake og start opp APP'en. Etter å ha valgt den serveren du valgte å konfigurere kommer standard Interfacet til HST opp: (Her kan du nå med en gang velge deg ned til den pæra vi skal dimme og styre den med standard interfacet for å sjekke at det går) Noen synes dette er greit nok, men jeg synes du skal designe ditt eget interface som er spesialtilpasset ditt behov og din smak. Ready to DEPLOY Vi skal derfor sende det vi har designet i HST editoren til telefonen; Velg "Tools/Deploy" og sjekk at telefonen din vises i listen, og klikk på den: La bildet med overføringsparametere være uendret og når du trykker OK vil Telefonen vise "Deploying Configuration" og deretter vår App: Dra i slideren og nyt følelsen av å ha laget din egen HS App Legg også merke til at når du endrer dimmeren manuelt (eller med Web Interfecet til HS) så flytter slideren seg Nå er det egentlig bare å prøve seg fram og teste for å se hvordan de forskjellige tingene oppfører seg, men la meg ta en par av de mest praktiske tingene for å gi deg en flying start: En knapp som starter en Event Dra ut en knapp og endre "Text" propertyen. Klikk på "Action When Released" og få opp "Action Editoren". Legg til en Action og sett typen til "HomeSeer: Trigger a HomeSeer Event" Velg en Event som skal kjøres. Så er det bare å kjøre "Tools/Deploy" igjen (husk at App'en må kjøre for at telefonen skal dukke opp i Editoren) og sjekke funksjonaliteten på telefonen. Ikke fall for fristelsen til å lage mange Actions bak en knapp dersom det samme kan oppnås ved å lage en ny Event som kaller på disse funksjonalitetene. Det er MYE lettere å endre en Event senere enn å måtte deploye ett nytt HST prosjekt til alle enhetene dine. La oss bygge ut med å lese av en status verdi: Velg fanen "Others" og dra ut to "Text" elementer. Sett teksten på den ene til "Ute Temp" og Trykk på "Status Tracking Normal" på den andre. Velg en Device fra et termometer og bruk "Use Status Text". OK og Ferdig! Om vi vil ha en status vist som grafikk gjør vi slik: Dra ut en "Image" og bind den til et lys med "Status Tracking Normal" på samme måte som vi gjorde med dimmeren, men denne gangen velger du "Use status Image" isteden for "Use Value". Endre propertyen "ImageFormat" til "Stretched" slik at hele bildet blir synlig. Nå vil du se standardgrafikken til denne Devicen, men vi ønsker å bruke vår egen grafikk så vi trykker på "StatusImages" og får opp "Status Image Editor": Her trykker vi "Add" 2 ganger for vi trenger bare 2 status bilder, -en for ON og en for OFF. Vi kan for eksempel velge bulb-back.png for OFF status og bulb-on.png for ON fra denne mappen C:\Users\xxx\Documents\HSTouch\Skins\Android\Graphics som ble installert sammen med HST. Deploy og test at pæren tenner og slukker når du tenner og slukker devicen som du tracker. Men vi vil også kunne tenne og slukke den ved å trykke på lyspæren! Om vi nå endrer "IgnorePresses" til FALSE dukker propertiene for en knapp opp. Vi bruker "ActionsWhenReleased" og lager en action på det samme devicet som vi tracker. Dette ligner på knappen som startet en Event, men denne gangen velger vi "Toggle On/Off" som command: Deploy og test at du nå kan slå pæren av og på ved å trykke på den. Jeg bruker ofte slike knapper med både tekst og bilde til å vise status og aktivere ting: Å lage egne (3D) knapper med enkle verktøy som Powerpoint (!) er en historie vi må ta en annen gang. Tilslutt en par viktige funksjoner: Det kan være greit å ha en knapp som lukker App'en: Til det bruker vi Action type: "Misc: Exit Application" Flere skjermer Du klarer aldri å få alt inn på en skjerm så flere skjermer må til. Bruk "File/New Screen" for å lage en ny skjerm eller høyreklikk headeren på en eksisterende skjerm og velg "Copy". Gi den nye skjermen et navn, og pass på at hovedskjermen din (den som App'en kan "time ut og gå tilbake til") er den (eneste) som er merket "IsMain"=TRUE Når du vil vise denne skjermen bruker du Action "Screen: Show another screen by itself" og angir den skjerm du ønsker å vise: Men når jeg er laaangt borte Om du ønsker å kunne styre huset fra telefonen når du ikke er hjemme må du åpne opp port 10200 i routeren din og forwarde den til HS serveren. Du må enten ha en fast IP om ISPen din tilbyr det eller en DynDns type tjeneste slik at du kan sette opp den IP'en/DNS'en i Configurasjonen i App'en. Om du har en router som kan mappe din WAN DNS til din LAN IP (eller du kjører en server med full DNS) klarer du deg med kun 1 server i HST App oppsettet og du kan endre connection mode fra "Ask" til en fast server. Har du ikke det kan du bruke to server definisjoner med henholdsvis WAN og LAN IP og kalle dem "HST Hjemme" og "HST Borte". HS kan også styre HST på eget initiativ: Du kan vise en skjerm med et bilde fra et kamera når det ringer på døra eller si "Alexa, Show me the carport web camera on the upstairs iPad" Sjekk under "HSTouch Actions" på en Event for hva du kan gjøre. Husk at så lenge den tilbyr "Simulate a press of an element" kan du bruke dette på en usynlig knapp i HST og la den ha alle de actions du måtte ønske. Ting vi ikke har snakket om: - Å kjøre HTML inne i HST - Starte et script med eller uten parametere - Video (Som egentlig bare er stillbilder fra et WebCam med en refresh hver x sekund ) - Design for å få ting pent og effektivt og passe lett å forstå - Verktøy for å effektivisere produksjon... Ellers er det jo bare å spørre
    15 poeng
  20. En hacker i sofaen er bedre enn 10 i en hvit van på utsiden av huset. Forbrukerinspektørene var på besøk, og resultatet gikk på lufta onsdag 4. oktober kl. 19:45. Det var en veldig engasjert gjeng som var her, og det var bortimot umulig å ikke la seg rive med av iveren til programleder Stian Kallekleiv. Det som gikk på TV er imidlertid den "fjernsynsvennlige varianten" etter mitt syn, altså for folk flest. Det skjedde ikke nødvendigvis helt slik, selvfølgelig. Men det som egentlig skjedde var minst like interessant! Det begynte med en telefonsamtale en onsdag i slutten av juni. Ikke helt ordrett, men omtrentlig slik: "Hei, det er Stian Kallekleiv fra Forbrukerinspektørene, og jeg vil gjerne komme på besøk". "Hei, det må du vel få lov til." Det har jo vært et par journalister på besøk tidligere, så det hørtes jo ikke så skummelt ut. Det verste med det er at man må rydde huset så veldig… "Og jeg hadde tenkt å ta med meg en hacker". "Øh… jaha?" "Ja, for å se om du har noen dubbeditter som det er enkelt å få tilgang til". Jeg måtte tenke på det. Det er en ting å være klar over at selv om man har gjort en del med tanke på sikkerhet, så har det en kalkulert risiko å legge huset sitt på nettet. Men det er en annen ting å få noen til å gå løs på det for å publisere sine resultater på NRK! Til slutt var det egentlig nysgjerrigheten som tok overhånd, samt at en tanke om at "det hadde jo faktisk vært kjekt å få systemet gjennomgått av eksperter". Chris Dale fra Netsecurity tok kontakt og forsikret meg både skriftlig og muntlig om at det han eventuelt fant ikke ble lagret noe sted, og alt han hadde fått da han kom på besøk ble slettet før han forlot byen. Han gav i det hele tatt et profesjonelt og kompetent inntrykk. Angrep via Internett Mandagen begynte PRTG å melde om høy aktivitet på diverse tjenester, bl.a. om gjentatte innloggingsforsøk på PRTG selv. Vanligvis når dette skjer så er det å blokkere en IP eller en range som typisk er fra Russland, Kina eller USA. Denne var imidlertid fra Telenor. "Chris, er dette deg?" "Ja, det er meg." "OK, da blokkerer jeg ikke den." Så jeg lot ham få holde på. Etter hvert dukket det opp et par suspekte eposter fra nevnte PRTG om "problem med den og den maskinen, click here to resolve". Imponerende godt forsøk, Chris, men jeg har dessverre lært på den harde måten tidligere å IKKE trykke på slike lenker med mindre jeg er bombesikker på at det ikke er problem med dem. Så vidt jeg vet kom han ikke inn den veien. Jeg bruker nginx som front end til diverse tjenester med SSL og et 3 år sertifikat. Det gjør det i det minste noe vanskeligere… Den store dagen En kameramann, en regissør, en programleder og en hacker. Vi tok først en kjapp runde rundt i huset for å se hva det har å by på, og Chris hadde øynene med seg på det han så. Han prøvde seg med "Alexa, unlock the front door", men det har jeg bevisst utelatt. Chris fant selvfølgelig nettverket og kunne helt sikkert hacket det, det er jo kun snakk om datakraft og tid. Men det hadde han ikke nok av med kun en dag til rådighet og en laptop. Istedenfor fikk han demonstrert noe kult. Og skummelt! "Magnus, sett denne USB-pinnen inn i en datamaskin." "Errr…. Ja… OK?" Han HAR jo lovet at han ikke skal ødelegge noe eller lagre noe, og jeg må jo stole på han. Inn i Surfacen'n med den. WOSH! …. en haug med kommando- og PowerShell-vinduer senere så var den ferdig. Det tok ca. 7-8 sekunder. "Nå har jeg passordet til det trådløse nettverket ditt." Plutselig har jeg forstått enkelte oljeselskapers paranoide holdning til å fjerne eller ødelegge USB-tilkoblinger på selskapets datamaskiner. Det er jo ikke paranoid i det hele tatt! Chris satte seg i den hvite van'en (som selvfølgelig var godt synlig fra stuevinduet) og jobbet. Vi andre filmet. Etter en time kom Chris inn og satte seg i sofaen, han begynte å gå tom for strøm. Vi spiste pizza til lunsj og Chris var underholdning med noen hacker-historier og tanker om generell datasikkerhet. Chris fant som sagt gressklipperen min. "Hmmm, det tøffer et WLAN rundt på plenen hans?" Den hadde jeg ikke gjort en god nok jobb med, jeg hadde fått det satt i dagen før de kom og enda ikke hatt tid til å sjekke det ordentlig. Grensesnittet var i utgangspunktet på tysk, og det var nok litt for åpent. Jeg hadde f.eks. ikke deaktivert gressklipperens eget nettverk. Men det har jeg nå. I tillegg plukket han fra hverandre telefonsentralen, og fant noen passord der. Det burde ikke være mulig å komme seg videre med de passordene, men jeg har nå for sikkerhets skyld byttet alt sammen. Siden det var litt tidsnød denne dagen, så kom ikke Chris lenger, selv med passordet til det trådløse i nettverket: HomeSeer, Netcam Studio, etc er passordbeskyttet også fra innsiden. For å lage litt god TV, fikk Chris tilgang til HomeSeer og kameraene, og derfor hadde han jo full tilgang for å vise noe stilig til NRK. På HS-maskinen åpnet jeg brannmuren på port 80 og deaktiverte passord-beskyttelsen for lokal tilgang. Det er ikke mulig i NetCam Studio, så han måtte få brukernavn/passord. Så skrev jeg en påminnelse til meg selv i kalenderen om å bytte passord og aktivere brannmuren igjen den kvelden... Chris og crewet satte seg i bilen og filmet. Jeg ble sittende som en statist i sofaen. Etter det skjedde det ikke så mye for min del, utenom oppsummeringen. Chris fant som sagt en detalj som vi tar med HomeSeer Tech. Regner med jeg kan publisere den om ikke så lenge. Gressklipperen var på tidspunktet dessverre ikke særlig beskyttet, og telefonien har blitt forbedret (og skal snart byttes ut med noe som gjør mer mtp. sikkerhet). Du kan lese Chris sin mer tekniske beskrivelse her. (Saken har også blitt omtalt av Teknisk Ukeblad og DinSide, sistnevnte mener jeg er noe mer negativt fremstilt enn den burde ha vært.) Det ble påpekt gang på gang viktigheten av å prøve å ha kontroll på alt dette utstyret som vi putter inn i våre hjem, og det gjelder jo absolutt ikke bare oss smarthusentusiaster! Man kan ikke bare koble noe mot internett og håpe at det går bra. TA FORHÅNDSREGLER! I ukene før besøket hadde jo bl.a. WannaCry herjet datamaskiner verden over, og for meg ble det en solid tankevekker å få beskjeder som "Bra, Magnus! Du har oppdatert Windows, ellers hadde jeg nå vært inne i maskinen". For helt ærlig: Hvem har vel ikke tenkt "Det passer jo ikke akkurat nå å kjøre Windows Update, jeg venter litt jeg..." Så jeg oppsummerer som Chris gjorde: Ha lange, gode passord. Setninger er bra! Bytt standardpassord på nye dingser. Hold alle enhetene dine oppdatert! Alt i var det en spennende opplevelse! Takk for besøket!
    15 poeng
  21. På kjøkkenet har jeg en peis. med et spjeld når jeg fyrer opp og åpner spjeldet glemmer jeg alltid å lukke det igjen, så når jeg kommer ned om morgenen etter er det iskaldt på kjøkkenet for pipa har suget ut all varmen (den trekker veldig bra) og panelovnene har fyrt hele natta for kråka Alexa burde ha advart meg når jeg gikk og la meg, på samme måte som hun varsler om at jeg ikke har låst døra eller lukket garasjeporten osv. Eller HomeSeer burde har gitt meg en advarsel over Squeezeboksene etter 3-4 timer. Jeg trengte altså en sensor på spjeldet! En microbryter eller en tiltsensor ville nok kunne monteres men en kabel derfra til en sender ville bli skjemmende. Løsningen ble en boks rundt selve spjeld stanga: Inne i boksen puttet jeg en microbryter, en borstopp på akslingen og av plasshensyn måtte jeg slakte en Nexa WBT-912 sender: Nexa er ikke det foretrukne fordi de sender så lange signaler og blokkerer all (433MHz) radio trafikk men siden spjeldet åpnes og lukkes såpass sjeldent fikk det duge En skrue i fugen på pipa stabiliserte det hele nok: Også var det hele på plass: IMG_0409.MOV PS: JA jeg har sjekket at ikke stanga blir for varm for plasten og elektronikken
    15 poeng
  22. 26/2-2016 postet Moskus dette: Siden da har han postet 16 246 ganger til Vi har altså drevet hjemmeautomasjon.no i over 6 år nå. 6000 medlemmer har snart postet 100 000 innlegg. Men vi vet også at de som bare leser forumet uten å registrere seg er nesten like mange. @iblis, @Moskus og jeg ( @Fermate ) har drevet dette som ren hobbyvirksomhet og i starten hostet vi forumet på en billig server. Etterhvert som trafikken økte begynte vi å oppleve dårlige responstider og vi oppgraderte server og linjehastigheten til Premium. I midten av 2020 hadde vi et krasj der vi oppdaget at backupen ikke var helt på stell og det ble gjort endringer som sørget for at noe så flaut ikke skulle skje igjen. I følge TU er vi blitt et referansepunkt for hjemmeautomasjon i Norge (da de skulle skrive om AMS målere oppdaget de at nesten alt de google var referanser til oss ) Det finnes riktignok et par Facebookgrupper som har mye trafikk og er fine til å stille et raskt spørsmål, men forumet vårt har heldigvis lite poster av typen "Ja dette er kanskje ikke helt smarthus eller IoT akkurat men siden det er så mange smarte folk her inne så spør jeg her allikevel:" - Og så et spørsmål om noe som overhode ikke har noe som helst med smarthus eller IoT å gjøre og til og med noen ganger ikke noe med elektronikk en gang 🤪 Vi mener selv at forumet er et bra sted å spørre og diskutere men kanskje framfor alt et supert sted å finne løsninger som andre har gjort på ting du selv trenger. Fram til nå har vi tre administratorene betalt hele kalaset ut av egen private lomme uten en eneste inntektskilde. Ingen reklame Ingen produktplassering Ingen rik eier eller firma i ryggen Ingen sponsorer Ingen ting Sånn kan det dessverre ikke fortsette i lengden! Men hva bør vi gjøre? Som vanlig ønsker vi å høre hva dere mener om den saken, så si deres mening under her. Som en foreløpig løsning har vi gjort klar en mulighet til å sponse oss, enten med et engangs beløp eller med et fast månedlig beløp: <- Klikk her for å se alternativene Det er klart at det er fint med et engangsbeløp om dere er ekstra begeistret over en artikkel eller en løsning på et problem som dere har lett lenge etter, men for oss ville det være enda finere å ha faste beløp som kom hver måned selv om de var små. Dette ville gjøre det mer forutsigbart for oss og enklere å legge planer for å øke kvaliteten. Logikken er at om alle 6000 medlemmene hadde betalt1 kr i måneden hadde vi hatt nok til både drift og til å betale noen for både moderering og innhold Vi har alle faste jobber ved siden av og har ikke tenke å bli rike på dette men bruke alle midlene på å gjøre forumet enda bedre ! Så kom igjen; kjør diskusjon og registrer dere som "sponsorer"!
    14 poeng
  23. Jeg har en del rullegardiner fra IKEA som er automatisert med Rollertol motorer. Her om dagen gikk en istykker og jeg hadde lite lyst til å bestille en ny fra USA. - Dyre er de også. Men jeg hadde nettop oppdaget hvor lett det er å designe og 3D printe tannhjul (Jeg bruker OnShape men regner med at Fusion 360 er like enkelt) så jeg tenkte at her var et fint byggeprosjekt. Jeg hadde kjøpt noen artige motorer fra Aliexpress for en stund siden som kunne passe til slikt bruk. https://www.aliexpress.com/item/32855724293.html Den jeg bruker her er 50RPM. Disse er giret kraftig ned med planet-gir og har rotasjons sensorer som gir 11 pulser / rotasjon. Dette gjør at de er mye sterkere enn en stepper motor men kan posisjoneres like nøyaktig ved å telle pulser. Fasongen inviterer til å plassere den i et klikk-on stativ som dette: (Slutt-versjonen måtte ha enda en klemme for å holde den helt fast) Tannhjulene ble laget for å kunne settes inn i enden av rullegardinen og et passende veggfeste ble printet: Siden det kun var et museklikk å lage tannhjulene heliske (skrå tenner) måtte jeg prøve dette. (Jeg hadde hørt at en gjorde slikt i girkasser for at de skulle lage mindre lyd) Dette ga meg to raske lærdommer: - Tannhjulene som skal gripe inn i hverandre må ha motsatt vinkling - Når de belastes vil de få en skyvekraft sidelengs Det siste bruker jeg nå aktivt for å forhindre at tannhjulet på motoren trekkes av akslingen når gardinen kjøres opp. Denne L298N motor-driveren tar 12V og er litt overdimensjonert men har også en 5V utgang som er fin å mate ESP32'en med. Jeg hadde bestemt meg for at jeg skulle ha 3 knapper: OPP, NED og SET I drift skulle knappene kjøre gardinen (helt) opp og (helt) ned og SET knappen skulle sette den i SETUP mode. I setup mode skulle knappene kjøre gardinen opp og ned så lenge de ble holdt inne. Først for å finne TOP posistion og så kvittere denne ved å trykke SET og deretter finne BUNN posisjonen og kvittere denne ved å trykke SET på nytt. En RGB LED skulle kommunisere hvilken modus du var i. Så var det bare å printe en passende boks, med skrue hull, for å putte hele greia inn i: Koblingen var sånn: For å unngå at jeg måtte sette oppigjen stopp posisjonene i topp og bunn dersom strømmen forsvant skrev jeg disse (=denne, top er uansett alltid 0) ned i Flash memory. Jeg bestemte derfor også at gardinen ikke skulle kunne stoppes halveis og kun var enten åpen eller lukket. Denne statusen (Oppe eller Nede) ble også skrevet til Flash. Flash tillater kun 100 000 skrivinger så om jeg kjører gardinen 3 ganger om dagen vil den kun holde i ca 100 år... Motor pulsene telles med et Interupt på pinne 25. Knappene bruker også en Interupt-timer for å slippe å håndtere rippel. For hver 100ms sjekker jeg om knappene er av eller på. Er de aktive teller jeg en teller OPP er de passive teller jeg en teller NED. Blir telleren 4 setter jeg knappen som AKTIV, blir den -4 setter jeg den som inaktiv. LED'en fikk kun en motstand felles (latskap) så den tåler ikke at mer enn en farge skrus på om gangen. Selve logikken er en tilstands maskin med disse tilstandene: SETUP_DEFINING_TOP, SETUP_DEFINING_BOTTOM, SETUP_STOP_SET_PRESSED_TOP, SETUP_STOP_SET_PRESSED_BOTTOM, MOVING, STOPPED_TOP, STOPPED_BOTTOM, STOP_SET_PRESSED I tillegg holdes det styr på rettning: MOVING_UP, MOVING_DOWN, STOPPED Da er det også enkelt å vite om pulsene som kommer fra motoren skal telles opp eller ned. Motoren har riktignok 2 sensorer som står i forskjellig vinkel på akslingen så det ville være mulig å måle avstanden mellom pulsene for å avgjøre rettning men dette er MYE lettere. MQTT biblioteket jeg fant var så enkelt å bruke at det nesten var latterlig. Jeg burde selvfølgelig rydde masse i koden og skrive pedagogiske kommentarer for å vise alle hva for en dreven og fantastisk programmerer jeg (egentlig) er men det gidder jeg ikke nå, sorry. Dere får heller spørre om dere lurer på noe. Jeg gadd heller ikke å lage noe fancy setup automatikk med oppstarts AP og Webside for å sette IP og velge SSID. (Post gjerne slik kode som jeg kan stjele til neste gang) Her er koden: #include <Preferences.h> #include <EspMQTTClient.h> Preferences preferanser; EspMQTTClient client( "SSID", "PWD", "192.168.232.8", // MQTT Broker server ip "", // MQTTUsername Can be omitted if not needed "", // MQTTPassword Can be omitted if not needed "rullegardinClient", // Client name that uniquely identify your device 1883 // The MQTT port, default to 1883. this line can be omitted ); // MQTT int receivedCommand=0; // 1=UP 2=Down 0=Executed // Motor int motorPin1 = 14; int motorPin2 = 12; int enablePin = 13; // Interupt portMUX_TYPE sync1 = portMUX_INITIALIZER_UNLOCKED; // External int IntPin1 = 25; // Timer hw_timer_t * timer = NULL; // Switches const int swPinUp = 23; const int swPinDown = 22; const int swPinStopSet = 21; volatile bool swUp = false; volatile bool swDown = false; volatile bool swStopSet = false; // LED const int RED = 5; const int BLUE = 18; const int GREEN = 19; // Modes enum stateType { SETUP_DEFINING_TOP, SETUP_DEFINING_BOTTOM, SETUP_STOP_SET_PRESSED_TOP, SETUP_STOP_SET_PRESSED_BOTTOM, MOVING, STOPPED_TOP, STOPPED_BOTTOM, STOP_SET_PRESSED, }; // Direction enum directionType { MOVING_UP, MOVING_DOWN, STOPPED }; //VARS volatile stateType state; volatile directionType movingDirection; volatile long stepCount=0; //0= På toppen volatile long stepMax=0; volatile int countUpSW =0; volatile int countDownSW = 0; volatile int countStopSetSW = 0; unsigned long lastTime=0; char lastPos; //------------- Interupt Routine Steps ----------------- void IRAM_ATTR isr_steps() { portENTER_CRITICAL(&sync1); if (movingDirection==MOVING_DOWN) { stepCount++; } else if (movingDirection==MOVING_UP) { stepCount--; } if (stepCount<0) stepCount=0 ; // cap on 0 portEXIT_CRITICAL(&sync1); } //------------- Interupt Routine Timer ----------------- void IRAM_ATTR isr_timer() { portENTER_CRITICAL(&sync1); if (digitalRead(swPinUp)==LOW) { countUpSW++; if (countUpSW > 4) { swUp = true; countUpSW=0; } } else { countUpSW--; if (countUpSW < -4) { swUp = false; countUpSW=0; } } if (digitalRead(swPinDown)==LOW) { countDownSW++; if (countDownSW > 4) { swDown = true; countDownSW=0; } } else { countDownSW--; if (countDownSW < -4) { swDown = false; countDownSW=0; } } if (digitalRead(swPinStopSet)==LOW) { countStopSetSW++; if (countStopSetSW > 4) { swStopSet = true; countStopSetSW=0; } } else { countStopSetSW--; if (countStopSetSW < -4) { swStopSet = false; countStopSetSW=0; } } portEXIT_CRITICAL(&sync1); } //************************* INIT ********************* void setup() { // LED pins pinMode(RED, OUTPUT); pinMode(GREEN, OUTPUT); pinMode(BLUE, OUTPUT); digitalWrite(RED, HIGH); preferanser.begin("Prefs",false); stepMax=preferanser.getLong("stepMax",-1); // -1= not init before if (stepMax==-1) { state=SETUP_DEFINING_TOP; } else { lastPos=preferanser.getChar("position",' '); if (lastPos=='T') { state=STOPPED_TOP; client.publish("rullegardin/position", "TOP"); } else if (lastPos=='B') { state=STOPPED_BOTTOM; client.publish("rullegardin/position", "BOTTOM"); } else { // error or default state=SETUP_DEFINING_TOP; } } // Motor pins pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(enablePin, OUTPUT); // init interupt pinMode(IntPin1, INPUT); attachInterrupt(IntPin1,&isr_steps,FALLING); // Interupt timer timer = timerBegin(0,240,true); // 240Mhz timerAttachInterrupt(timer,&isr_timer,true); timerAlarmWrite(timer, 100, true); // 100ms ? timerAlarmEnable(timer); // SW pinMode(swPinUp, INPUT_PULLUP); pinMode(swPinDown, INPUT_PULLUP); pinMode(swPinStopSet, INPUT_PULLUP); // Motor Enable digitalWrite(enablePin,HIGH ); // testing Serial.begin(9600); Serial.println("Testing DC Motor..."); client.enableDebuggingMessages(); client.enableLastWillMessage("rullegardin/lastwill", "I am going offline"); digitalWrite(RED, LOW); digitalWrite(GREEN, HIGH); digitalWrite(BLUE, LOW); } //*********************************** ROUTINES void move_down() { movingDirection=MOVING_DOWN; digitalWrite(motorPin1,HIGH); digitalWrite(motorPin2,LOW); } void move_up() { movingDirection=MOVING_UP; digitalWrite(motorPin1,LOW); digitalWrite(motorPin2,HIGH); } void stop_moving() { movingDirection=STOPPED; digitalWrite(motorPin1,LOW); digitalWrite(motorPin2,LOW); } void update_leds() { // LED if (state==SETUP_DEFINING_TOP){ digitalWrite(RED, LOW); digitalWrite(GREEN, HIGH); digitalWrite(BLUE, LOW); } if (state==SETUP_DEFINING_BOTTOM){ digitalWrite(RED, LOW); digitalWrite(GREEN, LOW); digitalWrite(BLUE, HIGH); } else { digitalWrite(RED, LOW); digitalWrite(GREEN, LOW); digitalWrite(BLUE, LOW); } } // ************************ LOOP *********************** void loop() { // MQTT client.loop(); // Debug if (millis()-lastTime>200) { Serial.print("State:"); Serial.print(state); Serial.print(" moving:"); Serial.print(movingDirection); Serial.print(" Cnt:"); Serial.print(stepCount); Serial.print(" Max:"); Serial.print(stepMax); Serial.print(" UP:"); Serial.print(swUp); Serial.print(" Dwn:"); Serial.print(swDown); Serial.print(" StopSet:"); Serial.print(swStopSet); Serial.println(""); lastTime=millis(); } update_leds(); // Final state machine // SETUP if (state==SETUP_DEFINING_TOP) { // -------------- if ((movingDirection==STOPPED) && swStopSet) { // Set top pos stepCount=0; state=SETUP_STOP_SET_PRESSED_TOP; } else if (swUp) { move_up(); } else if (swDown) { move_down(); } else { // no buttons pressed stop_moving(); } } else if (state==SETUP_DEFINING_BOTTOM) { // -------------- if ((movingDirection==STOPPED) && swStopSet) { // Set bottom pos stepMax=stepCount; preferanser.putLong("stepMax",stepMax); //save for next boot Serial.println("Saving stepMax"); state=SETUP_STOP_SET_PRESSED_BOTTOM; } else if (swUp) { move_up(); } else if (swDown) { move_down(); } else { // no buttons pressed stop_moving(); } } else if (state==SETUP_STOP_SET_PRESSED_TOP) { // -------------- if (!swStopSet) { // released state=SETUP_DEFINING_BOTTOM; } } else if (state==SETUP_STOP_SET_PRESSED_BOTTOM) { // -------------- if (!swStopSet) { // released move_up(); state=MOVING; } // NOT SETUP } else if (state==MOVING) { // -------------- if (swStopSet) { stop_moving(); state=SETUP_DEFINING_TOP; } else if (swUp) { move_up(); state=MOVING; } else if (swDown) { move_down(); state=MOVING; } // Ende stop? if (stepCount<=0 && movingDirection==MOVING_UP) { stop_moving(); preferanser.putChar("position",'T'); Serial.println("Saving Position = T"); state=STOPPED_TOP; client.publish("rullegardin/position", "TOP"); } else if (stepCount>stepMax && movingDirection==MOVING_DOWN) { stop_moving(); preferanser.putChar("position",'B'); Serial.println("Saving Position = B"); state=STOPPED_BOTTOM; client.publish("rullegardin/position", "BOTTOM"); } } else if (state==STOPPED_TOP) { // -------------- if (swDown) { move_down(); state=MOVING; } else if (swStopSet) { state=STOP_SET_PRESSED; } else if (receivedCommand==2) { move_down(); state=MOVING; receivedCommand=0; } } else if (state==STOPPED_BOTTOM) { // -------------- if (swStopSet) { state=STOP_SET_PRESSED; } else if (swUp) { move_up(); state=MOVING; } else if (receivedCommand==1) { move_up(); state=MOVING; receivedCommand=0; } } else if (state==STOP_SET_PRESSED) { // -------------- if (!swStopSet) { // release button state=SETUP_DEFINING_TOP; } } else { Serial.println("ERROR Unknown state"); } } void onConnectionEstablished() { // Subscribe to "mytopic/test" and display received message to Serial client.subscribe("rullegardin/command", [](const String & payload) { Serial.println(payload); receivedCommand=payload.toInt(); }); /* // Subscribe to "mytopic/wildcardtest/#" and display received message to Serial client.subscribe("mytopic/wildcardtest/#", [](const String & topic, const String & payload) { Serial.println("(From wildcard) topic: " + topic + ", payload: " + payload); }); */ // Publish a message to "mytopic/test" client.publish("rullegardin/position", "startUp"); // You can activate the retain flag by setting the third parameter to true /* // Execute delayed instructions client.executeDelayed(5 * 1000, []() { client.publish("mytopic/wildcardtest/test123", "This is a message sent 5 seconds later"); }); */ }
    14 poeng
  24. Fikk kretskort i dag. De sendte 12 istedet for 10, mulig de vil kompensere for evt. feil... Kortene ble bestillt 2. mars, med 7 dagers prosessering. Viser seg å være 7 arbeidsdager, fra de får bestilling til de blir sendt, men 12 dager er ikke så ille. (PCB ble bestilt fra EuroCircuits, kan se ut som de holder til i Belgia) Loddet på komponenter. Så at ESP fikk strøm. Plugget i FTDI kabel og så AI Thinker ready... melding Patchet om HAN til labben og plugget denne i. Sjekket JP1 med oscilloscope, og så finfin 3.3V TTL komme rasende inn Satte jumper på JP1, lastet opp ESPDebugger sketch, og så på serial output... Her var det jo bare rabbel! Så kom jeg på, jeg har jo debug på Serial1, og det har jeg ikke tatt høyde for på kortet. Fant ut at Serial1 TX er Pin02, og at denne er lagt høy via R3. Kunne derfor koble til FTDI via en kabel, og voila! (Helt fantastisk at vi for to dager siden så at debug vil fungere helt fint via vanlig Serial også, om en kjører denne på samme config som HAN) En sjelden gang bare funker ting, "out of the box" PS: Er i gang med å lage en mer skikkelig software. AP boot, DNS, config i EEPROM, støtte for alle målere, osv.
    14 poeng
  25. Har laget third (eighth?) hand for å lodde litt mer komfortabel Tenkte først å bruke kun 3stk men så fikk jeg inspirasjon fra nettet for å ha lys og vifte, så bestemte å bruke alle 6. Festing måte er ikke den mest elegant, siden jeg bestilte holdere med tommer mutter og de er ikke så lett å finne i Norge. For basis brukte jeg en laptop-stativ fra Biltema som kona mi brukte. 5v nødlader passer perfekt i en av beina. 5v -> 12v dc-dc converter regulerer spenning for viften. Til høyer finnes magneter som gjør at "avdelinger" (venstre på første bilde) holder ting magisk. Viften har aktiv karbon bak og det er nesten ikke røyk bak den. Kanskje jeg får en lag aktiv-karbon til, uansett er det mye bedre enn å puste røyk direkte LED lys er genialt synes jeg, styrke er justerbart by touch, den går rett i usb i nødladeren (går inn begge veier). Bestilte dem for et par år siden, brukte dem mest for kamping og rundt motorsykkel. Nå kan jeg begynne jeg med lodding av ca. 15-20 MySensors moduler rund huset
    14 poeng
  26. Hei og hopp, godtfolk! Vår AMS-måler kom i går og jeg har for alvor satt i gang utviklingen av en Tibber-plugin. Jeg har tidligere ventet på et .NET-interface fra Tibber selv som hadde gjort utviklingen enda enklere, men det får jeg bygge om til når det er klart. Imen s kjører vi JSON. Men samme det! Det viktige NÅ er å finne ut hvilke funksjoner jeg skal legge inn. Så fortell meg hva du ønsker deg! Foreløpige planer inkluderer selvfølgelig noen opplagte funksjoner, men muligens også noen mindre opplagte. Strømprisen nå Strømpriser i dag (f.eks. en device pr time?) Strømpriser i morgen (f.eks. en device pr time?) Beregning av dagens (og morgendagens) gjennomsnittspris og utvalgte percentiler for strømforbruket til bruk til triggers, f.eks. IF strømpris > 90-percentil THEN set termostat to LOW. IF strømpris < 90-percentil THEN set termostat to HIGH. IF strømpris < 84-percentil AND mode Is Not Night THEN start lading av el-bil Etc... Grafer for strømpriser i dag og i morgen... ? Statistikk over strømforbruk Siste måned Siste kvartal Siste halvår Siste år Gjerne sammenligning med et "kjent snitt", forrige måned/kvartal/år, eller noe sånt. Tibber har jo en statistikk vi blir sammenlignet med, men jeg vet ikke hvor den kommer fra... Eller andre intervaller? Er det nødvendig med så mange? "Realtime" - Ikke mulig. "Vaskemaskinplanlegger": Gitt et tidsintervall, når er det mest lønnsomt å sette på vaskemaskinen? Alt dette kommer selvfølgelig IKKE i første beta! Og så er det noen avklaringer som vi må gjøre: Er det f.eks. nødvendig med en device pr time? Kanskje det er ønskelig? Det blir fort en vanvittig mengde devicer med en slik tilnærming, men det er jo ikke sikkert at gjør noe. Man kan jo skjule dem man ikke ønsker å bruke ... så: Hva ønsker DU deg? Jeg kan i utgangspunktet få til alt som ligger her: https://developer.tibber.com/explorer
    13 poeng
  27. Hei, Vi merker at flere her på forumet sliter med termostat problemer, vi opplever at det er litt forvirring rundt hva som er hva. Vi ønsker derfor å oppklare disse tingene. Dette gjelder Heatit Z-TRM3. (ELnr: 5430599/ 5430598) Det er to problemer, som er helt uavhengig av hverandre. Z-Wave firmware for setpunkt Får du satt setpunkt via din Z-Wave gateway, så kan du se bort fra dette punktet. Her er det snakk om en feil som oppstår i noen Z-Wave systemer, vi ser at disse gjerne er basert/baserer på Open Z-Wave. Den nye Z-Wave standarden krever at enheten (termostaten) forteller controlleren hvordan den rapporterer setpunkt. Dette er ikke implementert i Open Z-Wave. Vi har laget en spesiell firmware for å komme rundt dette problemet. Dette er en firmware som ikke er sertifisert og den kan heller ikke bli sertifisert siden fiksen går imot Z-Wave standarden. Vi har laget en testrapport som dere kan finne vedlagt som beskriver med mer detaljer hvorfor dette skjer, testen baserer seg på sertifisert programvare og Z-Wave Stick. (PC Controller 5 / SLUSB700A) Hvordan vet jeg at jeg har problemet? Man kan teste om man trenger å oppdatere termostaten sin til usertifiserte firmware ved å prøve å sette setpunkt fra gateway. Hvis du ser at setpunkt oppdateres i termostaten lokalt, så har du ikke dette problemet. Hvis du ikke klarer å sette setpunktet fra Z-Wave så trenger termostaten en oppdatering. Har du dette problemet? Send en epost til [email protected] hvor dere referer til innlegget samt at du har problemer med å sette setpunkt over Z-Wave. Vi kan gi dere oppdateringsfil samt guide på hvordan dere oppdaterer. Her er det slik at feilen ikke stammer fra termostaten, og vi leverer derfor ikke utstyr som trengs for å oppdatere. Firmware 4.0 eller 4.2 Bruker du termostaten med (A2, A2F eller F) modus, så kan du se bort fra dette punktet. Du vil ikke ha noe utbytte av en oppdatering. Her er det en bug i programvare i termostaten som gjør at setpunkt fra Z-Wave ikke blir brukt videre av termostaten. Denne feilen oppstår bare i noen systemer og denne feilen vil ikke påvirke alle systemer med A eller AF. For at denne feilen påvirker deg, så må termostaten brukes i A eller AF. Hvordan vet jeg at jeg har problemet? Man kan teste om man har dette problemet enkelt ved å følge fremgangsmåte: Sett setpunkt fra fysisk termostat under målt temperatur. Releet er av Bruk Z-Wave til å sette setpunkt over målt temperatur med minst 1 grad. Releet skal skru seg på. Hvis releet ikke skrur seg på og settpunkt blir oppdatert i displayet, må termostaten oppdateres. (Hvis parameter 13 er endret til 1 så anbefaler vi å endre det tilbake til 0 for å lettere se setpunkt endring) Hvis du har problemet gjøres følgende: Send en epost til [email protected] hvor dere referer til innlegget samt at du har problem hvor releet ikke skrur på varme når setpunkt er satt høyere enn målt temperatur. Vi løser dette sammen her. Hvis det er noen spørsmål rundt dette send oss en epost på [email protected] eller send som svar her i tråden. Vi besvarer eventuelle spørsmål her i morgen tidlig. Med vennlig hilsen Teknisk avdeling på Thermo-Floor/Heatit
    13 poeng
  28. Etter alvorlig lang tid med unødvendig mye rot og stress på hjemskjermen, har jeg ryddet bort masse entiteter og knapper for å opprettholde en viss WAF. Nå er jeg og kona endelig fornøyd med oppsettet. Vi har ett separat oppsett for skjerm og mobil. Hvis interesse, kan jeg poste mobilversjonen. Dataene nede i venstre hjørne er strømpris inkl. avgifter og nettleie, forbruk nå (går til salg når solcellene gir plussverdi) og solcellenes effekt nå. 68,2 er strømkostnad til nå i dag.
    13 poeng
  29. Fikk akutt lyst på et lite mekke-prosjekt her om dagen. Fant en gammel IKEA Fixa-drill som ikke er særlig god og aldri blir brukt. Så jeg tenkte at denne måtte det vel gå an å lage noe av. Demonterte drillen og klippet den fra hverandre der det føltes nødvendig. Fant også fram en ESP-01 5V 2 Channel Relay. Drillen drives av et 7V batteri så for å drive 5V relemodulen måtte jeg via en buck-converter. Ferdig koblet: Dyttet alt bortsett fra rele og bryter tilbake inn i drillen Designet og 3D-printet boks til rele, feste og drivverk til en rullegardin og monterte det Liten video:
    13 poeng
  30. Sønnen min har akkurat total renovert leiligheten sin og der har vi puttet inn bare ELKO ESH dimmere og ELKO ESH termostater. Jeg sitter derfor å setter opp ett HomeSeer system for ham og tenkte at jeg skulle logge det jeg gjorde i en guide. Jeg har altså valgt å kjøre en ConBee USB stick rett i samme maskin som kjører HomeSeer. Jeg slenger på litt ekstra IKEA stoff også så kan flere ha glede av det og det er dessuten lettere å teste med i starten. OBS det kan lønne seg å sette en fast IP på denne maskinen før du starter og enten starte HS FØR deCONZ slik at HS får port 80 og deCONZ port 8080. Eller sette HS til å bruke en annen port i Tools/Setup/Network og la deCONZ få ta port 80 (Tar input på hvordan deCONZ sin web server kan konfigureres til å la være å ta port 80) OK, HomeSeer er installert og oppdatert. Legg til JowiHue plugin i HS Kjøp en ConBee hos feks. Kjell&co Gå til denne siden og hent driveren for windows / Setup executable som beskrevet her. Pakk den ut og kjør den. Restart PC Gå til Dresden Elektronik og last ned siste versjon av deCONZ for Windows: https://www.dresden-elektronik.de/funktechnik/products/software/pc-software/deconz/?L=1 Kjør install og start den. Om den ikke finner USBStick'en kommer den opp slik med tom dropdown boks: Forsøk da å plugge sticken i en annen USB port. Om den blir gjenkjent hopper deCONZ automatisk videre til dette bildet: Nå kan vi teste ved å åpne ZigBee nettet for JOIN slik: Nå er ZigBee nettet åpent for JOIN i 60 sekunder. Skru en IKEA Trådfri pære av og på 6 ganger (du kan godt gjøre det ved å vri pæra i sokkelen) og la den være på så vil systemet oppdage den slik: Gratulerer du har nå et ZigBee nett kjørende Test ved å skru på CLUSTER INFO, Klikk på den lille sirkelen til høyre på pæra, klikk på Cluster 0006 On/Off og test Av/På: Du kan nå styre pæra fra PCen La oss nå koble dette til HomeSeer, først tar vi opp WebApp'en: Trykk på WebApp og logg inn med user: delight pwd: delight Kjør software update om den er tilgjengelig: Du kan følge med her: Da er vi klar til å koble til HomeSeer med JowiHue plugin'en Gå til konfigurasjons siden og trykk Register Bridge: Mens den står og leter, gå til WebAppen, velg Settings under Menu og trykk UNLOCK GATEWAY: Nå vil JowiHue finne denne: Og vi kan styre pæra fra HomeSeer : La oss nå for moroskyld inkludere en IKEA fjernkontroll (den runde) Denne gangen kan vi bruke WebInterfacet til å åpne nettet for JOIN: Ta av lokket på fjernkontrollen og trykk 4 ganger på knappen: Og her kommer den: Scan for Devices i JowiHue: Og plopp, her kommer den: Nå kunne vi laget en event i HS som styrer pæra (eller noe annet..) men nå er vel ikke akkurat IKEA sine brytere å foretrekke for slikt.. La oss heller koble til en ELKO dimmer. Sett spenning på dimmeren (elektriker!) Åpne ZigBee nettet for Join og trykk 1 og 3 samtidig til LED 2 blinker: og her kommer den: Og den ser akkurat ut som IKEA pæra i HS etter å ha latt JowiHue lete den opp: OK, men hva med ELKO termostaten og ELKO "Endevender dimmeren"?? Vel, deCONZ rapporterer termostaten som FUBAR på et sted men lar deg sette temperaturen fra selve deCONZ softwaren. Den dukker derimot ikke opp i WebAppen og (da) heller ikke i JowiHue. Jeg tenker at APIet mangler den objekt typen og at vi bør få shippet en slik termostat til de som oppdaterer APIet. Endevender dimmeren lar seg også detektere i deCONZ men dukker heller ikke opp i APIet så her har vi nok samme problemet. Jeg mener å huske at @Moskus og jeg testet litt på å "binde" clustere fra denne direkte til en IKEA pære i deCONZ og fant ut at den kun lot seg binde til EN pære om gangen. (Dette hadde jo holdt om en kunne "biinde den til HS") Problemet er at jeg ikke får til den bindingen lengre og jeg tar gjerne input på dette. Skru på "Binding Dropbox" og eksprimenter med å dra et cluster til Source og Destination og trykke Bind: Her har dere et startpunkt for å eksperimentere ihvertfall. Det praktiske vi har oppnådd er å kunne styre IKEA pærer og ELKO dimmere fra HomeSeer og derfor fra alt annet som HS kan ta av innput. (Som tale )
    13 poeng
  31. Nå er det mulig å styre en varmekilde med en vilkårlig temperatursensor og en vilkårlig varmekilde (av/på). Jeg har lovet i lengre tid å slippe script-pakken min, men det har vært litt mer utfordrende å lage en fungerende frontend. Nå har jeg imidlertid hoppet bukk over den problemstillingen og har flyttet innstillingene fra selve root-devicen og over i en tradisjonell ini-fil. Det gjør det lettere å endre alle innstillingene, selv om det er et stykke fra å være ideelt. Merk: Script-pakken er testet, men må vurderes som en beta-versjon. Egenskaper: "Auto", automatisk modus: Temperatur hentes ut fra et eller to oppsatte programmer. Programmene kan bruke ferdigdefinerte temperaturer eller egendefinerte. "Manual", manuell temperatur: justeres med nedtrekksboks og knapper for + og -) "High" og "Low" for hurtigvalg av forhåndsdefinerte "Schedule" og "AlternativeSchedule" kan byttes på f.eks. med Fridager.vb-scriptet (eller en vilkårlig annen On/Off virtuell device). Foreløpige begrensninger: Fungerer foreløpig ikke på Zee 1 eller 2. Begrensning i mono gjør at Enums ikke fungerer (visstnok). Jeg kan imidlertid unngå enums med litt omskriving (selv om det er veldig praktisk), så det kommer i en ny versjon. Nedtrekksboksen for manuell temperaturvalg setter ikke "Mode" til "Manual" automatisk (begrensning i scripting, kan ikke, så vidt jeg vet sette opp return CAPI-kall i script). + og - knappene gjør imidlertid dette helt fint. Oppsett 1. Først finn device Ref/IDene til både devicen for temperatursensoren og devicen for av/på bryteren til varmekilden (ovnen?). Device Ref står øverst på "Advanced"-tab'en etter at du har trykket på en device (eller i URLen som dukker opp når du holder musepekeren over linken til devicen). 2. Lag et event som du kaller "Termostat setup" (f.eks), sett trigger til "This Event is manually triggered". Legg til en Action som er "Run a Script", og trykk så på knappen "Edit, og skriv inn "VirtualThermostat.vb" (filnavnet er VELDIG viktig) og trykk OK. 3. Nå kollapser scriptet, så vi utvider det igjen og trykker på det røde flyet : . I scriptboksen (det store blanke feltet med Sub Main.... etc) fjerner du alt og kopierer inn scriptet under: ... og trykk på "Save Script" knappen nederst. HUSK: Trykk på "Save Script" knappen nederst. Gjort det? I "Sub or Function"-boksen skal det stå "Setup". I Parameter skal det stå: HeaterDeviceReference=1139,ExternalTemperatureSensorRef=74 ... der du bytter ut 1139 med dev-ref til av/på-bryteren og 74 med dev-ref til temperatursensoren. Da skal alt se slik ut: 4. Trykk på den blå pilen øverst på eventet for å sette i gang setup-rutinen. Da er vi snart ferdige. 5. Scriptet oppretter et Event (i Event-kategorien "Virtual Thermostat") som kjører scriptet hvert 5. minutt, og det er nesten helt riktig. Vi må bare justere et par ting. Åpne scriptet som ligger under "Virtual Thermostat". Gi det et litt mer beskrivende navn, så er det enklere å finne tilbake. 6. Utvid Run Script action'en, og deaktiver "Only allow a single instance to run at a time" (ellers er det jo bare en termostat som vil fungere) Hvis alt nå er vel, skal det se slik ut: 7. Personlig skrur jeg av logging på slike eventer: 7. ??? 8. Profit! Konfigurasjon I /Config-mappen din har det nå dukket opp en fil som heter "VirtualThermostat_nnn.ini" der nnn er device referansen til root'en (den samme som også navngir eventet over). Den vil se f.eks. slik ut: [Settings] ExternalTemperatureSensorRef=74 TemperatureCorrectionAddition=0 TemperatureCorrectionMultiplier=1 TemperatureOffset=0,3 Log=False HeaterDeviceReference=1139 TemperatureHigh=22 TemperatureLow=19 AlternativeScheduleDeviceReference=0 [Schedule] 6:00=High 8:0=Low 16:00=High 22:00=Low [AlternativeSchedule] 6:00=High 23:00=Low ... der vi kjenner igjen ExternalTemperatureSensorRef og HeaterDeviceReference som de vi satte opp i Setup-rutinen. De andre feltene har følgende forklaring: TemperatureCorrectionAddition=0 er hvor mye som legges til eller trekkes fra den faktiske temperatursensoren. Fint for kalibrering TemperatureCorrectionMultiplier=1 hvor mye temperatursensoren skaleres med fra den faktiske temperatursensoren. Fint for kalibrering. (1 = ingen skalering) TemperatureOffset er hvor langt ned under "Setpoint" temperaturen tillates å bli før varmekilden skrus på. Hvis Setpoint er satt til 22 grader, vil ikke ovnen bli satt på før temperaturen har sunket under 21,7 grader. TemperatureHigh og Low er selvforklarende. AlternativeScheduleDeviceReference er referanse til en enhet som bestemmer om det er "Schedule" eller "AlternativeSchedule" som skal brukes. Schedule og AlternativeSchedule: Her står klokkeslett (i stigende rekkefølge og uten ledende nuller) og tilhørende temperaturer. Med mindre du spesifiserer noe annet, vil kl 0:00 alltid begynne med "Low" temperaturvalg. Så da leser vi Schedule slik: Mellom kl 00 og 06 er det "Low" Mellom kl 6 og 8 er det "High" Mellom 8 og 16 er det "Low" Mellom 16 og 22 er det "High" Og fra 22 og utover er det "Low" Du kan spesifisere din egen temperatur istedenfor "High" og "Low" også, i tilfelle du vil ha en halv grad ekstra om kvelden. Da kan det f.eks. se slik ut: [Schedule] 6:00=High 8:0=Low 16:00=High 20:00=22,5 22:00=Low Pro tip: Du kan også sette opp Eventet til å kjøre på "device change" når temperatursensoren endrer verdi, istedenfor hvert 5. minutt (eller hvor ofte det å passer deg). Da kan det også være lurt å sette opp et par tilleggs-triggere til på bestemte klokkeslett eller andre hendelser, for det er jo ingen garanti at temperaturen endrer seg slik at scriptet trigges. Enjoy!
    13 poeng
  32. I dag har jeg ferdigstilt husets nye ringeapparat. Det har bevegelsessensor, temperaturføler, en liten skjerm og selvsagt kamera. Når det ringer på, spilles lydmeldingen «Det ringer på» i alle Sonos-høyttalerne, og vi får selvsagt en melding på mobilen med bilde av den som står på trappa. I tillegg lagres et stillbilde på serveren hver gang bevegelsessensoren utløses. Jeg har brukt LILYGO TTGO T-camera https://banggood.app.link/FmU3qXJTs0 Siden det gamle elektroniske ringeapparatet hadde 24V DC som strømkilde, og at det allerede lå 230V AC frem dit kunne jeg bruke den gamle ringe-tråden for å føre strøm frem til TTGO’en. Den benytter 5V DC Dette kortet omformer 230V AC til 24V DC. Det fikk plass inne i koblingsbokser til det gamle ringeapparatet. Dette ble en fin løsning. Selvom jeg sikkert kunne transformert rett til 5V med en gang, så hadde jeg dette kortet liggende og ønsket således å bruke det. På selve TTGO’en loddet jeg på en 24V-5V transformator. Da har jeg sikret fast strømforsyning til ringeapparatet mitt. Så, for å slippe å forvirre folk med hvor de skal ringe på, koblet jeg den innebygde ringeknappen (GPIO34) direkte til den opprinnelige ringeknappen på veggen. Så trakk jeg en to-pars kabel mellom det opprinnelige hullet og det nye der jeg skulle montere TTGO’en. Og monterte det hele. Jeg benytter Home Assistant, og flasher ESP32 WROVER via esphomeflasher og Home Assistant-tillegget ESPHOME. https://github.com/espressif/esptool/blob/master/README.md Gjennom ESPHome kan jeg gjøre endringer i scriptet og flashe ESP’n på nytt Over The Air (OTA), altså uten å måtte demontere og koble til Mac’en via kabel. Her er YAML-filen min. Jeg tildeler fast IP via DHCP-serveren. Derfor er de linjene kommentert bort. substitutions: devicename: ringeapparat friendly_name: Ringeapparat# ip_address: 192.168.1.112esphome: name: $devicename platform: ESP32 board: esp-wrover-kitwifi: ssid: !secret wifi_ssid password: !secret wifi_pw# manual_ip:# static_ip: $ip_address# gateway: !secret gateway# subnet: 255.255.255.0logger: # Enable loggingapi: # Enable Home Assistant APIota:binary_sensor: - platform: gpio pin: GPIO33 name: $friendly_name PIR device_class: motion - platform: gpio pin: number: GPIO34 # This is the right side button on the board. mode: INPUT_PULLUP inverted: True name: $friendly_name Button# filters:# - delayed_off: 10ms - platform: status name: $friendly_name Statussensor: - platform: wifi_signal name: $friendly_name WiFi Signal update_interval: 10s - platform: uptime name: $friendly_name Uptime#esp32_ble_tracker: # esp32_camera: name: $friendly_name Camera external_clock: pin: GPIO32 frequency: 20MHz i2c_pins: sda: GPIO13 scl: GPIO12 data_pins: [GPIO5, GPIO14, GPIO4, GPIO15, GPIO18, GPIO23, GPIO36, GPIO39] vsync_pin: GPIO27 href_pin: GPIO25 pixel_clock_pin: GPIO19 power_down_pin: GPIO26 resolution: 640x480 jpeg_quality: 10 vertical_flip: true # defaults to true horizontal_mirror: true # defaults to truei2c: sda: GPIO21 scl: GPIO22font: - file: "arial-narrow.ttf" id: tnr1 size: 16# glyphs: BÆØÅ brukdnapæøå - file: "arial-narrow.ttf"# - file: "helveticaneue-light.ttf" id: tnr2 size: 34time: - platform: homeassistant id: homeassistant_timedisplay: - platform: ssd1306_i2c model: "SSD1306 128x64" rotation: 180 address: 0x3C ## draw a line from [x=0,y=0] to [x=50,y=50] lambda: |- it.strftime(64, 4, id(tnr1), TextAlign::TOP_CENTER,"chezENGH smarthus", id(homeassistant_time).now()); it.line(10, 26, 108, 26); it.strftime(64, 60, id(tnr2), TextAlign::BASELINE_CENTER, "%H:%M", id(homeassistant_time).now()); Merk at. TTGO-kortet også støtter BLE, men at denne senderen ikke kan være aktiv samtidig med WiFi på det samme kortet. Det bar synd å måtte deaktivere BLE, siden jeg planla å bruke den som sensor for å låse opp døra når kjente enheter er i nærheten. https://www.espressif.com/sites/default/files/documentation/esp32-wrover_datasheet_en.pdf Pål Engh Kråkerøy
    13 poeng
  33. Vet ikke om jeg blir å ta den i bruk, men nå er den overlegne mqtt-dimmeren min ferdig kan dimme flere soner samtidig eller hver for seg. Har LED som indikerer hvor mange prosent som er dimmet (slår seg av etter 30 sek).
    13 poeng
  34. NodeMCU prosjekt : Dobbel garasjeportåpner Fikk til slutt fullført garasjeportene. Styres av en NodeMCU med et slaverelè i åpner nummer 2. Tilbakemelding kommer fra reed-switcher på skinnene i taket. NodeMCU'en har fått en boks midt i taket. Ikke direkte pent inni, men det funker Måtte også fikse ekstern antenne siden det var litt for dårlig dekning i garasjen. Gikk fra å koble fra hele tiden til å være tilkoblet i 3 uker nå. Ser mye bedre ut med lokk på. Det hele styres av en gjeng med eventer. Som igjen oppdaterer noen VD'er.
    13 poeng
  35. Del 3: Z-wave-håndtering Nå har vi valgt en HomeSeer-versjon, og vi har satt det opp slik at det i det minste sviver. Men HomeSeer trenger å snakke med omverdenen for å være til nytte. En protokoll til det er Z-wave. Forbehold: Dette er skrevet med HomeSeer-versjon 3.0.0.297 og Z-wave plugin-versjon 3.0.1.93. Deler av det som står her kan ha blitt endret senere. Veldig kort om Z-wave Z-wave er en protokoll som både kan sende og motta beskjeder. Hver Z-wave enhet kalles en node, utenom sjefs-noden som kalles master controller. Flere noder som snakker sammen og med samme master controller er et nettverk. Når en node mottar en beskjed ("skru lyset ditt på") så kvitteres det tilbake til master controller. For å justere et eller annet (f.eks. dimme-tid, følsomhet for bevegelsessensorer, etc) sendes en parameter til noden. Z-wave lager et såkalt "mesh nettverk". Nodene snakker med flere andre noder, og kan sende beskjeder videre fra en til en annen, og dermed har man sjeldent dekningsproblemer. Interface/controller Man trenger et interface slik at programvaren kan kommunisere med den virkelige verdenen. Hvis du har valgt en hardware-boks fra HomeSeer, så følger det med. Hvis du har valgt kun programvare, må du kjøpe et. Mange bruker UZB1 (versjon 5.2 kan med oppdateres), andre bruker Z-stick Gen 5. Disse kobles til maskinen via USB. Noen av oss bruker til og med Z-NET, et ethernet-interface fra HomeSeer (det er hendig hvis du kjører HomeSeer på en virtuell maskin, eller trenger å plassere interfacet et stykke fra serveren). Akkurat nå er det uansett viktig å sørge for at interfacet/controlleren (jeg bruker ordene litt om hverandre) støtter Z-wave Plus. Ellers kan det nevnes at UZB1 har en fordel over Z-stick: HomeSeer kan ta backup av UZB1 og "restore" den tilbake til den samme eller en annen controller/interface. Det er også mulig med Z-stick, men da må du bruke Aeon Labs egen Windows-programvare. Du har valgt et interface? Bra, da fortsetter vi med å legge det til i HomeSeer. Aller først sjekker vi at Z-wave plugin'en kjører. Det gjør vi ved å gå til Plugins → Manage. Når dette er gjort går du til Plugins → Z-wave → Controller Management. Se under overskriften "Z-wave Interfaces". Hvis du ser et interface der, så trykk på den gule pilen for konfigurasjon. Hvis ikke, trykk på knappen "Add Interface" (om du ser det ene eller det andre er versjonsavhengig, men begge deler gir det samme resultatet). Navngi den på en fornuftig måte (jeg har bare kalt den "UZB1"). Velg så riktig interface. Hvis du har en Zee2 med innebygget interface velger du dermed "Internal", har du UZB1 velger du "Z-wave.me UZB", har du Z-stick velger du "Aeon Labs Z-stick". Og så videre. Det siste er å velge riktig COM-port (hvis du ikke har et innebygget interface). I Windows kan du finne COM-porten i Device Manager (Windows-tast + X → Device Manager → COM-ports). Jeg er ingen Linux-expert, men jeg fant den som vist i bildet under: Når alt dette er gjort, trykker vi på det røde symbolet med gul bakgrunn øverst for å aktivere interfacet. Hvis alt nå er vel, endres teksten til "Initializing". Og deretter blir det røde symbolet grønt. Interface'et er "node 1" i nettverket. Voliá! Du kjører nå Z-wave. Gratulerer! Inkludering Men å kunne snakke et språk er jo litt kjedelig hvis det ikke er noen å snakke med! Så vi må legge til noen flere noder. Først en Fibaro Dimmer 2 (FGD-212). Først må du få en elektriker til å koble opp noden hvis det er en mikromodul til fast installasjon. Gå til Plugins → Z-wave → Controller Management, og utvid controlleren din (f.eks. "UZB") ved å trykke på pilen i den gule sirkelen. I nedtrekksmenyen velger du "Add/Include a Node". MERKNAD: Personlig bruker jeg alltid "Add/Include a Node Unsecurely", utenom for dørlåser. Trykk Start. Nå må vi aktivere "inkluder"-funksjonen på noden. Mange noder har en knapp du typisk skal trykke på 3 ganger for å sende en "NIF", en "Node Information Frame". Mikro-moduler fra Fibaro og Qubino har en knapp på selve enheten, men man kan også bruke den eksterne bryteren ("S1") til dette. Etter litt tenking, legger HomeSeer til noden. Som vi ser roter Fibaro det litt til for oss om endpoints (det er en lang historie, den korte er at Fibaro feilaktig rapporterer at den er en multi-endpoint enhet, altså rapporterer den et ekstra endpoint den ikke har). Det skal vi imidlertid fikse i del 4. Naviger så til View → Device Management, og a) trykk på knappen "Show all" under de fler-fargede knappene øverst til høyre, eller b) velg "Node 2" (eller hvilken node du nå legger til) i menyen "Floor". Da får vi opp alt vi har i HomeSeer til nå: Skrur vi av og på "Switch MultiLevel 1" skal lyset gå av og på. Ekskludering Ekskludering, det vil si fjerning av en node fra nettverket, er, som navnet tilsier, det omvendte av å inkludere en node. Og prosedyren er også tilsvarende enkel. Gå til Plugins → Z-wave → Controller Management. Utvid controlleren. Finn "Remove/Exclude a Node" i nedtrekksmenyen og trykk "Start". Aktiver "inkluder"-funksjonen på den fysiske enheten (trykk 3 ganger) på samme måte som når du la den til. Enheten fjernes nå fra nettverket. Optimalisering EDIT: Hvis du har et veldig stort nettverk, la oss si større enn 40-50 noder på fast strøm, så anbefales det ikke å optimalisere hele nettverket lenger. Optimaliser heller kun noen utvalgte (faste) noder. Så helt til slutt noe av det viktigste. Som nevnt innledningsvis er Z-wave et mesh-nettverk, flere noder kan kommunisere med hverandre. Men dermed må en ny node også finne ut hvilke noder som allerede finnes i nettverket. Til det må vi kjøre en "Optimize"-rutine (andre kaller det også "heal"). Hvis du allerede har et nettverk og kun har lagt til en ny node, så går du til den nye nodens root → Z-wave og trykker på knappen "Optimize" (1 gang). Hvis du får beskjed om at det var vellykket, så trykker du på knappen "Full Optimize" (1 gang). Hvis den også er vellykket, så er du ferdig! Hvis ikke, starter du på ny med "Optimize" igjen. Hvis du har lagt til mange noder, så kan du få HomeSeer til å optimalisere alle på en gang. Gå til Plugins → Z-wave → Controller Information. Under controlleren din velger du "Optimize a Network, No Return Route Changes" og trykker "Start". Hvis noen av nodene gir en feilmelding, kan du enten optimalisere nodene manuelt, eller du kan kjøre rutinen en gang til. Når alle nodene er ferdig optimalisert, skal vi gjøre det en gang til, men denne gangen velger vi "Fully Optimize a Network". Feiler noen av nodene må "Optimize" og "Full Optimize" kjøres pr feilet node. Merk: Erfarne HomeSeer-brukere, spesielt de som brukte HomeSeer 2, vet at tidligere var det snakk om at man skulle kjører "Optimize" hele 4 ganger før man kjørte "Full Optimize". Dette er ikke nødvendig lenger. Det holder med 1 gang. Bittelitt teori: "Optimize" for en node oppdager andre noder i nettverket den er i stand til å kommunisere med, og velger ut opptil 4 forskjellige ruter fra master til node som den lagrer. "Full Optimize" gjør det samme, men lagrer også den beste "retur-ruten" tilbake til master. Oppsummering Nå har du et kjørende Z-wave nettverk, med en eller flere noder. I del 4 skal vi se på litt enkel feilretting (i de tilfellene det er nødvendig), justering av parametere og bruk av assosiasjoner for å kontrollere noder. Tidligere har vi sett på valg mellom de ulike versjonene (del 1) og hvordan man setter det opp (del 2). I del 5 skal vi se nærmere på bruk av 433MHz-teknologi med RFXtrx433, og i del 6 det skal vi behandle alle enhetene våre, navngi dem, sortere, og se litt nærmere på mulighetene vi har i grensesnittet. Spørsmål? Kommentarer? Gi et pip i kommentarfeltet!
    13 poeng
  36. Tenkte jeg skulle skrive litt om mitt prosjekt. Bilder fra prosjektet finnes på Instagram: GlimmerHome Kjøpte et hus fra 1996 som vi total renoverer huset skal bli meget smart med mulighet for styring av det meste. Ettersom jeg gjør absolutt alt selv så tar det tid, spesielt alle smarte løsninger som sikkert har blitt endret x antall ganger etterhvert . Jeg startet med Fibaro HC2 men følte denne ble for begrenset for mitt behov, testet deretter Smartthings, men det fungerte ikke spesiet bra med cloud. Valget falt til slutt på HomeSeer HS3 Pro pga at det støtter det meste og kjører alt lokalt. HomeSeer kjøres på en dedikert PC sammen med Deconz og Homebridge Siden HomeSeer ikke akkurat vinner noen design priser på sine apper kjører jeg Homebridge som gjør at jeg kan styre alt via Apple Homekit i et pent UI og jeg har stemmestyring på Norsk. Homekit brukes også til å varsle HomSeer om hvem som er hjemme, slik jeg styrer borte og hjem modus basert på dette.(Har og en gjestemodus som gjør at huset ikke går i bortemodus) Jeg benytte en blanding av Z-wave, Zigbee og MQTT. Jeg kjører for det meste Z-wave der stabilitet er meget viktig. Zigbee bruker jeg mer og mer ettersom prisene på sensorer og pærer er blitt meget overkommelige. MQTT bruker jeg på noen Raspberry PI med NodeRed og NodeMCU der jeg har behov for mange inn/utganger og evt noe enkel styring. På lyd har valget falt på Sonos ettersom det integreres bra med HomeSeer . Jeg har bygget inn høyttaler i Tak/vegger i de fleste rom og plassert Sonos Connect i teknisk rom sammen med mange effektforsterkere som er direkte koblet til høyttalere. Jeg har og en Sonos beam på Barnerom og Sonos Play 1 på kjeller bad, ellers er det 6stk Sonos Connect for de øvrige sonene. Jeg kommer til å montere innfelte iPader i Spisestue, soverom og gang. Disse lades via POE. Alle soverom vil få rullegardiner som er motoriserte, motoriserinskit med Z-wave kjøper jeg fra m.nu Nettverk har valget falt på Ubiquity Unifi serien, jeg har satt opp 2 AC Pro på loftet i hver ende av huset, samt jeg har 2 utendørs AP på hver side av huset. I teknisk rom har jeg en 24 Port POE switch og en 48Port Switch uten POE, samt en 8 Port i Tv benk i kjellerstue. Jeg trekker CAT6 til alt jeg har mulighet for, ettersom jeg vil ha minst mulig last på Wifi. Har og satt opp egne VLAN til Kamera, Smarthus enher osv pga sikkerhet. Internett tilkobling er Viken Fiber med Altiboks 500/500 Alle PC, Switcher, kamera, router osv er tilkoblet 3stk Eaton UPS i tilfelle strømbrudd osv Kamera overvåkning styres av Blue Iris som og er integrert med HomeSeer, som feks kan gi meg varsling og et kamera går offline og bytte profil i Blue Iris. Jeg har vel ca 10 kamera i drift for øyeblikket, men har flere liggende som skal monteres opp når tiden strekker til. Dette kjøres på en egen dedikert PC. Media kjøres for det meste via Plex, alle Tv og Apple Tv i huset har Plex app og henter innhold fra Plex server som kjører på en dedikert PC. Mer info og bilder kommer etterhvert som jeg kommer videre med prosjektet Her er en oversikt over noe av det som er montert, har mye mer men alt er ikke satt i drift: Hage Vær: Netatmo værstasjon, med regn og vindmåler Plugin til Homeseer Vanning: 4 Soner, med 5stk Gardena Turbo Sprinklere Tidsstyrt. regn data fra Netatmo og robotklipper status bestemmer om de får lov å vanne. Benytter NodeMCU til styring av rele som styrer ventilene, MQTT for integrasjon med HomeSeer. Gressklipping: Husqvarna 315X med Robonect kort. Styring via HomeSeer og Alexa Gressklipper Garasje: Bygget garasje med elektrisk port og belyning. Styres av en Raspberry PI med Node Red, MQTT for integrasjon med HomeSeer. Lys: LED uplights i terrasse, 6W LED spotter som belyser Tre og busker. Fibaro RGBW modul som styrer disse. (Z-wave) Utelamper opp/ned med Ikea Trådfri GU10.(Zigbee) Gårdsplass: Ringeklokke: Doorbird koblet med CAT6, strøm via POE. HomeSeer Plugin Lys: Utelamper opp/ned med Philips GU10. (Zigbee) 50W Led flombelysning styrt av Fibaro Rele.(Z-wave) Spotter i kassekledning med Ikea Trådfri GU10.(Zigbee) LED Uplights belysning styrt av Fibaro Rele.(Z-wave) Postkasse: Magnetsensor koblet til Fibaro Uni Sensor.(Z-wave) Bevegelse sensor: Bevegelse sensor koblet Fibaro Uni Sensor.(Z-wave) Temperatur: Temperaturføler koblet Fibaro Uni Sensor.(Z-wave) Biler: BMW i3 med Tesla Wall Charger, Tibber Integrert. Hass integrasjon satt opp, denne skal sende info til HomeSeer via MQTT når jeg får satt meg inn i Hass. Har 2 biler til som ikke er smarte, vurderer å lage en Wifi Presence sensor til disse som kommuniserer Home/Away via MQTT. (Ikke påbegynt) Barnerom: Varme: Varmefolie med Heatit thermostat.(Z-wave) Sensorer: Multisensor 6 innfelt i tak.(Z-wave) Netamo Innendørs modul.(HS3 Plugin) Magnetsensor i innv dør og vindu på Fibaro Uni Sensor.(Z-wave) Nest Røykvarsler.(HS3 Plugin) Lyd og Bilde: Samsung 55" 4K Multibrackets Motorisert Veggfeste Sonos Beam montert under tv. (HS3 Plugin) Logitech Harmony Companion. (HS3 Plugin) Lys: Spotter i tak på Fibaro Dimmer 2.(Z-wave) Nattlampe med Ikea E14 Trådfri.(Zigbee) Ikea Fyrtyr Rullegardin (Zigbee) Gjesterom Varme: Varmefolie med Heatit thermostat.(Z-wave) Sensorer: Multisensor 6 innfelt i tak.(Z-wave) Senative Strip i Vindu Magnetsensor på innv dør(kommer) Rullegardin: Motorisert med kit fra m.nu. (Z-wave) Lys: Spotter i tak på Fibaro Dimmer 2.(Z-wave) Taklampe med Qubino pære. (Z-wave) Lyd: Psb 6,5" høyttalere i tak, egen Sonos sone. (HS3 Plugin) Gang Nede Lås: Idlock 150.(Z-wave) Ringelokke: Wemos D1 miin med Ardino rele (MQTT) Sensorer: Fibaro Røykvarsler.(Z-wave) Xiaomi dør sensor.(Zigbee) Xiaomi bevegelsesensor.(Zigbee) Xiaomi temoeratursensor.(Zigbee) Varme: Mill Panelovn med Fibaro Wall Plug.(Z-wave) Lys: Taklamper med 2x Philips Hue E27.(Zigbee) Bod: Sensorer: Xiaomi Dør sensor på innv dør.(Zigbee) Xiaomi Temp sensor i kjøleskap.(Zigbee) Xiaomi Dør sensor på kjøleskap.(Zigbee) Xiaomi Temp sensor på fryseboks.(Zigbee) Xiaomi Dør sensor i fryseboks.(Zigbee) Xiaomi Temp sensor (Zigbee) Kjøkken Kjeller: Sensorer: Xiaomi bevegelsesensor.(Zigbee) Xiaomi Dør sensor på vindu.(Zigbee) Xiaomi Temp sensor i kjøleskap.(Zigbee) Xiaomi Dør sensor på kjøleskap.(Zigbee) Xiaomi Temp sensor på fryseboks.(Zigbee) Xiaomi Dør sensor i fryseboks.(Zigbee) Lys: Ikea Trådfri driver på benkebelysning.(Zigbee) Taklampe med 5x Ikea Trådfri GU10.(Zigbee) 2xPhilips Hue brytere.(Zigbee) Spisestue Kjeller Sensorer: 2x Xiaomi bevegelsesensor.(Zigbee) Lys: Taklamper på Fibaro Dimmer 2.(Z-wave) Soverom Kjeller Sensorer: Xiaomi bevegelsesensor.(Zigbee) Fibaro Vindu sensor.(Z-wave) Fibaro Røykvarsler.(Z-wave) Varme: Panelovn med Fibaro Wall Plug.(Z-wave) Lys: Taklamper med 2x Philips Hue E27.(Zigbee) Nattbordlamper 2x Ikea Trådfri E14.(Zigbee) Lyd og Bilde: Samsung 60" 4K AppleTv 4K Kjellerstue Sensorer: Xiaomi bevegelsesensor.(Zigbee) Fibaro Røykvarsler.(Z-wave) 2x Xiaomi Dør sensor på vindu.(Zigbee) Varme: Panelovn med Fibaro Wall Plug.(Z-wave) Lys: Taklamper med 2x Philips Hue E27.(Zigbee) Lamper 2x Philips Hue E27.(Zigbee) Lampe Ikea Trådfri Wall prug.(Zigbee) Lyd og Bilde 65" Samsung 4K Apple TV 4 Nvidia Shield Sonos Connect Pioneer SC-LX90 Surround Forsterker Focal Electra 1028be Høyttalere Gang Oppe Lås: Idlock 101.(Z-wave) Ringelokke: Doorbird (HS3 Plugin)
    13 poeng
  37. Endelig, litt automatikk! For at heimen faktisk skal bli smart, må heimen gjøre som du vil uten at det er du som gjør det. Alt vi har gjort til nå er å legge til rette for fjernstyring, som i "weee, jeg kan styre lyset fra mobilen" (noe som man blir lei av ganske raskt), men HomeSeer har en fantastisk motor for automatikk. Og den skal vi nå benytte oss av. Bli kjent, med begrepet Event Ordet Event er selvfølgelig engelsk, det mest passende norske ordet er vel "hendelse". Jeg bruker ordet "Event" på norsk, akkurat som jeg bruker ordet "Device". Et Event er delt i to: Det har en trigger (med en eller flere conditions) og en eller flere actions. Trigger En trigger er det som setter Eventet i gang. Som i "kjør dette eventet når klokka slår 06:00" eller "kjør dette eventet når lyset i gangen blir skrudd på". Condition En condition (altså "betingelse") hører til en trigger. De begrenser triggeren, som i: "kjør dette eventet når klokka slår 06:00 men bare på en mandag" eller "kjør dette eventet når lyset i gangen ble skrudd på men bare hvis klokken er 17:00 eller senere, det har regnet 3 mm OG ingen har ringt på døra på 4 timer". Action En action (en "handling") er det som faktisk skal skje. F.eks. at man skrur på av eller på et lys, kjører et annet event eller et script. I utgangspunktet ganske enkle verktøy som man, med litt trening, kan bruke på ganske så avanserte måter. Event-oppsett Vi går til View -> Events. Hvis vi ikke har lagt til noen eventer, blir vi bedt om å navngi vårt første Event. betyr selvfølgelig "Legg til". Det kan være legg til et Event til gruppa, en trigger/condition eller en action. kjører Eventet slik det er nå, helt uten å ta hensyn til eventuelle conditions. deaktiverer eller aktiverer et event. sletter et event, en trigger/condition eller en action. kopierer eventet slik det er. utvider eller minimerer alle Events eller conditions. indikerer at du nå kun viser basis-valg, trykk denne for å se: avanserte valg. MERK: Det er en god idé å minimere triggers og actions når man er ferdig med dem, for da får man opp eventuelle feilmeldinger. Hvis et en trigger, condition eller action ikke lar seg minimere, så er det et tegn på at noe er galt eller at linjen ikke er ferdig konfigurert. Vi kan velge en trigger (i den blå linjen, øverst). Her er trigger-kategoriene som kommer med en helt vanlig HS-installasjon: En trigger-kategori har flere tilhørende triggere: For actions er lista lenger: Igjen har Actions flere underalternativer. Hvis man velger "Control a Device" får man opp valg om å velge en device å controllere. Når man har gjort det, blir alle CAPI-verdiene (se del 6) listet opp. ... så hvordan ser et Event ut? I sin enkleste form, kan det se slik ut: Dette leser vi som at kl. 06:00 blir lyset satt til 17%. Organisering Ved siden av Event-navnet, kan man velge en Type hvis man ønsker det. Ved siden av Typen, kan man flytte eventet til en annen gruppe (eller lage en ny). Grunnen til dette er at man skal finne igjen eventene sine. Når man har 5-10 stykker så er det enkelt. Når det er 300 så er det verre. Jeg sorterer forskjellige typer Eventer i forskjellige grupper (jeg bruker ikke "Event Types" så mye). Men det gjør det overraskende fort å finne frem i eventene. Skal du kikke på eventet som styrer lyset i gangen basert på en bevegelsessensor? Kikk i gruppa "Bevegelse". Hva med lyset som går automatisk i ferien? Kikk i gruppa "Automatisk (ferie)". Hva med de trådløse bryterne? "Brytere". Og hvordan får dere beskjed tilbake? "Notifikasjoner". "Referencing Device(s)" er veldig hendig hvis du skal finne eventene som styrer eller blir styrt av en bestemt device. Si at et lys skrur seg på og av når det ikke skal, og du lurer på hvorfor. Da er det bare å velge devicen i Referencing Device(s), så blir Eventene dine filtrert til å kun vise de som har med denne devicen å gjøre. MERK: Hvis du bruker scripts vil disse ikke komme med i filtreringen, det er kun de som har en Device spesifisert i en ren Event trigger, condition eller action. Når du er ferdig med filtreringen er det en god vane å trykke på "Show All" etterpå... Blant de mest brukte: Bevegelsessensor I utgangspunktet er det enkelt. Vi velger bevegelsessensoren som device, og velger CAPI-verdien "Motion" som trigger. I dette eksempelet vil jeg styre lyset på badet i kjelleren. De to nederste linjene er enkle. Den ene skrur lyset PÅ, og den andre skrur lyset AV etter 10 minutter. Så langt er alt vel. Men hva skal vi med "Remove Delayed Device Actions"? Jo, "lyset av etter 10 minutter" blir nettopp det; en "Delayed Action". Disse Delayed Action'ene blir kjørt etter den aktuelle forsinkelsen. Når bevegelsessensoren blir trigget, så blir alle eventuelle slike Actions (som i vårt tilfelle skrur lyset av) fjernet først. Sluttresultatet er at lyset blir værende på så lenge det er bevegelse i rommet, men blir skrudd av etter 10 minutter hvis bevegelsen stopper (for da blir IKKE denne Delayed Actions fjernet). På toalettet i 1. etg er det både en bevegelsessensor og en magnetsensor på døren. Det kan jo selvfølgelig løses med å lage to forskjellige eventer, men siden det er det samme som skal skje uavhengig av trigger, så velger vi heller at Eventet skal ha flere forskjellige triggere. For å få til flere triggere trykker du på den grønne -knappen, men istedenfor "AND IF" til venstre, velger man "OR IF". Dette blir en ny trigger. I tillegg har jeg her noen conditions som gjør at dette Eventet kun kjører når det ikke er natt (dvs. på morgen, dag og kveld). Da jeg skulle lage Natt-versjonen av dette Eventet, kopierte jeg det ved å trykke på -knappen. Så endret jeg condition fra "Device Value Not Equal To" til "Device Value Equal To". Lys-kontrollen ble endret fra "On" (som betyr 100%) til "Dim 10%". Planlegging Hvis du ikke har sett på Events før nå, så vil det sannsynligvis begynne å demre for deg at det er enormt med muligheter her. Og det har du helt rett i! Hemmeligheten for å finne frem i kaoset er rett og slett å prøve seg frem, og å spørre hvis det feiler og du ikke finner ut hvorfor. Andre her har lang erfaring med å sette opp Eventer og har sikkert gjort samme feil selv som du har gjort. Alt koker ned til en ting: Logikk. Dette er programmering. Men istedenfor å måtte bruke et tastatur og kode hver linje, er de aller fleste valgene bakt inn i programmet. Hvis man installerer plugins, vil disse også kunne ha sine egne triggere og actions. Det man må gjøre når man skal begynne å automatisere er å planlegge. Det er veldig fristende å kaste seg hodestups ut i eventene, men man sparer seg mye frustrasjon hvis man tenker gjennom problemstillingen først. Hvorfor skal noe skje? Er det en bestemt hendelse? Som at noen kommer hjem? Eller står opp av senga? Eller noe så enkelt som et bestemt klokkeslett på bestemte dager? Hva er det egentlig som skal skje? Er "Når det er morgen skal ganglyset komme på" det eneste som skal skje? Skal det skje noe annet? Er det andre betingelser man skal ta hensyn til? Skal ting skje i en bestemt rekkefølge? Har jeg nok inn- eller ut-data? Hvordan kan man eventuelt ordne det? Eller kan jeg komme rundt det på en akseptabel måte? Hvis jeg vil koke kaffe når jeg står opp, så må jeg faktisk vite når jeg står opp OG jeg må ha muligheten til å koke kaffen. Hvis man alltid står opp kl 07:00 så kan det være så enkelt som å ha en trigger 15 minutter før. Alternativt kan en bevegelsessensor i gangen på utsiden av soverommet være en indikasjon på det ("HVIS bevegelse AND Time is after 07:00"), eller man kan (etter hvert) bruke en sensor, som et smart sengelaken. For å trakte kaffen kan man bruke en vanlig kaffetrakter med en plugin-modul, eller man kan integrere en smartere kaffetrakter. For å sette opp en dagsrutine, må man faktisk tenke gjennom hva man gjør gjennom en vanlig dag, og hvordan man ønsker at det skal være. Del dagen i små biter og ta del for del, så blir problemstillingen mindre og mer overkommelig. Utenom det er det bare å sette i gang! Eventer justeres etter hvert, og automatikken bygges ut fortløpende. Event-valg Hvis man kikker under selve Event-definisjonen (under actions), så ser man teksten "Options". Utvider man denne menyen, ser man dette: Her gis det enda flere valg til hvordan eventet skal trigges. "Priority Event" skal visstnok prioritere denne triggeren, som navnet antyder, men jeg har ikke hørt om situasjoner som blir løst av å bruke denne. "Include in Powerfailure Recovery" kan være grei hvis du har Eventer som MÅ kjøre etter at HS har blitt avsluttet av et strømbrudd (ikke blitt avsluttet skånsomt). Jeg bruker ikke noen av disse. "Security" er derimot hendig. Hvis man velger "Time is 14:00" som trigger, og huker av Security, vil dette eventet få en ny random tid etter hver gang det er blitt kjørt. Tiden som brukes til å gi intervallet den nye random-tiden er valgt fra, definerer du under valget Setup -> "Security Offset +/- (minutes)". Hvis du velger 15 minutter, så kan altså neste trigger for eventet være alt mellom 13:45 og 14:15. Veldig hendig hvis du ikke vil at det skal se ut som om hverdagen avsluttes kl 23:00 hver ukedag hele året uansett. "Remove This Event After Trigging" er det sjeldent man bruker på eventer man definerer selv. Men de er mer praktiske når vi kommer til Scripting. Alle Actions som er satt som delayed, blir i praksis et nytt event med dette valget huket av. "Do Not Log This Event" velger jeg på de fleste Eventer. Jeg trenger ikke fylle opp loggen min med unyttig informasjon om eventer som gjør som de skal. "Cannot Re-Run for XYZ time" er også veldig viktig. Av og til kan en trigger bli trigget svært raskt etter hverandre, og det kan gi litt kluss for Action'ene som dermed kjører nesten dobbelt. F.eks. kan man ha flere RFXtrx433-tranceivere, og alle disse vil motta et signal fra en Nexa-bryter. Dermed vil et event som bruker Nexa-bryteren som trigger kjøre flere ganger etter hverandre. Da er det lurt å sette "Cannot Re-Run For" til minimum 1 sekund. Betingelser for Actions En trigger har betingelser/conditions, men det hender at det er praktisk å ha betingelser for Actions også. F.eks. har jeg en dørlås (en Danalock v1) som man kan "låse" så mange ganger den vil. Det vil si: Hvis jeg velger "Lock" vil kjøre motoren uansett hvor mye den er låst fra før, og resultatet er at tannhjulene i låsen "pusser tenner". Jeg er redd det går ut over låsen i lengden. (Dette gjør heldigvis ikke Yale-låsen vår, eller ID-lock). Men jeg vil jo fremdeles at huset skal låse døra når vi går ut eller legger oss HVIS dørlåsen er opplåst! Da ville det vært praktisk å ha conditions for Actions, men HS støtter ikke dette direkte. Man må bruke et ekstra Event. Først definerer vi selve eventet som låser døren. Merk at det er en MANUELL trigger, men MED conditions. ... som vi leser som "lås døren hvis den ikke er låst". I Eventet som kjøres når nattmodus blir satt, eller som kjøres når hus-alarmen blir aktivert, så legges denne Action'en inn. Det viktige her er avkryssingen for "Run Only If Other Event Conditios are TRUE", som du muligens må trykke på det røde -ikonet for å få se. Dermed blir kjellerdøren kun låst hvis den ikke er låst fra før! Dette gir også andre muligheter. Jeg vil at huset skal gjøre en vurdering av Lux-nivået i stua, og justere lyset deretter. Dette skal vurderes hver gang Lux endrer seg, eller når vi kommer hjem (alarmen blir skrudd av) eller at det blir morgen (Tidsstatus skiftes fra Natt til Morgen), altså er det tre forskjellige triggere. Dette kunne jeg løst med å lage 6 forskjellige eventer, og bruke en haug med (forholdsvis like) conditions for hvert event. Det blir mye å holde styr på, så jeg samlet triggere i et Event, og Lux-vurderingene i to andre (fordi de har forskjellige Actions, et skrur lyset på et annet skrur det av). Først selve vurderingen for å skru lyset av: ... eller på: Og så et event for når disse vurderingene skal skje: Som du ser er det ingen overlapping i Lux i eventene som skrur det av eller på, så de to øverste kan ikke bli trigget samtidig. Og en bonus er at siden jeg sjekker om lyset er "På" eller "Av" istedenfor hhv. "ikke Av" eller "ikke På", så vil ikke automatikken ta over hvis jeg har dimmet lyset i stua. Og som du ser i devicen "Settings - Options - Automatisk lys i stue" kan jeg overstyre automatikken med en virtuell device. At Lux-vurderingen gjøres når Tidsstatus blir "Morning" er hendig både om sommer og om vinter. Hvis det er behov for lys, så får du det. Men om sommeren kan det jo fint være lyst nok til å slippe det når klokka er 06:30. Den skarpe leser vil legge merke til at det ikke er definert hva som skal skje hvis Lux blir målt til å være mellom 300 og 650, og svaret er enkelt: Det skal ikke skje noe, og det er faktisk et poeng at det er et relativt stort sprik mellom av eller på, ellers ville en lettskyet himmel være nok til at lyset omtrent ville flimre (avhengig av hvor ofte Lux-verdien blir lest). Tips: Bruker du slike virtuelle devicer for å styre når automatikken skal virke, så er det alltid en god idé å lage et Event med en gang som setter devicen tilbake til det du mener skal være standard-verdien. "Settings - Options - Automatisk lys i stue" blir hos oss satt til "On" når huset går i natt-modus. Da er det bare å begynne å automatisere. Vanne plenen, anyone? FAQ Q: Hva er forskjellen på triggerne "Device Changes and Becomes" og "Device Was Set To"? Er de ikke like? A: Nei, de er ikke helt like. Hvis et lys er på, og det får et nytt PÅ-signal vil "Device Was Set To" bli trigget, mens "Device Changes And Becomes" ikke blir. For at "Device Changes And Becomes" må verdien være en annen før triggeren skjer. Q: Hva er forskjellen på triggerne "Device Has Been X for Exactly Y time" og "Device Has Been X for At Least Y time"? Vil det ikke være best å bruke "At Least"? A: Som trigger er "At Least" veldig skummel å bruke, et eksempel på hvor galt det kan gå kan du lese her. Grunnen er forskjellen i hvordan disse to trigges. Nå er det litt mer komplisert enn det som forklares her (og sjekkene skjer oftere enn det), men la oss for enkelhets skyld si at alle eventer blir sjekket hvert sekund. Normalt skal et Event kun kjøre en gang, med mindre det er gode grunner til å kjøre det flere ganger, men sannsynligvis aldri så ofte som hvert sekund Et event med trigger "Taklys has been OFF for exactly 2 minutes" vil kun kjøre den ene gangen, og ferdig med det. Et event med trigger "Taklys has been OFF for at least 2 minutes" vil kjøre etter 2:00, 2:01, 2:02... altså hvert sekund etter at det har gått to minutter siden taklyset ble skrudd av. Jeg tror grunnen til at folk ofte velger "at least" istedenfor "exactly" er at "exactly" høres så usikkert ut. "Oi, tenk hvis den bommer! Da vil jo 'At Least' være sikrere". Og det finnes tilfeller der "At Least" absolutt kan være nyttig, den er spesielt hendig som en condition. Men hvis du vil bruke den som trigger, så må du legge til andre conditions som gjør at eventet ikke trigges i det uendelige... Q: Hvordan kan jeg endre rekkefølgen på Actions (eller conditions)? Må jeg slette alle Actions og legge dem til i rett rekkefølge? A: Neida, det er rett og slett "drag and drop". Minimer action/condition, og ta tak i den. Dra de så oppover (eller nedover) og slipp når du er fornøyd. Dette kan du ikke gjøre med en touch-skjerm, dessverre, man trenger en mus. Oppsummering Da har vi vært gjennom en kort introduksjon til automatisering, tro det eller ei. Og ja, nå begynner det å dra seg til! Event-motoren er utmerket, og det er enkelt å redigere og utvide etter hvert. Event-motoren er et kraftig verktøy, som tidvis kan være ganske komplisert. Det vil ta seg litt tid å lære, men når man har satt opp de første Eventene (og navngitt dem skikkelig), så går det raskt å sette opp flere. Øvelse gjør mester! Det er mulig vi kommer tilbake til eventer senere, det er litt avhengig av tilbakemeldingene. Savner du noe, gi lyd i kommentarfeltet under. HomeSeer-skolen har tidligere dekket innkjøp (del 1), oppsett (del 2), Z-wave-konfigurasjon (del 3 og del 4), 433 MHz utstyr (del 5) og device-håndtering, -sortering og -oppsett (del 6). I del 8 skal Fermate vise oss hvordan vi kommer i gang med HStouch Designeren!
    13 poeng
  38. Endelig, litt automatikk! For at heimen faktisk skal bli smart, må heimen gjøre som du vil uten at det er du som gjør det. Alt vi har gjort til nå er å legge til rette for fjernstyring, som i "weee, jeg kan styre lyset fra mobilen" (noe som man blir lei av ganske raskt), men HomeSeer har en fantastisk motor for automatikk. Og den skal vi nå benytte oss av. Bli kjent, med begrepet Event Ordet Event er selvfølgelig engelsk, det mest passende norske ordet er vel "hendelse". Jeg bruker ordet "Event" på norsk, akkurat som jeg bruker ordet "Device". Et Event er delt i to: Det har en trigger (med en eller flere conditions) og en eller flere actions. Trigger En trigger er det som setter Eventet i gang. Som i "kjør dette eventet når klokka slår 06:00" eller "kjør dette eventet når lyset i gangen blir skrudd på". Condition En condition (altså "betingelse") hører til en trigger. De begrenser triggeren, som i: "kjør dette eventet når klokka slår 06:00 men bare på en mandag" eller "kjør dette eventet når lyset i gangen ble skrudd på men bare hvis klokken er 17:00 eller senere, det har regnet 3 mm OG ingen har ringt på døra på 4 timer". Action En action (en "handling") er det som faktisk skal skje. F.eks. at man skrur på av eller på et lys, kjører et annet event eller et script. I utgangspunktet ganske enkle verktøy som man, med litt trening, kan bruke på ganske så avanserte måter. Event-oppsett Vi går til View -> Events. Hvis vi ikke har lagt til noen eventer, blir vi bedt om å navngi vårt første Event. betyr selvfølgelig "Legg til". Det kan være legg til et Event til gruppa, en trigger/condition eller en action. kjører Eventet slik det er nå, helt uten å ta hensyn til eventuelle conditions. deaktiverer eller aktiverer et event. sletter et event, en trigger/condition eller en action. kopierer eventet slik det er. utvider eller minimerer alle Events eller conditions. indikerer at du nå kun viser basis-valg, trykk denne for å se: avanserte valg. MERK: Det er en god idé å minimere triggers og actions når man er ferdig med dem, for da får man opp eventuelle feilmeldinger. Hvis et en trigger, condition eller action ikke lar seg minimere, så er det et tegn på at noe er galt eller at linjen ikke er ferdig konfigurert. Vi kan velge en trigger (i den blå linjen, øverst). Her er trigger-kategoriene som kommer med en helt vanlig HS-installasjon: En trigger-kategori har flere tilhørende triggere: For actions er lista lenger: Igjen har Actions flere underalternativer. Hvis man velger "Control a Device" får man opp valg om å velge en device å controllere. Når man har gjort det, blir alle CAPI-verdiene (se del 6) listet opp. ... så hvordan ser et Event ut? I sin enkleste form, kan det se slik ut: Dette leser vi som at kl. 06:00 blir lyset satt til 17%. Organisering Ved siden av Event-navnet, kan man velge en Type hvis man ønsker det. Ved siden av Typen, kan man flytte eventet til en annen gruppe (eller lage en ny). Grunnen til dette er at man skal finne igjen eventene sine. Når man har 5-10 stykker så er det enkelt. Når det er 300 så er det verre. Jeg sorterer forskjellige typer Eventer i forskjellige grupper (jeg bruker ikke "Event Types" så mye). Men det gjør det overraskende fort å finne frem i eventene. Skal du kikke på eventet som styrer lyset i gangen basert på en bevegelsessensor? Kikk i gruppa "Bevegelse". Hva med lyset som går automatisk i ferien? Kikk i gruppa "Automatisk (ferie)". Hva med de trådløse bryterne? "Brytere". Og hvordan får dere beskjed tilbake? "Notifikasjoner". "Referencing Device(s)" er veldig hendig hvis du skal finne eventene som styrer eller blir styrt av en bestemt device. Si at et lys skrur seg på og av når det ikke skal, og du lurer på hvorfor. Da er det bare å velge devicen i Referencing Device(s), så blir Eventene dine filtrert til å kun vise de som har med denne devicen å gjøre. MERK: Hvis du bruker scripts vil disse ikke komme med i filtreringen, det er kun de som har en Device spesifisert i en ren Event trigger, condition eller action. Når du er ferdig med filtreringen er det en god vane å trykke på "Show All" etterpå... Blant de mest brukte: Bevegelsessensor I utgangspunktet er det enkelt. Vi velger bevegelsessensoren som device, og velger CAPI-verdien "Motion" som trigger. I dette eksempelet vil jeg styre lyset på badet i kjelleren. De to nederste linjene er enkle. Den ene skrur lyset PÅ, og den andre skrur lyset AV etter 10 minutter. Så langt er alt vel. Men hva skal vi med "Remove Delayed Device Actions"? Jo, "lyset av etter 10 minutter" blir nettopp det; en "Delayed Action". Disse Delayed Action'ene blir kjørt etter den aktuelle forsinkelsen. Når bevegelsessensoren blir trigget, så blir alle eventuelle slike Actions (som i vårt tilfelle skrur lyset av) fjernet først. Sluttresultatet er at lyset blir værende på så lenge det er bevegelse i rommet, men blir skrudd av etter 10 minutter hvis bevegelsen stopper (for da blir IKKE denne Delayed Actions fjernet). På toalettet i 1. etg er det både en bevegelsessensor og en magnetsensor på døren. Det kan jo selvfølgelig løses med å lage to forskjellige eventer, men siden det er det samme som skal skje uavhengig av trigger, så velger vi heller at Eventet skal ha flere forskjellige triggere. For å få til flere triggere trykker du på den grønne -knappen, men istedenfor "AND IF" til venstre, velger man "OR IF". Dette blir en ny trigger. I tillegg har jeg her noen conditions som gjør at dette Eventet kun kjører når det ikke er natt (dvs. på morgen, dag og kveld). Da jeg skulle lage Natt-versjonen av dette Eventet, kopierte jeg det ved å trykke på -knappen. Så endret jeg condition fra "Device Value Not Equal To" til "Device Value Equal To". Lys-kontrollen ble endret fra "On" (som betyr 100%) til "Dim 10%". Planlegging Hvis du ikke har sett på Events før nå, så vil det sannsynligvis begynne å demre for deg at det er enormt med muligheter her. Og det har du helt rett i! Hemmeligheten for å finne frem i kaoset er rett og slett å prøve seg frem, og å spørre hvis det feiler og du ikke finner ut hvorfor. Andre her har lang erfaring med å sette opp Eventer og har sikkert gjort samme feil selv som du har gjort. Alt koker ned til en ting: Logikk. Dette er programmering. Men istedenfor å måtte bruke et tastatur og kode hver linje, er de aller fleste valgene bakt inn i programmet. Hvis man installerer plugins, vil disse også kunne ha sine egne triggere og actions. Det man må gjøre når man skal begynne å automatisere er å planlegge. Det er veldig fristende å kaste seg hodestups ut i eventene, men man sparer seg mye frustrasjon hvis man tenker gjennom problemstillingen først. Hvorfor skal noe skje? Er det en bestemt hendelse? Som at noen kommer hjem? Eller står opp av senga? Eller noe så enkelt som et bestemt klokkeslett på bestemte dager? Hva er det egentlig som skal skje? Er "Når det er morgen skal ganglyset komme på" det eneste som skal skje? Skal det skje noe annet? Er det andre betingelser man skal ta hensyn til? Skal ting skje i en bestemt rekkefølge? Har jeg nok inn- eller ut-data? Hvordan kan man eventuelt ordne det? Eller kan jeg komme rundt det på en akseptabel måte? Hvis jeg vil koke kaffe når jeg står opp, så må jeg faktisk vite når jeg står opp OG jeg må ha muligheten til å koke kaffen. Hvis man alltid står opp kl 07:00 så kan det være så enkelt som å ha en trigger 15 minutter før. Alternativt kan en bevegelsessensor i gangen på utsiden av soverommet være en indikasjon på det ("HVIS bevegelse AND Time is after 07:00"), eller man kan (etter hvert) bruke en sensor, som et smart sengelaken. For å trakte kaffen kan man bruke en vanlig kaffetrakter med en plugin-modul, eller man kan integrere en smartere kaffetrakter. For å sette opp en dagsrutine, må man faktisk tenke gjennom hva man gjør gjennom en vanlig dag, og hvordan man ønsker at det skal være. Del dagen i små biter og ta del for del, så blir problemstillingen mindre og mer overkommelig. Utenom det er det bare å sette i gang! Eventer justeres etter hvert, og automatikken bygges ut fortløpende. Event-valg Hvis man kikker under selve Event-definisjonen (under actions), så ser man teksten "Options". Utvider man denne menyen, ser man dette: Her gis det enda flere valg til hvordan eventet skal trigges. "Priority Event" skal visstnok prioritere denne triggeren, som navnet antyder, men jeg har ikke hørt om situasjoner som blir løst av å bruke denne. "Include in Powerfailure Recovery" kan være grei hvis du har Eventer som MÅ kjøre etter at HS har blitt avsluttet av et strømbrudd (ikke blitt avsluttet skånsomt). Jeg bruker ikke noen av disse. "Security" er derimot hendig. Hvis man velger "Time is 14:00" som trigger, og huker av Security, vil dette eventet få en ny random tid etter hver gang det er blitt kjørt. Tiden som brukes til å gi intervallet den nye random-tiden er valgt fra, definerer du under valget Setup -> "Security Offset +/- (minutes)". Hvis du velger 15 minutter, så kan altså neste trigger for eventet være alt mellom 13:45 og 14:15. Veldig hendig hvis du ikke vil at det skal se ut som om hverdagen avsluttes kl 23:00 hver ukedag hele året uansett. "Remove This Event After Trigging" er det sjeldent man bruker på eventer man definerer selv. Men de er mer praktiske når vi kommer til Scripting. Alle Actions som er satt som delayed, blir i praksis et nytt event med dette valget huket av. "Do Not Log This Event" velger jeg på de fleste Eventer. Jeg trenger ikke fylle opp loggen min med unyttig informasjon om eventer som gjør som de skal. "Cannot Re-Run for XYZ time" er også veldig viktig. Av og til kan en trigger bli trigget svært raskt etter hverandre, og det kan gi litt kluss for Action'ene som dermed kjører nesten dobbelt. F.eks. kan man ha flere RFXtrx433-tranceivere, og alle disse vil motta et signal fra en Nexa-bryter. Dermed vil et event som bruker Nexa-bryteren som trigger kjøre flere ganger etter hverandre. Da er det lurt å sette "Cannot Re-Run For" til minimum 1 sekund. Betingelser for Actions En trigger har betingelser/conditions, men det hender at det er praktisk å ha betingelser for Actions også. F.eks. har jeg en dørlås (en Danalock v1) som man kan "låse" så mange ganger den vil. Det vil si: Hvis jeg velger "Lock" vil kjøre motoren uansett hvor mye den er låst fra før, og resultatet er at tannhjulene i låsen "pusser tenner". Jeg er redd det går ut over låsen i lengden. (Dette gjør heldigvis ikke Yale-låsen vår, eller ID-lock). Men jeg vil jo fremdeles at huset skal låse døra når vi går ut eller legger oss HVIS dørlåsen er opplåst! Da ville det vært praktisk å ha conditions for Actions, men HS støtter ikke dette direkte. Man må bruke et ekstra Event. Først definerer vi selve eventet som låser døren. Merk at det er en MANUELL trigger, men MED conditions. ... som vi leser som "lås døren hvis den ikke er låst". I Eventet som kjøres når nattmodus blir satt, eller som kjøres når hus-alarmen blir aktivert, så legges denne Action'en inn. Det viktige her er avkryssingen for "Run Only If Other Event Conditios are TRUE", som du muligens må trykke på det røde -ikonet for å få se. Dermed blir kjellerdøren kun låst hvis den ikke er låst fra før! Dette gir også andre muligheter. Jeg vil at huset skal gjøre en vurdering av Lux-nivået i stua, og justere lyset deretter. Dette skal vurderes hver gang Lux endrer seg, eller når vi kommer hjem (alarmen blir skrudd av) eller at det blir morgen (Tidsstatus skiftes fra Natt til Morgen), altså er det tre forskjellige triggere. Dette kunne jeg løst med å lage 6 forskjellige eventer, og bruke en haug med (forholdsvis like) conditions for hvert event. Det blir mye å holde styr på, så jeg samlet triggere i et Event, og Lux-vurderingene i to andre (fordi de har forskjellige Actions, et skrur lyset på et annet skrur det av). Først selve vurderingen for å skru lyset av: ... eller på: Og så et event for når disse vurderingene skal skje: Som du ser er det ingen overlapping i Lux i eventene som skrur det av eller på, så de to øverste kan ikke bli trigget samtidig. Og en bonus er at siden jeg sjekker om lyset er "På" eller "Av" istedenfor hhv. "ikke Av" eller "ikke På", så vil ikke automatikken ta over hvis jeg har dimmet lyset i stua. Og som du ser i devicen "Settings - Options - Automatisk lys i stue" kan jeg overstyre automatikken med en virtuell device. At Lux-vurderingen gjøres når Tidsstatus blir "Morning" er hendig både om sommer og om vinter. Hvis det er behov for lys, så får du det. Men om sommeren kan det jo fint være lyst nok til å slippe det når klokka er 06:30. Den skarpe leser vil legge merke til at det ikke er definert hva som skal skje hvis Lux blir målt til å være mellom 300 og 650, og svaret er enkelt: Det skal ikke skje noe, og det er faktisk et poeng at det er et relativt stort sprik mellom av eller på, ellers ville en lettskyet himmel være nok til at lyset omtrent ville flimre (avhengig av hvor ofte Lux-verdien blir lest). Tips: Bruker du slike virtuelle devicer for å styre når automatikken skal virke, så er det alltid en god idé å lage et Event med en gang som setter devicen tilbake til det du mener skal være standard-verdien. "Settings - Options - Automatisk lys i stue" blir hos oss satt til "On" når huset går i natt-modus. Da er det bare å begynne å automatisere. Vanne plenen, anyone? FAQ Q: Hva er forskjellen på triggerne "Device Changes and Becomes" og "Device Was Set To"? Er de ikke like? A: Nei, de er ikke helt like. Hvis et lys er på, og det får et nytt PÅ-signal vil "Device Was Set To" bli trigget, mens "Device Changes And Becomes" ikke blir. For at "Device Changes And Becomes" må verdien være en annen før triggeren skjer. Q: Hva er forskjellen på triggerne "Device Has Been X for Exactly Y time" og "Device Has Been X for At Least Y time"? Vil det ikke være best å bruke "At Least"? A: Som trigger er "At Least" veldig skummel å bruke, et eksempel på hvor galt det kan gå kan du lese her. Grunnen er forskjellen i hvordan disse to trigges. Nå er det litt mer komplisert enn det som forklares her (og sjekkene skjer oftere enn det), men la oss for enkelhets skyld si at alle eventer blir sjekket hvert sekund. Normalt skal et Event kun kjøre en gang, med mindre det er gode grunner til å kjøre det flere ganger, men sannsynligvis aldri så ofte som hvert sekund Et event med trigger "Taklys has been OFF for exactly 2 minutes" vil kun kjøre den ene gangen, og ferdig med det. Et event med trigger "Taklys has been OFF for at least 2 minutes" vil kjøre etter 2:00, 2:01, 2:02... altså hvert sekund etter at det har gått to minutter siden taklyset ble skrudd av. Jeg tror grunnen til at folk ofte velger "at least" istedenfor "exactly" er at "exactly" høres så usikkert ut. "Oi, tenk hvis den bommer! Da vil jo 'At Least' være sikrere". Og det finnes tilfeller der "At Least" absolutt kan være nyttig, den er spesielt hendig som en condition. Men hvis du vil bruke den som trigger, så må du legge til andre conditions som gjør at eventet ikke trigges i det uendelige... Q: Hvordan kan jeg endre rekkefølgen på Actions (eller conditions)? Må jeg slette alle Actions og legge dem til i rett rekkefølge? A: Neida, det er rett og slett "drag and drop". Minimer action/condition, og ta tak i den. Dra de så oppover (eller nedover) og slipp når du er fornøyd. Dette kan du ikke gjøre med en touch-skjerm, dessverre, man trenger en mus. Oppsummering Da har vi vært gjennom en kort introduksjon til automatisering, tro det eller ei. Og ja, nå begynner det å dra seg til! Event-motoren er utmerket, og det er enkelt å redigere og utvide etter hvert. Event-motoren er et kraftig verktøy, som tidvis kan være ganske komplisert. Det vil ta seg litt tid å lære, men når man har satt opp de første Eventene (og navngitt dem skikkelig), så går det raskt å sette opp flere. Øvelse gjør mester! Det er mulig vi kommer tilbake til eventer senere, det er litt avhengig av tilbakemeldingene. Savner du noe, gi lyd i kommentarfeltet under. HomeSeer-skolen har tidligere dekket innkjøp (del 1), oppsett (del 2), Z-wave-konfigurasjon (del 3 og del 4), 433 MHz utstyr (del 5) og device-håndtering, -sortering og -oppsett (del 6). I del 8 skal Fermate vise oss hvordan vi kommer i gang med HStouch Designeren! Vis full oppføring
    13 poeng
  39. When the sh*t hits the fan... 10 uker gammel valp lurer seg ned i feil etasje for å gjøre bommelom. Xiaomi vacuum mangler shit sensor. Need I say more. Jeg skal spare dere for bilder [emoji5]
    13 poeng
  40. Weeee! Jeg har nettopp skrudd av/på og dimmet en pære med .NET. Sånt blir det plugin av! ?
    13 poeng
  41. @Moskus hadde et innlegg på KS-Energi i dag: http://www.ksbedrift.no/moeteplass-2017/program/energi/ Jeg snek meg inn og hørte på ham og han sa klart ifra hva vi mente om smarte målere som ikke er åpne for å gi oss data. Han sa også masse fornuftig om å gi oss åpne systemer med APi'e og alt det der som vi hervet alt om. De fikk en klar beskjed om at det er HER på hjemmeautomasjon.no at det foregår og jeg så folk notere URL'en flittig. BRA JOBBA @Moskus !
    13 poeng
  42. Kona vil ha frisk luft på soverommet, mens jeg synes det blir for kaldt i løpet av natta. Jeg forsøkte meg med en Fakro ZWS230 for å lukke vinduet automatisk, men den bråket for mye (WAF=0). Jeg ønsket derfor å forsøke meg på en servostyrt ventil med en vifte i som kunne blåse frisk luft inn, men lukkes automatisk dersom det blir for kaldt. Vifta skulle være en lydsvak PC vifte med høyt volum, og hastigheten skulle kunne reguleres trinnløst med PWM. Siden dette skulle gå på fast strøm, valgte jeg WiFi som kommunikasjon. Arduino MRK WiFi 1010 er en kompakt og grei microprosessor som hadde alt jeg trengte. Siden jeg hadde pinner til overs, slang jeg på en temperatursensor og en RGB LED for å kunne kommunisere med omverdenen. Dette er greit for debugging, men også for å kunne vise status under konfigurasjon. Utgangspunktet er en Flexit ventil med snortrekk for å få en blank (ikke 3D printet) front. Har du en slik eksisterende ventil, kan du altså oppgradere med denne Jeg hadde ikke ventil på soverommet fra før og måtte derfor sette inn en slik. Byggeveiledningen: (Du finner "handlelisten" i bunn av denne posten) Start med å fjerne mekanismen for snortrekket og erstatt fjæra med en svakere en. Min er hentet fra biltema sitt fjærsett. Den bør være sterk nok til at ventilen ikke klapprer i vind, men svak nok til at servoen orker å dra den. Etter masse prøving og feiling landet jeg på denne 3D modellen som ble modellert i Onshape og printet på en Flashforge Inventor. Onshape er gratis for hobbyfolk, men er helt profft og veldig greit å bruke. Anbefales! 3D modellen er tilgjengelig for dere for printing eller viderearbeid (Lag deg en gratis konto, logg inn og trykk på linken i delelista nederst) STL filer ligger også vedlagt. PC vifter skal PWM styres med 25KHz, og det tok meg en del tid å finne ut hvordan en endrer PWM frekvensen på Arduinoen til dette. Her er koden som må kjøres etter andre interupt oppsett: Vifta har mulighet til å rapportere faktisk hastighet, men det fikk jeg aldri helt til og droppet derfor det. Å styre servo og blinke med LED er jo planke med en Arduino, så det går jeg ikke gjennom. Siden vifta skulle ha 12V og servoen og Arduinoen 5V, måtte jeg inn med en regulator. Kunne sikkert brukt noe mindre og enklere i To-220 kapsel, men jeg hadde en haug med slike liggende: DS18B20 er en artig IC som måler temperatur og er lett å kommunisere med fra en Arduino. Det eneste den trenger er en pull-up resistor på 4,7k Siden LEDen også trenger 3 resistorer (220ohm), tok jeg like godt et lite kretskort med faste baner og monterte alt sammen på det. Kuttet noen baner med bor, laget kryssninger med noe koppertråd og loddet på vinklede kontakter på enden. Det hele blir mer stabilt også. En liten borrefeil korrigeres med en liten kabelstump (blå) Spenningsregulatorpinnene er merket med rødt. Ellers er koblingene laget slik at de går mest mulig rett ut på koblingspinnene. Her er skjema tegnet med Arduinoen og kontaktene i samme linjer som på kretskortet Fargene på ledningene er slik de er i virkeligheten. Vifta og servoen som har ferdige kontakter kan plugges rett inn: Siden ventilen allerede har et hull der snora satt, kan det borres opp til 4.5 - 4.8 mm og LED'en presses inn der. Kabel lages med riktig pinout ved å lime sammen hunn-hunn koblingskabel med superlim: Temperatur IC'en loddes også på en slik kabel: men her tillater jeg meg å dele dem opp slik at den brune signalkabelen plugges for seg. - det ble alt for mye styr å få dem til å gå inn ved siden av hverandre. Pinnene skilles med litt kna-epoxy: Da er det klart for montering. Først inn med servoen. Her må en bruke kubbe-trekker. Så er det på med viftefestene. Legg merke til at de skal forbi begge hakkene. (Bare dra selv om gummien blir hvit, - de tåler det) Neste er å feste temperatursensoren med mere kna-epoxy: Når epoxyen har herdet, kan du sette på vifta. OBS! ledningen skal gjennom utsparingen for dette i kanten. Fjern gjerne litt av strømpa, så blir kabelen mykere å legge og fargene synlig for å kunne sette kontaktene riktig vei. Vifta sitter på yttersiden nettop fordi det skal bli enklere å trekke gummifestene igjennom vifta. Nå bør du plugge det hele sammen og teste på benken før du fester noe på servoen. Her er kode for Arduinoen (ino fil er også vedlagt): Husk å endre WiFi SSID, passord og IP adresse: Når du går til IP-adressen du anga med en browser, skal du få opp denne websiden: Hastigheten på vifta går fra 0 til 100 og ventilen fra 0 til 180 (grader). Nå kan du testkjøre vifta og servoen og sjekke temperaturen før du går videre. Skru deretter stagene sammen og fest dem på en avklippet servo-arm. Kjør servoen tilbake til "helt lukket" (0) og fest staget på servoen slik at det er en liten klaring til veggen Test at servoen beveger seg som den skal, sett den i "helt åpen" (180) posisjon og skru deretter staget fast i luka. Nå må du montere hele greia i veggen før du fester LED'en, setter luka på plass og fester fjæra. Integrasjonen med Alexa og HomeSeer er foreløpig enkel Alexa har 3 Routines ("Bedroom Fan Close", "Bedroom Fan Silent" og "Bedroom Fan Full") som setter en verdi på en virtuell device (Tips: La kona bestemme kommandoene så husker hun dem ) Denne har eventer som trigger når den blir satt: Som i sin tur kaller opp primitiv-eventer: Selve kommandoen er denne: &hs.URLAction("http://192.168.XXX.YYY/?speed=0&valve=0", "GET", "", "") Da er det bare å teste: IMG_5372.mp4 Helt til slutt vil jeg si noe om koden: Den er ikke ferdig og slik jeg vil ha den! Problemet er at om jeg skulle vente med å publisere dette til den ble perfekt, ville det aldri bli postet noe... Jeg gir dere derfor koden slik den er akkurat nå og så får vi heller jobbe sammen med å få på plass de tingene jeg ønsker meg: Når den starter, bør den hente SSID og pwd fra EEPROM Dersom den ikke får kontakt med WiFi, bør den gå i AP mode slik at du kan koble til den på en fast IP (10.0.0.1 feks) med telefonen og få opp en side der du kan velge SSID og oppgi passord og ønsket IP (mens dette skjer kan den f. eks. lyse blått) Dersom du velger en egen parameter, burde du få opp en side der du kan endre IP Den burde snakke på Web-socket med HomeSeer HomeSeer burde ha egne devicer med slidere for speed og ventilåpning. Og en egen device som viser temp DEL GJERNE TILBAKE DET DERE LAGER Deleliste: 3D Modell i OnShape (Eller bare søk etter "Flexit vent with Servo og CPU fan") Servoen Luxorparts S3003 Standardservo Viften er en Noctua NF-S12A PWM Dioden er en RGB Common Cathode 4-Pin F5 5MM Temp sensoren er en DS18B20 Arduino MKR Wifi 1010 Spenningsregulator 5V fra 12V Kretskort, Kabler, Pinnelist Pull-up motstand til Temp sensoren: 4,7k ohm Motstand til LED: 3 x 220 ohm Flexit ventil 6x6 (150x150mm) art 02024 feks herfra Flexit_Ventil_uten_wifiParametere.ino Module.stl Rod1.stl Rod2.stl
    12 poeng
  43. Å vite om det er helg eller ikke er ganske praktisk for hjemmeautomasjon. De aller fleste har andre rutiner i helgene enn de har i ukedagene. Hos oss er derimot rutinene for fridager omtrent prikk lik dager i helgen, så det hadde jo vært praktisk om man istedenfor å sjekke om det er helg, kunne sjekke om det er en fridag. Og nå kan vi det. Basert på @xibriz sitt glimrende PHP-script for å sjekke for offentlige høytider (og omskrevet til VB.NET) har jeg lagt til en rutine ekstra, som bl.a. sjekke om det faktisk er helg eller om det er noen andre unntak lagt inn. Du trenger en virtuell device med "Control Use" for Off og On definert (under Status Grapics -> Status-kolonne). Her er min: Device Ref til denne brukes som parameter i scriptet. Scriptet trigges ved midnatt hver dag for å sjekke om dagen i dager en fridag eller ei. Fridager.vb Sub Main(ByVal deviceReference As String) 'Moskus 2017 Dim devRef As Integer = Integer.Parse(deviceReference.ToString) Dim isCurrentDateHoliday As Boolean = False If Not isCurrentDateHoliday Then isCurrentDateHoliday = IsOfficialHoliday(Now) 'Sjekker offisielle helligdager If Not isCurrentDateHoliday Then isCurrentDateHoliday = IsCustomHoliday(Now) 'Sjekker egen-spesifiserte dager If isCurrentDateHoliday Then hs.CAPIControlHandler(hs.CAPIGetSingleControlByUse(devRef, HomeSeerAPI.ePairControlUse._On)) Else hs.CAPIControlHandler(hs.CAPIGetSingleControlByUse(devRef, HomeSeerAPI.ePairControlUse._Off)) End If End Sub Public Function IsCustomHoliday(ByVal _date As Date) As Boolean _date = _date.Date 'In case time was added 'For eksempel sjekkeom det er en lørdag eller søndag If _date.DayOfWeek = DayOfWeek.Saturday Then Return True If _date.DayOfWeek = DayOfWeek.Sunday Then Return True 'Jeg har alltid fri i romjulen If _date.Month = 12 Then If _date.Day >= 27 AndAlso _date.Day <= 31 Then Return True End If End If 'Andre spesifikke dager kan legges i listen, f.eks. har barnehagen planleggingsdager Dim dateList As New System.Collections.Generic.List(Of Date) dateList.Add(New Date(2017, 4, 18)) If dateList.Contains(_date) Then Return True 'Har vi kommet så langt er det ingen fridager, returner "False" Return False End Function Public Function IsOfficialHoliday(ByVal _date As Date) As Boolean 'translated php script form xibriz: https://www.diskusjon.no/index.php?showtopic=1084239 _date = _date.Date 'in case time was added Dim easterDate As Date = GetEasterDate(_date.Year) 'Sjekker om datoen er 1. Januar If _date = New Date(_date.Year, 1, 1) Then Return True 'Sjekker om datoen er pamlesøndag (1. påskedag - 7 dager) If _date = easterDate.AddDays(-7) Then Return True 'Sjekker om datoen er skjærtorsdag (1. påskedag - 3 dager) If _date = easterDate.AddDays(-3) Then Return True 'Sjekker om datoen er langfredag (1. påskedag - 2 dager) If _date = easterDate.AddDays(-2) Then Return True 'Sjekker om datoen er 1. påskedag If _date = easterDate Then Return True 'Sjekker om datoen er 2. påskedag (1. påskedag + 1 dag) If _date = easterDate.AddDays(1) Then Return True 'Sjekker om datoen er 1. mai (offentlig høytidsdag) If _date = New Date(_date.Year, 5, 1) Then Return True 'Sjekker om datoen er 17. mai (grunnlovsdag) If _date = New Date(_date.Year, 5, 17) Then Return True 'Sjekker om datoen er kristi himmelfartsdag (40. påskedag) If _date = easterDate.AddDays(39) Then Return True 'Sjekker om datoen er 1. pinsedag (50. påskedag) If _date = easterDate.AddDays(49) Then Return True 'Sjekker om datoen er 2 pinsedag (51. påskedag) If _date = easterDate.AddDays(50) Then Return True 'Sjekker om datoen er 1. juledag (25. desember) If _date = New Date(_date.Year, 12, 25) Then Return True 'Sjekker om datoen er 2 juledag (26. desember) If _date = New Date(_date.Year, 12, 26) Then Return True Return False End Function Public Function GetEasterDate(ByVal Year As Integer) As Date 'Originally taken from: http://www.thoughtproject.com/Snippets/Easter/Easter.vb.txt Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer Dim e As Integer Dim f As Integer Dim g As Integer Dim h As Integer Dim i As Integer Dim k As Integer Dim l As Integer Dim m As Integer Dim n As Integer Dim p As Integer If Year < 1583 Then Return Nothing Else ' Step 1: Divide the year by 19 and store the ' remainder in variable A. Example: If the year ' is 2000, then A is initialized to 5. a = Year Mod 19 ' Step 2: Divide the year by 100. Store the integer ' result in B and the remainder in C. b = Year \ 100 c = Year Mod 100 ' Step 3: Divide B (calculated above). Store the ' integer result in D and the remainder in E. d = b \ 4 e = b Mod 4 ' Step 4: Divide (b+8)/25 and store the integer ' portion of the result in F. f = (b + 8) \ 25 ' Step 5: Divide (b-f+1)/3 and store the integer ' portion of the result in G. g = (b - f + 1) \ 3 ' Step 6: Divide (19a+b-d-g+15)/30 and store the ' remainder of the result in H. h = (19 * a + b - d - g + 15) Mod 30 ' Step 7: Divide C by 4. Store the integer result ' in I and the remainder in K. i = c \ 4 k = c Mod 4 ' Step 8: Divide (32+2e+2i-h-k) by 7. Store the ' remainder of the result in L. l = (32 + 2 * e + 2 * i - h - k) Mod 7 ' Step 9: Divide (a + 11h + 22l) by 451 and ' store the integer portion of the result in M. m = (a + 11 * h + 22 * l) \ 451 ' Step 10: Divide (h + l - 7m + 114) by 31. Store ' the integer portion of the result in N and the ' remainder in P. n = (h + l - 7 * m + 114) \ 31 p = (h + l - 7 * m + 114) Mod 31 ' At this point p+1 is the day on which Easter falls. ' n is 3 for March or 4 for April. Return DateSerial(Year, n, p + 1) End If End Function Merk: Det kan være du vil fjerne noen linjer i scriptet eller i det minste kommentere dem ut. Det er f.eks. ikke sikkert at du har fri uka etter påske: dateList.Add(New Date(2017, 4, 18)) ... og hvis ikke, kan du fjerne denne linjen. Det er heller ikke sikkert du har fri romjulen, så da bør du fjerne dette: If _date.Month = 12 Then If _date.Day >= 27 AndAlso _date.Day <= 31 Then Return True End If End If Du kan også selvfølgelig legge til dine egne unntak for arbeidsdager hvis du ønsker det. Har du fri hver fredag, så kan du jo bare legge det til. Jeg har nå byttet ut alle sjekker på om det er helg eller ikke til å sjekke om "Fridag" er på eller ikke. Når jeg tenker meg om tror jeg at jeg skal sette "On" til å være "Fridag" og "Off" til å være "Arbeidsdag". Som sagt; så gjort: ... som da blir slik: EDIT: 17. mai var satt til å være 17.01 istedenfor 17.05. Korrigert. Versjon med to devicer, en for dagen i dag og en for dagen i morgen:
    12 poeng
  44. Nå har jeg kjørt HS siden jeg traff Moskus på Diskusjon.no for ca 1000 år siden. HS3 ble konvertert fra HS2 med diverse tvilsomme utilities og all mulig drit HW er testet på produksjons installasjonen (ja jeg vet jeg burde ha en test install @Moskus) som nå er blitt ganske shaky: Underlige meldinger i loggen under oppstart (som kommer og går) Forsinkelser på Z-wave nettet på opptil 45sekunder (Jeg har værdens mest tolmodige kone ) Konstant feil under inkludering og ekskludering av nytt Z-wave utstyr med tilhørende reset av interface, restarter osv En jungel av eventer som ikke lengre er i bruk og delvis prosesserer på devicer som er fjernet for lenge siden osv osv Kjøpte upgrade til HS4 første gang den ble releaset og har gruet meg siden til å ta spranget. For jeg vet: Jeg må starte med en clean install og bygge opp alt sammen på nytt: 1156 Devicer 416 Eventer 40 Fibaro dimmere og switcher i veggen 12 Fibaro plugger 6 Varmekabler med Heatit vegg termostater 12 Oregon temp følere 3 RFXTrx over SX Vitrual link 6 videokamera Mange Nexa og X10 batteribrytere Flere iTacher med IR og relee, 3 varmepumer, el-bil lader, Onkyo forsterker, 12 Echo devicer, Squeezeboxer, 3 Samsung TVer, video prosjektor, Arduino selvbygg osv osv Og sist med ikke minst, en HSTouch med 19 skjermbilder med stinnt av slidere, knapper og statuser i kjent Powerpoint/Fermate stil Skrekk og gru. Dette kommer til å bli veldig slitsomt 2 Ganger har jeg satt opp ny PC og installert Windows og HS4 på den men heldigvis måtte ta den til noe annet (skanning av lysbilder, styring av CNC fres med Mach3 osv) Men i forrige uke var det ingen vei utenom. PCen var på plass med Teamviwer, UZB, Nortek (Sigbee) sticken og en ekstra RFXCOM gravd fram fra skuffen og drivere lastet ned og installert. Jeg var igang! Jeg vet vet at det å ha noen å "snakke med" (rapportere til) gir meg motivasjon og kunne sikkert lagt opp dette som en blogg, men velger heller å legge det som en tråd her for å invitere til diskusjon og erfarings utveksling med andre som er i samme båt. Blir nok en del "snakking med meg selv" men det får ikke hjelpe. Tut og kjør (korser meg og banker i bordet)
    12 poeng
  45. Flere av oss var litt skuffet da intin.no stengte dørene for oss vanlige forbrukere (de er vel de eneste som forhandler HomeSeer i Norge?). Men Intin er ikke tapt bak en stol! De tilbyr nå en fordelskundeavtale for våre medlemmer! Send brukernavnet ditt til [email protected] så lager de en konto for deg.
    12 poeng
  46. Noen spurte meg om hvordan jeg bruker LED-lenker i huset, så her kommer en kort oppsummering. Vi bruker LED-lenker som en aktiv del av belysningen både inne og ute. Den siste RGBW-stripen jeg kjøpte var denne. Soverommet har en bak rammen på sengen. Brukes primært til solskinnsvekkerklokke (det tar 30 minutter fra rødt til hvitt, og dimmer opp saktere i begynnelsen enn på slutten) Ute har vi 15 meter stripe langs gangstien opp til huset (i tillegg til noen 12V LED-spotter for buskbelysning). Montert under alu. avrundete trappeneser, ca 15-20 cm høyde. RGBW LED-stripe over (de motoriserte) lamellene i stua: Annen vinkel (dårligere fargegjengivelse): RGBW over skapet i spisestua (farge satt som den samme som den over lamellene, og forsøkt tilpasset fargen til resten av lyset i stua) Over kjøkkenbenken (kun cool white). Gir et godt arbeidslys, men ingen romantikk. Ligger dobbelt, dvs langs kanten mot veggen og listen. RGB-stripe over senga til yngste datter. Eldste datter fikk "dansespeil med lys". Før og etter oppdatering til Fibaro RGBW-controller, den gamle 433MHz controllerens fjernkontroll begynte å bli dårlig... Lektet ut 12 mm fra veggen:
    12 poeng
  47. Nytt kjøkken skal være et ryddig kjøkken. Brødristeren bor nå i brødskuffen. Elektrikeren har lagt stikkontakt bak skuffen (samme løsning på badet også, til bl.a. elektriske tannbørster). Men det har vært en teoretisk fare for at brødristeren kan bli satt på med skuffen igjen (f.eks. man hiver brødskivene ned i risteren og lukker skuffen), men ikke nå lenger! Magnetbryter direkte assosiert til reléet:
    12 poeng
  48. Har endelig kommet dit at prosjektet mitt i bilen har blitt satt i bruk. Har montert en rpi i bilen koblet til dens canbus vha en hat fra skpang som leser dataene fra ene canbus linjen. Så nå er den satt opp slik at hvis jeg drar i lyshornhendelen og jeg trykker på håndbrekk AV (min bil har egen funksjon for håndbrekk av og på) så åpnes garasjeporten. Har I tillegg satt opp geofencing slik at jeg kan bruke samme funksjon uavhengig om jeg er hjemme eller hos mine foreldre. Oppsummering: Rpi leser canbus og sender via mqtt. Homeseer mottar signalet via mqtt og sjekker status på porten og om funksjonen er aktivert (kan deaktiveres hvis bilen er til service eller lånt til noen) Homeseer sender åpne kommando til rett garasjeport basert på koordinater også mottatt fra rpi over mqtt har også sjekk på at det er valid GPS fix og at den ikke er mer enn XX sekunder gammel.
    12 poeng
  49. Med to katter og en 9 måneder gammel baby i hus, hadde det unektelig vært kjekt med en robotstøvsuger for å få unna det verste av støv og skitt som ligger rundt. Problemet er bare at vi har to etasjer, og å ha to robotstøvsugere til flere tusen kroner er ikke aktuelt. Vi har prøvekjøpt en støvsuger tidligere, men jeg ble ikke mektig imponert da det var flere steder den ikke kom seg rundt. Likevel klarte jeg aldri å legge vekk tanken om å ha en liten hjelper i hverdagen. Gleden var stor da jeg kom over en video av The Hook Up på YouTube, som viste hvordan du kunne smartifisere eldre Roomba-er. De er nemlig utstyrt med en mini-DIN-port under dekselet på toppen. Denne kan du enkelt kommunisere med og spesifikasjonen ligger åpent på nett. Jeg kjøpte en brukt støvsuger på Finn og de nødvendige delene på AliExpress. Etter en times tid med programmering (copy/paste fra The Hook Up), oppsett i Home Assistant, lodding og litt tilpassing av dekselet på støvsugere, var alt i boks. Støvsugeren er nå integrert med Home Assistant, via en ESP-01 og kommunikasjon over MQTT. Den er også satt opp mot Node-RED for litt tidsstyring av støvsuging. Blant annet støvsuger den på hverdager i et gitt tidsrom hvor ingen er hjemme, basert på tilstedeværelsessensorer. I tillegg får jeg inn informasjon om batteristatus og status på støvsugere (støvsuger, lader, returnerer etc). Alle delene kostet under 15 kr, og arbeidet tok bare én time fra start til slutt. Så da sparte jeg noen tusenlapper, og planlegger allerede å anskaffe en Roomba til den andre etasjen. Høy trivselsfaktor og fruen i huset ble veldig fornøyd! Legger ved et par bilder av resultatet. Jeg lagde et hull i dekselet der porten ligger for å enkelt koble til/fra med jumper wire, da jeg ikke syntes ledninger rett i porten satt særlig godt, og at elektronikken under dekselet ville presset på dekselet. Tanken er å feste enkelt med hvit elektrikertape. Disclaimer: Jeg har ikke funnet ut noe av dette selv, alt kommer fra videoen lenket lenger opp i innlegget.
    12 poeng
  50. Denne var legendarisk!
    12 poeng
Vinnerlisten er satt til Oslo/GMT+02: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.