Vinnerliste
Populært innhold
Viser innholdet med mest poeng fra 26. mars 2018 i alle områder
-
Å 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:1 poeng
-
Vi har en relativt stor innebygget garasje, delt med naboen. Til sammen parkerer vi 4 biler der. Temperaturen ligger på rundt 10 grader, mer eller mindre konstant. Jeg har målt relativ luftfuktighet i garasjen en stund, og har blitt litt bekymret for dette. Ikke sjeldent at den ligger over 70%. Vi har mekanisk lufting i garasjen, som trekker ut luft (og dermed "blåses" det inn friskluft via ventiler). Kjøpte en avfukter og brukt den gjennom vinteren, men har problemer med å bli enig med meg selv om den faktisk har effekt, eller om den blir "drept" av luftingen. Samtidig, selv om jeg spot-måler høye RF-verdier, så virker det ikke å være et stort fuktproblem. Har pappkasser stående som ikke blir myke, osv. Så jeg bestemte meg for å logge målingene over tid, for å tallfeste elendigheten litt. Det ballet selvsagt på seg, som slike ting gjør. Nå er jeg bekymret for 3 ting: - Når det er fuktig i garasjen, og kaldt ute, dugger det kraftig på bilene når de kjøres inn. Det er ikke sunt for en våt bil (enten fra regnvær eller fra kondens) å bli parkert i 10 varmegrader. Ideelt for rust. - Når det er varmere ute enn i garasjen, er jeg redd for at den fuktige uteluften som kommer inn via ventilasjonen kondenserer når den kommer inn - Generell bekymring rundt høye målinger av RF Første steg er å få kontroll på fakta, så får vi evt gjøre noen tiltak når jeg har et godt tallgrunnlag. Har forsøkt å forankre dette litt i fysikken, og her håper jeg at andre vil være med å synse/nyansere/bekrefte det jeg gjør: Bekymring 1 - rust på biler pga kondens Jeg tenker som så at dersom bilene er kaldere enn duggpunktet i garasjen, vil det (teoretisk) dugge. I praksis tror jeg de må være litt kaldere enn som så, men tar utgangspunkt i dette. Da antar jeg at bilene har temperatur lik ute-temperaturen når de kjøres inn. Måler temperatur og RF i garasjen, og regner ut duggpunktet fra disse. Slik ser plottet ut: Selve plottet er utjevnede målinger over tid. Registrerer 1 gang i timen for alle sensorer, men det blir litt for høy frekvens for et oversiktlig plott, så de er her utjevnet ved å ta snittet over siste 6 timer. Der plottet er rødt, er ute-temperaturen aka biltemperaturen kaldere enn duggpunktet i garasjen. Min antagelse da er at det er som å ta et kaldt glass ut i solen - da dugger det. I praksis har jeg ikke sett noe dugg på bilene de siste ukene, som tilsier at det ikke inntreffer nøyaktig iht mine antagelser. Men jeg tror (!) fysikken skal være fornuftig her. Når jeg får kalibrert dette litt, vil det kunne gi en oversikt og en advarsel. Løsningen må da bli å tørke opp luften i garasjen. Plottet på høyre side viser siste verdi ("nå"), og reagerer på tilstanden. Rødt plott + melding betyr "problem". Grønt plott, ingen melding, betyr alt OK. Bekymring 2 - Uteluft kondenserer når den kommer inn Jeg antar da at dersom temperatur i garasjen er lavere enn duggpunktet ute, vil uteluften kondensere når den kommer inn. Jeg ser for meg at luften flyttes inn med de termodynamiske egenskapene den har ute, og dermed vil den slippe vann dersom den blir avkjølt nok. Det kan godt være at det ikke er fullt så rett-frem, jeg er litt på shaky grounds her, må jeg innrømme. For å få kontroll på dette, måler jeg ute-temperatur, og ute-RF, og regner ut ute-duggpunkt fra disse. Garasjetemperatur måles allerede, så da får jeg følgende plott: Plottet er lagt opp rundt antagelsen om at det er greit å lufte med friskluft når garasjetemperaturen er høyere enn duggpunktet til uteluften. Høyresiden indikerer nå-tilstand. Grønt betyr OK. Jeg forventer at dette plottet blir rødere mot sommeren med økende temperatur ute. Bekymring 3 - generell relativ luftfuktighet Dette er den originale bekymringen. Her måler jeg bare luftfuktighet i garasjen. Siden vi lufter med friskluft, er det min antagelse at relativ luftfuktighet i garasje skal korrelere ganske tett med RF ute. Plottet viser at, ja, det gjør forsåvidt det - kanskje med en liten tidsforskyvning, som også er forventet: Her har jeg fargelagt plottet over 60%, som føles som en grei grenseverdi for å si om RF er høy eller ikke. Det gir selvsagt liten mening når temperatur ikke tas med i betraktningen her, men OK... Det er omtrent ved 60% jeg begynner å tenke at "tja, nå var det litt høyt..". På sikt håper jeg at jeg skal kunne måle effekt av avfukting ved å finne akkurat samme omgivelsestilstand, men lavere RF i garasjen når avfukting er aktiv. Da får jeg et mer eller mindre håndfast mål på at avfukteren gjør jobben. Jeg vet at den er grovt underdimensjonert, og når vi kjører inn 4 våte biler, har den ikke en sjanse. Men jeg skulle likt å vite om den har effekt i det hele tatt, eller om den i praksis kun står og bruker strøm.. Noen hobby-meteorologer (eller andre) som har lyst å synse litt om mine antagelser her? Tar også gjerne imot tips til enkle måter å kunne vise disse plottene i garasjen, evt forenkle det ned til en eller annen form for indikator. Hadde vært litt artig å kunne satt opp noen LED's eller noe som indikerer om vi bør lufte, eller ikke, eller tørke, eller ikke. Det blir evt neste prosjekt. Plottene er laget i Python med matplotlib nå. Har også laget mer eller mindre samme plott med plot.ly/D3, så det skal være greit å vise dem frem f.eks. på et nettbrett. Men jeg er ikke helt der at jeg føler det er verdt et eget nettbrett i garasjen kun for å vise disse... Men vi får se, jeg har investert i dummere ting før. Mange ser kanskje også at plottene er inspirert blant annet av tråden til @berland.1 poeng
-
Jeg gjetter på at min løsning med smart kombinasjon av vifter og avfukter gir lavest strømforbruk. Kutting av ventilasjon og god sorpsjonsfukter går fint med tanke på rust, men koster mer i innkjøp og drift, gjetter jeg. Temperatur i garasjen vil være høyere uten ventilasjon.1 poeng
-
Så bra, jeg er ikke kjent med node-red eller MQTT, men da høres det ut som jeg skal bli det1 poeng
-
De har støtte for IFTTT, men kun for å styre roboten (start, stopp, pause osv.), ikke for å hente ut info. Har derfor brukt pybotvac i Domoticz til å gi meg varsel klokka 20 hvis den ikke er i docken sin. Tenkte egentlig å legge ut en guide en gang.1 poeng
-
Et "kjedelig" svar, men etter min mening det viktigste/klokeste du gjør: Sørg for plenty med ekstra trekkerør nå når du har mulighet til det. Gjerne mye mer enn det du tror du vil få brukt for :-)1 poeng
-
Nå er endelig minidrivhuset på nett. En Luxorparts jordfuktmåler måler fuktigheten i en av pottene, en DHT11 måler lufttemperatur og -fuktighet, en Luxorparts lyssensor måler lysmengde, og en WeMos D1R1 samler verdiene, starter en liten 5V vannpumpe ved behov og tilbyr et RestAPI et par Munin-plugins bruker for å lage grafer. (Så får vi se om opplegget sørger for at plantene ikke tørker ut, slik de har hatt en lei tendens til å gjøre tidligere år...)1 poeng
-
Montert 2 stk magnet brytere på døra, 1 for låsen og 1 for døra, koblet til Arduino i kjelleren (som nå kontrollerer litt av hvert i huset). Jobbet videre med en v2 av den termostaten jeg laget tidligere, nå med all elektronikk integrert i selve veggboksen, v1 hadde en egen arduino montert separat som styrer 2 termostater. Denne blir modulbasert og kan lese både NTC og DS18B20 gulvfølere, har integrert romføler, samt drives direkte med 230v eller med ekstern strømforsyning hvis man ønsker.1 poeng
-
Versjon som sjekker dagen og morgendagen er lagt i spoiler nederst i førstepost.1 poeng
-
Ja... ? Jeg skal oppdatere første-posten.1 poeng
-
Kan melde at på tross av dette, ble det under tvil, feiret 17 mai hos oss.1 poeng
-
Jeg er enkel av meg.. ser bare pluss og minus1 poeng
Vinnerlisten er satt til Oslo/GMT+01:00