Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[FeatureRequest] Kommunikation Skin --> HelgeInterface
#21
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ß
Zitieren
#22
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.
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren
#23
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
Zitieren
#24
da bekomme ich einen scriptfehler.
wie hast du das getestet?
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren
#25
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ß
Zitieren
#26
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
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren
#27
Irgendwie geht das mehrfach property nicht.

Das Script schaut im Moment so aus:
Spoiler!
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
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren
#28
mehrfach property?
Zitieren
#29
wenn man nicht ALL, sondern z.b. CONS1,CONS2 mit einer request anfragt.
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren
#30
Ahso, das kann das script dann nicht?
Wenn du es irgendwie in den JSON String reinbekommst, dann kann es das HelgeInterface interpretieren.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste