EDIT 25. januar 2021: Nedenstående er baseret på Openhab version 2. I Openhab version 3 er menuen anderledes, og paperUI er erstattet af anden funktionalitet.
Hermed et indlæg om Best Practice for openHAB binding version 2 som opfølgning på mit tidligere indlæg - se link her Først en stor tak til @Pauli Anttila for denne IHC Binding til openHAB ver 2.
Dette indlæg er ikke ment som den nemmeste måde at komme i gang med openHAB 2 på. Tværtimod kan det virke lidt besværligt, men det giver mig mulighed for at styre min installation helt præcis til mindste detalje samt en nem måde at reetablere opsætningen i tilfælde af fejl.
Som hardware kan man med fordel bruges enten Raspberry PI, Synology NAS eller Ubunto installeret på en PC. Gennem årene har jeg benyttet alle 3 varianter, og jeg er nu endt med Ubunto installeret på en ældre laptop med en driftssikker SSD disk. Det vil være nødvendigt at lære lidt om Linux, hvis man ikke kender det. Men det er god viden at tilegne sig....
På det valgte hardware installeres Oracle Java version 8 og dernæst følg installation af openHABian. Se link
I openHAB kan man bl.a. have disse integrationer, og jeg fokuserer her på dem, som er mærket med rød boks.
Efter installationen skal man angive ønskede integrationer - såkaldte bindings - og det gøres via paperUI, som default kan findes på http://lokalIPadresse:8080
Her vælges IHC Binding, som installeres - se skærmkopi:
Nu kan man benytte funktionalitet i paperUI til automatisk at identificere input- og outputs i sin IHC installation, men jeg bruger ikke dette. I stedet angiver jeg alt i filer, fordi det - i det lange løb - er det nemmeste at arbejde med. Filerne skal lagres i /etc/openhab2/conf/things/ folderen - dog ikke Synology, som bruger andre foldere.
Things
Først angives såkaldte Things, som er en forbindelse til fysiske ting - i dette tilfælde IHC Controller med forbundne enheder.
Herunder ses eksempel på en ihc.things fil:
Benyt ikke Notepad i Windows til editering, men brug i stedet Visual Studio Code, som er gratis og med sikkerhed uden virus. Windows Notepad laver nogle karakterer i filen, som ikke fungerer i Linux.
Bemærk "createChannelsAutomatically=false", hvilket gør, at bindingen ikke selv finder input og output. Læs mere her
Hvis direction ikke er udfyldt, kan den pågældende enhed - fx en stikkontakt - både ændres og aflæses af openHAB, hvis den ændres af svagstrømstryk. Dvs. en statusændring kan sendes fra openHAB til IHC og omvendt.
resourceID er entydig decimal værdi fra Visual, og man kan se den ved at holde Ctrl knappen nede, mens musen køres henover fx et svagstrømsinput.
direction="ReadOnly" betyder, at openHAB kun kan aflæses status og ikke sætte den. Í mit tilfælde er det en stikkontakt. direction="WriteOnly" betyder, at openHAB kun kan sende status, men modtager intet ved ændring. I mit tilfælde et det input og output tryk, som jeg sender til.
pulseWidth=80 betyder, at der kun sendes en puls på 80 millisekunder, hvorefter signalet sættes tilbage. I mit tilfælde er for at gøre det samme som ved fysisk at trykke på et svagstrømstryk. I det viste eksempel kan jeg få stikkontakten til at tænde og slukke, men det sker ved at simulere tryk på et svagstrømstryk. På den måde aktiverer jeg relevante fb'ere i IHC i stedet for blot at ændre output status.
Items
Dernæst skal man oprette en ihc.items fil i folderen /etc/openhab2/conf/items/. Eksempelvis således:
Items er logiske objekter i openHAB, som har en status, og man ændre denne status. De kan forbindes til en thing, som viste i eksempler herover.
Bemærk at der er nævnt 3 Things i channel med komma imellem. Det betyder, at modtagne og sendte status er forbundet til alle 3 Things. Men fordi vi har ReadOnly og WriteOnly i Things definitionen, så er det ikke alt, som sendes eller modtages fra IHC Controlleren.
Det virker umiddelbart lidt besværligt, men fordelen er, at man altid vil have en openHAB, som er i sync med IHC også ved almindelig fysisk betjening samt at fb'ere aktiveres i stedet for blot at overskrive et output.
Item i eksemplet ovenfor - KaelderVaerVestStikkontakt - skal man dernæst placere i en fil kaldet ihc.sitemap som vist i denne linie:
Switch item=KaelderVaerVestStikkontakt
hvorved man kan tilgå det via en browser og se og ændre status. Se eksemper herunder:
Det vil default også være port 8080 på aktuelle ip adresse.
En variant af switch er kip. Kip er karakteriseret ved, at du som bruger kan se, om der er lys eller ej (status) og du bruger dette til at beslutte, om du vil tænde eller slukke. Når det kommer til smart house, er det ikke altid optimalt, at aktuel status skal bestemme, om man vil tænde eller slukke. Ved kip forbinder jeg derfor altid to channels til hhv. Tænd og Sluk i min fb, og så lader svagstrømstrykket fortsat være forbundet til Kip i fb'en. Herved kan man undgå nogle udfordringer med kip.
Dimmer
Brug af lysdæmper i smart house er bedst med tilbagemelding, og det vil sige enten IHC wireless Ø80 eller den nye LED rs485 tavledimmer. I begge tilfælde skal det i openHAB være typen dimmer og resourceID skal pege på "Lys niveau" i Visual. Se eksempel tidligere med "ThKaelderVaerVestDimmer".
ihc.items skal være:
Dimmer KaelderVaerVestDimmer "Spot i loft dimmer" <light> {channel="ihc:controller:haldIHC:ThKaelderVaerVestDimmer"}
ihc.sitemap skal være:
Slider item=KaelderVaerVestDimmer
hvorved man får en "slider" som vist i tidligere skærmkopi.
Det var det! - så er man i gang med smart house til IHC med detailkontrol og fuld 2-vejs sync af ændringer.
Tilmed er der rigtig mange muligheder i openHAB, og kan jeg ikke gennemgå alle her.
Spørgsmål
EjvindHald
EDIT 25. januar 2021: Nedenstående er baseret på Openhab version 2. I Openhab version 3 er menuen anderledes, og paperUI er erstattet af anden funktionalitet.
Hermed et indlæg om Best Practice for openHAB binding version 2 som opfølgning på mit tidligere indlæg - se link her Først en stor tak til @Pauli Anttila for denne IHC Binding til openHAB ver 2.
Dette indlæg er ikke ment som den nemmeste måde at komme i gang med openHAB 2 på. Tværtimod kan det virke lidt besværligt, men det giver mig mulighed for at styre min installation helt præcis til mindste detalje samt en nem måde at reetablere opsætningen i tilfælde af fejl.
Som hardware kan man med fordel bruges enten Raspberry PI, Synology NAS eller Ubunto installeret på en PC. Gennem årene har jeg benyttet alle 3 varianter, og jeg er nu endt med Ubunto installeret på en ældre laptop med en driftssikker SSD disk. Det vil være nødvendigt at lære lidt om Linux, hvis man ikke kender det. Men det er god viden at tilegne sig....
På det valgte hardware installeres Oracle Java version 8 og dernæst følg installation af openHABian. Se link
I openHAB kan man bl.a. have disse integrationer, og jeg fokuserer her på dem, som er mærket med rød boks.
Efter installationen skal man angive ønskede integrationer - såkaldte bindings - og det gøres via paperUI, som default kan findes på http://lokalIPadresse:8080
Her vælges IHC Binding, som installeres - se skærmkopi:
Nu kan man benytte funktionalitet i paperUI til automatisk at identificere input- og outputs i sin IHC installation, men jeg bruger ikke dette. I stedet angiver jeg alt i filer, fordi det - i det lange løb - er det nemmeste at arbejde med. Filerne skal lagres i /etc/openhab2/conf/things/ folderen - dog ikke Synology, som bruger andre foldere.
Things
Først angives såkaldte Things, som er en forbindelse til fysiske ting - i dette tilfælde IHC Controller med forbundne enheder.
Herunder ses eksempel på en ihc.things fil:
Benyt ikke Notepad i Windows til editering, men brug i stedet Visual Studio Code, som er gratis og med sikkerhed uden virus. Windows Notepad laver nogle karakterer i filen, som ikke fungerer i Linux.
Bemærk "createChannelsAutomatically=false", hvilket gør, at bindingen ikke selv finder input og output. Læs mere her
Hvis direction ikke er udfyldt, kan den pågældende enhed - fx en stikkontakt - både ændres og aflæses af openHAB, hvis den ændres af svagstrømstryk. Dvs. en statusændring kan sendes fra openHAB til IHC og omvendt.
resourceID er entydig decimal værdi fra Visual, og man kan se den ved at holde Ctrl knappen nede, mens musen køres henover fx et svagstrømsinput.
direction="ReadOnly" betyder, at openHAB kun kan aflæses status og ikke sætte den. Í mit tilfælde er det en stikkontakt. direction="WriteOnly" betyder, at openHAB kun kan sende status, men modtager intet ved ændring. I mit tilfælde et det input og output tryk, som jeg sender til.
pulseWidth=80 betyder, at der kun sendes en puls på 80 millisekunder, hvorefter signalet sættes tilbage. I mit tilfælde er for at gøre det samme som ved fysisk at trykke på et svagstrømstryk. I det viste eksempel kan jeg få stikkontakten til at tænde og slukke, men det sker ved at simulere tryk på et svagstrømstryk. På den måde aktiverer jeg relevante fb'ere i IHC i stedet for blot at ændre output status.
Items
Dernæst skal man oprette en ihc.items fil i folderen /etc/openhab2/conf/items/. Eksempelvis således:
Items er logiske objekter i openHAB, som har en status, og man ændre denne status. De kan forbindes til en thing, som viste i eksempler herover.
Bemærk at der er nævnt 3 Things i channel med komma imellem. Det betyder, at modtagne og sendte status er forbundet til alle 3 Things. Men fordi vi har ReadOnly og WriteOnly i Things definitionen, så er det ikke alt, som sendes eller modtages fra IHC Controlleren.
Det virker umiddelbart lidt besværligt, men fordelen er, at man altid vil have en openHAB, som er i sync med IHC også ved almindelig fysisk betjening samt at fb'ere aktiveres i stedet for blot at overskrive et output.
Item i eksemplet ovenfor - KaelderVaerVestStikkontakt - skal man dernæst placere i en fil kaldet ihc.sitemap som vist i denne linie:
Switch item=KaelderVaerVestStikkontakt
hvorved man kan tilgå det via en browser og se og ændre status. Se eksemper herunder:
Det vil default også være port 8080 på aktuelle ip adresse.
En variant af switch er kip. Kip er karakteriseret ved, at du som bruger kan se, om der er lys eller ej (status) og du bruger dette til at beslutte, om du vil tænde eller slukke. Når det kommer til smart house, er det ikke altid optimalt, at aktuel status skal bestemme, om man vil tænde eller slukke. Ved kip forbinder jeg derfor altid to channels til hhv. Tænd og Sluk i min fb, og så lader svagstrømstrykket fortsat være forbundet til Kip i fb'en. Herved kan man undgå nogle udfordringer med kip.
Dimmer
Brug af lysdæmper i smart house er bedst med tilbagemelding, og det vil sige enten IHC wireless Ø80 eller den nye LED rs485 tavledimmer. I begge tilfælde skal det i openHAB være typen dimmer og resourceID skal pege på "Lys niveau" i Visual. Se eksempel tidligere med "ThKaelderVaerVestDimmer".
ihc.items skal være:
ihc.sitemap skal være:
Slider item=KaelderVaerVestDimmer
hvorved man får en "slider" som vist i tidligere skærmkopi.
Det var det! - så er man i gang med smart house til IHC med detailkontrol og fuld 2-vejs sync af ændringer.
Tilmed er der rigtig mange muligheder i openHAB, og kan jeg ikke gennemgå alle her.
Link til kommentar
Del på andre sites
16 svar på dette spørgsmål
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.