Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[Addon] Digitale Serviceanzeige - DSA
#41
ohne auto wird -1 zurück gegeben.
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren
#42
Bestätige.
Er knallt mir jetzt die -1 auf den Tisch.

Okay die -1 ballert er dann einfach in meine Kilometerstand variable.
Funzt alles auch.

Bei Port hab ich 8089 direkt eingetragen.
Ueber Putty bekomm ich das nicht hin TCP zu testen.

kommt die -1 den vom IbusCommunicator oder ist die -1 generell standard wenn keine Antwort gegeben wird vom clientsocket?

mfg
Zitieren
#43
die -1 ist die antwort. wenn keine verbindung zustande kommt, oder es keine antwort gibt, das musst du selbst lösen. hatte es ja mit dem True False so gelöst.
wie schaut deine funktion aus?
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren
#44
Code:
def send_tcp_command(message):  
    clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #ok
    clientsocket.settimeout(0.1) #ok
    #port = get_addon_setting('tcp_port') ###? int()
    port = 8089
    try:
        clientsocket.connect(('localhost', port)) #127.0.0.1 ok
    except:
        return False

    #xbmc.executebuiltin('Notification(%s, %s, %d)'%(str(message.upper()), str(port), time)) #fuer testzwecke
    
       clientsocket.send(message) #obc;get;odometer #ok
    #time.sleep(0.2)

    clientsocket.settimeout(0.2) #auf antwort warten ok

    data = clientsocket.recv(50).replace('\n','') #antwort nicht kleiner 50 nicht weniger 50 ok

    #time.sleep(0.2)

    clientsocket.settimeout(0.2) #ok
    clientsocket.shutdown(True) #ok
    
    if data == "-1":
        data = 136000 #Um zu verhindern das er quatsch in die variable schreibt
        xbmc.executebuiltin('Notification(%s, %s, %d)'%("ERROR:", str(data), time))
        return data
    else:
        #data = 236000 #test wird später entfernt
        return data



Code:
aktKilometer     = send_tcp_command('obc;get;odometer')



mehr hab ich bisher nicht gemacht
Zitieren
#45
bin noch nicht ganz so bewandert mit raise, aber so wäre mein Ansatz:
Code:
def send_tcp_command(message):
    clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # ok
    clientsocket.settimeout(0.1)  # ok
    # port = get_addon_setting('tcp_port') ###? int()
    port = 8089
    try:
        clientsocket.connect(('localhost', port))  # 127.0.0.1 ok
    except:
        raise ValueError

    clientsocket.send(message)  # obc;get;odometer #ok
    # time.sleep(0.2)

    clientsocket.settimeout(0.2)  # auf antwort warten ok

    # time.sleep(0.2)

    clientsocket.settimeout(0.2)  # ok
    clientsocket.shutdown(True)  # ok

    data = clientsocket.recv(50).replace('\n', '')  # antwort nicht kleiner 50 nicht weniger 50 ok
    # data = clientsocket.recv(50).strip()  # strip müsste auch gehen
    return data


def get_odometer():
    try:
        odometer = int(send_tcp_command('obc;get;odometer'))
    except ValueError:
        odometer = -1

    if odometer < 0:
        xbmc.executebuiltin('Notification(ERROR:, %s, %d)' % (odometer, time))
        return 136000 # Um zu verhindern das er quatsch in die variable schreibt
    else:
        return odometer # odometer = 236000 #test wird später entfernt
    
current_odometer = get_odometer()
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren
#46
Also er schreibt immer die 136000 rein. Hat er ja vorher auch schon gemacht. Also scheint beides zu gehen.
Ich hab jetzt mal versucht über Putty das zu testen. Aber wie gehst du beim Teste jetzt vor?

Hab Kodi 17 und die 1.3.2a installiert auf dem Netbook. In deiner App aktiviert ich dann Entwicklungsmodus, muss ich auch "Prozess ibus über TCP" aktivieren? Hab das jetzt auch an. Dann abspeichern.

ok dann Starte ich Putty: localhost:8089 RAW, dann mach ich : "simulateibus;80 05 BF 18 10 00 CK" ohne " " das bemerkt das addon dann auch und der communicator meldet "simulate 80 05 BF 18 10 00 CK und gleichzeit connection abort. Undecided
Zitieren
#47
ich verbinde mich per putty mit dem pi und führe dann den befehl aus.

wenn dann das addon meldet, dann passt das auch. das telegramm ist halt nicht das für kilometerstand.

[Bild: putty_osmc18ove.png]
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren
#48
Nachtrag:

Das Addon ist nun soweit vollständig
Was jetzt noch kommt ist testen, cleanup und dann die Veröffentlichung bin sehr gespannt wie es ankommt.

mfg
Zitieren
#49
Beitrag #1 wurde aktualisiert.

Viel Spaß damit.
Zitieren
#50
Habe mir heute dein Addon installiert.
Schaut schon richtig gut aus und ähnelt bei der Bedienung auch den neuen BMW Modellen was ich persönlich richtig cool finde.

Was mir aufgefallen ist, daß bei jedem anklicken die werte sofort zurück gesetzt werden.
Ist es eventuell möglich dort eine Art "abfrage" zusätzlich einzubauen, so könnte man das ungewollte zurück setzen verhindern.

Aber sonst tolle Arbeit!
Zitieren


Gehe zu:


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