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

Anbefalte innlegg

Skrevet (endret)

Dette er en guide for custom oppsett av RollerTrol RF rullegardinmotorer (m.nu selger vel den minste versjonen av disse) i HomeSeer 3. Dette baserer seg på en virtual device og en event som trigger et eksternt skript. Dette er et bash-script, så i utgangspunktet er dette for de som har en linux-installasjon av HS3, men det burde være mulig å kjøre et bash-skript fra windows også, og det vil være veldig lett å få dette til å kjøre på domoticz.

 

Dette er min v2 av et slikt skript. Grunnen for å lage dette er å få inn følgende funksjonalitet på en RollerTrol rullegardinmotor som allerede er oppe og går med RFXcom på homeseer:

1. HS3 skal vite om rullegardinen er oppe, nede eller hvor mange prosent åpen/lukket den er.

2. Rullegardinen skal kunne gå direkte fra fra X til Y prosent uten å måtte åpnes eller lukke helt først.

3. Det skal være knapper i HS for de mest brukte posisjonsene og en nedtrekksmeny/slider for antall prosent lukket.

4. En veggbryter/fjernkontroll skal kunne fungere på klassisk vis: en knapp for opp, en for ned, og dersom rullegardinen er i bevegelse skal et trykk til på hvilken som helst knapp stoppe den. I tillegg kan man valgfritt ha ekstra knapper for favorittposisjoner.

5. "Alexa, set Study Roller Blinds to 40%."

6. Dersom rullegardinen er X prosent lukket og man setter den til X prosent nok en gang -- da skal det ikke skje noe (f.eks. trigger grunnet høy direkte stråling).

 

Slik ser det ut i HS3. Jeg har kalt rullegardinene for «Roller Blinds» fordi Alexa ofte misforstår «Blinds». Jeg har gjort dette på alle rullegardinene, og alle heter det samme, men location 2 er forskjellig basert på hvilket rom de er i.

«Stop» er egentlig unødvendig siden hvilken som helst knapp stopper rullegardinene dersom de allerede ruller.

593e96ef4d4cc_ScreenShot2017-06-12at15_27_39.thumb.png.ba8613eeb9b31b829dbd70f759f08376.png

Ny post følger...

Endret av DiderikFrom
  • Like 2
Skrevet

Opprett en virtual device som du kaller «Roller Blinds» og legger til rommet der du har rullegardinene. Dersom du vil bruke den med Alexa, passer du på at «Voice command» er avkrysset. Noter deg «Reference ID».

Under Status Graphics, setter du det hele opp som følger (men du kan senere endre prosentknappene til å passe akkurat dine favorittposisjoner):

593e98f3dbcd0_ScreenShot2017-06-12at15_11_42.thumb.png.4d7783cc9d21c2e3ce051043049dabd8.png

Endre «Slider» til «Drop down» dersom du foretrekker det.

 

Du må nå opprette en ny event:

593e996465d57_ScreenShot2017-06-12at15_12_29.thumb.png.6cd06264963623d52e26e58a92f1f675.png

 

Trykk senere på «Edit» og legg til banen til der du har lagret skriptet som kommer i neste post. Poenget her er at hver gang denne virtuelle device'n settes til en verdi, kjører dette skriptet.

 

  • Like 1
Skrevet

Og nå kommer det viktigste: skriptet.

Det er et bash-skript og må lagres med endelsen .bash. Jeg har et for hver rullegardin, og kaller dem Blinds_{ROM}.bash, f.eks. Blinds_Living_Room.bash

Du må bestemme deg for hvor du skal lagre disse, og etter at de er lagret, må de gjøres kjørbare med f.eks. 'chmod ug+x Blinds_Living_Room.bash'. Da får eier og gruppen rettigheter til å kjøre/eksekvere skriptet.

 

Skriptet baserer seg på at du har tatt tiden det tar for rullegardinene å rulle fra helt åpen tilstand til helt lukket tilstand (downtime), og fra helt lukket tilstand til helt åpen tilstand (uptime). Denne tiden (i millisekunder) plottes inn begynnelsen av skriptet sammen med referenceID til den virtuelle devicen du noterte over. Du må også notere og plotte inn ID'en til motoren i RFXcom.

Jeg brukte litt tid før jeg skjønte at dette fungerer veldig bra med kun disse to målene -- jeg forsøkte å regne ut akselerasjon og forskjellige hastigheter ut fra hvor åpen/lukket rullegardinen var, men det var helt unødvendig. Det er veldig liten forskjell fra 40% lukket fra gang til gang. Dersom man kjører mye opp og ned i halvåpen tilstand vil det bli en liten forskyvning, men dette nullstilles hver gang man åpner eller lukker helt.

 

Blinds_RoomName.bash

 

Se nå post 2 igjen. Hver gang verdien til den virtuelle devicen endres, kjøres skriptet og når rullegardinene har endret posisjon, oppdateres verdien til den virtuelle devicen. Første gang du kjører, er det best å kjøre helt opp et par ganger, og så ev. helt ned slik at de midlertidige filene kan skrives.

 

  • Like 1
Skrevet
20 minutes ago, Moskus said:

Interessant! Jeg ønsker meg en .NET-versjon av scriptet, men det kan jeg muligens ordne selv... ;) 

Ja, dersom man ikke kjører på linux er det sikkert best med noe som er native for HomeSeer/Windows. Lurte på å skrive det i .NET selv, men skriptet har ganske mange conditions og .NET er jeg ganske grønn på, så da måtte jeg gjøre det på en måte jeg kan godt.

Ikke alt er like godt annotert i skriptet, men bare spør dersom noe er uklart.

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • 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.