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

Eksempler på hendelser: Blockly


Evelen

Anbefalte innlegg

Tenker lage en samletråd hvor man kan poste nyttige hendelser som man kan se for seg at andre også kan ha brukt for.

 

Regler jeg ønsker skal følges:

- En hendelse per post, med mindre flere hendelser henger sammen på en logisk måte.

- Dokumenter hendelsen skikkelig slik at folk skjønner hva den gjør og hvordan.

 

Etterhvert som tråden blir større lager jeg nok en oversikt med link til de forskjellige postene her i førstepost.

PS: Kommer nok til å opprette en tilsvarende tråd for LUA etterhvert.

EDIT: Lua tråd er laget, se her: http://www.hjemmeautomasjon.no/forums/topic/622-eksempler-p%C3%A5-hendelser-lua/

*post under utvikling*

Endret av Evelen
  • Like 2
Lenke til kommentar
Del på andre sider

Brytere for å slå på/av alle lys

Dette er er et ganske simpelt event, men likevel noe av det jeg bruker mest, ikke fordi jeg klikker så mye på "skru av/på alle lys", men fordi en del andre events gjør dette ved å bruke disse dummy-ene, da slipper man oppdatere flere events ved nye lamper f.eks.

 

Brytere er ikke "helt vanlige", men som følger:
"Slå på alle lys" er en dummy-bryter av typen "Push On Button".
"Slå av alle lys" er en dummy-bryter av typen "Push Off Button"

1.png

 

Blocklyen er som følger:

2.png

 

Får man en ny lampe setter man den inn under både "if do" og "else if do" med henholdsvis "on" og "off" tilsvarende det som står på bildet over.

Denne sender også informasjon til loggen som vist.

 

Legg merke til at jeg på slutten setter "Slå på alle lys" til "Off" og "Slå av alle lys" til "On", dette kan gjøres i blockly, men er ikke mulig i vanlig Domoticz-GUI.

 

 

Endret av Evelen
Lenke til kommentar
Del på andre sider

Hvis et skap et åpent, slå på lys

Dette er et event jeg kjører på soverommet ved hjelp av magnetsensor på hver av skapdørene på soverommet.

- Dersom et, eller begge skapene er åpent slår lyset seg på i taket, med 100% stryke, og hvit farge. Når begge skapene lukkes slås lyset av igjen.

- Dersom lyset i taket er på før man åpner skapdøren skjer det ingenting, hverken ved åpning eller lukking av skap.

 

Dette består av to magnetsensorer som kan gi status "Åpen" og "Lukket", samt en string-brukervariabel som kan være "skap_åpent" eller "skap_lukket"

 

2.png

 

 

Det første som skjer er at dersom et, eller begge skapdørene er åpen, og lampen i taket er av så åpner den en "JSON"-adresse, denne adressen slår på lyset i taket. JSON brukes da man ikke kan sette farge via vanlig Blockly.

Som dere ser så skjer det noe spennende etterpå. Jeg setter taklampen i "On" etterpå, det virker egentlig ganske unødvendig da det er på, men det er en god grunn til at jeg gjør det.

Det er fordi lyset ikke får verdien "on" av å sette det på via JSON-kommandoen jeg bruker, den får status "Set Level", dermed vil ikke "If On" som jeg senere bruker fungere uten dette trikset.

JSON adressen jeg bruker er http://USR:PWD@localhost:8080/json.htm?type=command¶m=setcolbrightnessvalue&idx=85&hue=843&brightness=100&iswhite=true

Setter også verdi til variabelen var_garderobeskap. Denne variabelen brukes for at ikke lyset skal slå seg av ved lukking dersom det ikke slo seg på ved åpning.

Scenario: Dersom lyset er på så vil jeg ikke at lyset skal slå seg av når jeg henter noe i det. Resten virker selvforklarende syns jeg, så utdyper ikke noe mer.

 

1.png

 

Endret av Evelen
Lenke til kommentar
Del på andre sider

Push melding når robotstøvsuger stater/stopper, eller ikke har returnert til ladestasjon.

 

Man trenger for dette en bryter som sier om støvsuger er på "on"  eller "off", det er flere måter å få til dette, jeg bruker en magnetsensor som vist her:

 

Under ser man blocklyen, dersom støvsugeren er på sendes det notivikasjon om at den er på (iverksatt).

En timer på en dummy-bryter, "støvsuger_dummy", på 90 minutter, dette er tiden jeg forventer at støvsugeren skal greie å bli ferdig innen.

En variabel, "var_stovsuger", settes til arbeider etter 5 sekunder (noen sekunder for å sikre meg at det skjer før forestående linje)

Dersom støvsugeren er av og timeren er ute (før 90 min har gått)  sendes notifikasjon, i tillegg settes timer av og variabel tilbake til lader

Så til den siste delen, dersom støvsugeren er på og timeren er av, samt variabelen fremdeles er "arbeider" så betyr det at det har gått 90 minutter og støvsuger enda er på, da sendes et varsel om at den ikke har returnert innen fristen (satt seg fast i et teppe f.eks).

Selv om støvsuger ikke lader når den har satt seg fast settes variabel tilbake til "lader" slik at den er klar til neste gang.

1.png

 

12 - støvsugeren er en valig av/på bryter med fancy logo, støvsuger_dummy_on_timer er en vanlig on/off dummy, variabelen var_stovsuger er en strengvariabel.

3.png

Endret av Evelen
  • Like 2
Lenke til kommentar
Del på andre sider

  • 4 måneder senere...

Er det ikke lettere å lage en virtuell bryter for alle lysene som skal styres og skru denne av og på og gruppere lysene?

 

Jeg har følgende oppsett med virtuelle brytere som styrer alle lamper henholdsvis nede, oppe og ute:

 

Skjermbilde3.thumb.PNG.c86fdc88785f5a54ac07025c299b16ab.PNG

 

Disse har timere på seg så de skrur seg av og på til riktig tid, f.eks. av 23.45 på ukedager og 02.30 i helger. Blockly-scriptet ser slik ut:

 

Skjermbilde4.thumb.PNG.110ea631103b23de38d84d55cd564e61.PNG

 

Den sier rett og slett om lyset i Gruppe Stue er Av, og Lysstyring oppe blir satt På (av timeren eller manuell overstyring) samt hvis Automatikkmodus er På så skal alle lys oppe skrus på. Automatikkmodus er der pga at jeg ikke vil at lyset skal gå automatisk av/på f.eks. ved fest eller andre arrangementer. (Viktig at dama kan føle at hun har kontroll..)


Gruppe Stue ser slik ut:

 

Skjermbilde5.PNG.1720593ed52ff3e44c3381e1b7e8b913.PNG

 

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.