Zitat von Anders
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
eBus->USB->Plugin->KNX
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Gast
Die Option -d von ebusd zeichnet die ebus Daten im raw Format auf. (Hexeditor)
Code:-d --dump dump raw ebus messages to dump file.
Kommentar
-
Zitat von yuhu Beitrag anzeigenEs huschen nun verdammt viele SYN-Zeichen über den Schirm. So macht der Parameter --nosyn tatsächlich mehr Sinn.
Nun aber gleich meine nächste Frage:
Also bei mir huschen die AA's permanent über den Schirm (wenn ohne -n) und manchmal auch "vollständige" und logisch aussehnde Pakete. Manchmal sehe ich aber auch z.B. folgende m.E. nach zu kurze und unlogische Pakete:
"00 aa" oder "05 aa" oder "00 00 8a 03 61 00 aa". Habt Ihr sowas auch, sprich ich muß noch weiter sehr feinjustieren, oder ist es ggf. besser es erst einmal so stehen zu lassen?
Cheers,
Oliver
Kommentar
-
Gast
@Sandman60:
Hast du eine Vaillant Anlage? Vielleicht sind das Irrläufer.
@MarcusF:
Warum nicht einfach das Logfile benutzen? Einfach ohne -f staten.
Kommentar
-
@Yuhu: Nein, schön wäre esHabe eine Hautec mit einer TEM-Steuerung.
Werde nun mal einen Langzeittrace laufen lassen und dann mal auswerten, wieviele Irrläufer unterwegs sind. Wenn sich das in Grenzen hält fasse ich den Poti besser nicht an...
Ist ja nun alles Dank Deines Daemons und dem -n alles kein Aufwand mehr
Cheers,
Oliver
Kommentar
-
Zitat von yuhu Beitrag anzeigenWarum nicht einfach das Logfile benutzen? Einfach ohne -f staten.
Aber stdout umleiten kann man immer mal gebrauchen.
Marcus
Kommentar
-
boaaahhh
jung ihr habt einen stand, der werde ich nie hinkommen und ihr überspringt so viele schritte das ich noob das nicht packe.
wolftherme mit solar ist vorhanden, ebus an 232 - usb - wiregate bekommt fleißig werte.
hilft mir da jemand step by step durch / oder gibts da eine anleitung?
zwischenzeitlich muß meine familien frieren, weil ich die gastherme in mein arbeitszimmer gestellt habe, um da voran zu kommen.
gruß
andreas
Kommentar
-
@Andreas:
Nicht verzweifeln, Du bist nicht allein...Roland und Mirko sind da schon verdammt weit bzgl. Vaillant, wir Wolf und Hautec Kinders hinken da m.E. noch hinterher, jedenfalls auch mein Eindruck....
Mal mein Stand wie ich die "Roadmap" verstanden habe:
1. "Dechiffrieren der Werte" und erzeugen von "Abfragestatements". Bei mir heißt das Identifikation der Master-/Slaveadressen sowie der angebotenen Services und dann Trial&Error.
2. Bau eines Daemons, mit dem man dann Werte aus den Plug-Ins anfordern und dann auf den Bus bringen kann.
3. Bau eines Plug-In-Gerüsts.
Da 1.+2. sehr eng zusammenliegen war der Aufruf von Mirko, dass wir Non-Vaillant-Kinders mal ein paar Commands mitteilen, damit ggf. specials in 2. miteinfließen können.
Zu 2. hat Roland schon einiges gebaut, incl. dem Dump-Tool
Zu 3. hat Mirko ja schon ein paar Dinge hinsichtlich Plug-In gebaut, allerdings kam es soweit ich es verstanden habe zu Performance-Problemen und v.a. das Checksummen berechnen/anhängen war nicht mehr machbar.
@Mirko, Roland: Wie seht Ihr das?
Cheers,
Oliver
Kommentar
-
Gast
Der Stand der Dinge
Hallo Oliver!
Hier nun meine Sicht der Dinge!
- Zu etwaigen Plugins kann ich nichts sagen. Für welchen Server oder Software eigenlich? Sorry für diese Frage.
- Entschlüssen der ebus Werte von Vaillant Anlagen:
- Die Telegramme, sind in Verbindung mit dem Orignaladapter und Software gut mitzuschneiden.
- Die Wärmepumpe sollte somit erledigt sein.
- Telegramme für das Solar- und das Frischwassermodul werde ich noch ergänzen, falls Mirko sowas nicht hat.
Die Hauptarbeit hat hier Mirko geleistet. Danke!
- Zugriff auf den ebus:
Roland- Das Grundgerüst des Daemons ist aus meiner Sicht fertig.
(Ich habe bewußt auf Threads verzichtet.
Falls es zu Schwierigkeiten kommt muss ich nochmals darüber nachdenken.)
- Nachdem ich mich nun mit dem Schreiben intensiver ausseinander gesetzt habe,
werde ich meinen ursprünglichen Plan, eine libebus zu erstellen, wieder aufnehmen.
Diese lib wird Hersteller abhängig und unabhängige Teile enthalten.
- Die Dekodierungsfunktionen werden sicher abhängig vom Hersteller sein.
Keine Ahnung ob hier alles über die Config abgefangen werden kann.
- Diverse Configs für den Daemon wollen noch erstellt werden.
Dazu fehlen noch deren Funktionen zum Einlesen bzw. die notwendigen Datenstrukturen.
- Der Zugriff via Telnet ist derzeit ebenfalls noch ein weißer Fleck.
Eventuell macht ein kleiner Client Sinn.
- 2-3 kleine Tools werden sicher auch noch dazu kommen.
Telegramme bauen, Datentypen checken,...
Kommentar
-
Ich denke eigentlich ist alles gesagt, sicherlich bleiben noch etliche Fragen zu Features.
Kurz noch meine Sicht und ein paar Erklärungen:
Zitat von yuhu Beitrag anzeigen- Zu etwaigen Plugins kann ich nichts sagen. Für welchen Server oder Software eigenlich? Sorry für diese Frage.
Zitat von yuhu Beitrag anzeigen- Telegramme für das Solar- und das Frischwassermodul werde ich noch ergänzen, falls Mirko sowas nicht hat.
Zitat von yuhu Beitrag anzeigen- Nachdem ich mich nun mit dem Schreiben intensiver ausseinander gesetzt habe,
werde ich meinen ursprünglichen Plan, eine libebus zu erstellen, wieder aufnehmen.
Diese lib wird Hersteller abhängig und unabhängige Teile enthalten.
- Die Dekodierungsfunktionen werden sicher abhängig vom Hersteller sein.
Keine Ahnung ob hier alles über die Config abgefangen werden kann.
Die Dekodierung sollte mit der Config komplett abgefangen werden. Zumindest sind mir beim Erarbeiten jetzt keine Stolperfallen aufgefallen. Die Datentypen sind eBus-spezifisch und ansonsten gibts noch dividier/multiplier. Mehrere Daten in einem Telegramm lassen sich auch bedienen.
Hier hab ich bloss das C-Manko und hoffe auf weitere Hilfe von Interessierten, wie das laufen soll ist mir eigentlich schon klar.
Zitat von yuhu Beitrag anzeigen- Diverse Configs für den Daemon wollen noch erstellt werden.
Dazu fehlen noch deren Funktionen zum Einlesen bzw. die notwendigen Datenstrukturen.
So langsam bekomme ich ein schlechtes Gewissen gegenüber Roland ... ob er wusste worauf er sich eingelassen hat ?
Zitat von yuhu Beitrag anzeigen- Der Zugriff via Telnet ist derzeit ebenfalls noch ein weißer Fleck.
Eventuell macht ein kleiner Client Sinn.
- 2-3 kleine Tools werden sicher auch noch dazu kommen.
Telegramme bauen, Datentypen checken,...
Danke und Gruß
MirkoUmgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
- Zu etwaigen Plugins kann ich nichts sagen. Für welchen Server oder Software eigenlich? Sorry für diese Frage.
-
Gast
Frage an die Gemeinde
2 Fragen zu Datenstrukturen, welche wesentlich für die weitere Programmierung sind.
Bis jetzt habe ich alles in einem Array abgehandelt.
Also alles zwischen 2 SYN Zeichen. Dies wurde dann zerlegt und weiterverarbeitet.
1. Wäre es sinnvoller dieses mit einer Struktur zu casten und dann weiter zu verarbeiten?
Wenn ich mir die GET/SET Methoden so ansehe, wird das ein großes Array.
Die ersten 3 Daten Bytes gehören anscheinend noch zum Befehl dazu.
Das ist bei anderen Hersteller sicher anders.
2. Wie kann das sinnvoll gehandhabt werden?
roland
Kommentar
-
Nun das ist ein wirklich schwieriger Teil. Grundsätzlich sollte in eine laufende config vielleicht auch nur das was man wirklich benötigt? Ich stelle mir das so so vor:
GET:
Ein get erwartet immer eine Antwort, in der config ist alles von QQ bis NN bekannt. Nun baut man den Befehl aus dem Array der config zusammen und sendet ihn. Gleichzeitig müsste man dann vom eBus lesen und seinen Befehl anhand QQ bis NN wiederfinden, prüfen ob es ein ACK gab und die Länge der Antwort mit der config übereinstimmt. Wenn alles positiv gelaufen ist kann man die lt. config definierten Antwortbytes auswerten. Die Antwort wäre also ein weiteres Array damit man Teilinformationen aus einer Antwort extrahieren könnte.
SET:
Ein set erwartet keine richtige Antwort, lediglich ein ACK. Hier ist es ein wenig einfacher. Man baut einfach den Befehl aus dem Array der config zusammen und schickt ihn auf die Reise. Nun wieder der Vergleich zwischen gelesen/gesendet und Prüfung des ACK. Wenn positiv ist alles in Butter.
"short names" könnten auch individuell festgelegt werden, da kann sich jeder also ausdenken was er will. Ein config Array würde also also aus folgenden Infos bestehen:
SET:- short_name
- ZZ
- PB
- SB
- NN
- DB1-DBx
- (hier würde value eingesetzt)
- post_value_byte
- coding
- Multiplikator
-> ZZ bis DBx könnte man nach dem einlesen zusammenfassen und als einen einzigen Wert im Array behalten.
GET:- short_name
- ZZ
- PB
- SB
- NN
- DB1-DBx
- (hier müsste man evtl. einen Feldtrenner einbauen um zu erkennen wo der Befehl endet)
- answer_byte
- data_position (als eigenes array)
- coding
- Dividend
-> ZZ bis DBx könnte man auch wieder nach dem einlesen zusammenfassen und als einen einzigen Wert im Array behalten.
-> Wie groß DBx ist könnte man ja sogar aus dem NN berechnen, aber das handling ist trotzdem knifflig.
GrußUmgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
Zitat von JuMi2006 Beitrag anzeigenGET:
[...] Die Antwort wäre also ein weiteres Array damit man Teilinformationen aus einer Antwort extrahieren könnte.
Von der Konfiguration scheint es mir einfacher, dass man jeden Parameter separat abfragt. Zugegeben, damit erhöht man die Anzahl der Get-Telegramme.
Hab ich mich klar genu ausgedrückt?
Gruß
Kommentar
-
Zitat von yuhu Beitrag anzeigenZur Info an jene, welche mit dem Adapter von eserver-online arbeiten.
[...]
Es huschen nun verdammt viele SYN-Zeichen über den Schirm. So macht der Parameter --nosyn tatsächlich mehr Sinn.
Code:root@wiregate248:/home/user/src/ebusd/ebusd# ./ebusd -s /dev/ttyUSBHeizung -f -l3 -n 2013-00-05 10:49:59.890 [INF] serial device /dev/ttyUSBHeizung successfully opened. 2013-00-05 10:49:59.891 [INF] tcp port 8888 successfully opened. 2013-00-05 10:50:02.321 [DBG] 00 10 03 08 00 08 b3 1e 00 08 80 01 00 37 60 aa 2013-00-05 10:50:06.777 [DBG] f1 fe 08 00 08 b3 1e b3 07 00 00 00 37 44 71 fe 50 17 10 00 01 9a 00 b6 00 00 80 00 80 00 80 00 80 00 80 4c 30 50 50 14 07 03 00 1e b3 1a 00 6e 84 30 50 50 14 07 03 00 1e b3 1a 00 6e 84 30 90 50 12 00 2e 30 90 50 12 00 2e 30 fe 50 23 09 28 00 0a 14 00 5d 01 00 00 4e 30 71 50 23 09 4c 66 00 00 00 5d 01 00 00 88 00 aa 2013-00-05 10:50:07.089 [DBG] 30 71 50 23 09 10 13 00 26 02 5d 01 00 00 94 00 aa 2013-00-05 10:50:07.405 [DBG] 30 71 50 23 09 b8 72 00 00 00 5d 01 00 00 04 00 aa 2013-00-05 10:50:07.757 [DBG] 10 03 05 07 09 bb 06 eb 01 00 80 ff 6e ff 97 aa 2013-00-05 10:50:11.177 [DBG] f1 fe 05 03 08 01 01 00 ff 3a ff 31 08 86 71 30 50 23 09 b0 f4 02 00 04 5d 01 00 00 80 00 aa 2013-00-05 10:50:12.733 [DBG] 10 03 08 00 08 b3 1e 00 08 80 01 00 37 60 aa 2013-00-05 10:50:14.737 [DBG] f1 fe 08 00 08 b3 1e b3 07 00 00 00 37 44 30 71 50 23 09 60 62 00 01 00 5d 01 00 00 57 00 aa 2013-00-05 10:50:17.721 [DBG] 30 fe 07 00 09 00 80 10 50 10 ff ff 06 ff 1f 10 03 05 07 09 bb 01 eb 01 00 80 ff 6e ff 18 aa 2013-00-05 10:50:22.653 [DBG] f1 fe 05 03 08 01 01 00 ff 3a ff 31 08 86 71 fe 50 18 0e 00 80 00 80 00 80 00 80 00 80 00 80 00 00 09 10 03 08 00 08 b3 1e 00 08 80 01 00 37 60 aa 2013-00-05 10:50:27.657 [DBG] f1 fe 08 00 08 b3 1e b3 07 00 00 00 37 44 10 03 05 07 09 bb 03 eb 01 00 80 ff 6e ff 2f aa 2013-00-05 10:50:32.593 [DBG] f1 fe 05 03 08 01 01 30 ff 4e ff 31 08 1a 00 10 03 08 00 08 b3 1e 00 08 80 01 00 37 60 aa 2013-00-05 10:50:37.581 [DBG] f1 fe 08 00 08 b3 1e b3 07 00 00 00 37 44 71 fe 50 17 10 00 01 9a 00 b6 00 00 80 00 80 00 80 00 80 00 80 4c 10 03 05 07 09 bb 06 eb 01 00 80 ff 6e ff 97 aa 2013-00-05 10:50:41.137 [DBG] f1 fe 05 03 08 01 01 30 ff 4e ff 31 08 1a 71 30 50 23 09 b0 f4 02 00 04 5d 01 00 00 80 00 aa 2013-00-05 10:50:42.565 [DBG] 10 03 08 00 08 b3 1e 00 08 80 01 00 37 60 aa 2013-00-05 10:50:47.525 [DBG] f1 fe 08 00 08 b3 1e b3 07 00 00 00 37 44 10 03 05 07 09 bb 01 eb 01 00 80 ff 6e ff 18 aa 2013-00-05 10:50:52.501 [DBG] f1 fe 05 03 08 01 01 30 ff 4e ff 31 08 1a 71 fe 50 18 0e 00 80 00 80 00 80 00 80 00 80 00 80 00 00 09 10 03 08 00 08 b3 1e 00 08 80 01 00 37 60 aa 2013-00-05 10:50:57.457 [DBG] f1 fe 08 00 08 b3 1e b3 07 00 00 00 37 44 10 03 05 07 09 bb 03 eb 01 00 80 ff 6e ff 2f aa 2013-00-05 10:51:02.413 [DBG] f1 fe 05 03 08 01 01 00 ff 46 ff 31 08 28 00 10 03 08 00 08 b3 1e 00 08 80 01 00 37 60 aa 2013-00-05 10:51:06.425 [DBG] f1 fe 08 00 08 b3 1e b3 07 00 00 00 37 44 71 fe 50 17 10 00 01 9a 00 b6 00 00 80 00 80 00 80 00 80 00 80 4c 70 51 50 14 07 01 00 05 00 1a 00 6e 3f 70 51 50 14 07 01 00 05 00 1a 00 6e 3f 30 71 50 23 09 4c 66 00 00 00 5d 01 00 00 88 00 aa
Kommentar
Kommentar