Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    henfri
    @henfri
    Im ersten Beispiel aus deinem Link wird der Wert doch nicht geändert?
    msinn
    @msinn
    Hast Du mal ein paar Zeilen tiefer geschaut?
    henfri
    @henfri
    ja, da ist ein Beispiel, wie ich einen Wert regelmäßig setzen kann
    aber ich will ja gerade das Gegenteil
    Ich will den Wert unverändert lassen (=das erste Beispiel)
    und das kann cycle. autotimer kann das nicht. Richtig?
    also müsste es mit cycle (siehe mein code oben) funktionieren, oder?
    msinn
    @msinn
    Soll ich das jetzt für Dich ausprobieren oder schaffst Du das selber?
    henfri
    @henfri
    ??
    msinn
    @msinn
    !!
    henfri
    @henfri
    Das habe ich weder erbeten noch impliziert. Ich weiß nicht, was du jetzt in den falschen Hals bekommen hast
    Du hast auf zwei Beispiele (autotimer/cyle, Beispiel2) verwiesen, die den Wert beim Aufruf neu setzen. Genau das wollte ich ja nicht.
    Ich vermutete aber einen Grund, weshalb du auf diese Beispiele verwiest und habe deshalb nachgefragt - nicht mehr, nicht weniger
    Hasenradball
    @hasenradball
    Hallo zusammen könnte jemand bitte den PR #298 genehmigen?
    danke
    Bei den Plugins -> rcswitch...
    psilo909
    @psilo909
    msinn merged commit 59f9c66 into develop about 1 year ago?
    msinn
    @msinn
    @hasenradball was hat rcswitch mit dem http modul zu tun?
    Hasenradball
    @hasenradball
    @msinn hallo ganz einfach das rcswitch kann man auch via remote betreiben. D.h. der auslösene Rechner ist nicht der der den Befehl über die antenne raus schickt. Diese Funktion war schon immer drin, es war aber nur möglich wenn der remote eine statische ip hatte. Mit der Änderung funktioniert es auch mit Angabe des hostnames. War das die Antwort auf deine Frage?
    Nur mit statischer IP ist sehr unpraktisch.
    Das modul kommt von meinem Bekannten der hat aber gerade wenig Zeit für smarthome geschichten.
    bmxp
    @bmxp
    Wenn Du noch ein wenig Zeit hast, könntest Du solche Sachen wie self.get_parameter_value() einbauen statt die Parameter per Übergabe in init zu übernehmen. Außerdem gibt es in der plugin.yaml auch den Typ IP, damit kann sowohl ein Host als auch eine IP Adresse angegeben werden. Die Typ-konforme Prüfung findet dann schon ausserhalb des Plugins statt und hält den Code schlanker...
    msinn
    @msinn
    @hasenradball Nein, das hat meine Frage nicht beantwortet. Der von Dir angesprochene dreht sich darum, dass http (für Webinterfaces) auch funktionert wenn der Rchner nicht in einem LAN hängt.
    Hasenradball
    @hasenradball
    @msinn Dann war die verlinkung falsch.
    ich schaue heute abend noch mal drauf
    Hasenradball
    @hasenradball
    @msinn hallo es geht um diesen PR
    smarthomeNG/plugins#298
    bmxp
    @bmxp
    @Bonze255 Kannst Du bitte den PR für das xiaomi plugin auf den develop stellen?
    Bonze255
    @Bonze255
    @bmxp ich bekomms nicht hin.. wie mach ich nen erneuten fork ? muss ich den alten löschen ?
    Bonze255
    @Bonze255

    verzweifele gerade bei eigentlich standart python sachen :/ habs gefuehl der pc will mich verarschen ..
    bekomme nicht hin den bytestring richtig zu splitten .. die ersten 3 splittet er richtig, dann fängt er an müll zu machen ...
    wie würdet ihr den splitten? slicen?

    payload = b'\xDE\xAD\xBE\x01\x00\x00\x00\x04\x00\x00\x20\x00\x77\x35\x36\xDC\xC3\x0E\x2E\x84\x7E\x0E\x75\x29\xE2\x34\x60\xCF\xE3\xFF\xCC\x52\x3F\x37\xB2\xF2\xDC\x1A\x71\x80\xF2\x9B\x2E\xA0\x27\xA9\x82\x41\x9C\xCE\x45\x9D\x27\x45\x2E\x42\x14\xBE\x9C\x74\xE9\x33\x3A\x21\xDB\x10\x78\xB9\xF6\x7B'

    hinter den einzelnen teilen ist die soll laenge..

     ident =     payload[:3]         #3  
            version =   payload[3]      #1  
            opslimit =  payload[4:8]    #4  
            memlimit =  payload[8:12]   #4  
            salt =      payload[12:29]  #16 
            nonce =     payload[29:37]  #8  
            ciphertext = payload[37:]   #34
    msinn
    @msinn
    payload[12:29]

    bei mir sind 12 + 16 meistens 28. Müsste das dann nicht

            salt =      payload[12:28]  #16 
            nonce =     payload[28:36]  #8  
           ciphertext = payload[36:]   #34

    heißen?

    Bonze255
    @Bonze255
    Mh dachte von 12 bis 28-1?
    Bzw dann 29-1
    msinn
    @msinn
    Dann müsstest Du davor auch 4:7 und 8:11 schreiben…
    und Du hast ja geschreiben, dass 4:8 und 8:12 richtige ergebnisse liefert :wink:
    Bonze255
    @Bonze255
    Muss Mal drüber schlafen, hab so viel probiert.. ich hab ne API mit dem Beispiel, woraus ich lesen kann was bei dem vorgegeben Input rauskommen soll
    bmxp
    @bmxp
    @bonze255 Sorry, da musst Du Dich über git einlesen, das kann ich Dir nicht in ein paar Sätzen erzählen, zumal ich mit git selbst nicht gut bin.
    Bonze255
    @Bonze255
    OK hab's, man muss beim Pullen nur head und Basis tauschen
    Bonze255
    @Bonze255

    @msinn, mein problem besteht darin, das eigentlich nonce

    \xE3\xFF\xCC\x52\x3F\x37\xB2\xF2

    sein sollte, ich jedoch

    \xe3\xff\xccR?7\xb2\xf2

    erhalte, und weiss nicht wieso..

    ebsno bei memlimit wird ein byte verschluckt, er sollte 4 slicen, gibt aber nur 3 aus, komischerweise genau ein mittiges..

    msinn
    @msinn
    Dann hast Du gestern ja den Fehler an einer ganz falschen Stelle gesucht. Solange das Paket, welches Du per UDP empfängst nicht die richtigen Daten hat, solltest Du in Deiner Emfangsroutine nachsehen, bzw. prüfen ob überhaupt die richtigen Daten gesendet werden.
    Bonze255
    @Bonze255
    ne
    die daten hab ich aus dem Beispiel aus der APi übernommen .. ich habe eher das gefuehl das python irgendwas wandelt, was ich aber nicht möchte
    Bonze255
    @Bonze255

    hab das ganze mal jetzt mit struct zerlegt, anstatt mit dem slicen, kommt aber ziemlich das gleiche raus ..

      payload = b'\xDE\xAD\xBE\x01\x00\x00\x00\x04\x00\x00\x20\x00\x77\x35\x36\xDC\xC3\x0E\x2E\x84\x7E\x0E\x75\x29\xE2\x34\x60\xCF\xE3\xFF\xCC\x52\x3F\x37\xB2\xF2\xDC\x1A\x71\x80\xF2\x9B\x2E\xA0\x27\xA9\x82\x41\x9C\xCE\x45\x9D\x27\x45\x2E\x42\x14\xBE\x9C\x74\xE9\x33\x3A\x21\xDB\x10\x78\xB9\xF6\x7B'
    print('ident', struct.unpack(">3sBll16s8s34s",payload))
    
    =>(b'\xde\xad\xbe', 1, 4, 8192, b'w56\xdc\xc3\x0e.\x84~\x0eu)\xe24`\xcf', b'\xe3\xff\xccR?7\xb2\xf2', b"\xdc\x1aq\x80\xf2\x9b.\xa0'\xa9\x82A\x9c\xceE\x9d'E.B\x14\xbe\x9ct\xe93:!\xdb\x10x\xb9\xf6{")

    oder habe ich vielleicht ne komplett falsche denkweise zu den binary hex sachen ?

    Bonze255
    @Bonze255
    man muss mit argon2i und chacha20poly1305 arbeiten .. ist aber irgendwie komplizierter als gedacht..
    Bonze255
    @Bonze255
    :) funzt, wenn man das richtige package nimmt
    Hasenradball
    @hasenradball
    @msinn könntest mit den PR durchwinken?
    msinn
    @msinn
    Kannst Du für den Parameter rcswitch_host in der plugin.yaml noch den Datentyp anpassen? str ist seht generell und führt dazu, dass im Admin Interface Werte erfasst werden können, die sich später als ungültig herausstellen bzw. die beim Laden des Plugins nicht als ungültig (mit einem Log Eintrag) abgewiesen werden. Von den möglichen Datentypen (http://www.smarthomeng.de/developer/metadata/parameters.html) ist ip der passende.
    Hasenradball
    @hasenradball
    @msinn mache ich, melde mich dann wenn ich das umgestellt habe.
    Danke für den Hinweiß
    Hasenradball
    @hasenradball
    @msinn erledigt ...