Ankündigung

Einklappen
Keine Ankündigung bisher.

ByteCode Logikbaustein (opt. Lizenzprüfung)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • NilsS
    antwortet
    Falls hier noch wer die Benachrichtigung benötigt.
    Dieses Script ist nicht länger empfohlen.

    Bitte auf .hsb Bausteine umstellen (keine Angst ist sehr viel einfacher als das hier)
    https://knx-user-forum.de/forum/%C3%...r-und-debugger

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Auch wenn das ganze vielleicht schon ein wenig älter ist versuche ich gerade den roten Faden zu finden. Dazu habe ich den Post mit der Version 1.9 mal zitiert und versucht die Formatierung herzustellen.

    Update Version 1.9


    ###Changelog###
    * kompiliert für 2.2er und 2.3er FW als auch für 2.4er Firmware
    * Symbolize ( um den Variablen SN[2]/EN[3]... Namen ala @@Temperatur zu geben)
    * base64 oder zlib komprimierter Bytecode zur Formelerstellung
    * Quelltext kann direkt mit angehängt werden
    * mehrere Codeblöcke mit auch unterschiedlichen kodierungen (base64/bytecode)
    * Zipfile support (--zip)
    * ausgabe des generierten Codes (--list)
    * Debug Komentare die in der entgültigen Version entfernt sind (###DEBUG###print "Debug: EN[1] = "+ str(EN[1]) (nur bei --debug oder --live)


    Um jetzt damit einen neuen Baustein zu erstellen folgenden Befehl ausführen:
    Code:
    python LogikGeneratorTemplate.py --new=10555:MeinLogikName
    Damit wird eine Datei mit dem Namen "10555_MeinLogikName.py" erstellt. Diese enthält automatisch das Template mit bereits angepasster ID und Namen.
    Dort muss dann der Code im Codebereich erstellt werden.


    Um den Code LIVE zu testen, muss der Baustein dann einmal mit den folgenden Parametern aufgerufen werden:
    Code:
    python [B]10555_MeinLogikName.py[/B] --live=10.10.10.10:9011
    Homeserver-IP 10.10.10.10 und Debugport 9011 entsprechend den eigenen Gegebenheiten ersetzen

    Dadurch wird eine hsl mit dem Namen 10555_MeinLogiName_V0.1_DEBUG.hsl erzeugt.

    Diese hsl wird dann in den Logikordner des Experten kopiert.
    Die Logik die dann im GLE zu sehen ist, hat einen Eingang mehr als definiert wurde (DEBUG) dieser wird einfach mit einer "IP/EIB-Telegramm empfangen" verbunden (Empfangen enthält nur ein WERT-als Klartext 14Byte iKO). Alle weiteren zu testenden Logiken können ebenfalls mit diesem gleichen IP Empfang verbunden werden, da jeder Baustein nur den Code an nimmt, der von seinem Template mit der gleichen LogikID verschickt wird.

    Nach dem Upload auf den HS, führt ein weiterer
    Code:
    python [B]10555_MeinLogikName.py[/B] --live=10.10.10.10:9011
    dazu, das der im Template angezeigte Code in den HS geladen wird. Auf der Konsole des HS kann das auch mitverfolgt werden, ebenso wie im Quelltext angegebene "print" Befehle ihre Ausgabe auf den am HS angeschlossenen Monitor ausgeben.

    Zum testen, oder zum Auslösen de Bausteins:
    Code:
    python 10555_MeinLogikName.py --send=10.10.10.10:9011 --ei=1 --run
    führt die Initialisierung des Bausteins durch
    Code:
    python 10555_MeinLogikName.py --send=10.10.10.10:9011 --en1=NeuerWert
    setzt Eingang 1 auf den Wert "NeuerWert", es können auch die Werte EA,SN,SA,AA,AN geändert werden ebenso kann das ändern von EC/SC/AC (--ec1=1) dazu genutzt werden um Änderungen zu simulieren.


    Für mich bleiben da ein paar Fragen:

    Ohne Live-Debugging lasse ich einfach --debug und --live weg, dafür erhalte ich dann einen fertigen Baustein?
    Was für ein Protokoll wird für den Debug-Port verlangt (TCP/UDP/???)?
    Was hat es mit "USAGE: python.exe LogikGenerator.py [--debug --en1=34 --en2="TEST"]" auf sich? Speziell die Definition en1, en2 ... Muss ich dort die Anzahl/Namen der Ein- und Ausgänge vorher definieren?
    Was macht die compile24.py, die gehört einfach zum Template und muss im Ordner liegen ?

    Die ersten Erfolge konnte ich mit der ersten Version (makeLogic.py) bereits verbuchen.

    Danke für erhellende Hinweise und Gruß

    Mirko

    Einen Kommentar schreiben:


  • division
    antwortet
    Hab ich keine....

    In Häusern mit Lüftung ist mir immer die Luft zu trocken....

    Einen Kommentar schreiben:


  • MatthiasS
    antwortet
    Anbindung Comfoair

    Einen Kommentar schreiben:


  • division
    antwortet
    Zitat von MatthiasS Beitrag anzeigen
    Ich baue auch gerade meinen ersten.....
    Cool,

    Was wird es denn wohl werden?

    Einen Kommentar schreiben:


  • MatthiasS
    antwortet
    Super. Ich freu' mich auf epische Bausteine

    Ich baue auch gerade meinen ersten.....

    Einen Kommentar schreiben:


  • division
    antwortet
    Zitat von MatthiasS Beitrag anzeigen
    Da sieht man das Dilemma:

    Die meisten wollen nur finden
    Naja... ich will ja machen... Das ganze hier war mir nur nie klar. Hab mich immer gefragt wo die "nicht Klartext" hsl's herkommen.

    Da ich das nu gesehen habe und es einiges noch nicht gibt was ich haben will.... muss ich es wohl selber bauen.

    Viele Grüße

    Einen Kommentar schreiben:


  • MatthiasS
    antwortet
    Da sieht man das Dilemma:

    Die meisten wollen nur finden

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Naja also es ist ja eigentlich nicht soooo sehr eingeschlafen

    Die aktuelleste Version ist immer so ein wenig relativ, da es ja immer den ganzen Baustein betrifft.

    Das aktuelleste findest du warscheinlich in dem Baustein https://github.com/knxuf/buderus/blo...264_Buderus.py

    wenn du darauf aufsetzen willst kannst du einfach den Baustein spezifischen Teil ändern/löschen und das nutzen.

    Ich würde dir dann zum testen den https://github.com/knxuf/HS-Logikdebugger empfehlen.


    Bausteine danach gibts in Mengen um nur einige zu nennen hsfusion,hsphone,systemlog,textarchiv,fritz_callmo n,squeeze,overto ekey uvm.

    Einen Kommentar schreiben:


  • division
    antwortet
    Warum ist den das hier so eingeschlafen?

    Ich dachte hier bald UNMENGEN von EPISCHEN Bausteinen finden zu können....

    Welches ist denn nu eigentlich die aktuelle Version des Generators?

    1.9 von paar seiten vorher?

    Viele Grüße

    Einen Kommentar schreiben:


  • jjb
    antwortet
    Python Libs auf dem HS/FS

    Weiss jemand welche Libs auf der aktuellen FW (2.7) im HS/FS verfuegbar sind?

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Entschiedend sind die libs auf dem HS.

    Google Kalender wird wohl ohne _ssl nix, aber warten wir mal ob da was kommt

    Der Baustein steht bei mir auch auf dem Wunschprogramm.

    In Verbindung hiermit https://knx-user-forum.de/downloads.php?do=file&id=390

    gehts noch besser.

    Einen Kommentar schreiben:


  • gtdpower2
    antwortet
    Hallo zusammen,

    Bin durch Zufall auf dieses tolle Tool gestoßen. Nun hab ich aber noch ne Frage zu den Libs. Was zählt, die Libs auf dem HS oder die Libs auf dem Rechner, mit dem man den Baustein erstellt? Welche Libs sind auf dem HS verfügbar?
    Evtl komm ich so ja meinem gewünschtem Google Kalender Baustein näher!

    Gruß Nico

    Einen Kommentar schreiben:


  • muerlemann
    antwortet
    Hab nun nochmal Zeit gehabt und ein wenig probiert.
    Ich sehe jedoch immer noch nicht, auch nicht bei den schon vorhandenen Logikmodulen, wo der Zusammenhang von Ein- und Ausgängen in der Logik.py Datei liegt.
    Habe Beispielsweise eine Logik, die auf IP-Telegramme hört.
    Wie bekomm ich nun den Wert von Eingang 1 in den Pythonscript eingebunden.....und umgekehrt die Empfangenen Daten auf den Ausgang des Logikbausteins.....

    import socket

    HOST = '' # Symbolic name meaning all available interfaces
    PORT = 50007 # Arbitrary non-privileged port
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind((HOST, PORT))
    s.listen(1)
    conn, addr = s.accept()
    print 'Connected by', addr
    while 1:
    data = conn.recv(1024)
    if not data: break
    conn.send(data)
    conn.close()



    Aber wie binde ich nun meine Eingänge (IP-Adresse, Port, Empfangene Daten) in die hsl ein?

    Einen Kommentar schreiben:


  • makki
    antwortet
    Nur dran denken: Socket + TCP blockiert!
    Das kann also schnell unschön werden aber ansonsten kann man damit auch die wildesten Dinge machen

    Makki

    Einen Kommentar schreiben:

Lädt...
X