Moskus Skrevet 7. august 2018 Skrevet 7. august 2018 Med Jon00 sin Alexa Helper kan man gjøre mye morsomt. Samtidig har det irritert meg at ingen har fått ut fingeren og laget en Squeezebox-integrasjon for Alexa (eller Google Home). Men med alt integrert i HomeSeer så kan man likevel få til grunnleggende styring av musikk i flere rom! Jeg kan nå si: "Alexa, tell HomeSeer to press play in living room" "Alexa tell HomeSeer to press next in basement" … etc. Du kan velge mellom å si "push" og "press" (fordi jeg synes det var vanskelig å si "press play" uten at det ble "pless play") og du kan velge mellom "on" og "in". Disse to er med andre ord like: "Alexa, tell HomeSeer to press play in bathroom" "Alexa, tell HomeSeer to push play on bathroom" HomeSeer kan altså styre denne devicen: og denne: … og alle knappene lar seg "trykke" på. Først selve scriptet: Alexa_SqueezeboxControl.vb Function Main(ByVal input As String) Dim statusDevices(,) As String = {{"living room", 202}, {"basement", 845}, {"kitchen", 294}, {"bathroom", 1601}, {"guest room", 1627}, {"bedroom", 271}} If input.StartsWith("push ") Then input = input.Replace("push ", "press ") If input.Contains(" on ") Then input = input.Replace(" on ", " in ") input = input.Trim input = input.Replace("press ", "").Replace("the ", "").Replace(" in ", "|") Dim command() As String = input.Split("|") Dim button As String = command(0) Dim devRef As Integer = 0 For i As Integer = 0 To statusDevices.GetLength(0) - 1 If command(1) = statusDevices(i, 0) Then devRef = statusDevices(i, 1) Exit For End If Next Select Case button Case "play", "pause", "stop" 'do nothing Case Else devRef += 1 End Select Dim cc As HomeSeerAPI.CAPIControl = hs.CAPIGetSingleControl(devRef, True, button, False, False) If cc IsNot Nothing Then hs.CAPIControlHandler(cc) Return "Done!" Else Dim msg As String = "The button '" & button & "' was not found on device " & devRef hs.WriteLog("Squeezebox", msg) Return msg End If End Function Du må endre den første linja (etter Sub Main...) til å reflektere dine devicer og dine rom. Strukturen er {"romnavn", DEVICE_ID_TIL_SQUEEZEBOX_STATUS}. Rom-navnet kan du velge selv. Device IDen er nummeret til devicen hvor play, pause og stop er. Altså 931 i det øverste bildet i toppen av posten. Alle disse er kommaseparerte inne i klammer {}. Oppsettet i Jon00 sin Alexa helper kan du sette opp slik: Dermed har du full kontroll på play/pause/stop, og next/previous. Og kan være fin inspirasjon til andre devicer man vil styre. Siter
Johs. Skrevet 7. august 2018 Skrevet 7. august 2018 (endret) Vakkert. Ser at noen andre har fått ut fingeren: LMS Controls - Google Home / Google Assistant Voice Control of LMS Players Men ser til å kreve HA. Endret 7. august 2018 av Johs. Siter
Moskus Skrevet 7. august 2018 Forfatter Skrevet 7. august 2018 Det finnes mange (strandede) prosjekter for å få integrert Alexa og Squeezebox, men jeg hadde ikke klart å finne noen som faktisk fungerte. Og hva skal man med Home Assistant? 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.