Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
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?
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!
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:
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:
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.
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.
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.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar