Tid-av-använda luftkonditionering med en styrenhet för Vera Smart Home (6 / 10 steg)

Steg 6: Vera scen - HVAC Tick funktion

Varje gång denna scen som kallas kräver vi funktionen tou_hvac_tick() för att växla termostat lägen och växlar baserat på nuvarande fästing kontra fästingar tillåtet per tid-av-använda politiken. Om du har flera termostater kan du anropa funktionen en gång för varje. Starta vi definiera parametrar och titt på nuvarande läge (Off/Cool/värme/Auto) och staten (Idle, kylning, uppvärmning) av termostaten:

funktion tou_hvac_tick (tickande, politik, dt, id)
lokala urn_hvac_mode = "urn: upnp-org:serviceId:HVAC_UserOperatingMode1"
lokala urn_hvac_state = "urn: micasaverde-com:serviceId:HVAC_OperatingState1"
lokala mode_status = luup.variable_get (urn_hvac_mode, "ModeStatus", id)
lokala mode_state = luup.variable_get (urn_hvac_state, "ModeState", id)

För att göra din termostat fungera så normalt som möjligt tjänar en kredit när på men inaktiv och förlorar en kredit annars. Om termostaten har HP då det inte är begränsad, vilket innebär en måttlig dag syns termostat ständigt cykling mellan eller aktiv. Om den startar kyla eller värme det kommer så tills det tar slut krediter, menande om du kommer hem och huset är för varmt du kan skruva ner temperaturen och ge den ett lyft utan att omedelbart starta begränsa.

--TimeOfUseCredits: öka om termostaten på men inaktiv; dekrement om aktiva
lokala var_credits = tonumber (luup.variable_get ("TimeOfUse", "TimeOfUseCredits", id) eller 0)

om (mode_status ~ = "Off") sedan
om (mode_state == "Idle") och (var_credits < policy.l) sedan
var_credits = var_credits + 1
ElseIf (mode_state ~ = "Idle") och (var_credits > 0) sedan
var_credits = var_credits - 1
slutet
slutet

Svåra här är att göra med enstaka misslyckande att överföra ändringsbegäranden Z-Wave eller boet termostat-läge. När släcka en termostat vi spela in det aktuella läget som "TimeOfUsePrevious" variabel termostat enhetens. Sen när återupptar vi uppsättning "ModeTarget" till detta värde och på nästa fästing kontrollera "ModeStatus" att se att kommandot tog. Först då kan vi rensa föregående läge till "None".

--TimeOfUsePrevious: ange "Off" om aktiv eller tidigare läge begränsat
lokala var_previous = luup.variable_get ("TimeOfUse", "TimeOfUsePrevious", id) eller "Ingen"

om (tick > = policy.l) och (var_credits == 0) sedan
om (var_previous == "None") sedan
luup.variable_set ("TimeOfUse", "TimeOfUsePrevious", mode_status, id)
luup.call_action (urn_hvac_mode, "SetModeTarget",
{NewModeTarget = "Off"}, id)
slutet

ElseIf (var_previous ~ = "Ingen") sedan
om (var_previous == mode_status) sedan
luup.variable_set ("TimeOfUse", "TimeOfUsePrevious", "Ingen", id)
slutet
luup.call_action (urn_hvac_mode, "SetModeTarget",
{NewModeTarget = var_previous}, id)
slutet

Till sist spara nya kreditkort räkningen. För felsökning ändamål jag också logga tiden av policy för användning som en variabel på termostat enheten och avsluta funktionen:

luup.variable_set ("TimeOfUse", "TimeOfUseCredits", var_credits, id)
luup.variable_set ("TimeOfUse", "TimeOfUsePolicy", policy.t, id)
slutet

Se Steg
Relaterade Ämnen

ReWire gamla Nokia handsfree (WH-102 & WH-205) att använda det med Android-telefoner (OMTP till CTIA omkoppling)

HejFörst vill jag säga förlåt om min svenska.Så innan en månad sedan jag köpte en begagnad Nexus 4 och var amased som telefonerna kommer utan hörlurar. Efter lite forskning på internet fann jag att jag kan använda en gammal nokia handsfree efter viss...

Konvertera en toy piano för att arbeta som en MIDI-enhet och använda den med Synthesia

målet med detta projekt:Konvertera en billig leksakspiano för att arbeta som en MIDI-enhet och använda den med Synthesia (http://www.synthesiagame.com/)Andra program som använder MIDI-ingångar kan också användas.Tillvägagångssätt:Tryckknappar av pian...

Rädda en NOKIA 3310 LCD och använda den med Arduino

Detta instructable berättar hur till extraktet LCD-skärm defekt händig Nokia 3310 och att modifiera den för användning med Arduino.Jag hade en gammal defekt Nokia 3310 händig. Det inte laddar batteriet. Jag ville kasta bort, men för mig kom den idén,...

Använda Arduino med TIP120 transistor till kontroll motorer och hög effekt enheter

Hej igen.Så du har en DC-motor eller lampa men oavsett hur du ansluter dem till din Arduino de bara fungerar inte? Gissa vad, Arduino är en hjärna som kommer med små muskler. Det kan styra lysdioder och andra låg effekt nicknacks men inte dessa power...

Konvertera din POP/dryck maskin att använda RFID med Arduino

Detta är min första instructable så alla hjälpsamma kommentarer uppskattas. Jag började projektet ungefär ett år sedan.Jag började söka om hur du använder arduino för att styra en automat och jag hittade ett projekt som utan det jag inte skulle ha få...

Spåra din position utan att använda GPS (med LAC och CID)

HejVi behöver alla en enhet vid något tillfälle att hålla reda på våra vänner, familj eller våra tillhörigheter (fordon... min dyrbara!) etc. men inte alla av oss har råd med kostnaden för en GPS-enhet. Så, jag bestämde mig att hitta på internet om d...

Använda PmodCON3 med chipKIT produkter

PmodCON3 är ett användbart verktyg som hjälper gränssnitt styrelser med servomotorer. I detta instructable, vi ska gå över hur PmodCON3 fungerar och ge ett exempel på hur till få Servomotorer, PmodCON3och chipKIT WF32 arbeta. Detta Instructable komme...

Använda ATtiny85 med I2C EEPROM

detta är en enkel installation för att använda en I2C EEPROM med ATtiny85. Det finns många webbplatser som beskriver användningen av I2C eeprom, men det finns några nyanser när du använder en ATtiny85 som uppstår på grund av bristen på verkliga I2C....

Om jag kunde vara något - använda Paint med berättelsen handstil

uppmärksamhet elementära lärare!Lära eleverna att använda programmet grafisk färg för att följa deras fantasifull berättelse skriver i digitala bilder. Integrera språk konst med teknik!Varje gång jag gör denna lektion med mina elever, de älskar det!...

Solid State luftkonditionering med gamla Bitcoin hårdvara Ver. 2

Version: 2Solid State luftkonditionering med gammal Bitcoin hårdvaraVideo visar alla steg för att slutföra detta projekt.Steg 1: delar Delar från gamla Bitcoin hårdvara:2 x - Fan2 x - kylflänsAndra delar:1 x - stor TEC1-12730 253W termoelektrisk Pelt...

Joule tjuv - använda lysdioder med endast ett AA-batteri!

Att göra LED enheter bärbara kan vara lite skrymmande på grund av batterierna. Joule tjuven löser det, genom att öka ett enda AA-batteri spänning till en tillräckligt hög nivå att tända en LED.Denna kompatibel medför hur att löda en joule tjuv tillsa...

GPS-tid (UTC) till lokal tid konvertering genom att använda Arduino

jag har en GPS-mottagare, Holux M-1000, som du kan använda den med en bärbar dator, en Handdator eller en mobiltelefon via Bluetooth. Jag hade använt det för navigering med Palm TX och Treo700p (Ja, jag har länge varit ett stort fan av Palm PDA-serie...

Hur man undviker hälsorisker med att använda elektroniska prylar

Vardagliga elektroniska prylar som tabletter och smartphones får ibland kritik för otillbörlig hälsoproblem som är helt ogrundade – såsom oro över strålningen och radiosignaler som påverkar kroppen.Det finns dock vissa fall där cool teknik vi använde...

Använda Återställ pin / pin 1 på Attiny utan att bry sig med säkringar

Du shldnt att kunna se detta Instructable som det är opublicerade. Jag hade glömt att jag hade gjort en liknande en föreAttiny 13, 25, 45, 85 är charmiga lilla chips som som namnet säger, är små. De ska ha 6 I/O pins men pin nummer ett (PB5/ADC0) fun...

Använda din Adafruit rgb lcd Pi plattan (för Raspberry Pi) med Arduino

Hej alla.Som titeln säger du lära dig hur du använder din Adafruit rgb lcd Pi plattan men med Arduino. Jag en gång köpte en men aldrig använt den med min Raspberry Pi och jag letade efter ett sätt att använda det med min Arduino projekt. Med detta sä...

Använda följetong med Edison

Detta är en kort guide till att använda Edison i OS X utan att använda några installatörer eller programvara från tredje part.Steg 1: Steg 1: Anslut nätaggregatet och USBSteg ett är att ansluta strömförsörjningen och USB-kabeln.Använd de yttersta mik...

Använda en 4 siffrig, 7 segment display, med arduino

I denna tutorial kommer jag att visa dig hur du använder en 7 segment display med 4 siffror genom att använda arduino. Några grundläggande saker jag vill påpeka är att detta tar upp nästan alla digitala stiften på arduino uno, leonardo, styrelser med...

Förnyade mikrofon (ändra audio Jack att använda med pc)

Hej!För några dagar sedan, jag hittade en gammal mikrofon någonstans i min lägenhet och jag ville använda den med min pc. Problemet var att den hade en gammal 3-polig mini-din-kontakt (wiki-länk: DIN anslutning) som naturligtvis inte passar i uttaget...

Avkodning RC signaler genom att använda arduino

#ThugLifeRobotHej där folk,Idag ska jag visa er hur man använder RC styrenheter och avkoda deras signaler för någon av dina projektSom många av du vet att vi kan direkt använda servomotorer med RC mottagare sedan, servon användning PPM (Pulse Positio...