Beiträge: 811
Themen: 53
Registriert seit: Jun 2015
Bewertung:
17
KFZ: e39 Touring
Wohnort: Stuttgart
26.10.2015, 18:23
(Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2015, 18:26 von Derhelge.)
Code: import webbrowser
webbrowser.open('http://eample.com')
Das sollte es sein.
Da wo "Http...." steht muss die JSON Anfrage rein.
oder noch besser:
Code: import urllib2
urllib2.urlopen(http://www.example.com/)
Gruß
Beiträge: 3.334
Themen: 65
Registriert seit: Jul 2015
Bewertung:
33
KFZ: E39 Touring
ich nutze::
Wohnort: LKR Freising(Bayern)
hmm, irgendwas passt da nicht. krieg immer nen scriptfehler. ich glaub das liegt an den "
aber dafür krieg ich nun das event mit, wenn ein neuer track startet, pausiert, resumed :-)
d.h. der track anzeige steht nur noch die json übermittlung im weg.
Beiträge: 811
Themen: 53
Registriert seit: Jun 2015
Bewertung:
17
KFZ: e39 Touring
Wohnort: Stuttgart
28.10.2015, 14:27
(Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2015, 14:34 von Derhelge.)
so funktioniert es erstmal.
Aber schön ist es nicht. Das Timeout steht auf 0s. Kodi meldet einen Addonfehler. Es funktzt aber trotzdem.
Da muss was anderes her.
Code: #Name: GET OBC Value
#Version: v0.1
#Owner: harryberlin
import urllib
urllib.urlopen( 'http://192.168.2.7:44000/jsonrpc?request={"jsonrpc": "2.0", "method": "OBC.Refresh", "params": { "Property": ALL }, "id": 0}', [0])
pass
Beiträge: 3.334
Themen: 65
Registriert seit: Jul 2015
Bewertung:
33
KFZ: E39 Touring
ich nutze::
Wohnort: LKR Freising(Bayern)
da bekomme ich einen scriptfehler.
wie hast du das getestet?
Beiträge: 811
Themen: 53
Registriert seit: Jun 2015
Bewertung:
17
KFZ: e39 Touring
Wohnort: Stuttgart
28.10.2015, 15:08
(Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2015, 15:10 von Derhelge.)
an meinem Rechner.
Pi inkl Resler an mein netzwerk und dann kanns schon losgehen.
mit Putty auf den Pi und dann "tail -f /home/HelgeInterface/Log/HelgeInterface.log" --> dann folgst du dem Logfile
und dann im internetexplorer die URL eingeben. Dann sollte das HelgeInterface reagieren.
Das pythonscript kannst du mit
python /home/osmc/.kodi/addons/skin.confluence-vertical/scripts/get_obcvalue_all.py
testen
PS: grad das senden von Strings ans IKE getestet. Doku findest du im Forum unter HelgeInterface (oben angepinnt).
Werde heut noch im Auto testen und dann gibts DLLs zum testen.
Gruß
Beiträge: 3.334
Themen: 65
Registriert seit: Jul 2015
Bewertung:
33
KFZ: E39 Touring
ich nutze::
Wohnort: LKR Freising(Bayern)
28.10.2015, 18:17
(Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2015, 19:26 von harryberlin.)
1. das script wird bei mir beim aufruf des BC Screens ausgeführt
2. ich bekomme immer eine fehlermeldung, dass das script einen fehler hat. egal ob 127.0.0.1 oder seine IP.
3. entsprechend des fehlers taucht natürlich auch nix im log auf.
kann dir gern ein video machen, wenn du es nicht glaubst.
habs jetzt noch mal komplett neu probiert. jetzt scheint es wohl zu gehen.
dennoch bekomme ich die fehlermeldung.
Also gehen tut es ja mit der anfrage, aber kodi gibt einen fehler aus.
naja, hab jetzt bissl getrickst. so gehts:
mal schaun ob ich heut noch ein script draus mach, bei dem man parameter übergeben kann.
Code: #Name: HelgeInterface
#Version: v0.1
#Owner: harryberlin
import sys, urllib
ip = '127.0.0.1'
port = '44000'
method = 'OBC.Refresh'
property = 'ALL'
try:
urllib.urlopen('http://' + ip + ':' + port + '/jsonrpc?request={"jsonrpc": "2.0", "method": "' + method + '", "params": { "Property": ' + property + ' }, "id": 0}', [0])
except:
pass
Beiträge: 3.334
Themen: 65
Registriert seit: Jul 2015
Bewertung:
33
KFZ: E39 Touring
ich nutze::
Wohnort: LKR Freising(Bayern)
Irgendwie geht das mehrfach property nicht.
Das Script schaut im Moment so aus:
Code: #Name: HelgeInterface
#Version: v0.1
#Owner: harryberlin
import sys, urllib
import xbmc, xbmcgui
#DEBUG = True
HI_CLASS = ['OBC', 'IKE', 'IBUS']
HI_METHOD_OBC = ['Refresh', 'Reset', 'Set']
HI_METHOD_IKE = ['Displaytext']
HI_METHOD_IBUS = ['SendMSG']
HI_METHOD = [HI_METHOD_OBC, HI_METHOD_IKE, HI_METHOD_IBUS]
####################### -- Functions -- #######################
def Debug(sTring1,sTring2='',sTring3=''):
try:
if DEBUG: xbmcgui.Dialog().ok(str(sTring1), str(sTring2), str(sTring3))
except:
return
def HI_JSON( sClass, sMethod, sProperty ):
Debug("got JSON arguments", sMethod, sProperty)
ip = '127.0.0.1'
port = '44000'
sClass_tmp = str(sClass)
sMethod_tmp = str(sMethod)
sClassMethod_tmp = sClass_tmp + '.' + sMethod_tmp
sProperty_tmp = str(sProperty)
Debug('before', sProperty_tmp)
if sMethod in [HI_METHOD_OBC[0],HI_METHOD_OBC[1]]:
sProperty_tmp = sProperty.split(',')
sProperty_tmp = ', "Property": '.join(sProperty_tmp)
Debug('after', sProperty_tmp)
try:
urllib.urlopen('http://' + ip + ':' + port + '/jsonrpc?request={"jsonrpc": "2.0", "method": "' + sClassMethod_tmp + '", "params": { "Property": ' + sProperty_tmp + ' }, "id": 0}', [0])
except:
return
##################### -- programm -- #####################
count = len(sys.argv) - 1
if count < 1:
Debug("No arguments given", "You must specify arguments to the script", "i.e. 'tether_toggle' - to toggle wifi tethering, etc")
else:
aMethod = str(sys.argv[1]).split(".")
# parse Class and set Index
if aMethod[0] in HI_CLASS:
iHI_CLASS_INDEX = int(HI_CLASS.index(aMethod[0]))
Debug("", "CLASS is OK ", aMethod[0])
else:
Debug("unknown arguments given", " - ".join(sys.argv))
pass
# parse Method and set Index
if aMethod[1] in HI_METHOD[iHI_CLASS_INDEX]:
iHI_METHOD_INDEX = int(HI_METHOD[iHI_CLASS_INDEX].index(aMethod[1]))
Debug("good parameter given", ".".join(aMethod), sys.argv[2])
else:
Debug("combined arguments bad", "don't combine Class - Method" , str(aMethod[0]) + " - " + str(aMethod[1]))
pass
# send as json
HI_JSON(aMethod[0], aMethod[1], sys.argv[2])
pass
Beiträge: 811
Themen: 53
Registriert seit: Jun 2015
Bewertung:
17
KFZ: e39 Touring
Wohnort: Stuttgart
Beiträge: 3.334
Themen: 65
Registriert seit: Jul 2015
Bewertung:
33
KFZ: E39 Touring
ich nutze::
Wohnort: LKR Freising(Bayern)
wenn man nicht ALL, sondern z.b. CONS1,CONS2 mit einer request anfragt.
Beiträge: 811
Themen: 53
Registriert seit: Jun 2015
Bewertung:
17
KFZ: e39 Touring
Wohnort: Stuttgart
Ahso, das kann das script dann nicht?
Wenn du es irgendwie in den JSON String reinbekommst, dann kann es das HelgeInterface interpretieren.
|