Übergabe der Variable (Fehler)

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Leute,

    Ich versuche mit dem PI eingehende Befehle von meinem Server zu verarbeiten, der Server sendet folgenden Befehl „0x13|0xFF“

    Leider stimmt da etwas nicht mit der Übergabe der Variable an dem Befehl „bus.write_byte_data“ nicht


    Hätte hier jemand einen Lösungsansatz?


    LG
    Sven

    Fehler:

    Unhandled exception in thread started by <function clientthreadd at 0xb6ab51f0>
    Traceback (most recent call last):
    File "tcp.py", line 117, in clientthreadd
    bus.write_byte_data(DEVICE,addrs,pwert)
    TypeError: an integer is required


    Code
    addrs,pwert = data.split("|")
    bus.write_byte_data(DEVICE,addrs,pwert)

  • Traceback (most recent call last):
    File "tcp.py", line 117, in clientthreadd
    bus.write_byte_data(DEVICE,addrs,pwert)
    TypeError: an integer is required


    Code
    addrs,pwert = data.split("|")
    bus.write_byte_data(DEVICE,addrs,pwert)


    ...ächtz ...Python ...:lol:
    Solange Du den ganzen Code nicht zeigst wird es nur Orakeln bleiben.
    ... Meine Kistallkugel ist grade dreckig, und das Putzmittel is empty...
    Aber so aus'm Bauch ...

    Code
    TypeError: an integer is required


    Der will nen Integer aber Du gibst Float,Ascii, oder sonstwas ... ka .
    Auserdem... Dein Server sendet

    Code
    0x13|0xFF

    ???, und wo ist der dritte Parameter den er will ? oder versteh ich da was falsch:denker:

    gruß root

    Einmal editiert, zuletzt von root (25. Oktober 2014 um 03:28)

  • Hallo,

    leider bekomme ich immer noch eine Fehlermeldung


    Traceback (most recent call last):
    File "tcp.py", line 117, in clientthreadd
    bus.write_byte_data(DEVICE,int(addrs),int(pwert))
    ValueError: invalid literal for int() with base 10: '0x00'


    LG
    Sven

  • Hier der Code


  • Probier mal folgendes:

    Code
    bus.write_byte_data(DEVICE, int(addrs, 0), int(pwert, 0))

    Edit:

    Edit II:
    besser mit base 16 (b16encode) falls grössere Integers geschrieben werden müssen

  • Guten Abend,


    also wenn ich den Code einsetze

    Code
    bus.write_byte_data(DEVICE, int(addrs, 16), int(pwert, 16))


    kommt ja im Test Script 19 und 255 raus, aber wenn ich das richtig sehe sollte er in der Variable ja z.b. 0xFF schreiben und nicht denn wert umwandeln oder habe ich einen denke Fehler?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!