Hop til indhold
  • 0

Lad OpenHAB/Google Home huske tilstande af e.g. en kontakt


ChristianLJ
 Share

Spørgsmål

Hej,

Jeg har et setup med en IHC Visual Controller 820BA202 forbundet med OpenHAB og Google Home.

Jeg ville rigtigt gerne få Google Home til at huske tilstanden af e.g. vores udendørs lys (uden dimmer) men har en hel del besværligheder med dette.

Hvis vi tager udgangspunkt i vores udendørs lyskæder, så kan jeg tænde og slukke på kontakt med ID som vist herunder:

image.png.c02cc931fab7f457588a617a56b436b4.png

Det har jeg tilføjet en .things fil:

image.thumb.png.476aa91e802245edb3639d621e4a72ff.png

Og ligeledes til min .items fil:

image.thumb.png.6557b61c0e648dca7ab296ffeb87be3d.png

Synkroniserer jeg Google Home virker det og jeg kan tænde og slukke, men Google Home husker ikke tilstanden.

Jeg har prøvet at fjerne pulseWidth=1 og så virker det umiddelbart til at tilstanden huskes, men så oplever jeg meget ofte at lyset ikke altid tændes eller slukkes.

Gør jeg noget forkert, eller er dette slet ikke muligt med mit setup?

 

 

Link til kommentar
Del på andre sites

5 svar på dette spørgsmål

Recommended Posts

  • 0

Hvorfor bruger du pulswidth=1?? Det er 1ms, og vanvittigt hurtigt, og jeg tvivler på openhab<>controlleren kan snakke sammen med den hastighed, plus det er unødigt.

Normal vil man bruge op til 300ms, da 400ms oftest er der hvor dimmere begynder at reagere. 
Så prøv med pulsewidth=200. Det fungere fint hos mig, selv på en UNI400 dæmper.
 

Link til kommentar
Del på andre sites

  • 0

Kip kan være et problem i relation til smart home app, hvis det forbindes til 'Kip' indgang i en IHC fb eller input. Nogle apps kan fx sende en sluk kommando ud til alle lys som et resultat af en stemmekommando om at slukke alt. Hvis et givet lys allerede er slukket, kan det bevirke, at lyset faktisk tændes i IHC pga. kip input.

Derfor vil jeg anbefale at gøre præcis, som jeg har beskrevet her. Det inkluderer - som @Kandersen korrekt skriver - en højere PulseWidth end 1 ms. Dvs. du skal definere 3 Things inkl. brug af Direction og CommandToReact. Alle 3 Things skal være samlet i ét og samme item, som jeg også viser eksempel på. Ingen grund til 'autoupdate=false'.

Din CommandToReact="ON" Thing skal pege på Tænd i din fb.

Din CommandToReact="OFF" Thing skal pege på Sluk i din fb.

Min opsætning er afprøvet i Google Home, og det fungerer fint hos mig inkl. kip.

Link til kommentar
Del på andre sites

  • 0

Hej med jer.

@EjvindHald, at gøre præcist som du beskrev virkede. Google Assistant har stadig svært ved at huske tilstanden, men med dine ændringer slukkes lyset ikke længere hvis det er tændt, og man trykker tænd. Så langt så godt :) Er det muligt at udvide det så Google altid kan se om lyset er tændt eller slukket?

Derudover, så virker det ikke hvis pulseWidth er e.g. 80ms eller 300ms. Det virker kun hvis pulseWidth er 1ms, hvilket jeg ikke helt forstår. Burde det ikke være muligt helt at fjerne pulseWidth nu?

Link til kommentar
Del på andre sites

  • 0

Godt at du kom lidt videre.

Det er en god ide at gøre præcis, som jeg skriver. Dvs. lav en sitemap file og kontroller at alt er ok i openHAB. Først når du er sikker på, at det virker inkl. at huske aktuel status, kan du tilknytte Google.

Jeg undres fortsat over din 1ms setup - jeg tror, at det er symptom på en anden fejl. Filen events.log og IHC ServiceView er gode værktøjer til præcis at forstå, hvad der sker.

Link til kommentar
Del på andre sites

  • 0
2 timer siden, ChristianLJ skrev:

Derudover, så virker det ikke hvis pulseWidth er e.g. 80ms eller 300ms. Det virker kun hvis pulseWidth er 1ms, hvilket jeg ikke helt forstår.

Så er der helt klart noget galt. 

2 timer siden, ChristianLJ skrev:

Burde det ikke være muligt helt at fjerne pulseWidth nu?

Det kommer an på, hvad det er for en funktion du helt reelt ønsker at bruge. Det kræver man forstår pulseWidth.

Kort forklaring af pulseWidth:
Det "simulere" i bund og grund det samme som et tryk. Dvs du trykker på trykket med din finger, og x-antal ms efter slipper du trykket igen. 

I openhab vil pulsewidth sørge for, at først sende en ON, og x-antal ms efter, så sendes en OFF. 
Det er fx brugbart til KIP funktioner, hvor man netop bare lige trykker på trykket, for derefter at slippe det igen. 

Men hvis det er en funktion som skal holdes ON, så skal man dermed ikke bruge pulseWidth. 

Når du nu skriver herover, at pulsWidth kun virker med 1ms. Så er mit bedste bud at noget andet er forkert, eller du bruger en forkert resourceID (hvorfor det så virker, det ved jeg ikke). 1ms er alt for hurtigt til, at openHAB (bindingen) reelt kan nå at reagere stabilt. Det er muligt det virker een gang, men ud af fx 10 gange, der vil jeg påstå 8-9 gange ikke virker. De gange jag har testet det, der kan jeg ikke komme meget under 100ms, før det begynder at blive ustabilt. 

Lige en detalje:
Nu er det vel ikke sådan, så du køre trådløst til din Rpi/openHAB?

Mht til at få Google til at vise status, så skal du have status fra funktionsblokken med over. Fx resorceID fra output eller fra lampeudtaget på venstre side i Visual. Den sætter du ind i channels i din items linje, og derved vil den bruges som status. Det vil se ud som om, at trykket "hænger". Men i virkeligheden er det bare status på udgangen som den viser som aktiv. Og deraf kan du konkludere, at lyset er tændt. 

Link til kommentar
Del på andre sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gæst
Svar på dette spørgsmål

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loader...
 Share

×
×
  • Tilføj...

Important Information

Privatlivspolitik og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

1200x630bb.png

ok