Andreas Skrevet 6. november 2016 Skrevet 6. november 2016 Hallo. Skal ha en knapp for å låse opp ytterdøren min. Denne vil jeg at man må holde inne i 3 sek før den trigges, og jeg vil at knappeteksten skal telle ned fra 3. Noe slikt: Grønn (låst) -> trykk og hold -> gul (3) -> gul (2) -> gul (1) - gul (0) -slipp knapp - rød (ulåst) Noen tanker om hvordan dette kan gjennomføres?? Onbuttonpres start timer. On buttonrelease kjør script Kan man bruke if statement i hstouch, eller må.man bruke scrips og eventer i hs3? Siter
psv021 Skrevet 6. november 2016 Skrevet 6. november 2016 (endret) Har du hardware du tenker å bruke til dette? Noen z-waveknapper plukker opp, og sender videre, om knappen er trykket, holdt nede, sluppet opp igjen, osv. En slik kunne ha blitt brukt kanskje. Se denne tråden for diskusjon rundt noen slike brytere. Mulig det aller beste hadde vært en veldig enkel binær sensor med en enkel av/på fjærbelastet bryter koblet til (da trenger det ikke være z-wavebryter eller noe, fungerer fint med en vanlig lysbryter, ringeklokkebryter, etc. Da har du i alle fall full kontroll på om bryteren er inne eller ute og kan bruke det videre i HS3 (bryter trykket = sløyfen lukket = signal til HS3). Det vil kreve fast strøm da, sannsynligvis. Gitt en slik løsning der HS3 vet om bryteren er trykket inn eller ikke, blir neste jobb å definere 3-sekundersforsinkelsen og evt farger. Jeg er usikker på om timer er det beste å bruke, siden du ønsker å telle ned - ikke opp. Det har jeg aldri forsøkt. Jeg tror jeg ville forsøkt uten timer først (men det finnes garantert mange løsninger på dette). Det lønner seg å dele opp problemet og tenke "modulært", så bygge og teste modulene hver for seg. F.eks dersom du kan lage en løsning som gjør det du ønsker rent grafisk i HStouch, er det en smal sak å klistre på en "lås opp dør" etterpå. Du trenger heller ingen fysisk bryter for å teste. Lag en virtuell device med verdien "på" og "av" som du tester med. Så er det en smal sak i ettertid å bygge dette om til å bruke en fysisk bryter. Jeg ser tre moduler her: 1 Fysisk knapp som forteller HS3 om den er trykket inn eller ikke. 2 Nedtellingen med tilhørende grafikk i HStouch 3 Opplåsing av døren En ikke helt gjennomtenkt løsning for å få tankeprosessen i gang: Fysisk device: TrykkKnapp (som gir verdiene "trykket" eller "ikke-trykket", typisk "On-Open-Motion" eller "Off-Closed-NoMotion" eller noe slikt i HS3) Virtuell device: TrykkLengde (som har inkrementelle verdier, som 0, 1, 2, 3, 4 osv) (du trenger kanskje bare verdier opp til 3). Her kan du også legge inn grafikk som kan brukes i HSTouch. Eventer eller script som setter verdien inkrementelt nedover når TrykkKnapp har vært trykket inn i nøyaktig ett sekund. Dette er sikkert mulig å løse med Eventer, men script er sannsynligvis en bedre løsning. Jeg vil tro at dette er et tilfelle der man har behov for Else, som eventer dessverre ikke gir. Hvis TrykkKnapp endres til åpen (ikke trykket inn), endre TrykkLengde til 3. Hvis TrykkKnapp har vært trykket inn (lukket) i nøyaktig 1 sekund OG TrykkLengde har en verdi som ikke er lik 0, kjør script som endrer verdien av TrykkLengde inkrementelt nedover 1 hakk (hvis 3, sett den til 2) (best løst med "verdi = verdi - 1"). Denne eventen vil ikke kjøre med mindre TrykkLengde > 0. (Dupliker eventet for "nøyaktig 2 sek" og "nøyaktig 3 sek") Hvis TrykkLengde endres og blir 0, åpne dør. Dette er en litt klønete løsning og jeg er usikker på hvordan dette vil fungere i praksis. 1 sekund er ikke lenge, så det kan bli noe ustabilitet relatert til det. Ikke sikkert HStouch vil plukke opp endringer i en virtuell device så kjapt, osv. I tillegg er det litt klønete å ha separate eventer for "nøyaktig 1 sekund, nøyaktig 2 sek,osv". Alternativ: - Dersom knapp trykkes inn, kjør event OpplåsingsSekvens. - Event OpplåsingsSekvens: Dersom TrykkKnapp har blitt holdt inne i nøyaktig 1 sekund OG TrykkLengde har en verdi > 0 (OG døren er låst): Sett TrykkLengde til 3. Wait 1 sec. Sett TrykkLengde til 2. Wait 1 sec. Sett TrykkLengde til 1. Wait 1 sec. Sett TrykkLengde til 0. Wait 1 sec. Åpne dør. - Dersom knapp endres og blir "ikke trykket inn", kanseller event OpplåsingSekvens. I virtuell device TrykkLengde definerer du HStouch-grafikk (rød/gul/grønn, etc). Du kan også gjøre dette direkte i HStouch med MatchValue og formatering basert på det. I denne løsningen er du avhengig av at kanselleringen virker, ellers går døren opp etter tre sekunder selv om du har sluppet knappen. Risiko: Du kan risikere at det blir for kronglete å åpne døren på denne måten. Det kan bli irriterende å vente 3 sekunder, osv. Endret 6. november 2016 av psv021 1 Siter
Fermate Skrevet 6. november 2016 Skrevet 6. november 2016 1 time siden, Andreas skrev: Hallo. Skal ha en knapp for å låse opp ytterdøren min. Denne vil jeg at man må holde inne i 3 sek før den trigges, og jeg vil at knappeteksten skal telle ned fra 3. Noe slikt: Grønn (låst) -> trykk og hold -> gul (3) -> gul (2) -> gul (1) - gul (0) -slipp knapp - rød (ulåst) Noen tanker om hvordan dette kan gjennomføres?? Onbuttonpres start timer. On buttonrelease kjør script Kan man bruke if statement i hstouch, eller må.man bruke scrips og eventer i hs3? Prøv dette, kan kanskje virke: Lag 2 devicer i HS, en for status og en for Cancel. La Knappen du trykker på ha bilder som du bruker i Status Tracking av status devicen. ActionWhenPressed: Sett Cancel device til false og start en event som sjekker at Cancel er false og venter i 1 sekund før den starter neste event. Denne eventen må startes med "if the Event Conditions are True" og den setter neste status osv ActionWhenReleased: Setter Cancel Devicen til True Jeg er redd 3 sekunder blir kort for å få alt dette til å oppdatere seg på HSTouch plata 1 Siter
Andreas Skrevet 6. november 2016 Forfatter Skrevet 6. november 2016 (endret) Hei. har ikke rukket lest alt dere skrev enda, men sånn bare for å være tydelig. Dette er en HSTouch funksjon jeg vil ha. Trykk (på skjermen) i 3 sek osv... Ingen fysisk trykknapp Endret 6. november 2016 av Andreas Siter
psv021 Skrevet 6. november 2016 Skrevet 6. november 2016 (endret) Ah.. Ja. Plukker HStouch opp "hold"? Det er vel et sentralt spørsmål her... Edit: Nå leste jeg en gang til det Fermate skriver, og det er vel måten å gjøre det på (med en action for Pressed og en annen for Released). Endret 6. november 2016 av psv021 1 Siter
Moskus Skrevet 6. november 2016 Skrevet 6. november 2016 Det du spør om er ikke bare lett. Men det er ikke umulig. 1 time siden, Andreas skrev: Denne vil jeg at man må holde inne i 3 sek før den trigges, og jeg vil at knappeteksten skal telle ned fra 3. Jeg hadde gjort dette enklere enn psv01 hadde gjort, men han har det meste med logikken. HomeSeer har noe som heter counters, og har både "Increase" og "Decrease". HS har også Timers. Jeg har et forslag som IKKE er testet, men jeg tror det kan fungere. Event "ButtonPress" Trigges manuelt. Action: Setter Counter til 3 Action: Starter Timer Event "ButtonRelease" Trigges manuelt Action: Stop Timer og sett den til 0 Action: Sett Counter til 3 Event "Decrease Counter" Trigger hver sekund for timeren Timer Action: Decrease Counter med 1 Event "Unlock and reset" Trigger hvis Counter settes til 0 Action: DeviceAction, unlock door Action: Stop timeren Timer, og sett den til 0. Definert Actions ved ButtonPress i HStouch: 1. Run Event "ButtonPress" 2. Set Status Tracking til Counteren devicevalue. Men jeg er ikke sikker på om dette kan automatiseres. Kanskje du må leve med at det står "3" når den ikke er i bruk". Definert Actions ved ButtonRelease i HStouch: 1. Run Event "ButtonRelease" 2. Set Text på knappen til "Trykk for å åpne" (igjen, ikke sikker på om dette er mulig) Dette tror jeg vil fungere. Men jeg tar et veldig sterkt forbehold om noe jeg har glemt. Ellers kan dette gjøres med scripting. Men det blir MYE mer komplisert, samtidig som man får mye mer kontroll... 2 Siter
Andreas Skrevet 6. november 2016 Forfatter Skrevet 6. november 2016 Najs! Noe slikt var det jeg tenkte ja.. Noen linker til hvordan man starter en event/timer fra hstouch? Siter
Moskus Skrevet 6. november 2016 Skrevet 6. november 2016 Det er en egen kommando. Istedenfor Device Action, så er det Run Event (nå er det veldig lenge siden jeg har gjort noe veldig aktivt i HStouch selv, så jeg har glemt ordlyden). Siter
Andreas Skrevet 6. november 2016 Forfatter Skrevet 6. november 2016 takker - skal prøve litt ikveld Siter
Anbefalte innlegg
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.