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

Bevegelsesstyring gang.


Dreuf

Anbefalte innlegg

Jeg har en gang med lamper oppe og nede, sammen med bevegelsessensorer oppe og nede.

Lyset skal gå på 50% opp og nede på dagtid, og kun 10% nede på natterstid.

Dag og natt skiller jeg med en dummy som heter "husmodus"

 

Men... Hvorfor trigger både Lys gang natt og dag på denne:

 

Skjermbilde 2016-10-07 kl. 23.03.40.png

Lenke til kommentar
Del på andre sider

"OR IF" viser til at her begynner det en ny betingelse, og alle "AND IF"-er under der hører til den betingelsen. Altså har "IF 1.etg Gang Bevegelse Gang Nede changes and becomes Motion" har INGEN betingelser. Den trigger uansett hvilken tid det er på døgnet.

 

Et par tips:

1. "has been X for at least 0s" bør du bytte med "has a status equal to X"

 

2. "Changes and becomes" vil kun trigge når bevegelsessensoren har rukket å gå tilbake til "No motion" først.

 

Hvis jeg forstår problemstillingen riktig, ville jeg satt det opp slik:

IF 1.etg Gang Bevegelse Gang Nede had its value set to Motion
AND IF Ute Ute Husmodus has a status equal to Dagmodus

OR IF 2.etg Gang Bevegelse Gang Oppe had its value set to Motion
AND IF Ute Ute Husmodus has a status equal to Dagmodus

 

 

Her er et eksempel hos meg:

cr5hiKa.png

 

Denne skrur av lyset etter 3 minutter, men ikke hvis det er en ny bevegelse innen den tid (Remove Delayed Device Actions og ny delayed action sørger for det).

  • Like 2
Lenke til kommentar
Del på andre sider

2 timer siden, Dreuf skrev:

Aha, jeg ser det her er litt forskjell fra Blockly som Domoticz bruker...

Ja, heldigvis. :)

 

Blocky er jo forferdelig! ;)

(OK, personlig preferanse. Men mener det er lettere å få oversikten over HomeSeers skrevne tekst enn Blocky)

Lenke til kommentar
Del på andre sider

  • 1 måned senere...

Fortsetter på denne posten siden det omhandler bevegelsesstyring for gang(er). 

 

Har en situasjon som vist under. I første etasje går man gjennom gangen og inn til stue/kjøkken, mens i andre etasje kommer man opp trappen, div. gjeste/-barnerom, gjestebad og hovedsov helt til høyre i gangen. 

Multisensoren i første etasje er felt inn i himlingen, mens Philio og Multisensor i 2 etg. ikke er endelig plassert. Tror plasseringene er kurante og selv om alle da blir stående på batteri så har jeg ikke behov for veldig ofte oppdateringer på temp/fuktighet i gangene.

Ganger.jpg

Ønsker å få litt kontroll på hvor folk beveger seg (i utgangspunktet er vi bare 2 voksne og en på 2 år). Eksempelvis hvis man trigger multisensor utenfor hovedsov og innen f.eks. 15 sekunder sensoren i trappa så går lyset 1 etg. på og hvis gitte tidspunkt på dagen så kjører jeg en scene for stue/kjøkken (sistnevnte har jeg kontroll på).

Hvordan gjøres dette på en grei måte, uten at jeg har tid til å lære med full scripting. Bruke rene eventer basert på device motion (må jeg da bruke en timer for kontroll på at det ikke går for mye tid mellom deteksjonene)? Bruke counters på en smart måte? 

Har lagt inn @Moskus sitt MotionLog script på alle bevegelsesensorene i huset.

Lenke til kommentar
Del på andre sider

7 timer siden, iceball skrev:

Hvordan gjøres dette på en grei måte, uten at jeg har tid til å lære med full scripting. Bruke rene eventer basert på device motion (må jeg da bruke en timer for kontroll på at det ikke går for mye tid mellom deteksjonene)? Bruke counters på en smart måte? 

Ja. Timer er praktisk.

Men du må lage en del eventer for å få dette til. F.eks. noe slikt:

 

Nr 1:

IF bevegelse "utenfor hovedsov"

AND "visse tidspunkt på dagen"

THEN (whatever, f.eks. lys PÅ)

THEN (restart timer UtenforHovedsov)

 

Nr 2:

IF bevegelse "i trappa"

AND a timers value "UtenforHovedsov" is LESS than X

THEN (lys 1. etg PÅ)

(og kanskje) THEN (stop timer UtenforHovedsov)

 

 

  • Like 1
Lenke til kommentar
Del på andre sider

  • 3 uker senere...

Jeg løfter denne litt i steden for å starte en ny da også min problemstilling omhandler omtrent det samme som utgangspunktet her.

Noen rom har jeg bevegelsesstyring i, samtidig ønsker jeg mer dynamikk i belysningen enn dag/natt som var utgangspunktet her.

For eksempel har jeg noen eventer som bruker tid før/etter solnedgang som trigger med flere delayed actions hvor lyset da gradvis øker/senkes.

Disse eventene krasjer jo med en enkel event for bevegelsesstyring, men hadde det vært mulighet for "on last level" f.eks ville det jo gått knirkefritt....

 

Tips? Er det scripting som er veien å gå her?

Lenke til kommentar
Del på andre sider

8 minutter siden, bjwanvik skrev:

For eksempel har jeg noen eventer som bruker tid før/etter solnedgang som trigger med flere delayed actions hvor lyset da gradvis øker/senkes.

Det er litt vanskelig å se for seg hva du har og hva du ønsker... Du har eventer som justerer lyset basert på tid etter solnedgang (og her kan du gjerne komme med flere detaljer ;) ), men i disse rommene skal du også ha en bevegelsesstyring av lyset?

 

Da tror jeg det er enklest med et script, dvs Action er et script som 1) beregner det aktuelle dimmenivået i bakgrunn av tiden på døgnet (X-minutter etter solnedgang) og 2) aktiverer CAPI for det dimmenivået for dimmeren.

 

Ikke veldig vanskelig, men det gjelder å finne en  fornuftig formel for Dim-nivå  gitt et klokkeslett. :) 

Lenke til kommentar
Del på andre sider

Helt korrekt :)
Detaljer kommer i kveld, men f.eks justerer jeg opp alle lysene i 2. etg 2 timer før solnedgang, så økes de ett par ganger til før de har "full styrke" (ikke nødvendigvis 100%).

Tenkt scenario:

lyset på kjøkkenet har blitt satt til 15% og det er 2 timer til solnedgang. Jeg kommer inn på kjøkkenet for å begynne å lage middag -> lyset går opp til 80%.

Når jeg er ferdig med matlagingen ønsker jeg at lyset settes tilbake til 15%.

Lyset økes litt etterpå til 35% da det er 30 minutter igjen til solnedgang, jeg stikker inn på kjøkkenet for å lage en kopp kaffe -> lyset går igjen opp til 80%, men i og med at det nå er bare 30 minutter igjen til solnedgang ønsker jeg at lyset skal settes til 35% når det ikke er bevegelse..

 

For å dra det hele enda litt videre ønsker jeg også at lyset ikke nødvendigvis skal settes til 80% hver gang det er registrert bevegelse, men 80% vil antagelig være riktig på visse tider av døgnet.

Skulle jeg f.eks få lyst på et glass vann midt på natta vil jeg jo ikke ha behov for så mye lys, og midt på dagen når det er godt med naturlig lys er det jo ikke behov for å gjøre noe som helst...

 

Det går naturligvis an å gjøre dette med lysmåling (har Aeotec Multisensor 6) og klokkeslett som kriterier, men det blir jo fryktelig mange events, og det er jo det jeg ønsker å unngå her :)

Lenke til kommentar
Del på andre sider

1 minutt siden, bjwanvik skrev:

lyset på kjøkkenet har blitt satt til 15% og det er 2 timer til solnedgang. Jeg kommer inn på kjøkkenet for å begynne å lage middag -> lyset går opp til 80%.

Når jeg er ferdig med matlagingen ønsker jeg at lyset settes tilbake til 15%.

Lyset økes litt etterpå til 35% da det er 30 minutter igjen til solnedgang, jeg stikker inn på kjøkkenet for å lage en kopp kaffe -> lyset går igjen opp til 80%, men i og med at det nå er bare 30 minutter igjen til solnedgang ønsker jeg at lyset skal settes til 35% når det ikke er bevegelse..

Hmmm! Da tror jeg at jeg muligens har en enda enklere løsning. Se følgende pseudo-eventer.

 

I Eventet som justerer lyset basert på tidspunkt, må du legge inn en Condition som typisk vil si "AND IF ingen bevegelse de to siste minutter". Hvis du har noe her fra før, så kan du sikkert bruke det.

 

Så setter du opp to eventer til, med "Manuell" trigger. De skal kun kjøre et Script, men med SAVE og LOAD som funksjonskalø, og de skal kalle DeviceState.vb scriptet mitt.

 

Så må du ha to eventer som blir trigget ved bevegelse. Det ene må ha en condition som over "AND IF ingen bevegelse de to siste minutter". Dette skal kun kalle Eventet som kjører SAVE på DeviceState-scriptet.

 

Det neste eventet skal se ut som et typisk bevegelsessevent, som vist i bildet i post to her i tråden. Men istedenfor "Remove Delayed Device Action", skal du velge "Cancel A Delayed Event". Setter du lyset til ønsket nivå (f.eks. "80%" eller en kjører et script som beregner nivået og setter det). Så istedenfor en Delayed Device Action, skal du Trigge et event (altså det eventet som kjører LOAD for DeviceState-scriptet) etter et ønsket delay (5 minutter?).

 

 

 

Hmmm! Det var litt mer kronglete å beskrive det, men jeg tror det skal fungere fint. Det som skjer er at automatikken som styrer "bakgrunnsbelysningen" kjører som før, men blir pauset når det er bevegelse i rommet. Når status går fra "ikke bevegelse" til "bevegelse" blir det aktuelle lys i rommet lagret (SAVE), og lyset blir satt til 80% (eller whatever du vil) og deretter satt tilbake etter et ønsket delay (etter 5 minutter uten bevegelse trigges LOAD).

 

Var det sånn noenlunde tåkete? :) 

  • Like 1
Lenke til kommentar
Del på andre sider

Takk for et veldig godt innspill :)

 

Har begynt å prøve så smått her nå, og tester bittelitt underveis.

Om jeg ikke har misforstått helt skal jeg lage en event som trigges ved bevegelse og har en AND IF-condition som sier at det ikke har vært bevegelse siste 2 minutter??

I tilfelle har en etter mitt skjønn laget et event der det er umulig å oppfylle kravene, så jeg antar at jeg faktisk har misforstått deg, hehe...

Jeg kunne nok helt sikkert tenkt ut en finurlig måte å løse det på, men om du allerede hadde tenkt ut noe, kunne jeg kanskje heller brukt det :)

 

Her er det jeg har opprettet nå:

bevegelse.jpg

Lenke til kommentar
Del på andre sider

2 minutter siden, bjwanvik skrev:

Om jeg ikke har misforstått helt skal jeg lage en event som trigges ved bevegelse og har en AND IF-condition som sier at det ikke har vært bevegelse siste 2 minutter??

I tilfelle har en etter mitt skjønn laget et event der det er umulig å oppfylle kravene, så jeg antar at jeg faktisk har misforstått deg, hehe...

Wops! Pokker! Det har du rett i. Det er ikke sikkert dette er mulig å få til uten å bruke en virtuell device for "Bevegelse i kjøkken"... :( 

Lenke til kommentar
Del på andre sider

Da tror jeg faktisk det etter endel om og men faktisk virker som det skal på kjøkkenet! :)

Tusen takk for god hjelp :)

 

Jeg har ikke helt klart å forstå det scriptet ditt enda, men det hører vel ikke hjemme i denne tråden.

 

Basic funksjonalitet er på plass, og da skulle vel alt være klart for å utvide med styring av RGBW-strips på kjøkken i første omgang, og så utvide til andre rom hvor samme funksjonalitet ønskes.

 

Lenke til kommentar
Del på andre sider

6 timer siden, bjwanvik skrev:

Da tror jeg faktisk det etter endel om og men faktisk virker som det skal på kjøkkenet! :)

Tusen takk for god hjelp :)

Så bra!

Kan du fortelle hvordan det endte til slutt (med et lite screenshot, f.eks.)? :)

 

 

6 timer siden, bjwanvik skrev:

Jeg har ikke helt klart å forstå det scriptet ditt enda, men det hører vel ikke hjemme i denne tråden.

Det er egentlig superenkelt. Du spesifiserer noen device Ref'er i config filen. Når du kaller "Save" sub'en, så går scriptet gjennom disse device ref'ene og henter ut tilhørende device value, og lagrer det i config filen. Så når det på en linje står "349=50" betyr det at devicen med ID 349 hadde en device value på 50, som hvis dette var en dimmer betyr at den er satt til 50%.

 

Når du kjører scriptet med "Load" sub'en, går scriptet gjennom alle devicene igjen, finner device value som er lagret, og kjører tilhørende CAPI.

 

Det begynte med at kona til @Morgens ville ha en mulighet til å lagre forskjellige lys "slik det var akkurat nå", og det kan denne pakken gjøre. Men i ettertid har det vist seg at det er mer anvendelig enn det. :) 

 

  • Like 1
Lenke til kommentar
Del på andre sider

Det jeg ikke hadde kontroll på i scriptet skjønner jeg fint lite av! Jeg er nesten helt sikker på at .ini-fila ikke oppdaterte seg i gårkveld, og det var DET jeg ikke klarte å forstå - hvor skrev scriptet og hvor lastet det fra liksom.. men nå i dag ser jeg at fila oppdateres helt fint - merkelige greier...

Har ikke satt meg nok inn i dokumentasjonen rundt scripting enda, men antar det er gitt ut ifra den hvor filene havner etc så en ikke må angi noen path selv i scriptene?

 

Screenshots:

events1.jpg

 

events2.jpg

 

Det var vel det som skulle til for å få det til å funke:)  (Ja, jeg burde jobbe litt med navngivning og strukturering av events...)

 

 

Og så en liten snutt fra loggen (filtrert på events) fra tidligere i dag:

event_15des.jpg

 

  • Like 1
Lenke til kommentar
Del på andre sider

9 minutter siden, bjwanvik skrev:

Har ikke satt meg nok inn i dokumentasjonen rundt scripting enda, men antar det er gitt ut ifra den hvor filene havner etc så en ikke må angi noen path selv i scriptene?

Jeg hadde først en litt for avansert metode for å skrive dette til en XML-fil, men det feilet jo spektakulært på Zee-boksene, så jeg måtte skrive det om.

 

Nå bruker scriptet bare HomeSeer sine egne innebygde metoder for å lese og skrive til .ini-filer. Og ini-filer ligger i /Config/-mappen. De har en prefiks med "DeviceState_", så finner du en filnavn som begynner med det så er det en DeviceState som er lagret.

Lenke til kommentar
Del på andre sider

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.