XBMC Script
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
XBMC Script
Hallo,
Ik wilde het XBMC Script gaan gebruiken wat hier beschreven wordt:
http://board.homeseer.com/showthread.php?t=142187
Maar ik krijg dit niet werkend. Ik krijg de melding "In URLAction GET: De externe server heeft een fout geretourneerd: (404) Niet gevonden."
Iemand enig idee wat hier de oplossing voor kan zijn? Het script is juist, XMBC webserver draait en is te benaderen.
Of heeft iemand een andere oplossing om XBMC te besturen via Homeseer/HStouch?
Hoor het graag!
Kees
Ik wilde het XBMC Script gaan gebruiken wat hier beschreven wordt:
http://board.homeseer.com/showthread.php?t=142187
Maar ik krijg dit niet werkend. Ik krijg de melding "In URLAction GET: De externe server heeft een fout geretourneerd: (404) Niet gevonden."
Iemand enig idee wat hier de oplossing voor kan zijn? Het script is juist, XMBC webserver draait en is te benaderen.
Of heeft iemand een andere oplossing om XBMC te besturen via Homeseer/HStouch?
Hoor het graag!
Kees
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
Re: XBMC Script
Je geeft het antwoord waar ik al bang voor was... Heeft te maken met de API las ik al.
Is er een andere oplossing mogelijk dat je weet?
Is er een andere oplossing mogelijk dat je weet?
Re: XBMC Script
Natuurlijk is er een oplossing.
Gebruik eerst JSON om het resultaat op te halen en converteer dat naar het formaat dat je nodig heb waarna je dit aanbied aan de functie.
Gebruik eerst JSON om het resultaat op te halen en converteer dat naar het formaat dat je nodig heb waarna je dit aanbied aan de functie.
Bram
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
Re: XBMC Script
Bedankt AshaiRey,
Dan wordt het voor mij wachten tot iemand anders dat gedaan heeft, ik weet sinds gister wat JSON is, laat staan dat ik het kan gebruiken....
Groet,
Kees
Dan wordt het voor mij wachten tot iemand anders dat gedaan heeft, ik weet sinds gister wat JSON is, laat staan dat ik het kan gebruiken....
Groet,
Kees
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
Re: XBMC Script
Bedankt yoya, die heb ik nu inderdaad! Thanks.
Re: XBMC Script
Goed te zien dat er ook forumleden zijn die niet beroep gedeformeerd zijn (zoals ik) 

Bram
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
Re: XBMC Script
Ik zit in spanning te wachten op jouw script Ashai 

Re: XBMC Script
Ik heb eens naar het script gekeken en zie dat het alleen een commando naar XBMC stuurt en niets terug verwacht. Dat is mooi want dat houd het lekker simpel.
Er wordt alleen een string gestuurd met daarin het IP adress waarheen het moet en een waarde van een toetsaanslag om een toetsindruk aan de XMBC kant te simuleren.
Weet iemand hoe een werkend command eruit ziet en wil het hier delen zodat ik dat als voorbeeld kan gebruiken?
Ps, ik heb geen XBMC hier om te testen.
Wie heeft er tijd en middelen om voor mij te testen?
Geen garantie dat het ook wat gaat worden.
Je krijgt van mijn code die je moet testen en ik moet het resultaat terug krijgen inclusief foutmeldingen.
Er wordt alleen een string gestuurd met daarin het IP adress waarheen het moet en een waarde van een toetsaanslag om een toetsindruk aan de XMBC kant te simuleren.
Weet iemand hoe een werkend command eruit ziet en wil het hier delen zodat ik dat als voorbeeld kan gebruiken?
Ps, ik heb geen XBMC hier om te testen.
Wie heeft er tijd en middelen om voor mij te testen?
Geen garantie dat het ook wat gaat worden.
Je krijgt van mijn code die je moet testen en ik moet het resultaat terug krijgen inclusief foutmeldingen.
Bram
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
Re: XBMC Script
Bram,
Ik heb tijd en xbmc om te testen. Het was tenslotte mijn verzoek!
Kees
Ik heb tijd en xbmc om te testen. Het was tenslotte mijn verzoek!
Kees
Re: XBMC Script
Hoi Bram, Kees,
ik ben hier eerder in gedoken (met iets meer wensen, wilde bv de playlist oproepen en de naam/video die afgespeeld wordt tonen in HStouch) maar kwam er zelf niet uit. Maar hier board.homeseer.com/showthread.php?t=148 ... light=json op het Homeseer forum staan voorbeelden van werkende scripts. Vnl voor eenvoudige zaken.
Ik wil indien nodig ook helpen met testen, geen enkel probleem. Ben via PM bereikbaar en check het forum regelmatig.
grtz,
Harry
ik ben hier eerder in gedoken (met iets meer wensen, wilde bv de playlist oproepen en de naam/video die afgespeeld wordt tonen in HStouch) maar kwam er zelf niet uit. Maar hier board.homeseer.com/showthread.php?t=148 ... light=json op het Homeseer forum staan voorbeelden van werkende scripts. Vnl voor eenvoudige zaken.
Ik wil indien nodig ook helpen met testen, geen enkel probleem. Ben via PM bereikbaar en check het forum regelmatig.
grtz,
Harry
Last edited by Phaeton on Wed Mar 20, 2013 5:09 pm, edited 1 time in total.
groeten,
Harry
Harry
Re: XBMC Script
Hierbij een voorbeeld om een text naar XBMC te sturen:
en hier een code die je in HStouch achter een button kan plaatsen:
Code: Select all
Dim IP As String = "192.168.0.111"
Dim URLStr As STring = ""
Dim ReplyStr As String = ""
Sub Main(ByVal Parms As Object)
Dim Title As String = "Homeseer Notification"
Dim Message As String = Parms.ToString
'this will take a parameter message and put it into an XBMC notification window
If hs.ping(IP) = 0 Then
'the host is alive
URLStr = "http://" & IP & "/jsonrpc?request={""jsonrpc"":""2.0"",""method"":""GUI.ShowNotification"",""params"":{""title"":" & chr(34) & Title & chr(34) & ",""message"":" & chr(34) & Message & chr(34) & ",""displaytime"":30000}}"
'hs.writelog("XBMC", URLStr)
ReplyStr = hs.urlaction(URLStr,"GET","","")
If ReplyStr <> "" Then
hs.writelog("XBMC", ReplyStr)
End If
Else
hs.writelog("XBMC", "Cannot Send Command - Host Offline")
End If
End Sub
Sub Restart(ByVal Parms As Object)
If hs.ping(IP) = 0 Then
URLStr = "http://" & IP & "/jsonrpc?request={""jsonrpc"":""2.0"",""method"":""System.Reboot""}"
ReplyStr = hs.urlaction(URLStr,"GET","","")
If ReplyStr <> "" Then
hs.writelog("XBMC", ReplyStr)
End If
End If
End Sub
Code: Select all
&hs.GetURL("http://10.0.0.45","/jsonrpc?request={""jsonrpc"":""2.0"",""method"":""Input.Down ""}",TRUE,8080)
groeten,
Harry
Harry
Re: XBMC Script
Hoi Phaeton,
Even wat checken want ik ben me aan het inlezen in JSON en XBMC.
Het script wat je hierboven gepost hebt werkt dus. Dat is een heel goed startpunt namelijk als dat zo is want ik zie dat het nog steeds met hs.urlaction() werkt. Wat me wel op valt is dat er een GET wordt verzonden terwijl in een HS forum melding gezegt wordt dat dit een POST moet zijn.
Ik heb ondertussen wel een proef scriptje gemaakt met een totaal andere opzet maar als bovenstaande werkt dan gooi ik het plan geheel om
Hier is het met veel debugging info er in voor mij om te zien wat er gebeurd.
Ik heb dus geen idee of onderstaande werkt. (ik krijg hier server not found omdat ik geen XBMC heb)
Even wat checken want ik ben me aan het inlezen in JSON en XBMC.
Het script wat je hierboven gepost hebt werkt dus. Dat is een heel goed startpunt namelijk als dat zo is want ik zie dat het nog steeds met hs.urlaction() werkt. Wat me wel op valt is dat er een GET wordt verzonden terwijl in een HS forum melding gezegt wordt dat dit een POST moet zijn.
Ik heb ondertussen wel een proef scriptje gemaakt met een totaal andere opzet maar als bovenstaande werkt dan gooi ik het plan geheel om
Hier is het met veel debugging info er in voor mij om te zien wat er gebeurd.
Ik heb dus geen idee of onderstaande werkt. (ik krijg hier server not found omdat ik geen XBMC heb)
Code: Select all
Imports System.IO
Imports System.Net
Imports System.Text
'========================================================
'========================================================
'Settings to fill in
Public Dim DEBUG As Boolean = True
Public Dim XBMCServer As String = "http://192.1.168.3"
'========================================================
'========================================================
Public Sub Main(ByVal Params As Object)
Dim cmd As String = "{" & Chr(34) & "jsonrpc" & Chr(34) & ": " & Chr(34) & "2.0" & Chr(34) & ", " & Chr(34) & "method" & Chr(34) & ": " & Chr(34)
cmd = cmd & "JSONRPC.Ping"
cmd = cmd & Chr(34) & ", " & Chr(34) & "id" & Chr(34) & ": " & Chr(34) & "1" & Chr(34) & "}"
If DEBUG = True then hs.writelog("AZ_XMBCcmd","JSON string to send = " & cmd )
PostCommand(cmd)
End Sub
Sub PostCommand(strCmd)
Try
If DEBUG = True then hs.writelog("AZ_XMBCcmd","Make byte array")
Dim byteArray As Array = Encoding.ASCII.GetBytes(strCmd)
If DEBUG = True then hs.writelog("AZ_XMBCcmd","Setup webrequest to " & XBMCServer)
Dim request As WebRequest = WebRequest.Create( XBMCServer )
If DEBUG = True then hs.writelog("AZ_XMBCcmd","Set method to POST")
request.Method = "POST"
If DEBUG = True then hs.writelog("AZ_XMBCcmd","Set request lenght : " & byteArray.Length)
request.ContentLength = byteArray.Length
If DEBUG = True then hs.writelog("AZ_XMBCcmd","Set content type")
request.ContentType = "application/x-www-form-urlencoded"
If DEBUG = True then hs.writelog("AZ_XMBCcmd","Make a data stream")
Dim dataStream As Stream = request.GetRequestStream()
If DEBUG = True then hs.writelog("AZ_XMBCcmd","Write data")
dataStream.Write(byteArray, 0, byteArray.Length)
' Get the response.
Dim response As WebResponse = request.GetResponse()
' Display the status.
If DEBUG = True then hs.writelog("AZ_XMBCcmd","Response status :" & (CType(response, HttpWebResponse).StatusDescription) )
' Get the stream containing content returned by the server.
dataStream = response.GetResponseStream()
' Open the stream using a StreamReader for easy access.
Dim reader As New StreamReader(dataStream)
' Read the content.
Dim responseFromServer As String = reader.ReadToEnd()
' Display the content.
hs.writelog("AZ_XMBCcmd","Response from server :" & responseFromServer)
If DEBUG = True then hs.writelog("AZ_XMBCcmd","Close data stream")
' Clean up the streams.
reader.Close()
dataStream.Close()
response.Close()
Catch ex As Exception
hs.writelog("AZ_XMBCcmd","Connection to XBMC failed due:" & ex.Message )
Exit Sub
End try
End Sub
Bram
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
Re: XBMC Script
Bram,
Ik wil jouw script proberen maar moet ik dit als vb script opslaan? Hoe krijg ik het dan in hstouch?
Kees
Ik wil jouw script proberen maar moet ik dit als vb script opslaan? Hoe krijg ik het dan in hstouch?
Kees