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

SCRIPT: Alexa_CoffeeHelper.vb - Lag kaffe med Alexa


Moskus

Anbefalte innlegg

 

Med @Fermate og min forestående plugin for Smarter Coffee og iKettle, kan man bruke Alexa til å sette i gang kaffekokingen. @Fermate har allerede laget et glimrende oppsett med direkte integrasjon mot devicene til plugin'en, men jeg ville se litt nærmere på hvordan jeg kunne bruke scripts sammen med Alexa. Det gir enda flere muligheter med tanke på spørsmål og svar.

 

Dette brukes sammen med Jon00s Alexa Helper.

Husk å oppdatere "cupsDeviceRef", "strengthDevRef" og "brewDevRef".

 

Alexa_CoffeeHelper.vb

    'Moskus 2017
    Function SetCups(ByVal speech As String) As String
        hs.WriteLog("CoffeeHelper SetCups", "Input received: '" & speech & "'")

        Dim cupsDeviceRef As Integer = 1475
        Dim number As Integer = 0
        Dim success As Boolean = Integer.TryParse(speech, number)

        Dim answer As String = ""
        If success Then
            hs.CAPIControlHandler(hs.CAPIGetSingleControl(cupsDeviceRef, True, number & " cups", False, False))
            answer = number & " cups selected. "
        Else
            hs.CAPIControlHandler(hs.CAPIGetSingleControl(cupsDeviceRef, True, 6 & " cups", False, False))
            answer = "I didnt' understand " & speech & " so I selected 6. "
        End If

        Return answer & "Do you want weak, normal, or strong coffee?"
    End Function

    Function SetStrength(ByVal speech As String) As String
        hs.WriteLog("CoffeeHelper SetStrength", "Input received: '" & speech & "'")

        Dim strengthDevRef As Integer = 1476
        If speech.ToLower = "weak" OrElse speech.ToLower = "normal" OrElse speech.ToLower = "strong" Then
            hs.CAPIControlHandler(hs.CAPIGetSingleControl(strengthDevRef, True, speech, False, False))
            Return speech & " coffee comming up. I'm ready. Are you?"
        Else
            hs.CAPIControlHandler(hs.CAPIGetSingleControl(strengthDevRef, True, "normal", False, False))
            Return "I didn't get that, so strength is set to normal. Do you still want to brew coffee?"
        End If
    End Function

    Function BrewCoffee(ByVal speech As String) As String
        hs.WriteLog("CoffeeHelper SetStrength", "Input received: '" & speech & "'")

        Dim brewDevRef As Integer = 1474
        If speech.ToLower = "yes" Then
            hs.CAPIControlHandler(hs.CAPIGetSingleControlByUse(brewDevRef, HomeSeerAPI.ePairControlUse._On))
            Return "Brewing coffee!"
        Else
            Return "Cancelling coffee brewing."
        End If
    End Function

Oppsett i Jon00 Alexa helper sine sider:

 

Primary trigger:

Coffee 1.png

 

Response trigger #1:

Coffee 2.png

 

 

Response trigger #2:

Coffee 3.png

 

 

Response trigger #3:

Coffee 4.png

 

 

Voilá! :) 

  • Like 3
Lenke til kommentar
Del på andre sider

Hm, litt dårlig gjort å legge ut dette siden det krever plugin'en som ikke er tilgjengelig ennå.

 

Men kunne ikke skriptet sendt data direkte til trakteren?

Mens folk venter på plugin'en mener jeg...

 

Jeg brukte jo selv kun et skript til å starte den i ganske lang tid.

Lenke til kommentar
Del på andre sider

14 minutter siden, Fermate skrev:

Men kunne ikke skriptet sendt data direkte til trakteren?

Mens folk venter på plugin'en mener jeg...

Jo. Hvis vi vil ødelegge for vår egne potensielle plugin-brukere. ?

 

14 minutter siden, Fermate skrev:

Hm, litt dårlig gjort å legge ut dette siden det krever plugin'en som ikke er tilgjengelig ennå.

Stein i glasshus? ;) 

 

10 minutter siden, Salvesen skrev:

Esj hater at jeg gikk for Rpi lisens :/

Det gjør vi alle sammen hvis det er en trøst... :P 

 

  • Like 1
Lenke til kommentar
Del på andre sider

Et øyeblikk siden, mk1 black limited skrev:

Jeg regner med at du antar at maskinen er satt i bønnemodus allerede her?

Ja, klart. :) 

 

Det er en av de tingene som i mine øyne ikke gir mening å automatisere. Hvis du ikke bruker bønner, må du jo ha gjort klar kaffen fra før. Og hvis du har gjort det, gir det ikke mening å bytte til bønner. ;) 

Lenke til kommentar
Del på andre sider

5 minutter siden, mk1 black limited skrev:

Nja... Vi lager vanligvis med filterkaffe (gjør klar på kvelden og starter automatisk når noen går på badet på morgenen) - dermed står maskinen i filterkaffemodus til vanlig. Så jeg tror jeg legger inn en liten linje i scriptet ditt for å sette den i bønnemodus... :) 

 

Om du fyller vann og kaffe dagen før kan du jo like godt bruke en vanlig trakter da med en powerplug på Z-wave :P

 

  • Like 1
Lenke til kommentar
Del på andre sider

@Moskus: Dette fungerer helt utmerket, bortsett fra at maskinen min ikke fakstisk starter å brygge! :) Alle innstillinger overføres korrekt, den vil bare ikke sette i gang. Ja, jeg har sjekket deviceref'ene :) Logg:

 

feb-05 10.26.51   Jon00_Alexa Successful trigger under [ResponseTrigger3]
feb-05 10.26.51   Jon00_Alexa Response sent to Alexa: 'Brewing coffee!'
feb-05 10.26.51   Jon00_Alexa Script processing time: 17 ms
feb-05 10.26.51   Jon00_Alexa Integer Parsed (from string): -99999999
feb-05 10.26.51   Jon00_Alexa Alexa Number Integer: -99999999
feb-05 10.26.51   Jon00_Alexa Integer Parsed (from number): -99999999
feb-05 10.26.51   Jon00_Alexa RunScript - ScriptParm: yes
feb-05 10.26.51   Jon00_Alexa Alexa Number String: 
feb-05 10.26.51   Jon00_Alexa Alexa Number String: 
feb-05 10.26.51   Jon00_Alexa Integer Parsed (from string): -99999999
feb-05 10.26.51   Jon00_Alexa Alexa Number Integer: -99999999
feb-05 10.26.51   Jon00_Alexa Integer Parsed (from number): -99999999
feb-05 10.26.51   Jon00_Alexa Alexa command heard: 'yes'
feb-05 10.26.44   Jon00_Alexa Successful trigger under [ResponseTrigger2]
feb-05 10.26.44   Jon00_Alexa Response sent to Alexa: 'strong coffee coming up. I'm ready. Are you?'
feb-05 10.26.44   Jon00_Alexa Script processing time: 19 ms
feb-05 10.26.44   Jon00_Alexa Integer Parsed (from string): -99999999
feb-05 10.26.44   Jon00_Alexa Alexa Number Integer: -99999999
feb-05 10.26.44   Jon00_Alexa Integer Parsed (from number): -99999999
feb-05 10.26.44   Jon00_Alexa RunScript - ScriptParm: strong
feb-05 10.26.44   Jon00_Alexa Alexa Number String: 
feb-05 10.26.44   Jon00_Alexa Integer Parsed (from string): -99999999
feb-05 10.26.44   Jon00_Alexa Alexa Number Integer: -99999999
feb-05 10.26.44   Jon00_Alexa Integer Parsed (from number): -99999999
feb-05 10.26.44   Jon00_Alexa Alexa Number String: 
feb-05 10.26.44   Jon00_Alexa Alexa command heard: 'strong'
feb-05 10.26.36   Jon00_Alexa Successful trigger under [ResponseTrigger1]
feb-05 10.26.36   Jon00_Alexa Response sent to Alexa: '9 cups selected. Do you want weak, normal, or strong coffee?'
feb-05 10.26.36   Jon00_Alexa Script processing time: 218 ms
feb-05 10.26.36   Jon00_Alexa RunScript - ScriptParm: 9
feb-05 10.26.36   Jon00_Alexa Integer Parsed (from string): 9
feb-05 10.26.36   Jon00_Alexa Alexa Number String: nine 
feb-05 10.26.36   Jon00_Alexa Alexa command heard: 'nine'
feb-05 10.26.30   Jon00_Alexa Alexa Number Integer: -99999999
feb-05 10.26.30   Jon00_Alexa Integer Parsed (from number): -99999999
feb-05 10.26.30   Jon00_Alexa Successful trigger under [Trigger5]
feb-05 10.26.30   Jon00_Alexa Response sent to Alexa: 'Sure, how many cups would you like?'
feb-05 10.26.30   Jon00_Alexa Script processing time: 36 ms
feb-05 10.26.30   Jon00_Alexa Alexa Number String: 
feb-05 10.26.30   Jon00_Alexa Integer Parsed (from string): -99999999
feb-05 10.26.30   Jon00_Alexa Alexa command heard: 'make some coffee'
Lenke til kommentar
Del på andre sider

3 timer siden, mk1 black limited skrev:

Dette fungerer helt utmerket, bortsett fra at maskinen min ikke fakstisk starter å brygge

Kan du sjekke at "Control Use" for kommandoen "Brew" (på den tilhørende devicen -> Status Graphics" er satt til "On". ?

Hvis ikke, så sett den til On (og jeg logger det til Bug-listen).

Lenke til kommentar
Del på andre sider

1 time siden, mk1 black limited skrev:

Skal sette den til det og prøve igjen.

Ja, da skal det fungere, for den 5. nederste linjen:

hs.CAPIControlHandler(hs.CAPIGetSingleControlByUse(brewDevRef, HomeSeerAPI.ePairControlUse._On))

leter etter CAPI-kommandoen merket "On". Finnes den ikke, så skjer det heller ingenting...

 

Med den, og API-integreringen mot Alexa kan du også si "Alexa, set brew to On", så brygger maskinen kaffe med gjeldende innstillinger. :) 

  • Like 1
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.