@Nils
Das ist richtig was du das schreibst ->
Solar hat hier schon funktoniert, Heizkreise noch nicht!
Sollte auch nur demonstrieren wie das angedacht war.
Schade das Seriell nicht mehr drin ist, dann kann ich auch nicht testen, da ich kein Moxa habe!
Ankündigung
Einklappen
Keine Ankündigung bisher.
Umfrage: Interesse an Anbindung von Buderus Heizung an KNX
Einklappen
X
-
Mal eine grundsätzliche Frage dazu: Könnte man in ähnlicher Weise auch den eBus (Vaillant) an den HS bringen? Letztlich ist das ja auch ein serielles Protokoll, das ich bereits per eBus-RS232-Interface und Lantronix (ähnlich Moxa) ans Netzwerk angebunden habe. Mit dem Erstellen von Python-Logikbausteinen im HS kenn ich mich halt gar nicht aus...
Wäre eine Alternative für HS-Besitzer mit Vaillant-Heizung, auf dem Wiregate gibts da schon etliches dazu.
Marcus
Einen Kommentar schreiben:
-
@MaPa
zur auch nur annähernden Funktionalität des obigen Screenshots, sag ich mal nix
das geht nichtmal aus dem Experten raus.
*unterschiedliche Datentypen an den Eingängen
*kein Ausgang belegt
aber naja nu isses ja eigentlich vom Tisch
Einen Kommentar schreiben:
-
nicht korrekt, den serial support habe ich entfernt weil es pyserial auf dem HS nicht gibt. Auf dem HS4 bestünde zwar die Möglichkeit das wieder hinzuzufügen .... aber dafür ist es ja OSS :PZitat von MaPa Beitrag anzeigen* Schnittstelle Moxa und RS232.
Einen Kommentar schreiben:
-
Zitat von Gaston Beitrag anzeigenSorry hat etwas gedauert. Aber das verstehe Ich nicht. Ich habe ein Bild von MaPa im Juli erhalten in dem die Bausteine im HS Logikeditor zu sehen sind. Woraufhin Ich auch die Aussage bekam diese könnten eigentlich sofort veröffentlicht werden.
Woraufhin Ich logischerweise mein projekt einstellte. Ok, muss dann mal sehen welche Schritte Ich unternehme.
Gruss,
Gaston
Es ist richtig, ich hatte einen Baustein und sagen wir mal für "Beta-User" soweit fertig. Mein HS-Logik war Quick and Dirty aufgebaut, da ich noch nie Python bzw. für den HomeServer Logikmodule programmiert habe. So wie ich in der Email geschrieben habe, geht das Lesen mit dem Baustein nur im "Normal Mode". Also einmal Initial und dann nur noch Änderungen. Dabei habe ich nur nach dem Offset 0x9E für Solar und Offset 0x82 für Heizkreis 3 gesucht und diese Daten als Stream ausgegeben. Damit hier alle wissen um welches Bild es sich handelt: (siehe Anhang) Die Module danach sind Byte2Bit-Wandler nichts Weltbewegendes. Danach blieb der Code liegen und wurde nichts mehr weiter gemacht, da es für mich andere Prioritäten gab.
Der Pythoncode den ich Nils gegeben habe funktioniert im Normal und Direkt Modus, aber keine HomeServer Bausteine. Nils ist dabei den Code so umzuschreiben, dass der neue Baustein alles kann:
* Lesen und Schreiben,
* Normal-Modus und Direkt-Modus.
* Schnittstelle Moxa und RS232.
* in HS-Logikbaustein verpacken (da scheint Nils Profi zu sein)
Dafür bin ich Nils und auch allen anderen hier sehr dankbar, dass sie ihre Freizeit dafür opfert und als OSS weiter entwickelt.
@Gaston, wo liegt jetzt genau ihr Problem?Angehängte Dateien
Einen Kommentar schreiben:
-
Wie sollen wir das machen? wer hat die höhere Priorität? wollen wir uns unterordnen und erst empfangen?Antwortet ein Gerät auf den Sendewunsch (Zeichen STX) seines Peripheriegerätes innerhalb der
Quittungsverzugszeit QVZ nicht mit der Quittung DLE oder NAK, sondern ebenfalls mit dem Zeichen STX,
liegt ein Initialisierungskonflikt vor. Beide Geräte möchten einen vorliegenden Sendeauftrag ausführen.
Das Gerät mit der niederen Priorität stellt seinen Sendeauftrag zurück und antwortet mit dem Zeichen
DLE. Das Gerät mit der höheren Priorität sendet daraufhin seine Daten in der vorher beschriebenen
Weise. Nach dem Verbindungsabbau kann das Gerät mit der niederen Priorität seinen Sendeauftrag
ausführen.
Einen Kommentar schreiben:
-
Hmm das ist ja komisch, das ist nicht aktuell oOZitat von pmike Beitrag anzeigenMmh, ich habe dirkt das Zipfile von hier genommen (weil ich mir den Client sparen wollte)
https://raw.github.com/knxuf/buderus...264_Buderus.py
das sollte immer das aktuelle aus dem git sein
EDIT:
oh fast vergessen
updated und hoffenltich fixed
Einen Kommentar schreiben:
-
So, nachdem mir doch die Augen zugefallen waren, hier mal ein Test, scheint sich gelohnt zu haben noch ein Nickerchen zu machen
Also das Umschalten zwischen Read und Write Thread scheint jetzt zu gehen.
Auch der * und die Leerzeichen werden umgesetzt. => dreimal send geht und die Leerzeichen sind entfernt.
Aber das Empfangen geht noch nicht.
Das Bild vom Debugger im Anhang
In den Kongfig steht das AN[3]="A2 01 23 24 53 66" übrigens. geht auch.
und der Log om Terminal:
einfach:
mit traceCode:-> A2 01 23 24 53 66 -> DD -> A2 01 -> DE <- 0B 90 06 00 08 44 (error: timeout - no DLE after STX) -> DD -> A2 01 -> DE
Also Senden geht and empfangen hängt.Code:1354762304401 - COM2 - (z00) receive: STX 1354762304581 - COM2 - (z00) sending: DLE 1354762304581 - COM2 - (z00) receive: A2 01 23 24 53 66 1354762304621 - COM2 - (z21) receive: DLE 1354762304621 - COM2 - (z22) receive: ETX 1354762304621 - COM2 - (z23) receive: BCC=[82], is ok 1354762304621 - COM2 - (z23) sending: DLE 1354762351739 - COM2 - (z00) receive: STX 1354762351919 - COM2 - (z00) sending: DLE 1354762351919 - COM2 - (z00) receive: DD 1354762351949 - COM2 - (z21) receive: DLE 1354762351949 - COM2 - (z22) receive: ETX 1354762351949 - COM2 - (z23) receive: BCC=[CE], is ok 1354762351949 - COM2 - (z23) sending: DLE 1354762351969 - COM2 - (z00) receive: STX 1354762352149 - COM2 - (z00) sending: DLE 1354762352149 - COM2 - (z00) receive: A2 01 1354762352179 - COM2 - (z21) receive: DLE 1354762352179 - COM2 - (z22) receive: ETX 1354762352179 - COM2 - (z23) receive: BCC=[B0], is ok 1354762352179 - COM2 - (z23) sending: DLE 1354762352199 - COM2 - (z00) receive: STX 1354762352380 - COM2 - (z00) sending: DLE 1354762352380 - COM2 - (z00) receive: DE 1354762352410 - COM2 - (z21) receive: DLE 1354762352410 - COM2 - (z22) receive: ETX 1354762352410 - COM2 - (z23) receive: BCC=[CD], is ok 1354762352410 - COM2 - (z23) sending: DLE 1354762362194 - COM2 - (z00) sending: STX 1354762364197 - COM2 - (z01) sending: STX, because QVZ is over 1354762366199 - COM2 - (z11) sending: STX, because QVZ is over 1354762368202 - COM2 - (z12) QVZ is over 1354762368212 - COM2 - (z12) After STX no DLE within QVZ-time. Unable to send the data. Please try again. Rejecting the data !!! 1354762388662 - COM2 - (z00) receive: STX 1354762388842 - COM2 - (z00) sending: DLE 1354762388852 - COM2 - (z00) receive: DD 1354762388872 - COM2 - (z21) receive: DLE 1354762388872 - COM2 - (z22) receive: ETX 1354762388872 - COM2 - (z23) receive: BCC=[CE], is ok 1354762388882 - COM2 - (z23) sending: DLE 1354762388892 - COM2 - (z00) receive: STX 1354762389072 - COM2 - (z00) sending: DLE 1354762389072 - COM2 - (z00) receive: A2 01 1354762389102 - COM2 - (z21) receive: DLE 1354762389102 - COM2 - (z22) receive: ETX 1354762389102 - COM2 - (z23) receive: BCC=[B0], is ok 1354762389102 - COM2 - (z23) sending: DLE 1354762389122 - COM2 - (z00) receive: STX 1354762389303 - COM2 - (z00) sending: DLE 1354762389303 - COM2 - (z00) receive: DE 1354762389333 - COM2 - (z21) receive: DLE 1354762389333 - COM2 - (z22) receive: ETX 1354762389333 - COM2 - (z23) receive: BCC=[CD], is ok 1354762389333 - COM2 - (z23) sending: DLE
Gute Nacht
TbiAngehängte Dateien
Einen Kommentar schreiben:
-
Mmh, ich habe dirkt das Zipfile von hier genommen (weil ich mir den Client sparen wollte) und dann EN[3]="DD"+run eingegeben:Zitat von NilsS Beitrag anzeigen@mike
Ich glaube du hast die falsche Version. meine Version die das kann ist nicht im Master sondern im Head
git checkout Head
git pull HEAD
Nach ca. 2s Denkpause spuckt er weiter Normalmode Daten aus. Das dürfte er im Direktmodus aber erst nach 1min und auf "A201" reagiert er deshalb auch nicht. Nach meiner Vermutung ist nicht sichergestellt, dass der Befehl solange gesendet wird, bis ein DLE von der Anlage kommt.Code:DEBUG: 'STX <--- empfangen' DEBUG: '---> DLE gesendet' DEBUG: "Data 'A7'" DEBUG: "Data '01'" DEBUG: "Data '89'" DEBUG: "Data '1A'" DEBUG: "Data 'AB'" DEBUG: 'erstes DLE in DATA gefunden' DEBUG: 'Received BBC -> OK' DEBUG: Daten sind erfolgreich empfangen DEBUG: "Reveice_Data 'A7 01 89 1A AB'" DEBUG: _3964r_Receive: Also in Empfangs Mode EN[3]="DD" >> run teste Bedingung in Zeile 49: 'EI' teste Bedingung in Zeile 52: 'EI' teste Bedingung in Zeile 53: 'EC[3]' starte Formel: 'SN[1].incomming(EN[3])' DEBUG: "incomming message 'DD'" RunTime: 0.000419 Ausgabe: 0|0|0|0 Ergebnis: None -------
Mike
Einen Kommentar schreiben:
-
keine SorgeZitat von pmike Beitrag anzeigenAllerdings weiß ich nicht, wie man 60Byte zwischen zwei Bausteinen übertragen könnte.
da ja alle als hex String kommen können die einfach über ein 14byte iko im HS verarbeitet werden. Genau so wie es hsfusion jetzt mit den connectoren macht. Da geht bis 10kbyte sogar remanent.
Einen Kommentar schreiben:
-
@mike
Ich glaube du hast die falsche Version. meine Version die das kann ist nicht im Master sondern im Head
git checkout Head
git pull HEAD
Einen Kommentar schreiben:
-
Tobias das ungültige Zeichen kannst du einfach ignorieren, das baue ich noch um. Das kommt aus dem anderen thread. Das sollte eigentlich nicht stören
Edit: Mist klar das read schnappt das DLE da natürlich weg.
Einen Kommentar schreiben:
-
Hi Nils,
die Eingabe von EN[3]="DD" ... habe ich irgendwie nicht hinbekommen. Ich lese am WE noch mal deine Anleitung zum Debugger.
Dafür habe ich in der Zeile 268 MODE_DIRECT statt MODE_NORMAL eingetragen und das Array in Zeile 277 auf Send_Data=[ 0xA2 , 0x01 ]
Man kann "DD" und "A201" leider nicht in einem 3964r Frame packen, sondern immer schön nacheinander, weil Einzelkommandos. Dann kommen auch die Konfigurationsdaten vom Gerät 1. Nach einer Minute ohne Action kommen dann die Normal-Modus Daten.
Das Ende der Konfiguration ist immer "AC <Ger.-ID>" auch wenn das Gerät nicht da ist.
Supi!
So könnte man in einer Schleife die Initialdaten holen und die Einzelwerte mit den Normal-Mode Daten aktualisieren. Ein Kesselbaustein fragt dann z.B. den Typ "0x92" ab und bekommt die 60 Byte Daten vom
Grundbaustein im aktuellen Status zur Weiterverarbeitung. Allerdings weiß ich nicht, wie man 60Byte zwischen zwei Bausteinen übertragen könnte.
Ich kann dir meine Konfigurationsdaten als Hexdump schicken, wenn das hilft. War die Frage so gemeint?Zitat von NilsS Beitrag anzeigenich hoffe das ich auch jede menge Daten bekomme
Viele Grüße
Mike
Einen Kommentar schreiben:
-
Hi Nils,
hab gerade angefangen, Kommt "ein ungülige Zeichen //0x10" empfangen" nach dem STX
Mach nachher weiter. Wir habe hier noch Besuch bekommen und den muß ich nun noch in Bett treiben
Weißt Du einen git Befehl um das letzte File vom Branch local zu kriegen ?
Viele Grüße
TbiAngehängte Dateien
Einen Kommentar schreiben:


Einen Kommentar schreiben: