mikrocontroller.net

Forum: Projekte & Code eBus USB Adapter


Autor: Benedikt P. (bepa)
Datum:
Angehängte Dateien:

Bewertung
10 lesenswert
nicht lesenswert
Hallo Zusammen,

auf Basis des Beitrags Beitrag "EBUS - Adapter mit galvanischer Trennung Wolf Gastherme an Pollin AVR-NET-IO mit LCD 4x20" habe 
ich einen eBus USB Adapter gebastelt. In der ursprünglichen Schaltung 
wurde eigentlich nur der MAX232 gegen einen FT232 ausgetauscht.
Abgesehen davon, dass der FT232 so konfiguriert werden muss, dass an 
CBUS0 die RX LED und an CBUS1 die TX LED hängt, gibt es nicht viel dazu 
zu sagen.
Das ganze Ding passt in das Gehäuse "GEH KS 28" von Reichelt.
Falls noch Jemand eine Platine braucht... ich habe noch 9 Stück.

Gruß
Benedikt

: Bearbeitet durch User
Autor: heizungs-fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

gibt es dazu auch irgendeine Software ?

Gruß Hans

Autor: Benedikt P. (bepa)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo Hans,

von meiner Seite aus gibt es (noch) keine Software.
Ich bin gerade dabei einige Daten meiner Weishaupt Heizung zu 
protokollieren und zu entschlüsseln.
Ansonsten gibt es hier http://ebus.webhop.org/ jede Menge Informationen 
und auch eine Software zum Protokollieren.

Gruß
Benedikt

Autor: Christian S. (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Oh,

das sieht ja ganz toll aus. Ich wollte selbst auch eine Platine 
auflegen. Aber so...,  was möchtest du denn für die Platine haben?

Autor: Mario H. (mario_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich bin auch auf der suche nach einen USB-ebus Adapter. Gruss Mario

Autor: 123 (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Christian S. schrieb:
> das sieht ja ganz toll aus. Ich wollte selbst auch eine Platine
> auflegen. Aber so...,  was möchtest du denn für die Platine haben?

Nachdem er 10 Stück hat: Itead 10 St. mit Versand = 28$ = 22€ / 10 St. = 
2,20€ + Versand

Autor: Benedikt P. (bepa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe den ersten Post noch um die Bauteilliste erweitert. Die Liste 
enthält auch die Bestellnummern von Reichelt.

Es sind noch Platinen da. Bei Bedarf am besten eine PN senden.

Gruß
Benedikt

Autor: Christian S. (cso)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
So,

hab gerade die Liste für Reichelt übernommen. Wer blind bestellt sollte 
mal auf den Poti R1 achten ;-)

Welched Model hast du da verwendet?

Autor: Benedikt P. (bepa)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ups... das stimmt natürlich :-)
Das hier sollte die korrekte Bestellnummer sein: PT 10-L 10K

Autor: Benedikt P. (bepa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Platinen sind jetzt alle weg!

Gruß
Benedikt

Autor: Benedikt P. (bepa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist eigentlich bei den bisherigen Nachbauern Jemand mit Weishaupt 
Heizung dabei?

Gruß
Benedikt

Autor: Christoph P. (christoph_p)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen, soweit ich gelesen habe haben die Wolf Heizungen auch einen 
ebus - gibt es schon nachbauten mit LAN Anschluss?

Gruß

Autor: Gert M. (gert_m)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo Benedikt,

ich habe letzte Woche Zeit gefunden und den Adapter aufgebaut.
Der Aufbau war bis auf den FTDI ncht allzu schwer. Eine Lötbrücke unter 
dem Chip hat mir einen Tag gekostet.

Soweit funktioniert der Adapter jetzt erst mal.

Mit Hterm kann ich auf dem Ebus lesen und ich empfange auch gesendete 
Zeichen.

Der Adapter hängt bei mir an einer Vailland ecoTEC plus 196/3-5 mit 
calorMATIC 430.
Auf der anderen Seite werkelt ein BananaPi, auf dem ebusd 0.5 läuft.

Hier habe ich derzeit Probleme mit den csv- Dateien für Vailland.
In den verfügbaren csv sind meistens nur Befehle für den Service B509 
dokumentiert. Meine Therme spuckt aber (abgesehen von den Broadcast auf 
B516) vor allem B510 und B511 aus.
Mit B516 kann ich nur die Außentemperatur sowie Datum und Uhrzeit 
abfragen.

Autor: Lars W. (lars_w)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo,

auf der Suche nach einem eBus-Adapter bin ich hier gelandet und würde 
den Adapter auch gern aufbauen.
Hat hier evtl. noch jemand die passende Platine vorrätig?

Eine Einzelbestellung wäre nicht so sinnvoll. Evtl. finden sich noch 
weitere Interessenten und wir könnten eine Sammelbestellung machen.

Gruß

Lars

Autor: Daniel S. (druschba)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich wäre auch an einer Platine interessiert.

Grüße

Daniel

Autor: ChristophR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde mich gern anschließen und auch eine Platine mit bestellen 
wollen.

Gruß Christoph

Autor: Lars W. (lars_w)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ok, dann bestelle ich mal neue Platinen.

Autor: Horst S. (hasont)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, hätte ev.auch Bedarf an einer Platine oder fertigem Modul.
Horst

Autor: Lars W. (lars_w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Platinen sind hergestellt und derzeit auf dem Postweg. Ich melde 
mich hier wieder sobald sie bei mir eingetroffen sind.

Autor: J. W. (skorpi08)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde auch eine nehmen

Autor: Horst S. (hasont)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich hab eine Vaillant VSC 196-5 und würde gerne wissen ob man die 
Platine auch für das VRDialog oder nur mit der IP-Symcron Lösung 
einsetzen kann? Ich hab mal versucht mit einem W &T Com Server die eBus 
Daten über TTY 2-Draht an Pin 2 und 3 vom X30 mit 2400 8 N 1 auszulesen. 
Leider ohne Erfolg. Bin bisher leider noch nicht so ganz schlau geworden 
aus den vielen Infos im Netz. Es wird leider nirgends die genaue 
Pin-Belegung des X30 beschrieben. Weiter spricht man auch von 9600 8 N 
1. Am x30 gibt es 4 Pins (RJ10) und an Pin 2 und 3 sind 21V= zu messen. 
Ich habe diese mit einer Gleichrichterschaltung an den 2 Draht Bus 
angeschaltet. Da der eBus ja ein BUS System ist müsste man diesen doch 
eigentlich auch terminieren. Auch da finde ich nichts im Netz. Es gibt 
nur Hinweise, dass man Ihn nicht zu stark Belasten und galvanisch 
Trennen soll. Wäre toll wenn jemand von euch da noch etwas Info oder 
Links für mich hätte.

MfG
Horst

Autor: Thomas St. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, wenn du noch eine Leiterplatte zuviel hast, würde ich auch eine 
nehmen.
Thomas

Autor: Hasont (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lars, hab grad eine Platine bezahlt.

Wenn du noch sonstige Infos/Erfahrungen hast nur her damit.

Danke schon mal im Voraus.
Horst

Autor: Lars W. (lars_w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, wie schon aus dem Beitrag von Horst erkennbar: Die Platinen sind 
angekommen!
4 Stück habe ich noch. Wer eine möchte soll mir eine PM (eMail) 
schicken.
Die anderen bereits bestellten Platinen habe ich gestern schon 
verschickt.

Autor: Hasont (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und auch schon angekommen. Vielen Dank.
Die Bauteile hab ich auch schon bestellt.
Mal sehen ob ich einen finde der mir den FT232 auflötet.
Wird schon ganz schön eng;-)
Also Danke und frohes schaffen!
Horst

Autor: J. W. (skorpi08)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es dieselbe Platine wie von Benedikt Patt?
Kannst du mir auch ein "Angebot" machen mit allen nötigen Bauteilen?
Hoffe du hast zufällig nicht nur für 1 Satz eingekauft :)

Autor: Lars W. (lars_w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir können derzeit keine Platinen mehr bestellt werden.
Es sind alle verkauft, bzw. reserviert.

Lars

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In ca 1Woche bis 10 Tagen sind meine da, kannst bei mir welche bekommen.
Selbstkostenpreis 2,- € pro Stück + 1,45€ Versand

Ist zwar mit Target geroutet, aber nach dem Schaltbild oben.

: Bearbeitet durch User
Autor: Sascha F. (wuckel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

bin neu hier, aber würde mich auch für eine platine interessieren. was 
auch ginge, wäre ein pdf im orginal format der platine. dann würde ich 
welche machen lassen.

danke schon mal.

ps. eagel hab ich nicht, daher kann ich kein eigenes pdf machen

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte Bitte gebt mir eine Email Adresse in eurer PN an, dann brauche ich 
nicht hier die Benutzerliste voll zu texten, sondern kann gleich 
antworten.

Mit Buchstabenkombination und und

Und ja, ich versende auch in die Schweiz und Österreich wenn die Kosten 
erstattet werden.

: Bearbeitet durch User
Autor: Horst S. (hasont)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, wie fast schon vermutet geht die Platine mit VRDialog nicht.
Da ich mit einem Terminal loggen und auch Schreiben kann gehe ich fest 
davon aus, dass die Platine aber soweit passt. Die anderen Lösungen im 
Internet müssen über Linux, RASPi oder Webserver sehr aufwendig 
aufgesetzt werden. Hat jemand ev. eine einfachere Lösung für mich mit 
der man eine VSC 196 darstellen und den Adapter testen kann.

Freu mich auf jede Antwort.

Autor: podien (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vrdialog ist für einen USB Adapter mit Prozessor geschrieben worden, 
nicht für eine solch einfache Schaltung.

Autor: Horst S. (hasont)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info, warum zeigt mir vrDialog dann RS232 Schnittstellen 
zur Auswahl. Ich hab da eine Version 2.0.0.10. Wenn ich die Starte 
brennt die Lese und zeitweise auch die Schreib-LED. Freu mich aber 
weiterhin über jede Idee von euch. Hab mir grad Linux zum Spielen geholt 
und kämpfe mit den Adminrechten. Geht aber schon ganz gut. Komme mir vor 
wie zu DOS-Zeiten. Mit GUI hat man ja erst Recht kaum Adminrechte und es 
wird noch schwieriger.

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wahrscheinlich steht es schon irgendwo, aber wie muss ich denn das Poti 
einstellen, damit was sinniges an Daten kommt ? Habs noch nicht 
probiert, dachte ich frage vorher, bevor ich beim Probieren was zerlege 
;-)

Meine Hardware: Vaillant Ecotec Exclusiv VC 276/2, Regler calorMATIC 
470, ca 3 Jahre alt, mit dem Adapter dann an Raspberry B.

Autor: Hasont (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich kann die ebusd Software auf https://github.com/yuhu-/ebusd 
nicht mehr finden. Alle Themen im Netz verweisen auf genannte Seite und 
diese ist leider nicht mehr erreichbar. Meine Bitte daher nochmal an 
euch mir ev. lauffähige Software oder Links zu benennen mit denen man 
auch als Anfänger zurecht kommt. Würde mich freuen wenn Ihr mir hier was 
zur Verfügung stellen könnt. Vorhanden wäre SQL Server und phpAdmin auf 
meinem NAS, Ubuntu und Windows7 oder 8.1. Auch einen Raspi Version in 
der Version 2 würde ich mir zulegen wenn es Erfolg verspricht.
Gruß Horst

Autor: Lars W. (lars_w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Horst,

das Projekt wurde von yuhu bei GitHub gelöscht.
Ebusd wird nun von john30 weiter entwickelt. Du findest den Source-Code 
jetzt hier:

    https://github.com/john30/

Ansonsten kann ich diesen Thread im FHEM-Forum empfehlen:

    http://forum.fhem.de/index.php/topic,29737.0.html

Dort läuft die Weiterentwicklung von ebusd ab.

Ciao

Lars

Autor: Lars W. (lars_w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian

Christian S. schrieb:
> wahrscheinlich steht es schon irgendwo, aber wie muss ich denn das Poti
> einstellen, damit was sinniges an Daten kommt ? Habs noch nicht
> probiert, dachte ich frage vorher, bevor ich beim Probieren was zerlege

Ich glaube zerlegen kannst Du nur das Poti, wenn Du mit zuviel Kraft zu 
weit drehst!
;-)

Ansonsten ebusd mit dem Parameter "-f" am dem Raspi starten und so lange 
drehen, bis die grüne LED flackert und "ebusd -f" auf der Konsole etwas 
ausgibt.

Viel Erfolg

Lars

Autor: Hasont (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lars, vielen Dank

Autor: Hasont (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo Christian, ich hab den Adapter über einen Vorwiderstand an ein NG 
angeschlossen und den Poti so eingestellt, dass am Pin 4 vom 4011 bei ca 
9 Volt geschaltet wird. Dann hab ich 20V auf den Bus gegeben und bin mit 
einem Terminalprogramm an den USB Port. Wenn alles OK ist kann man das 
geschriebene (ohne Echo) lesen und die LED flackern. Weiter sieht man, 
dass der eBus gegen 9V geht. Vorwiderstand zur Strombegrenzung aber 
nicht vergessen. Bin kein Profi sondern eher Bastler und daher könnt Ihr 
mich hier gerne verbessern. Wenn das so passt würde es mich freuen.
Gruß Horst

Autor: Horst S. (hasont)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, habe gerade noch was zum eBus gefunden was bei mir unter Win 7 
sofort Daten ausgibt.

Link: http://ebus.webhop.org/twiki/bin/view.pl/EBus/EBusConnector

Der EBusConnector ist scheinbar für Wolf und Vaillant geeignet und 
konnte über die eBusConnector.exe nach Treiberinstallation sofort 
gestartet werden.
Muss mich jetzt aber erst einmal einlesen was man damit machen kann. Die 
ersten Daten "1008B510090000766EFFFF00FF00210001019A00" sehen aber schon 
mal ganz vernünftig aus.
Gruß Horst

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lars, Hasont und Horst: Dickes Danke !!!

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Platinen sind da.

Endlich.... Chinapost...

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe den Bausatz nun zusammen und mit Ebusconnect auf meinem WIN7-Laptop 
bekomme ich auch Daten angezeigt, nur wenn ich auf dem Raspi mit Wheezy 
und installiertem Treiber für die FDTI mit EBUSD 1.1.0 mit Option -f 
starte, dann kommt nach Ebusd started und found massages noch signal 
aquired, manchmal noch irgendwas mit max. symbols, aber keine Daten... 
Die LED blinkt schnell und zwischendurch immer wieder kurz heller, dann 
wieder schnell etwas dunkler
Woran kann das liegen ?

Autor: Benedikt P. (bepa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also warum das mit EBUSD nicht klappt, kann ich dir leider nicht sagen.
Das Blinkverhalten der LED ist auf jeden Fall normal.
Das schnelle Blinken der LED sind die SYN Bytes, die ständig auf dem Bus 
liegen. Wenn die LED dann kurz heller zu blinken scheint, ist das ein 
Telegramm.

Gruß
Benedikt

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann das vielleicht an der Version 1.1.0 liegen ? Wie könnte ich die 
denn evtl. wieder deinstallieren oder kann ich z.b, die V0.5 dazu 
installieren ? Wie gesagt, mit dem Windows-PC kann ich mit 
Ebus-Connector direkt Werte (Vorlauf 26°, Rücklauf 26°, ......) 
ausgeben, die auch mit der Steuerung übereinstimmen. Kann es evtl. am 
USB-Treiber liegen ? Bin in Linux noch Neuling...

Autor: Horst S. (hasont)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,
kennst du den Link http://forum.fhem.de/index.php/topic,29737.0.html?
Da hab ich mir alle benötigten Infos geholt.
Die Version 1.1 läuft bei mir im Testbetrieb unter Ubuntu ohne Probleme.
Hast du dir die benötigten Config Dateien in den dafür zu erstellenden 
Ordner abgelegt? Diese werden mit der Option -f dort ausgelesen.
Steht aber alles so beim eBusd von https://github.com/john30/.

Wenn der Adapter Blinkt sollte deine USB auch funktionieren. Wenn diese 
nicht aktiv ist tut sich gar nichts. Allerdings hab ich noch keinen 
RasPI am laufen und daher diese Info nicht überbewerten.

Bin ja auch noch Neuling auf dem Gebiet.

Gruß aus Fürth
Horst

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Horst,

ja, das kenne ich, hab auch bei John viel gelesen, habe auch die Dateien 
mit in das Verzeichnís gestellt, mit "ebusd --checkconfig" ist das auch 
Fehlerfrei, mit "ebusd --foreground" habe ich auch die Anzeige gehabt, 
neue Master gefunden zusätzlich zu den schon beschriebenen Ausgaben. 
Aber vielleicht hab ich da auch einen Denkfehler: Ich bin davon 
ausgegangen, daß der mit "ebusd -f" mir dann auch den Inhalt von allem, 
was er empfängt, dann untereinander auf dem Bildschirm ausgibt, da kommt 
aber nichts von. Nun habe ich im Log endlich einen Eintrag: 
/var/run/ebusd.pid konnte nicht geöffnet werden oder so ähnlich. Die 
Datei existiert auch gar nicht... Hab ich da beim Installieren evtl. was 
falsch gemacht ? Wie könnte ich das denn wohl deinstallieren und neu 
installieren ?

Grüße aus dem Norden,

Christian

Autor: Hasont (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde es mal einfach nochmal darüber installieren.
Mit -f sehe ich alle sec. Ausgaben. Wie in Windows auch.
Wenn die Configs zur Therme passen dann auch in lesbarer Form.

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also irgendwo mach ich was falsch, nur wo ? Also, so hab ich das 
probiert:

Paket von john30 downloaden:
sudo wget 
https://github.com/john30/ebusd/releases/download/v1.1.0/ebusd-1.1.0_armhf.deb

Paket installieren:
sudo dpkg -i ebusd-1.1.0_armhf.deb

Neustart:
sudo reboot

Dann die CSVs in den Ordner /etc/ebusd/ hineinkopiert

pi@raspberrypi / $ ebusd --logfile=/etc/ebusd/ebusd.log

pi@raspberrypi / $ ebusd -l ALL

pi@raspberrypi / $ ebusd -f

Ausgabe im Terminalfenster:

2015-05-09 12:30:24.392 [main notice] ebusd 1.1.0 started
2015-05-09 12:30:24.603 [main notice] found messages: 259 (0 poll, 11 
update)
2015-05-09 12:30:24.790 [bus notice] signal acquired

Dann Schweigen im Walde...

Ebusd.log:
2015-05-09 12:20:15.562 [main error] can't open pidfile: 
/var/run/ebusd.pid

Ich verzweifel hier gerade ein wenig, wer kann helfen ?

Autor: Sven K. (sven_k896)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
bin seit einer Woche stolzer Besitzer einer Valliant Therme mit Ebus und 
könnte eine Platine für den Ebus Adapter brauchen, hat jemand eventuell 
noch eine abzugeben?

LG
Sven

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer lesen kann ist klar im Vorteil......

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Helmeut: Wen und was meinst Du ?

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...sorry ein "e" zuviel..
Falls Dú mich meinst, mir ist klar, ich hab da irgendwo einen Bug drin, 
nur finde ich ihn nicht...

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
11 Eintragungen davor steht, dass ich welche bekommen habe.

Näheres per PN

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach soooo..... schade, dachte, Du hättest eine Idee, was bei mir falsch 
ist :-(

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Gemeinde,

es gibt neues, ES LÄUFT :-) Aber.......

es läuft, wenn ich das FHEM mit shutdown beende. Aber obwohl ich u.a. 
die CSV zu meiner Steuerung, der 470, im Ordner habe, kommen die 
einzigen beiden Meldungen, die mit Klartext übersetzt werden, VDATETIME 
mit Datum und Uhrzeit und OUTSIDETEMP, also der Aussentemperatur. Ich 
habe als Therme die Ecotec Exclusiv mit 25KW, hat da vielleicht schon 
mal jemand mehr heraus bekommen können ?

Und dann kommt die Frage auf: Wie kann ich es hinbekommen, daß EBUSD UND 
FHEM gleichzeitig auf dem Raspi laufen ?

Bin für Anregungen offen ;-)

Grüße

Christian

Autor: Hasont (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube, du musst die meisten anderen Zustände gezielt abfragen. Wenn 
die Anfrage korrekt ist bekommst du auch aufgelösten lesbare antworten.
Die Befehle kannst du den CSV Daten entnehmen. Was da für deine Anlage 
enthalten ist sollte dann auch funktionieren.
Gruß Horst

PS: Hab mein Projekt leider grad auf Eis gelegt.

Autor: kawa0815 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> Und dann kommt die Frage auf: Wie kann ich es hinbekommen, daß EBUSD UND
> FHEM gleichzeitig auf dem Raspi laufen ?

Hast Du die COC- Erweiterung für fhem auf dem Rasperry laufen?

Ich glaube ich hatte da einen Konflikt mit der seriellen Schnittstelle.

Autor: kawa0815 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier sind mal meine Config für fhem:

Auszug fhem.cfg:

#########################ECMD Therme#############################
define EBUS.IO ECMD telnet 192.168.0.28:8888
attr EBUS.IO classdefs 
Aussentemperatur.class=/opt/fhem/FHEM/ebusd_aussentemp.cfg:Systemdruck.c 
lass=/opt/fhem/FHEM/ebus_systemdruck.cfg
attr EBUS.IO room 50_Therme



define ebus.aussentemperatur ECMDDevice Aussentemperatur.class
attr ebus.aussentemperatur IODev EBUS.IO
attr ebus.aussentemperatur room 50_Therme


define ebus.systemdruck ECMDDevice Systemdruck.class
attr ebus.systemdruck IODev EBUS.IO
attr ebus.systemdruck room 50_Therme

define FileLog_ebus.systemdruck FileLog 
./log/ebus.systemdruck-%Y-%m-%d.log ebus.systemdruck:(Systemdruck)[:].*
attr FileLog_ebus.systemdruck room 50_Therme

define weblink_ebus.systemdruck SVG 
FileLog_ebus.systemdruck:weblink_ebus.systemdruck:CURRENT
attr weblink_ebus.systemdruck label "Systemdruck Min $data{min1}, Max 
$data{max1}, Last $data{currval1}"
attr weblink_ebus.systemdruck room 50_Therme

define EBUS.Timer_01 at +*00:05:00 get ebus.aussentemperatur outsidetemp
attr EBUS.Timer_01 room 50_Therme
attr EBUS.Timer_01 verbose 5

define EBUS.Timer_02 at +*00:05:00 get ebus.systemdruck Systemdruck
attr EBUS.Timer_02 room 50_Therme
attr EBUS.Timer_02 verbose 5

#########################ECMD Therme#############################

/opt/fhem/FHEM/ebus_systemdruck.cfg

###################ebus_systemdruck.cfg##########################
# Systemdruck
get Systemdruck cmd {"r -c THER Anlagendruck\n"}
get Systemdruck expect ".*"
get Systemdruck postproc { my ($SYSTEMDRUCK,$STATUS,$zval);\
 my $hash  = $defs{"%NAME"};\
 if( ($_ eq "")||($_ eq "no data stored") ){\
    $SYSTEMDRUCK = "Keine Werte vorhanden";\
    $STATUS = "Keine Werte vorhanden";\
 }else{\
    my @values=split(';',$_);\
       $SYSTEMDRUCK = sprintf("%5.2f Bar",$values[0]);\
       $STATUS = $values[1];\
       $zval = sprintf("Systemdruck %5.2f Bar, Systemdruck Status %s", 
$values[0], $values[1]);\
 }\
 readingsSingleUpdate($hash, "Systemdruck", $SYSTEMDRUCK, 1);\
 readingsSingleUpdate($hash, "Systemdruck Status", $STATUS, 1);\
 $zval; }

###################ebus_systemdruck.cfg##########################

/opt/fhem/FHEM/ebusd_aussentemp.cfg

###################ebusd_aussentemp.cfg##########################
get outsidetemp cmd {"r outsidetemp\n"}
get outsidetemp expect "\d+\.\d+\n\n"
##  get outsidetemp postproc { s/^(\d+\.\d+)\n\n$/$1/;; $_ }
get outsidetemp postproc { my $rval;\
  if(($_ eq "")||($_ eq "no data stored") ){\
    $rval = "err";\
  }else{\
    $rval=sprintf("%5.2f °C",$_);\
  }\
 $rval; }
###################ebusd_aussentemp.cfg##########################

Autor: Lars W. (lars_w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian

Christian S. schrieb:

> Und dann kommt die Frage auf: Wie kann ich es hinbekommen, daß EBUSD UND
> FHEM gleichzeitig auf dem Raspi laufen ?

Die automatische Geräteerkennung von FHEM kommt mit dem Ebus-Adapter 
nicht klar.
Bitte kommentier in der fhem.cfg mal den Parameter wie folgt aus:

--
# Disable this to avoid looking for new USB devices on startup
#define initialUsbCheck notify global:INITIALIZED usb create
--

Viel Erfolg!

Lars

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Kawa0815,

hilf mir kurz auf die Sprünge, was genau meinst Du mit COC-Erweiterung ? 
Ich hatte bislang auf dem Raspi, auf dem FHEM läuft mittels Konsole 
EBUSD -f probiert, da kamen keine Werte. Nun habe ich den FHEM mit 
shutdown beendet und dann liefert EBUSD -f auch immer schöne Zeilen. Nun 
müßte ich wissen, wie ich beides gleichzeitig laufen lassen kann, denke 
das ist die Voraussetzung dafür, daß ich in FHEM überhaupt was bekommen 
kann. Hatte schon mit der Deklaration aus dem Artikel im FHEM-Forum 
schon unabhängig von EBUSD verbindung, aber da kamen auch nur Events mit 
unbekannten Meldungen...

Das geht doch beides auf einem Raspi oder muss ich da zwei getrennte 
anlegen ?

Grüße

Christian

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lars,

danke für den Tip, werd ich heute abend mal ausprobieren :-)

Grüße

Christian

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lars,

das scheint geklappt zu haben :-)

Grüße

Christian

Autor: Marco G. (kaffeedoktor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hat noch jemand von euch eine eBus-Adapterplatine abzugeben?

Grüße,

Marco.

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieviele willst Du ;-)
Schick' mir 'ne PN

Autor: Marco G. (kaffeedoktor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Helmut,

Hab Dir eine PN geschrieben.

Grüße,

Marco.

Autor: Denny S. (nightstorm99)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Helmut,

hatte dir bereits eine PN geschrieben.
Ich brauche eine Platine!
Bitte um Infos zur Abwicklung.

Danke und Gruß
Denny

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja discomanhatten. Schau ab und zu in Dein GMX Account

Oder nenne es um in Platineschonhätten@gmx

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
mittlerweile läuft das alles schon echt prima. Ich habe in meiner 
Heizungsfunktionen.cfg u.a. diese Funktionen am laufen und kann diese 
auch in FHEM auswählen und ausführen:

set Speicher_laden cmd {"w 470 hwcopmode 6\n"}
set Partymodus cmd {"w 470 hwcopmode 4\n"}

Diese Einzeiler funktionieren schon mal (kann ich dann über 
Speicher_laden oder Partymodus auswählen), aber ich hätte auch gerne 
mehrzeilige Funktionen, um mehrere Befehle gleichzeitig senden zu 
können. Bekomme ich aber nicht hin.

Gedacht habe ich das inetwa so:

set testfunktion {
cmd {"w 470 hwcopmode 4\n"};
cmd {"reload\n"};
}
Aber diese Funktion kann ich dann weder bei set noch bei sub in der 
Auswahl der Funktionen in der Heizungsfunktionen.cfg auswählen :-(

Hat mal jemand ein Beispiel, wie das richtig geht ?

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BLITZSCHLAG...

Hallo,

haben gestern einen Blitzeinschlag gehabt und nun hat sich neben der 
Fritzbox (total tot) auch der EBUS-Adapter zerlegt, die LED für die 
Verbindung zur Therme leuchtet noch schwach,wenn ich den EBUS 
anschließe, die anderen beiden leuchten hell, sobald ich den Adapter an 
einen USB anschließe, auch wenn ich den EBUS abklemme. Der Adapter wird 
vom Raspi nicht mehr erkannt. Hat jemand eine Idee, was da alles kaputt 
gegangen sein kann ?

Würde mich über Hinweise freuen,

Grüße

Christian

Autor: Sascha F. (wuckel)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi leute,

Habe mir den adapter gebaut sieht toll aus. tut auch was aber mit den
daten komme ich nit weiter eine .csv zu schreiben.

Programm hab ich John30/ebusd drauf

habe eine anleitung gefunden aber so ganz komme ich nicht weiter.

http://ebus.webhop.org/twiki/pub/EBus/EBusDoku/WRSol.pdf

datenausschnitt:

f79b1020054118280100 / 023301
f79b10200a43010f47545055000000 / 02310f
f79b102005410ff30000 / 023418
f79b102006441a08121340 / 02311a
f79b102005411a500300 / 023302
f79b10200a4302154754464b000000 / 023115
f79b1020054115ea0000 / 02341a
f79b102006441b090a0843 / 02311b
f79b102005411b000000 / 023303
f79b10200a43030001424120010100 / 023000
f79b10200a4000202020204175746f / 023100
f79b1020054100020000 / 02341b
f79b102006441c0c0b0844 / 02311c
f79b102005411c280400 / 0132
f79b10200a42004572722020202020 / 02341c
f79b102006441e860b084f / 02311e
f79b102005411ed20000 / 023300
f79b10200a43000e4754504f000000 / 02310e
f79b102005410e070100 / 02341e
f79b102006441f0e091a4a / 02311f
f79b102005411f0d0000 / 023301
f79b10200a43010f47545055000000 / 02310f
f79b102005410ff30000 / 02341f
f79b1020064420053b1a4b / 023120
f79b1020054120ec2600 / 023302
f79b10200a4302154754464b000000 / 023115
f79b1020054115ea0000 / 023420
f79b102006440208120140 / 023102
f79b10200541028a0000 / 023303
f79b10200a43030001424120010100 / 023000
f79b10200a4000202020204175746f / 023100
f79b1020054100020000 / 023402
f79b102006440b17280140 / 02310b
f79b102005410be50100 / 0132
f79b10200a42004572722020202020 / 02340b
f79b102006440e29270140 / 02310e

ich hoffe einer kann mir helfen. ich möchte nur daten anzeigen lassen.

bei meinem Vissmann kessel lese ich schon erfolgreich daten aus, mit 
einer anderen schnittstelle.



danke euch schon mal

Autor: C.Schmitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sascha F: Was für eine Heizung hast du da genau ? Marke, Bezeichnung, 
Steuerung ?

Gruß Christian

Autor: Denny S. (nightstorm99)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe meine Platine fertig und diese jetzt an meiner Vaillant VWL82 dran.
Daten kann ich über ebusd 1.2.0 schon auslesen:
2015-07-13 22:41:38.116 [update notice] update ehp ActualEnvironmentPowerPercentage QQ=10: 80
2015-07-13 22:41:38.279 [update notice] update ehp ActualEnvironmentPower QQ=10: 7
2015-07-13 22:41:38.442 [update notice] unknown MS cmd: 1008b5090329e201 / 03e20142
2015-07-13 22:41:38.613 [update notice] unknown MS cmd: 1025b50903290000 / 050000220300
2015-07-13 22:41:41.261 [update notice] update broadcast hwStatus QQ=10: 
on;59;on

Nun habe ich aber das Problem, das ich erstmal gar keinen Scan machen 
kann.
Bei "scan full" und "scan result" bekomme ich über den Ebus keine Daten.
Scheinbar funktioniert das schreiben nicht!

Kann ich diese irgendwie testen oder an der Schaltung etwas ausmessen?

Hatte in einem anderen Forum gelesen, das diese unbedingt eine Diode mit 
7.5V 1.3W verwenden. Habt ihr das noch irgendetwas geändert?

Vielen Dank im voraus
Gruß Denny

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Denny,

also nach dem, was Du angehängt hast, empfängt der EBUSD ja schon Daten, 
von daher scheint der Adapter zu funktionieren. Hast Du die richtigen 
CSV-Dateien eingebunden ? Dann vielleicht mal probieren, aus den 
CSV-Dateien die Kommandos, die Dich interessieren, rausschreiben, mit 
"sudo ebusd" den Dämon starten, dann "ebusctl", das startet eine direkte 
Telnet-Verbindung zum Dämon und dann mit z.B. "read outsidetemp" (statt 
outsidetemp dann das Kommando, was Dich interessiert) probieren, ob da 
Daten kommen. Bis hierhin bist Du nur beim Lesen, d.h. der Adapter 
schreibt meines Wissens hier noch nichts.

Grüße

Christian

Autor: Denny S. (nightstorm99)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

ich hatte schon alle cvs Datein ausprobiert, aber mehr als folgende 
Werte bekomme ich nicht raus:
SourceTempInput
ActualEnvironmentPower
ActualEnvironmentPowerPercentage
vdatetime
outsidetemp

Er liesst auch noch die Werte von Status/Mode von alle Teilnehmern.
Diese habe ich schon mal mit der Heizung überprüft.
(Warmwassermischer, Heizkreis....)
Alle anderen Werte aus den CVS Files gehen leider nicht.

Was mich wundert ist folgendes, wenn ich in der Telnet Verbindung Scan 
eingebe, kommt das:
[bus error] scan 08 failed: ERR: invalid argument
2015-07-16 21:57:27.214 [bus error] scan 15 failed: ERR: invalid argument
2015-07-16 21:57:27.227 [bus error] ERR: arbitration lost, retry
2015-07-16 21:57:27.315 [update notice] unknown MS cmd: 1023b5040132 / 0a00000000000040170000
2015-07-16 21:57:27.412 [bus error] ERR: arbitration lost, retry
2015-07-16 21:57:27.466 [update notice] unknown MS cmd: 1023b5040131 / 020000
2015-07-16 21:57:27.572 [bus error] scan 50 failed: ERR: invalid argument
2015-07-16 21:57:27.605 [bus error] ERR: arbitration lost, retry
2015-07-16 21:57:28.231 [bus error] scan 23 failed: ERR: invalid argument
2015-07-16 21:57:28.282 [bus error] scan 25 failed: ERR: invalid argument
2015-07-16 21:57:28.319 [bus error] scan e0 failed: ERR: invalid argument

Bei "scan full" genau das gleiche!
Und "scan result" ist immer leer.

Ist das normal????

Danke und Gruß
Denny

Autor: Sascha F. (wuckel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ja Sorry, hab ich ganz vergessen dazu zu schreiben. Also, der erste 
Adapter geht auf eine Vissmann vitorond 200 über IR to USB 
Schnittstelle. Das läuft super und das sind die Screens.

Mein Problem liegt an einer Weishaupt Wrsol 2.0 Steuerung für Feststoff 
und Solarthermie.
Die hab ich mit Helmut´s platine angebunden an meinen Pi und 
John30/ebusd noch zusätzlich installiert. Das mit CSV Daten hab ich 
probiert, aber nix spricht an.

Ich werde aus den Daten der wrsol nit schlau. Wie ich die csv einrichten 
soll damit was ausgegeben wird.

Gruss an die Gemeinschaft

: Bearbeitet durch User
Autor: Denny S. (nightstorm99)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

habe meinen Fehler gefunden.
Beim ADUM 1201 AR hat das VCC vom USb gefehlt.
Kurz nach gelötet und siehe da, alles läuft.
08;Vaillant;EHP00;0416;7201;21121200;200752170;006005116;N2
15;Vaillant;UIH00;0370;6901;21120700;201017800;907006295;N8
23;Vaillant;EHP00;0416;7201;21121200;200752170;006005116;N2
25;Vaillant;EHP00;0416;7201;21121200;200752170;006005116;N2
26;Vaillant;EHP00;0416;7201;21121200;200752170;006005116;N2
50;Vaillant;EHP00;0416;7201;21121200;200752170;006005116;N2
e0;Vaillant;OMU00;0118;5202;21120800;200752301;610005498;N9

Alle Werte lesen geht aus den jeweiligen CVS Datein. Nun muss ich noch
das schreiben probieren und dann gehts zur integration in FHEM.

Danke nochmals
Gruß Denny

Autor: MeisterTR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat noch jemand eine platine über ? liebe grüße Tobi

Autor: Lesender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut H. schrieb:
> Platinen sind da.
>
> Endlich.... Chinapost...

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind noch genug da, einfach 'ne PN
Gruß Helmut

Autor: ChristianH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hätte gerne ein fertiges Modul... was solls kosten?


Danke im Voraus!

Autor: ChristianH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe ebusd am laufen; diverse csv datein (bei mir sinds die Bai, 
470,_templates) ins etc/ebusd verzeichnis kopiert und bekomme bei ebusd 
--checkconfig  lauter fehlermeldungen wie diese:


Error reading "/etc/ebusd/BAI00.csv" line 5456 field 1 value "</html>": 
ERR: end of input reached
Erroneous item is here:
"</html>"

wie kann ich überprüfen ob ebusd mit den scv datein richtig 
funktioniert?? oder kann ich das erst wenn ich FHEM installiert habe?

Autor: Christian S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
da scheinen die csv's fehlerhaft sein, evtl. Nochmal bei John30 als Zip 
runterladen, entpacken und neu ins Verzeichnis kopieren. EBUSD läuft 
auch unabhängig von FHEM, du kannst es mit ebusctrl oder über Terminal 
testen, mit z.b. mit "read outsidetemp" oder einem anderen zu Deiner 
konfiguration passenden Befehl,
Grüsse Christian

Autor: ChristianH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habs nun als binary drauf kopiert....


pi@raspberrypi ~ $ ebusd --checkconfig
2015-08-30 13:56:10.195 [main notice] Performing configuration check...
Error reading "/etc/ebusd/_templates.csv" line 1 field 3 value "divider 
/ values": ERR: invalid numeric argument
Erroneous item is here:
"# template name","type / templates","divider / values","unit","comment"
                                         ^
Error reading "/etc/ebusd/bai.csv" line 1 field 5 value "[QQ]": ERR: 
invalid numeric argument
Erroneous item is here:
"# type 
(r[1-9]","circuit","name","[comment]","[QQ]","ZZ","PBSB","[ID]","field1" 
,"part 
(m/s)","datatypes/templates","divider/values","unit","comment","","","", 
"","","","","","","","",""
                                                  ^
2015-08-30 13:56:10.275 [main notice] found messages: 346 (0 poll, 6 
update)


kann es sein dass ich die erste Zeile löschen muss... oder was muss ich 
ändern das es funktioniert.

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Namensvetter,

nochmal, da stimmt was mit den Dateien nicht, wie sie auf dem Raspi 
ankommen. Das Problem hatte ich auch, bis ich die richtig da hinein 
bekommen habe. Du solltest Dir die CSVs als Zip hier runterladen;

https://github.com/john30/ebusd-configuration/archive/master.zip

Am besten direkt mit dem Raspi runterladen, entpacken und in den EBUSD 
Ordner kopieren. Oder z.B. auf nem NAS zwischenspeichern, das dann im 
Raspi verbinden, direkt kopieren, also nicht über FTP (obwohl das evtl. 
auch geht...) Nur die CSVs nehmen, die Du auch wirklich brauchst, weil 
der EBUSD alle CSVs beim Start läd, die er findet... An den CSVs auf dem 
Raspi nichts mehr ändern, ich hatte das auch, daß nach Ändern und 
speichern auch solche Fehler kamen. Wenn Ändern, dann hab ich das auf 
dem PC mit Excel gemacht.

Ich habe bei mir auf dem Raspi den Tightvnc-Server laufen, auf dem PC 
den VNC-Viewer, dann ist das wie direkt davor sitzen. Geht aber auch, 
wenn Du den über Terminal oder an einen Fernseher angeklemmt 
betreibst...

Gruß Christian

Autor: ChristianH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja das wars!!

alles als zipdatei auf den raspberry extrahiert und an die passende 
stelle kopiert....

pi@raspberrypi /var/log $ ebusd --checkconfig
2015-09-03 22:09:14.637 [main notice] Performing configuration check...
2015-09-03 22:09:14.735 [main notice] found messages: 398 (0 poll, 9 
update)

denke das schaut nun gut aus!

Ich habe folgende datein
pi@raspberrypi /etc/ebusd $ ls
470.csv  bai.csv  broadcast.csv  ebusd.log  _templates.csv  v61.csv


und bekomme nun einen neuen fehler.... aus der
2015-09-03 22:00:27.661 [update notice] unknown MS cmd: 1050b51303041f00 
/ 0a1f$
2015-09-03 22:00:27.814 [bus error] scan 6c failed: ERR: read timeout
2015-09-03 22:00:28.359 [bus error] scan 7d failed: ERR: read timeout
2015-09-03 22:00:28.852 [bus error] scan 8a failed: ERR: arbitration 
lost
2015-09-03 22:00:29.060 [bus error] scan 93 failed: ERR: read timeout
2015-09-03 22:00:29.605 [bus error] scan 9d failed: ERR: read timeout
2015-09-03 22:00:30.097 [bus error] scan a8 failed: ERR: arbitration 
lost

teilweise kann ebsud dann was entschlüsseln....
2015-09-03 22:06:12.766 [update notice] update broadcast outsidetemp 
QQ=10: 15.$
2015-09-03 22:05:53.738 [update notice] update broadcast vdatetime 
QQ=10: 22:15$

aber ansonsten steht da immer

2015-09-03 22:05:36.658 [update notice] unknown MS cmd: 1050b505021800 / 
00
2015-09-03 22:05:38.672 [update notice] unknown MS cmd: 1050b505023001 / 
0101
2015-09-03 22:05:40.723 [update notice] unknown MS cmd: 1008b5110101 / 
09343490$
2015-09-03 22:05:41.376 [update notice] unknown MS cmd: 1050b51303041f00 
/ 0a1f$
2015-09-03 22:05:42.717 [update notice] unknown MS cmd: 
1050b505053cc501c501 / $
2015-09-03 22:05:42.974 [update notice] unknown MS cmd: 1008b5100305ff01 
/ 00
2015-09-03 22:05:43.263 [update notice] unknown MS cmd: 1050b51303041300 
/ 0a13$
2015-09-03 22:05:44.686 [update notice] unknown MS cmd: 1050b5040137 / 
0200ff
2015-09-03 22:05:44.975 [update notice] unknown MS cmd: 
1008b5100900000060ffff0$
2015-09-03 22:05:46.663 [update notice] unknown MS cmd: 1050b505021800 / 
00
2015-09-03 22:05:48.724 [update notice] unknown MS cmd: 1050b505023001 / 
0101


beim befehl ebusctl kommt dies:
pi@raspberrypi /var/log $ ebusctl scan result
08;Vaillant;BAI00;0703;7401
15;Vaillant;47000;0420;1403
26;Vaillant;47000;0420;1403
50;Vaillant;V6100;0418;1902

muss ich noch eine andere datei nehmen um alles zu entschlüsseln (oder 
zumindest 50%)?

Autor: Christian S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
das ist ein Denkfehler, der Ebusd speichert im Hintergrund alles, was in 
den CSVs bekannt ist, das, was er bei Dir ausgibt sind nur die 
unbekannten. Gib z.b. Mal im ebusctl das ein.
r outsidetemp
dann gibt er Dir die Aussentemperatur aus, falls Deine Steuerung einen 
Aussenfühler hat. Die Befehle nach dem r für read sind die, die in den 
csvs in Spalte 3 oder so  drin stehen.
Kannst dort auch mit z.b.
Find temp
alle Einträge finden, die irgendwo was mit temp haben und siehst auch 
gleich, falls Werte gespeichert sind...

Du siehst, du bist schon nahe dran, Einbinden in FHEM ist dann noch ein 
wenig Arbeit...

grüsse Christian

Autor: ChristianH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian!


Danke für die Information!! Hab bisher noch nicht versucht mit ebusctl 
zu den Klartextausgaben zu kommen => wird aber funktionieren (wenn du´s 
sagst). Hast zufällig eine Vorlage für FHEM zum auslesen, bzw. sodass 
ich die Heiztemperatur an meiner Gastherme anpassen kann.

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ebusd schreibt im Level "notice" alle empfangenen Daten ins Log, also 
kannst da einfach mitlesen, was so vorbei kommt.

Und noch was: Es sollte immer nur eine Instanz vom ebusd auf einer 
Schnittstelle laufen, sonst gibts Probleme mit dem Lesen (also z.B. mit 
"ps aux|grep ebusd" prüfen, ob schon einer läuft).

VG John

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi John,
wie aktiviere ich denn den Level "notice" ? bzw. wo finde ich das ?

Grüsse Christian

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian schrieb:
> wie aktiviere ich denn den Level "notice" ? bzw. wo finde ich das ?

"notice" ist eigentlich der Standard Level, aber es hängt natürlich 
davon ab, wie Du den Dienst gestartet hast (Parameter "--loglevel").

Du kannst aber auch während der Dienst schon läuft den Level anpassen, 
z.B. mit:
ebusctl log level info

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

danke für die Info !!! Gibt es eigentlich auch eine Möglichkeit, direkt 
im ebusctl über read und eingabe der unbekannten Adressen im Log die 
unbekannten Werte auszulesen ? Ich suche nämlich die Adressen für einige 
Werte, die in den CSVs noch nicht drin sind, z.B. für den 
Volumenstromsensor Heizkreis (D.29) und die Daten von der Calormatic 
560...

Grüße Christian

Autor: lars_w (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

d.29 würde mich auch brennend interessieren, weil man dann aus diesem 
Wert, der Vorlauf- und Rücklauftemperatur den aktuellen Energiebedarf 
berechnen kann.
Leider habe ich aber keine Idee, wie ich an die Adressen neuer Werte 
komme.

Viele Grüße

Lars

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also zunächst mal gibt es das "grab" Kommando. Damit kann man dem ebusd 
dazu veranlassen, alle unbekannten Nachrichten zu sammeln. Mit "grab 
result" kann man diese dann wieder abfragen.

Wenn man jetzt einen ganz speziellen Wert ausfindig machen will, kann 
bspw. so vorgehen:

ebusd in grab Modus versetzen
am User Interface den gesuchten Wert auslesen und/oder verändern
ebusd grab result abfragen

Dann müsste die entsprechende Nachricht in der Ausgabe dabei sein und 
man kann sich über die Dekodierung Gedanken machen.

Autor: Lars W. (lars_w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Wenn man jetzt einen ganz speziellen Wert ausfindig machen will, kann
> bspw. so vorgehen:
>
> ebusd in grab Modus versetzen
> am User Interface den gesuchten Wert auslesen und/oder verändern
> ebusd grab result abfragen
>
> Dann müsste die entsprechende Nachricht in der Ausgabe dabei sein und
> man kann sich über die Dekodierung Gedanken machen.

Meinst Du mit User Interface das Display der Therme?
Wenn ich Dich richtig verstanden habe würde also, wenn ich an der Therme 
d.29 abfrage, das Ergebnis dieser Abfrage auch über den Ebus gesendetet 
werden und müsste im "grab result" auftauchen.

Richtig?

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lars W. schrieb:
> Meinst Du mit User Interface das Display der Therme?
> Wenn ich Dich richtig verstanden habe würde also, wenn ich an der Therme
> d.29 abfrage, das Ergebnis dieser Abfrage auch über den Ebus gesendetet
> werden und müsste im "grab result" auftauchen.

korrekt :-)

Autor: Andrew J. (Firma: andrew) (andrewjames)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Sind Bretter noch verfügbaren?

Ich möchte ein bis in das Vereinigte Königreich versandt

Danke

Hi, Are boards still avaliable?

I would like one to ship to the UK

Thank you

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

ich habe mal mit grab und grab result vorher abgefragt und dann während 
D.29 im Display angezeigt wurde und der Unterschied war dann

0315b51303060000 / 0101

ein wenig später kam dann noch zu der Zeile oben das dazu;
0315b51303066400 / 0101

Das Display zeigte konstant 0,78

kannst Du da irgendwas draus erkennen ?

Ist eine EcoTec Exclusiv 276 mit einer 470er Steuerung

Grüße

Christian

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmmm.... keiner eine Idee ? Hab ich da vielleicht was falsch gemacht ?

Gruss Christian

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

die beiden Ergebnisse scheinen nichts mit den 0,78 zu tun zu haben 
(0x64=100 dezimal). Also hast Du die Nachricht wohl nicht erwischt...

John

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andrew hat ja auch schon gefragt, aber irgendwie keine Antwort 
bekommen...

Hat noch jemand eine Platine und/oder fertig bestücktes eBus Interface 
abzugeben?

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt P. schrieb:
> Abgesehen davon, dass der FT232 so konfiguriert werden muss, dass an
> CBUS0 die RX LED und an CBUS1 die TX LED hängt, gibt es nicht viel dazu
> zu sagen.

Ich kenne mich mit dem FT232 nun so gar nicht aus - steht irgendwo, wie 
man das macht, oder ist das schon durch die Beschaltung passiert?

Autor: Benedikt P. (bepa)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Sven G. schrieb:
> Ich kenne mich mit dem FT232 nun so gar nicht aus - steht irgendwo, wie
> man das macht, oder ist das schon durch die Beschaltung passiert?

Das kannst du mit dem Tool MProg machen.
Unter "I/O Controls" kannst du die Funktion für C0 und C1 festlegen.
Das Ding bekommst du hier: http://www.ftdichip.com/Support/Utilities.htm

Gruß
Benedikt

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

ich habe nochmal eine andere Frage, ich habe heute entdeckt, daß Du auch 
für die Automatik 560 eine CSV eingestellt hast, aber wenn ich die zu 
den anderen in den EBUSD-Ordner kopiere (also die  von der 470 und bai 
und ... hab ich alt gelassen) und dann auf --checkconfig (oder im 
ebusctl auf reload) gehe, dann kommen jede Menge Errors "duplicate 
entry". Installiert habe ich EBUSD 1.1 (wollte mit der 1.2 erstmal kein 
Risiko eingehen), hab so wie sonst auch auf meinen NAS kopiert und mit 
dem Raspi dann von dort nach etc/ebusd/ kopiert. so klappte das sonst 
immer. Hab auch schon mit dem Raspi direkt von Github runtergeladen. Was 
ist da falsch ? Oder muss ich auf 1.2 updaten ?

Grüße Christian

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian schrieb:
> Hallo John,
>
> ich habe nochmal eine andere Frage, ich habe heute entdeckt, daß Du auch
> für die Automatik 560 eine CSV eingestellt hast, aber wenn ich die zu
> den anderen in den EBUSD-Ordner kopiere (also die  von der 470 und bai
> und ... hab ich alt gelassen) und dann auf --checkconfig (oder im
> ebusctl auf reload) gehe, dann kommen jede Menge Errors "duplicate
> entry". Installiert habe ich EBUSD 1.1 (wollte mit der 1.2 erstmal kein
> Risiko eingehen), hab so wie sonst auch auf meinen NAS kopiert und mit
> dem Raspi dann von dort nach etc/ebusd/ kopiert. so klappte das sonst
> immer. Hab auch schon mit dem Raspi direkt von Github runtergeladen. Was
> ist da falsch ? Oder muss ich auf 1.2 updaten ?
>
> Grüße Christian

Hi Christian,

die Auromatic überschneidet sich in der Busadresse mit der 470. Diese 
beiden sollte man nicht zusammen an einen eBUS hängen, sonst gibt es 
vermutlich üble Nebenwirkungen.

Viele Grüße,
John

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

das hatte ich schon befürchtet, aber zur Not hätte ich zwei Adapter ;-) 
Aber so weit bin ich gar nicht gekommen, weil schon ohne 560 am Bus die 
Meldung kam und die kam auch wenn ich eine CSV da rein kopiere, die mit 
meiner Heizung nichts zu tun hat. Die laufen aber doch noch mit der V1.1 
oder hat sich da was, evtl. im Template, geändert ?

Grüße

Christian

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian schrieb:
> Hallo John,
>
> das hatte ich schon befürchtet, aber zur Not hätte ich zwei Adapter ;-)
> Aber so weit bin ich gar nicht gekommen, weil schon ohne 560 am Bus die
> Meldung kam und die kam auch wenn ich eine CSV da rein kopiere, die mit
> meiner Heizung nichts zu tun hat. Die laufen aber doch noch mit der V1.1
> oder hat sich da was, evtl. im Template, geändert ?

Naja, ob das Ding am Bus hängt oder nicth ist dem ebusd ja zunächst 
egal. Nichts desto trotz überschneiden sich natürlich auch die 
Nachrichtendefinitionen. Es geht also weder aus Bus-Sicht noch aus 
ebusd-Sicht gut...
Aber wenn Du zwei Adapter hast, dann kannst Du ja alles trennen. Also 
zwei mal ebusd laufen lassen mit verschiedenen Devices und 
unterschiedleichem config-Verzeichnis.

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, die muss ich dann aber auf zwei Raspis laufen lassen oder ?

Gruss Christian

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian schrieb:
> Hmm, die muss ich dann aber auf zwei Raspis laufen lassen oder ?

nö, wieso?

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie bekomme ich denn die unterschiedlichen Konfigurationen hin ? und 
muss ich dann zwei Instanzen von EBUSD laufen lassen ? Wie bekomm ich 
das hin ?

Gruss Christian


...vom Handy

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian schrieb:
> Wie bekomme ich denn die unterschiedlichen Konfigurationen hin ? und
> muss ich dann zwei Instanzen von EBUSD laufen lassen ? Wie bekomm ich
> das hin ?

Einfach zwei Konfigurationsverzeichnisse anlegen, jeweils die passenden 
CSVs reinlegen, ein Mal ebusd mit dem einen Verzeichnis starten und ein 
Mal mit dem anderen, z.B.:

ebusd -c /etc/ebusd -d /dev/ttyUSB0
ebusd -c /etc/ebusd2 -d /dev/ttyUSB1

Nicht wirklich kompliziert, oder?
Wenn es drum geht, das beim Systemstart automatisch hin zu bekommen, 
muss halt die init Datei entsprechend angepasst werden bzw. dupliziert 
auf "ebusd2" usw.

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.. Das ist ja gar nicht so kompliziert, wie gedacht :-)
Hab erstmal vielen Dank, ich probiere mal heute Abend...

UND WEIL DAS HIER GLAUBE ICH NOCH NICHT ERWÄHNT WURDE: IHR (SPEZIELL DU) 
MACHT HIER EINEN IRRE GUTEN JOB, DAS PROJEKT EBUSD IST ECHT SPITZE !!! 
VIELEN LIEBEN DANK !!!!

Grüsse Christian

Autor: Horst S. (hasont)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich hatte den Sommer über wenig Zeit und möchte mich jetzt wieder 
mit dem Thema befassen.
Ich habe eine Vaillant VSC 196-5 und im Februar erfolgreich die Platine 
unter Linux am Laptop in Betrieb genommen. Der nächste Schritt sollte 
dann eigentlich ein RASPI sein.
Bevor ich nun weiter mache mal eine paar Fragen hier an das Bord:
- Gibt es für mein Android schon sowas wie eine App mit der ich meine 
Heizung abrufen und steuern kann. Allein Warmwasser anschalten würde mir 
schon helfen wenn es mal zum Duschen außerhalb der Standardzeiten 
benötigt wird.
- Was müsste man dafür alles an Software bereitstellen.
- Ginge da zum Beispiel auch ein kleines QNAP 112 NAS
Bin jetzt nicht grad ein Programmierer aber fertige Softwaremodule 
einbinden würde bestimmt klappen.
Ich würde mich für jeden Tip riesig freuen.
Gerne auch über fam.schwemmer@gmx.de.
Gruß Horst aus Fürth

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

JA, es geht :-)

Ich habe meine Vaillant soweit, dass ich alle wichtigen Parameter 
auslesen und auch setzen kann, also auch von unterwegs heiss Wasser 
machen kann, 45°C für Dusche und 60°C für Badewanne, Leistung für WW und 
Heizung begrenzen und und und...

Neben der Adapterplatine brauchst Du von John noch den EBUSD und dann 
kannst Du in FHEM z.B. hier einsteigen:
http://forum.fhem.de/index.php/topic,29737.0/topicseen.html

...und dann viiiiiel Geduld und Spaß ;-)

Grüße Christian

Autor: Horst S. (hasont)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian, danke für die Antwort.
Gibt es da auch schon Bilder wie das dann aussieht. Ist ja scheinbar ein 
vielseitiges Unterfangen.
Danke und viele Grüße
Horst

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Horst Schwemmer:
Das ist nicht mal eben so kurz erklärt, hab schon einige Tage/Wochen 
gebraucht, bis ich das richtig am Laufen hatte.
Die Kurzfassung:
Erstmal in EBUSD einlesen:
https://github.com/john30/
EBUSD installieren, in das Verzeichnis, wo die Konfiguration abgelegt 
ist, die passenden CSV-Dateien reinkopieren (hier wurde schon einiges 
dazu geschrieben, wie man die da am besten reinbekommt, siehe weiter 
oben) mit "sudo ebusd --checkconfig" aus dem Terminal auf dem Raspi 
testen, ob das generell Chance hat, zu laufen, wenn keine Fehler kommen, 
mit "sudo ebusd" den Dämon (der zeichnet die Daten vom EBUS auf und 
bringt die in eine Form, so dass wir Klartextantworten bekommen) 
starten. Mit "ebusctl" kannst du dann sozusagen eine Terminalverbindung 
zum Dämon herstellen. Wenn Du dann z.B. "read outsidetemp" eingibst 
(mein Favorit), sollte der die aktuelle Außentemperatur ausgeben.

Wenn das bis hierhin klappt, dann wie in diesem Thread ein EMCD-Device 
anlegen: (Also die Verbindung von FHEM zu EBUSD)
http://forum.fhem.de/index.php/topic,29737.0/topicseen.html
Dann weiter oben hier schauen, wie das mit einer Klassenanlage 
funktioniert (aufpassen, oben ist glaube ich noch mit get statt read 
gearbeitet worden, das hat John zwischendurch geändert). Mit den 
Funktionen aus den Klassen liest Du dann aus dem Dämon die gewünschten 
Werte aus. Die Auslesebefehle in den Funktionen sind prinzipiell die 
selben wie im ebusctl. Dann z.B. mit einem Notify automatisiert die 
einzelnen Funktionswerte auslesen und in ein Dummy hineinschreiben...

...Fertig.... (kleiner Schmunzler, mir fällt grad auf, was das eine 
Quälerei war, bis ich das alles raus hatte :-) )

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian schrieb:
> @Horst Schwemmer:
> Das ist nicht mal eben so kurz erklärt, hab schon einige Tage/Wochen
> gebraucht, bis ich das richtig am Laufen hatte.
> Die Kurzfassung:
> Erstmal in EBUSD einlesen:
> https://github.com/john30/

Kleiner Tipp: den Sourcecode brauchst Dir nicht anschauen, das Wiki ist 
sicher informativer:
https://github.com/john30/ebusd/wiki

:-)

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...da hat der John natürlich wieder recht ;-)

Aber von da aus findet man sich eigentlich ganz gut zurecht :-)

ist für jemanden, der da neu einsteigt schon eine enorme Hilfe, aber 
immernoch recht komplex. Aber es läuft wie tüt, alles was ich immer von 
meiner Heizungsregelung erwartet hatte kann ich nun locker von überall 
machen. (das mit der 560er hab ich aus Zeitgründen noch nicht testen 
können, aber mach ich noch)

Grüße

Christian

Autor: Andrey K. (andreyk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Sind Bretter noch verfügbaren?

Ist es möglich, in die Ukraine schicken?

Danke

Hi, Are boards still avaliable?

Is it possible to send to Ukraine?

Thank you

Autor: Adam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hat noch jemand eine Platine und/oder fertig bestücktes eBus Interface
abzugeben?

Grüße Adam

Autor: Ádám H. (dm_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hat noch jemand eine Platine und/oder fertig bestücktes eBus Interface
abzugeben?

Grüße Adam

Autor: Lars W. (lars_w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Christian schrieb:

> ich habe mal mit grab und grab result vorher abgefragt und dann während
> D.29 im Display angezeigt wurde und der Unterschied war dann
>
> 0315b51303060000 / 0101
>
> ein wenig später kam dann noch zu der Zeile oben das dazu;
> 0315b51303066400 / 0101
>
> Das Display zeigte konstant 0,78

Ich bekomme bei Abfrage von d.29 das gleiche Ergebnis!
Allerdings zeigt mein Display 0,42.

John, hast Du evtl. noch eine Idee?

Viele Grüße,

Lars

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe noch genug Platinen, einfach 'ne PN an mich !

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lars W. schrieb:
> Christian schrieb:
>
>> ich habe mal mit grab und grab result vorher abgefragt und dann während
>> D.29 im Display angezeigt wurde und der Unterschied war dann
>>
>> 0315b51303060000 / 0101
>>
>> ein wenig später kam dann noch zu der Zeile oben das dazu;
>> 0315b51303066400 / 0101
>>
>> Das Display zeigte konstant 0,78
>
> Ich bekomme bei Abfrage von d.29 das gleiche Ergebnis!
> Allerdings zeigt mein Display 0,42.

Also so ganz passt das nicht zusammen, denn die Nachricht wird von "03" 
an "15" gesendet, also vom Brenner an das Display bzw. den Controller. 
Wenn der Controller was vom Brenner abfragt, dann wäre der Sender "10" 
und der Empfänger "08".
Insofern ist das einfach nicht die gesuchte Nachricht.

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi John,

an der Steuerung (470) kann man (ich) das auch nicht ab-/anfragen, ich 
kann nur an die Therme (Ecotec exklusiv 25KW) selber gehen und dort d.29 
abfragen, das wird dann im Display der Therme angezeigt. Die Ausgabe im 
EBUSD mit grab hab ich ja oben geschrieben. Die Frage ist, ob die Therme 
das dann überhaupt auf den Bus schickt oder ob das nur intern ist ?

Wäre halt super cool, weil aus der Vor- und Rücklauftemperatur und dem 
Volumenstrom könnte man dann endlich die tatsächlich abgegebene Leistung 
errechnen...

Grüße

Christian

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> an der Steuerung (470) kann man (ich) das auch nicht ab-/anfragen, ich
> kann nur an die Therme (Ecotec exklusiv 25KW) selber gehen und dort d.29
> abfragen, das wird dann im Display der Therme angezeigt. Die Ausgabe im
> EBUSD mit grab hab ich ja oben geschrieben. Die Frage ist, ob die Therme
> das dann überhaupt auf den Bus schickt oder ob das nur intern ist ?

Tja das wird dann schwierig. Du könntest höchstens mal alle Adressen der 
Therme abfragen und schauen, ob 0,42 irgendwo dabei ist...

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi John,

gibt's da evtl. einen passenden Befehl zu, mit dem ich alle Adressen der 
Therme "durchscannen" kann ? Ich meine doch, ich hätt das mal irgendwo 
gelesen...

Grüße Christian

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> gibt's da evtl. einen passenden Befehl zu, mit dem ich alle Adressen der
> Therme "durchscannen" kann ? Ich meine doch, ich hätt das mal irgendwo
> gelesen...

Du meinst wahrscheinlich das "readall.sh" Skript im contrib Verzeichnis.
Das ist aber nur dazu geeignet, alle bekannten Messages abzufragen. Das 
kannst ja auch mal machen, am besten mit "readall.sh -c XXX" wobei XXX 
der circuit Name Deiner Therme sein sollte (evtl. bai?).

Um wirklich alle Register abzufragen, müsste man per hex write alles 
durchlaufen von 08b509030d0000 bis 08b509030dffff, also 65536 Elemente. 
Das würd ich jetzt nicht unbedingt alles auf einmal mittels Skript 
abfragen, sondern eher Blockweise. Denn diese Menge ist eine arge 
Buslast...

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi John,

hilf mir kurz auf die Sprünge, wie rufe ich das Script auf ? (gefunden 
hab ich es schon ;-) )

Und wo muss ich das überhaupt hinpacken ?

Grüße

Christian

Autor: Björn C. (bcordes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

ich habe vor kurzem 10 eBus Adapter nach dem Schaltplan auf dieser Seite 
produziert, von denen ich 8 zum Verkauf anbieten möchte.

Die Adapter sind fertig zusammengelötet, im Gehäuse eingebaut und 
getestet.

Bei Interesse bitte ich um eine Nachricht.



Gruß
Björn

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> Hi John,
>
> hilf mir kurz auf die Sprünge, wie rufe ich das Script auf ? (gefunden
> hab ich es schon ;-) )
>
> Und wo muss ich das überhaupt hinpacken ?
>
> Grüße
>
> Christian

Das Skript findet sich im contrib/scripts Verzeichnis, ist aber z.B. 
nicht Teil des Debian Packages. Hinpacken kannst Du es wo Du willst, Du 
musst es einfach nur irgendwo starten.

Das Skript macht einen "find" Aufruf mit den Parametern, die Du an das 
Skript übergibst, und fragt dann alle von ebusd gemeldeten Nachrichten 
einzeln per "read" Kommando ab.

Also Aufruf z.B.
./contrib/scripts/readall.sh time

liest dann alle Nachrichten aus, die "time" im Namen haben (z.B. alle 
definierten Timer).

John

Autor: Björn C. (bcordes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche seit drei Tagen, ebusd an meiner Heizung zum Laufen zu 
bringen, aber die CSV Dateien machen Probleme.

Ein Scan des Bus mit "scan full/result" hat ergeben:

08;Vaillant;BAI00;0703;7401
14;Vaillant;UI   ;0507;6201
25;Vaillant;SOLSY;0500;6301
26;Vaillant;SOLSY;0500;6301
50;Vaillant;SOLSY;0500;6301
ec;Vaillant;SOLSY;0500;6301

Ich teste mit der Version 2.0.0-preview von heute und habe aus dem 
config-Verzeichnis von Version 1.x.x diese Dateien nach /etc/ebusd 
kopiert:
_templates.csv
bai.csv
solsy.cc.csv
solsy.hc.csv
solsy.hwc.csv
solsy.sc.csv
ui.csv

ebusd --checkconfig ergibt:
found messages: 516 (o conditional on 0 conditions, 0 poll, 0 update)

Wenn ich den ebusd im Vordergrund starte, bekomme ich sehr viele Zeilen 
mit dem Muster: unknown MS cmd: xyz

Nur vereinzelt steht dort: update hc SumFlowSensor QQ=10: 42.75;ok

Wenn ich noch die broadcast.csv dazukopiere, wird in gewissen Abständen 
die Uhrzeit und die Außentemperatur angezeigt.

Aber wie schaffe ich es, dass auch die anderen Sensoren/Daten ausgelesen 
werden?


Gruß Björn

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Björn C. schrieb:
> Wenn ich den ebusd im Vordergrund starte, bekomme ich sehr viele Zeilen
> mit dem Muster: unknown MS cmd: xyz
>
> Aber wie schaffe ich es, dass auch die anderen Sensoren/Daten ausgelesen
> werden?

Dafür gibt es ein issue, in dem all die unknown messages gesammelt 
werden:
https://github.com/john30/ebusd-configuration/issues/3

Autor: Christian L. (legacycode)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde gerne eine Platine bestellen. Hat jemand noch eine über, bzw. 
kann mir sagen wo ich welche produzieren kann?

Danke.

Christian

Autor: Björn C. (bcordes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe zwar keine freien Platinen mehr, aber dafür noch einige fertig 
gelötete und getestete Adapter.

Du kannst mir gerne mal eine Nachricht senden.


Gruß Björn

Autor: Lars W. (lars_w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian

Christian L. schrieb:

> ich würde gerne eine Platine bestellen. Hat jemand noch eine über, bzw.
> kann mir sagen wo ich welche produzieren kann?

Ich habe damals hier bestellt:

   http://www.itead.cc/open-pcb/pcb-prototyping/2layer-green-pcb-5cm-x-10cm-max.html

Lieferzeit lag damals bei 18 Tagen!

Leider habe ich davon keine mehr übrig.

Lars

Autor: Christian L. (legacycode)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hier der Warenkorb zur direkten Übernahme mit Gehäuse und 10k Poti:

https://secure.reichelt.de/index.html?&ACTION=20&AWKID=1132160&PROVID=2084

Beste Grüße.

Christian

Autor: Christian L. (legacycode)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen,

kann mir evtl. jemand die Gerber Dateien zur Verfügung stellen, damit 
ich die Platinen bei http://www.itead.cc bestellen kann? Ich bekomme das 
irgendwie nicht hin :-)

Vielen Dank.

Christian

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut H. schrieb:
> Ich habe noch genug Platinen, einfach 'ne PN an mich !


Wer lesen kann ist klar im Vorteil ;-)

Autor: Christian S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen Helmut,

ich hatte Dir letzte Woche eine PN mit der Anfrage zwei Platinen mit 
Porto innerhalb Deutschlands geschickt, aber leider noch keine Antwort 
erhalten... Ist das bei Dir untergegangen oder evtl. bei mir ?

Grüße

Christian S.

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...hier nochmal eingeloggt...
Grüße

Christian S.

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Björn C.,

Björn C. schrieb:
>Aber wie schaffe ich es, dass auch die anderen Sensoren/Daten ausgelesen
> werden?

Ich vermute ein Missverständnis, das was er da ausgibt sind die, die er 
in den CSVs nicht findet, was er findet, gibt er dort nicht aus (soweit 
ich weiß, aber cool wäre das schon, wenn mal eine Option alle 
Nachrichten in Klartext darstellen würde). Du kannst aber im ebusctl 
z.B. mit "read outsidetemp" (mein Favorit, den kann ich mir merken ;-) 
)die Außentemperatur (falls ein Aussensensor dran ist) auslesen. Du 
kannst auch mal "find temp" im ebusctl probiereb, dann gibt er alles 
aus, wo temp im Namen drin ist. Genauso funktioniert das auch mit den 
anderen "Befehlen" aus den CSVs, bei denen min. "r" davor steht. Wenn Du 
den EBUS schon in FHEM als "EBUS" angemeldet hast, kannst Du in der 
Eingabezeile mit "get EBUS raw 'r outsidetemp'" eingeben (sonst das EBUS 
gegen das tauschen. als was du das EMCD definiert hast) und dann geht 
ein Popup mit dem Wert auf (so aus dem Kopf aufgeschrieben). Das 
Einbinden in Klassen und Funktionen ist weiter oben beschrieben.

Viel Spaß beim Basteln,

Grüße

Christian

: Bearbeitet durch User
Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> ... (soweit
> ich weiß, aber cool wäre das schon, wenn mal eine Option alle
> Nachrichten in Klartext darstellen würde).

das macht ebusd schon in den Log Zeilen mit "[update notice] update 
...", z.B.:
2015-11-13 08:15:27.671 [update notice] update mc DateTime QQ=10: valid;08:15:28;13.11.2015;1.312

Autor: Björn C. (bcordes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Christian,

danke für die ausführliche Erklärung, ich habe es gestern auch noch zum 
Laufen bekommen.
30 Werte lasse ich jetzt per vwmon in meiner Datenbank speichern.

Jetzt habe ich zwei Dinge mit den Daten vor.

- Diagramme von bestimmten Werten zeichnen lassen (z.B. Außentemperatur 
der letzten Woche)
- eine schematische Skizze der Heizungsanlage auf dem Webserver. Auf 
diesem Bild sollen die aktuellen Temperaturen usw. direkt an der 
richtigen Stelle angezeigt werden.


Kann man so etwas mit FHEM realisieren und wie kompliziert ist das?

Ansonsten würde ich mir mit php so etwas zusammenkopieren.


Gruß Björn

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
>  Ist das bei Dir untergegangen oder evtl. bei mir ?
>
> Grüße
>
> Christian S.

Nicht mal im Spam-Ordner ist was, bei Dir im "Entwürfe" ?
;-)

Autor: Magic T. (magic-tune)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich habe meinen Adapter nun zusammengebrutzelt und kann die ersten Wete 
meiner Villant mit ebusctl auslesen und in meiner Hausteuerung 
darstellen.

Kann mir jemand einen Tip geben, wie man per Kommandozeile Werte setzen 
kann (z.B. Warmwasser an/aus, Heizung an/aus, Warmwasser Solltemperatur)

Gruß
Andreas I.

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Magic T. schrieb:
> Hallo zusammen,
> ich habe meinen Adapter nun zusammengebrutzelt und kann die ersten Wete
> meiner Villant mit ebusctl auslesen und in meiner Hausteuerung
> darstellen.
>
> Kann mir jemand einen Tip geben, wie man per Kommandozeile Werte setzen
> kann (z.B. Warmwasser an/aus, Heizung an/aus, Warmwasser Solltemperatur)
>
> Gruß
> Andreas I.

Das kommt in erster Linie auf Deine Anlage an. Welche CSVs nutzt Du bzw. 
wie sieht Dein scan aus?
John

Autor: John B. (john30)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Björn C. schrieb:
> - Diagramme von bestimmten Werten zeichnen lassen (z.B. Außentemperatur
> der letzten Woche)

ich nutze dafür Munin:
https://github.com/john30/ebusd-munin

> - eine schematische Skizze der Heizungsanlage auf dem Webserver. Auf
> diesem Bild sollen die aktuellen Temperaturen usw. direkt an der
> richtigen Stelle angezeigt werden.

da bin ich noch dabei, das direkt in ebusd zu integrieren. Bis jetzt 
purzelt dabei sowas raus wie im Screenshot.

John

Autor: Björn C. (bcordes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> da bin ich noch dabei, das direkt in ebusd zu integrieren. Bis jetzt
> purzelt dabei sowas raus wie im Screenshot.

Das sieht ja gar nicht schlecht aus.
Ich habe gestern noch angefangen, so etwas auf Basis der von VWmon 
gefüllten Datenbank aufzubauen. Dafür habe ich einfach den Hydraulikplan 
aus dem Handbuch meiner Steuerung kopiert und mit imagestring die Werte 
an die richtige Stelle kopiert.

Kann man dieses Munin so einstellen, dass es auch an der mysql Datenbank 
ansetzt, und nicht direkt ebusd aufruft?
Denn vwmon würde ich gerne weiterhin verwenden.

Gruß Björn

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Björn C. schrieb:
> Kann man dieses Munin so einstellen, dass es auch an der mysql Datenbank
> ansetzt, und nicht direkt ebusd aufruft?
> Denn vwmon würde ich gerne weiterhin verwenden.

Die Munin Scripts für ebusd kommunizieren natürlich direkt mit dem 
Dienst, aber das lässt auch auf ne mysql Abfrage umbauen. Das hat dann 
aber nicht mehr viel mit den ebusd Munin Scripts zu tun:)

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut H. schrieb:
> Nicht mal im Spam-Ordner ist was, bei Dir im "Entwürfe" ?
> ;-)

Hallo Helmut,

ich habe direkt über das Mailformular hier im Forum eine PN geschickt, 
da gibt's kein Entwurfordner (keinen gefunden), hab nun nochmal mit 
"zweiter Versuch" eine neue geschickt, bitte mal schauen, ob die 
angekommen ist, sonst müssen wir uns was anderes einfallen lassen...

Grüße

Christian

EDIT:

Ich bekomme aber auch keine Kopie an meine Mailadresse, stimmt da evtl 
im Forum was nicht ?

: Bearbeitet durch User
Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe Dir gestern über die PN-Funktion hier 'ne Mail geschrieben.

Melde Dich sonst nochmal neu hier an

Autor: Magic T. (magic-tune)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Das kommt in erster Linie auf Deine Anlage an. Welche CSVs nutzt Du bzw.
> wie sieht Dein scan aus?

Hallo John,
ich habe folgende CSVs im /etc/ebusd/
430.csv, bai.csv, templates.csv, common.csv, scan.csv, rcc.csv, 
error.csv

scan rusult gibt das hier aus:

08;21080700;Vaillant;BAI00;0507;7401
15;21080600;Vaillant;39200;0211;2002
26;Vaillant;39200;0211;2002



Gruß Andreas

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut H. schrieb:
> Ich habe Dir gestern über die PN-Funktion hier 'ne Mail
> geschrieben.
>
> Melde Dich sonst nochmal neu hier an

Bei mir ist aber nichts angekommen (Provider AOL), ich bekomme bei jedem 
Neueintrag hier eine Email, das klappt auch... 'capiman' hat mir aus dem 
Forum auch eine Test-PN geschickt, die ist auch angekommen...

Sehr misteriös :-(

Grüße

Christian

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
EDIT: Vergesst bitte diesen Eintrag, der Grund für die Meldungen ist 
gefunden:

[bus debug] ERR: SYN received during no signal, switching to ready
[bus debug] ERR: read timeout during receive command, switching to skip


Es gab noch einen alten Prozess, der mit auf der gleichen Schnittstelle 
dazwischengefunkt hat. Jetzt geht es und ich arbeite mich weiter ein! :)

: Bearbeitet durch User
Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Magic T. schrieb:
> ich habe folgende CSVs im /etc/ebusd/
> 430.csv, bai.csv, templates.csv, common.csv, scan.csv, rcc.csv,
> error.csv
>
> scan rusult gibt das hier aus:
>
> 08;21080700;Vaillant;BAI00;0507;7401
> 15;21080600;Vaillant;39200;0211;2002
> 26;Vaillant;39200;0211;2002

Damit geht das dann so:

> Warmwasser an/aus
aus:  ebusctl write HwcOPMode off
an:   ebusctl write HwcOPMode on
auto: ebusctl write HwcOPMode auto

> Heizung an/aus
aus:  ebusctl write Hc1OPMode off
an:   ebusctl write Hc1OPMode on
auto: ebusctl write Hc1OPMode auto

> Warmwasser Solltemperatur
50 Grad: ebusctl write HwcTempDesired 50

Autor: Magic T. (magic-tune)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Damit geht das dann so:
>
>> Warmwasser an/aus
> aus:  ebusctl write HwcOPMode off
> an:   ebusctl write HwcOPMode on
> auto: ebusctl write HwcOPMode auto

Hallo John ,
also lesen funktioniert aber beim schreiben bekomme ich den Fehler 
"element not found"?


root@raspberrypi:~# ebusctl -s localhost read HwcOPMode
auto

root@raspberrypi:~# ebusctl -s localhost write HwcOPMode off
ERR: element not found

Gruß
Andreas

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Magic T. schrieb:
> John B. schrieb:
>> Damit geht das dann so:
>>
>>> Warmwasser an/aus
>> aus:  ebusctl write HwcOPMode off
>> an:   ebusctl write HwcOPMode on
>> auto: ebusctl write HwcOPMode auto
>
> Hallo John ,
> also lesen funktioniert aber beim schreiben bekomme ich den Fehler
> "element not found"?
>
>
> root@raspberrypi:~# ebusctl -s localhost read HwcOPMode
> auto
>
> root@raspberrypi:~# ebusctl -s localhost write HwcOPMode off
> ERR: element not found

ah, mein Fehler, beim write muss noch die circuit angegeben werden, also 
richtig ist:

> Warmwasser an/aus
aus:  ebusctl write -c 430 HwcOPMode off
an:   ebusctl write -c 430 HwcOPMode on
auto: ebusctl write -c 430 HwcOPMode auto

> Heizung an/aus
aus:  ebusctl write -c 430 Hc1OPMode off
an:   ebusctl write -c 430 Hc1OPMode on
auto: ebusctl write -c 430 Hc1OPMode auto

> Warmwasser Solltemperatur
50 Grad: ebusctl write -c 430 HwcTempDesired 50

Autor: Magic T. (magic-tune)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hey John,
es funktioniert :-)
Danke für Deine Unterstützung und vielen, vielen Dank für dieses 
Projekt.

Warmwasser an/aus
aus: ebusctl write -c 430 HwcOPMode off
an: ebusctl write -c 430 HwcOPMode manual
auto: ebusctl write -c 430 HwcOPMode auto
Heizung an/aus
aus: ebusctl write -c 430 Hc1OPMode off
an: ebusctl write -c 430 Hc1OPMode manual
auto: ebusctl write -c 430 Hc1OPMode auto
Warmwasser Solltemperatur
50 Grad: ebusctl write -c 430 HwcTempDesired 50

Gruß Andreas

: Bearbeitet durch User
Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal eine Frage in die Runde:

Gibt es hier auch schon Leute mit der Vaillant multiMATIC 700?

Ich habe irgendwie das Problem, dass die meisten Nachrichten in den 
Templates als PBSB=b509 definiert sind. Auf meinem Bus hagelt es aber 
hauptsächlich b523, b511, b510 und b512 - das dafür im 1-2 Sekundentakt.

Hat jemand eine Idee, wie ich da durchfinde?
Bei dieser Nachrichtenflut kann ich kaum beginnen, Werte zu verstellen 
um die resultierende Nachricht zu finden. :/

Komponenten im Bus:
- icoVIT 156/3 (Ölbrennwert)
- VRC700 (Steuerung)
- VR70 (Mischermodul)
- VPM-20W (Trinkwasserstation)
- VPM-20S (Solar)
- VR900 (Internetmodul)

Von unten nach oben könnte ich die Komponenten mit aufsteigende 
Schwierigkeit auch aus dem Bus nehmen. Die Steuerung hat leider keine 
Stromversorgung und läuft nur wenn der Brenner angeschlossen ist.

Oder kennt jemand vielleicht einige der Komponenten und kann mir Tipps 
zu den Nachrichten geben? Momentan scheint das Solarmodul das einzige zu 
sein, dass b509 Nachrichten empfängt - und ausgerechnet für dieses gibt 
es keine CSV für ebusd-2.0.0! :(

Vielen Dank, Sven

Autor: Björn C. (bcordes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

das Auslesen der Heizungswerte mit Eintragung in den Hydraulikplan 
klappt schon recht gut. Ich habe mal ein Bild davon angehängt.

Es sind allerdings drei Werte darunter, die ich nicht zuordnen kann und 
bitte daher noch mal um deine Hilfe.

1. sumflowsensor: Ist dies der integrierte Temperatursensor vom 
Heizkessel?
2. flowtempdesired: Ich dachte, dies sei die Vorlaufsolltemperatur, die 
sich anhand von Außentemperatur und Heizkurve ergibt. In meiner 
SQL-Datenbank habe ich jetzt allerdings gesehen, dass dieser Wert 
zeitweise auf 80 °C steht und manchmal auch auf 0 bzw. 15 °C.
3. yieldsensor: Der Sensor für den Solarertrag gibt mir Werte zwischen 
20 und 40. Weißt du, was mir der Sensor damit sagen will? Die 
Solarkreispumpe ist bei diesen Temperaturen mit Sicherheit nicht 
gelaufen.

Deine Mailadresse von der github-Seite ist übrigens nicht erreichbar.

Gruß Björn

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Gibt es hier auch schon Leute mit der Vaillant multiMATIC 700?

an ebusd Usern gibt es meines Wissens bis dato nur einen, also jetzt 
zwei :-)

> Ich habe irgendwie das Problem, dass die meisten Nachrichten in den
> Templates als PBSB=b509 definiert sind. Auf meinem Bus hagelt es aber
> hauptsächlich b523, b511, b510 und b512 - das dafür im 1-2 Sekundentakt.
>
> Hat jemand eine Idee, wie ich da durchfinde?

So etwas habe ich schon befürchtet. Nachdem die Vaillant DB die 700 
nicht enthält, hilft hier nichts, als in mühsamer Detailarbeit die 
einzelnen Nachrichten zu dekodieren.

Meine Vorgehensweise:
- am ebusd grab starten
- ein paar Minuten warten, um das normale Rauschen abzufangen
- grab result in text datei speichern
- am regler auf ein anderes menü wechseln
- grab result mit voriger text datei vergleichen
Damit bekommt man ganz gut die messages mit, die vorher noch nicht zu 
sehen waren.

> Komponenten im Bus:
> - icoVIT 156/3 (Ölbrennwert)
> - VRC700 (Steuerung)
> - VR70 (Mischermodul)
> - VPM-20W (Trinkwasserstation)
> - VPM-20S (Solar)
> - VR900 (Internetmodul)

Mach doch mal einen Scan dafür, dann kann ich nochmal in der DB 
nachschauen, ob es etwas möglichst passendes gibt.

> Oder kennt jemand vielleicht einige der Komponenten und kann mir Tipps
> zu den Nachrichten geben? Momentan scheint das Solarmodul das einzige zu
> sein, dass b509 Nachrichten empfängt - und ausgerechnet für dieses gibt
> es keine CSV für ebusd-2.0.0! :(

Nur Geduld, die CSVs die in ebusd-1.x.x drin waren kommen nach und nach 
natürlich auch in ebusd-2.x.x rein.

John

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Björn C. schrieb:
> 1. sumflowsensor: Ist dies der integrierte Temperatursensor vom
> Heizkessel?
> 2. flowtempdesired: Ich dachte, dies sei die Vorlaufsolltemperatur, die
> sich anhand von Außentemperatur und Heizkurve ergibt. In meiner
> SQL-Datenbank habe ich jetzt allerdings gesehen, dass dieser Wert
> zeitweise auf 80 °C steht und manchmal auch auf 0 bzw. 15 °C.
> 3. yieldsensor: Der Sensor für den Solarertrag gibt mir Werte zwischen
> 20 und 40. Weißt du, was mir der Sensor damit sagen will? Die
> Solarkreispumpe ist bei diesen Temperaturen mit Sicherheit nicht
> gelaufen.

Nachdem ich weder eine der Komponenten habe noch kenne, kann ich Dir 
nichts darüber sagen. Ich kann am WE mal in der DB nachschauen, ob da 
noch mehr darüber steht, aber ich fürchte nicht.

> Deine Mailadresse von der github-Seite ist übrigens nicht erreichbar.

Äh, wie genau? Meinst Du ebusd@ebusd.eu  ?

John

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Sven G. schrieb:
>> Gibt es hier auch schon Leute mit der Vaillant multiMATIC 700?
>
> an ebusd Usern gibt es meines Wissens bis dato nur einen, also jetzt
> zwei :-)

Darf ich fragen wer das ist? :)

> So etwas habe ich schon befürchtet. Nachdem die Vaillant DB die 700
> nicht enthält, hilft hier nichts, als in mühsamer Detailarbeit die
> einzelnen Nachrichten zu dekodieren.
>
> Meine Vorgehensweise:
> - am ebusd grab starten
> - ein paar Minuten warten, um das normale Rauschen abzufangen
> - grab result in text datei speichern
> - am regler auf ein anderes menü wechseln
> - grab result mit voriger text datei vergleichen
> Damit bekommt man ganz gut die messages mit, die vorher noch nicht zu
> sehen waren.

Ja, gute Idee - muss ich mich dann mal dranmachen... :/

> Mach doch mal einen Scan dafür, dann kann ich nochmal in der DB
> nachschauen, ob es etwas möglichst passendes gibt.

Das wäre super!!
Was ich nicht verstehe: die schon länger verfügbaren Komponenten müssten 
doch auch "alte" Statusabfragen verstehen? Gibt es da einen Trick oder 
kann ebusctl nur in den CSVs definierte Nachrichten senden/anfragen?
Ich bekam mit einem zusammengebastelten "ebusctl read -h ..." immer nur 
den Fehler "ERR: element not found".

Hier erstmal die Ausgaben meines Scans:

localhost: scan result
mc.4 currenterror = -;-;-;-;-
ehp currenterror = -;-;-;-;-
05;Vaillant;COM00;0210;3103;21153000;201971160;933008291;N5
06;Vaillant;PMS02;0209;8402;21153600;100143143;110008902;N0
08;Vaillant;BAI00;0902;7401;21153400;100106743;100005628;N4
0a;Vaillant;PMW01;0205;8302;21151000;100143113;110008540;N8
12;Vaillant;PMW01;0205;8302;21151000;100143113;110008540;N8
15;Vaillant;70000;0110;2103;21153800;201713140;082025637;N7
52;Vaillant;VR_70;0109;2903;21153900;201848430;082008490;N8
ec;Vaillant;70000;0110;2103;21153800;201713140;082025637;N7
ed;Vaillant;PMS02;0209;8402;21153600;100143143;110008902;N0
fc;Vaillant;PMW01;0205;8302;21151000;100143113;110008540;N8

localhost: i
version: ebusd 2.0.0-preview
signal: acquired
symbol rate: 33
masters: 6
messages: 8
address 01: master #2, seen
address 03: master #3, seen
address 05: slave of 00, seen, scanned 
"MF=Vaillant;ID=COM00;SW=0210;HW=3103"
address 06: slave of 01, seen, scanned 
"MF=Vaillant;ID=PMS02;SW=0209;HW=8402"
address 08: slave of 03, seen, scanned 
"MF=Vaillant;ID=BAI00;SW=0902;HW=7401"
address 0a: slave, seen, scanned "MF=Vaillant;ID=PMW01;SW=0205;HW=8302"
address 10: master #6, seen
address 12: slave, seen, scanned "MF=Vaillant;ID=PMW01;SW=0205;HW=8302"
address 15: slave of 10, seen, scanned 
"MF=Vaillant;ID=70000;SW=0110;HW=2103"
address 52: slave, seen, scanned "MF=Vaillant;ID=VR_70;SW=0109;HW=2903"
address ec: slave, seen, scanned "MF=Vaillant;ID=70000;SW=0110;HW=2103"
address ed: slave, seen, scanned "MF=Vaillant;ID=PMS02;SW=0209;HW=8402"
address f7: master #24, seen
address fc: slave of f7, seen, scanned 
"MF=Vaillant;ID=PMW01;SW=0205;HW=8302"

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Darf ich fragen wer das ist? :)

muss ich daheim nachschauen, war in irgendeinem forum glaub ich.

> Was ich nicht verstehe: die schon länger verfügbaren Komponenten müssten
> doch auch "alte" Statusabfragen verstehen? Gibt es da einen Trick oder
> kann ebusctl nur in den CSVs definierte Nachrichten senden/anfragen?
> Ich bekam mit einem zusammengebastelten "ebusctl read -h ..." immer nur
> den Fehler "ERR: element not found".

theoretisch vielleicht, aber praktisch wohl nicht :) ich vermute eher, 
dass die von den geräten "freiwillig" gesendeten messages syntaktisch 
übereinstimmen könnten, aber sicher nicht oder höchstens zu einem sehr 
kleinen teil die register, also das was man mit b509NN0d abfragen und 
mit b509NN0e setzen kann.

> Hier erstmal die Ausgaben meines Scans:

okay, ich schau am WE mal, was sich daraus machen lässt. Für PMW, PMS 
und BAI sollte was zu finden sein.

John

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toll, vielen Dank schonmal.

John B. schrieb:
> Nur Geduld, die CSVs die in ebusd-1.x.x drin waren kommen nach und nach
> natürlich auch in ebusd-2.x.x rein.

Ich habe inzwischen ein wenig probiert - offenbar können die Komponenten 
(außer VRC700 und VR70) auch noch die b509-Abfragen beantworten. Zum 
Beispiel steht in der 'bai.csv' der 1.x.x, dass die ID 3800 zur Abfrage 
der verbleibenden Brennersperrzeit dient. In den 2.x.x habe ich diese ID 
(glücklicherweise auch mit einem Zeitdatentyp) als 'HcMaxPreHeating' 
gefunden. Wenn ich nun also meinen Brenner nach 'HcMaxPreHeating' frage, 
antwortet er mir den richtigen Wert für die verbleibende Sperrzeit!!

Somit die Frage:
Kann man helfen, die CSVs von 1.x.x nach 2.x.x zu portieren?
Worin genau unterscheiden sich diese - auf den ersten Blick sehen sie 
kompatibel aus, aber reines Kopieren sollte doch jeder können - also 
gehe ich von mehr Aufwand aus...

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
UPDATE:
Die 1.x.x CSVs funktionieren auch in 2.x.x! Einzige Änderungen, die ich 
vorgenommen habe: die Zieladresse aus "ZZ" in den oberen Zeilen 
entfernt, dafür die Datei umbenannt in "ZZ.(...).csv", also analog zu 
den vorhandenen.

Somit kann ich jetzt den Brenner (08) und die Trinkwasserstation (0a) 
abfragen. Der Solarregler (06/ed) meldet noch einiges falsch, alles 
konnte ich noch nicht testen (z.Zt. kein Solarertrag).
Auch der Brenner meldet einiges falsch, es ist ja auch ein Ölbrenner 
icoVIT und die Datei ist wohl für Gas, aber das meiste geht.

Was (erwartungsgemäß) leider gar nicht will ist die Steuerung VRC700 und 
das Mischermodul VR70. Hier habe ich einiges von anderen Reglern und 
Mischern probiert, aber nichts funktionierte. Also sniffen... oder 
warten...

Hat jemand noch eine gute Idee, wie ich die Logmeldungen "unknown MS 
cmd" loswerde? Ich habe das Loglevel erstmal auf "error" gesetzt und 
jetzt ist Ruhe - aber kann man ein Template erstellen, wodurch dem ebusd 
diese Meldungen erstmal bekannt sind, er sie aber ignoriert bzw. besser 
noch als reine Hex-Antworten interpretiert?
Damit komme ich auch wieder auf die Frage vom letzten Mal: gibt es eine 
Möglichkeit, Hex-Nachrichten zu schicken, um einfach die Hex-Antwort 
(wie im Log "unknown MS cmd") zu bekommen?
Alternativ müsste ich die CRC-Berechnung selbst durchführen und das auf 
einem Terminal machen - aber mit ebusd wäre es einfacher. Ein "read -h" 
gibt doch sowieso die Hex-Antwort zurück, warum muss die Nachricht 
unbedingt in einer CSV definiert sein, dass er sie schickt? :)

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Kann man helfen, die CSVs von 1.x.x nach 2.x.x zu portieren?

Die b509NN0d+b509NN0e werden generiert, also da ist keine Hilfe 
erforderlich. Aber gut ist natürlich immer, wenn jemand mit dem Gerät 
das noch verifiziert, da ich ja nur einen Bruchteil der CSVs selbst 
nutze.


> Worin genau unterscheiden sich diese - auf den ersten Blick sehen sie
> kompatibel aus, aber reines Kopieren sollte doch jeder können - also
> gehe ich von mehr Aufwand aus...

Der Unterschied besteht im Wesentlichen darin, dass die ebusd-2.x.x CSVs 
für eine automatische Selektion nach einem Scan geeignet sind, die 1-er 
jedoch nicht. Darüber hinaus wird in den neuen CSVs auch noch die 
Hardware-Version unterschieden, so dass diese dann besser zu den Geräten 
passen, als derzeit.


Sven G. schrieb:
> Die 1.x.x CSVs funktionieren auch in 2.x.x! Einzige Änderungen, die ich
> vorgenommen habe: die Zieladresse aus "ZZ" in den oberen Zeilen
> entfernt, dafür die Datei umbenannt in "ZZ.(...).csv", also analog zu
> den vorhandenen.

Richtig. Die Adresse kann man rausnehmen, muss man aber nicht :-)


> Auch der Brenner meldet einiges falsch, es ist ja auch ein Ölbrenner
> icoVIT und die Datei ist wohl für Gas, aber das meiste geht.

Genau dafür wird ab ebusd 2.0 die Hardware Version und falls notwendig 
auch die Software Version unterschieden. Bspw. gibt es für die EHP00 
Messages, die nur in einer bestimmten SW Version verfügbar sind. Das 
spiegelt sich dann in den CSVs in Bedingungen wieder, die am Anfang der 
Zeile in eckigen Klammern notiert sind.


> Was (erwartungsgemäß) leider gar nicht will ist die Steuerung VRC700 und
> das Mischermodul VR70. Hier habe ich einiges von anderen Reglern und
> Mischern probiert, aber nichts funktionierte. Also sniffen... oder
> warten...

Für den VR70 könntest hier mal die V61 aus ebusd-1.x.x probieren, das 
ist ja auch ein mischer wenn mich nicht alles täuscht.


> Hat jemand noch eine gute Idee, wie ich die Logmeldungen "unknown MS
> cmd" loswerde?

Ziel ist es, hier die unbekannten zu sammeln:
https://github.com/john30/ebusd-configuration/issues/3

Wenn ebusd 2.0 und die generierten CSV fertig sind, mach ich mich an die 
ganzen unbekannten Messages. Teile davon, wie z.B. Zeitprogramme wandern 
bereits direkt in die neu generierten CSVs.


> Ich habe das Loglevel erstmal auf "error" gesetzt und
> jetzt ist Ruhe - aber kann man ein Template erstellen, wodurch dem ebusd
> diese Meldungen erstmal bekannt sind, er sie aber ignoriert bzw. besser
> noch als reine Hex-Antworten interpretiert?

Klar, ich mach mal ein Script dafür.

> Damit komme ich auch wieder auf die Frage vom letzten Mal: gibt es eine
> Möglichkeit, Hex-Nachrichten zu schicken, um einfach die Hex-Antwort
> (wie im Log "unknown MS cmd") zu bekommen?

Natürlich: "ebusctl help write" sagt dazu:
write -h ZZ PB SB NN Dx
  ZZ     destination address (e.g. "FE" for broadcast)
  PB SB  primary/secondary command byte
  NN     number of data bytes to send
  Dx     the data byte(s) to send

> Alternativ müsste ich die CRC-Berechnung selbst durchführen und das auf
> einem Terminal machen - aber mit ebusd wäre es einfacher. Ein "read -h"
> gibt doch sowieso die Hex-Antwort zurück, warum muss die Nachricht
> unbedingt in einer CSV definiert sein, dass er sie schickt? :)

Muss sie nicht: einfach "write -h" statt "read -h" verwenden.

John

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, Script um grab result in CSV zu konvertieren ist da:
https://github.com/john30/ebusd/blob/master/contrib/scripts/makegrabcsv.sh

Vorher muss man das grabbing noch aktivieren.

Johon

Autor: Lars L. (lars_l660)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

ich hänge fest und weiss nicht so recht in welche Richtung ich weiter 
suchen muss um den Fehler zu finden.

Als erstes mal die Fakten:

Ich habe eine vaillant geotherm plus vws 82/3

info
version: ebusd 2.0.0-preview.5f5f633
signal: acquired
symbol rate: 71
masters: 3
messages: 2
address 03: master #3, seen
address 08: slave of 03, seen, scanned 
"MF=Vaillant;ID=EHP00;SW=0419;HW=7201"
address 10: master #6, seen
address 15: slave of 10, seen, scanned 
"MF=Vaillant;ID=UIH00;SW=0374;HW=6901"
address 23: slave, seen, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201"
address 25: slave, seen, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201"
address 50: slave, seen, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201"

CSV dateien habe ich folgende verwendet:
ebusd-configuration/ebusd-2.x.x/de/vaillant/
wenn ich den ebusd dann starte mit:
/usr/bin/ebusd -f -l -s

erhalte ich als erste Meldung folgenden Fehler:
2015-11-18 07:28:42.894 [main error] error reading templates in 
/etc/ebusd: ERR: element not found, /etc/ebusd/_templates.csv:36

Wenn ich mir die Zeile 36 in der _templates.csv anschaue, dann steht da:
tempsensor,temp;sensor,,,

Wenn ich die Zeile deaktiviere, dann muss ich auch diverese andere 
Zeilen in den CSVs deaktivieren. Dann komme ich soweit, das ich über den 
vwmon wenigstens einige Daten auslesen kann. z.B. Kompressorstarts und 
Laufzeit. Alles was mit Temperatur zu tun hat bleibt natürlich 
verborgen.

Wo liegt die Ursache? Verwende ich die falschen csvs? Stimmt was mit 
meinem ebusd nicht? Ich bin ratlos und weiss nicht in welche Richtung 
ich weiter suchen soll.

Bin für jeden Tipp zu haben.

Danke Gruß

Lars

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lars L. schrieb:
> CSV dateien habe ich folgende verwendet:
> ebusd-configuration/ebusd-2.x.x/de/vaillant/

Du musst "de" verwenden und nicht das Unterverzeichnis "vaillant", da 
mit 2.0.0 die templates, die direkt im Config-Verzeichnis liegen, auch 
benötigt werden.
Also z.B. so:
svn --force export https://github.com/john30/ebusd-configuration/trunk/ebusd-2.x.x/de /etc/ebusd/

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Großartige Arbeit, John - vielen, vielen Dank!

John B. schrieb:
> Für den VR70 könntest hier mal die V61 aus ebusd-1.x.x probieren, das
> ist ja auch ein mischer wenn mich nicht alles täuscht.
Hatte ich versucht, ging leider nicht. Genauso die Kommandos des VRC470 
oder VRS620 - nichts davon funktioniert beim VRC700.

> Muss sie nicht: einfach "write -h" statt "read -h" verwenden.
Ja, da muss man drauf kommen - "write" um zu Lesen... g
ABER: damit geht es, ich forsche weiter.

Autor: Lars L. (lars_l660)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, jetzt läuft es.


John B. schrieb:
> Du musst "de" verwenden und nicht das Unterverzeichnis "vaillant", da
> mit 2.0.0 die templates, die direkt im Config-Verzeichnis liegen, auch
> benötigt werden.
> Also z.B. so:svn --force export
> https://github.com/john30/ebusd-configuration/trunk/ebusd-2.x.x/de
> /etc/ebusd

Ich musste jedoch im vaillant Verzeichnis die file links löschen, die 
wollte er nicht.
In einem ersten Versuch habe ich alle file links gelöscht. Jetzt läuft 
es, muss ich nachforschen welche funktionieren und welche nicht? Brauche 
ich die?

Mach mich jetzt an die grafische Auswertung der Daten. Hat da schonmal 
jemand etwas zur Verfügung gestellt (php  basiert?)? Sonst bau ich mir 
da was zusammen.

Gruß Lars

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> So, Script um grab result in CSV zu konvertieren ist da:
> https://github.com/john30/ebusd/blob/master/contrib/scripts/makegrabcsv.sh
>
> Vorher muss man das grabbing noch aktivieren.

Hi John,

das ist eine geile Idee. Ich hänge nur generell beim Aufruf von 
Skripten. Linux ist immernoch teilweise ein Buch mit sieben Siegeln für 
mich... Wenn ich im Terminal im Verzeichnis bin, wo ich das hinkopiert 
habe, dann versuche ./makegrabcsv.sh aufzurufen, dann kommt der Fehler 
"Keine Berechtigung". Wenn ich das mit sudo davor machen oder sudo -s 
vorgebe, dann kommt "Command not found".

Kannst Du eine kurze Erklärung geben, wie ich das aufrufe ? Wo genau 
muss das Script hin und wie rufe ich das dann auf ?

Danke, Grüße Chrisitan

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...(Beitrag lies sich nicht mehr editieren) das Aufrufen hat sich 
erledigt, Google hat geholfen... Aber, wenn ich das nun starte, dann 
bekomme ich die Fehlermeldung
awk: line 14: illegal reference to Array len

was mach ich falsch ?

Dann noch eine Frage: Kann man eigentlich die aktuelle Meldung vom 
Display der Therme auslesen ? (Wenn da z.B. "Kein Wärmebedarf" steht)

Grüße

Christian

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

dann hast Du wohl (genau wie ich) ein Standard-AWK ohne 
GNU-Erweiterungen. Ich habe das Skript hier angepasst, dass es mit jeder 
Version von awk funktionieren sollte. (UND ich nutze ebusctl statt nc in 
der ersten Zeile, notfalls wieder zurückändern, falls es ebusctl doch 
nicht bei jedem gibt):

https://github.com/Giermann/ebusd/blob/patch-1/contrib/scripts/makegrabcsv.sh

Sven

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Standard-AWK ohne
> GNU-Erweiterungen.

Hi Sven,

was ist denn "AWK" ? Sagt mir so erstmal nichts...

Danke für die Infos !

Grüße Christian

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seeeeeehr Cooooool !!!!!! Es läuft !

Nur zum Verständnis, eine CSV legt das Skript nicht an, ich kopiere das 
einfach in eine leere Datei rein oder ?

Grüße Christian

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, richtig.
Oder du kannst auch die Ausgabe einfach direkt in eine Datei umleiten:
makegrabcsv.sh >/etc/ebusd/dummy.csv

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So... nachdem mir mein 'grab result' nach etwa einem Tag 142 unbekannte 
Meldungen auflistet, würde ich das gern ausdünnen bzw. die vielen Dinge 
nach und nach untersuchen.

Auch wenn es nach Klammern an einen Strohhalm klingt: in der 'scan.csv' 
sind die Ermittlungen der IDs (Seriennummern und Soft/Hardware-Stände?) 
hinterlegt. Wenn ein anderer Master (in meinem Fall das Internetmodul 
VR900) diese abfragt, wird die Meldung aber in 'grab result' gemeldet. 
Kann ich das irgendwie verhindern? Muss ich die 'scan.csv' nochmal unter 
neuem Namen anlegen, damit sie als "richtige" Konfiguration durchgeht?

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lars L. schrieb:
> Vielen Dank, jetzt läuft es.
>
> Ich musste jedoch im vaillant Verzeichnis die file links löschen, die
> wollte er nicht.

Ach ja, hatte vergessen zu erwähnen, dass das nur reibungslos mit 
"--scanconfig" klappt. Ohne den Parameter muss man sich die passenden 
Dateien selbst raussuchen.

> In einem ersten Versuch habe ich alle file links gelöscht. Jetzt läuft
> es, muss ich nachforschen welche funktionieren und welche nicht? Brauche
> ich die?
Ich denke bei Deiner Konfiguration brauchst Du das nicht. Du könntest 
selbst noch ein paar der Dateien wegwerfen (z.B. rcc und mc2) oder eben 
--scanconfig verwenden, dann macht ebusd das für Dich.

> Mach mich jetzt an die grafische Auswertung der Daten. Hat da schonmal
> jemand etwas zur Verfügung gestellt (php  basiert?)? Sonst bau ich mir
> da was zusammen.

Siehe Beitrag #4349340

John

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> Dann noch eine Frage: Kann man eigentlich die aktuelle Meldung vom
> Display der Therme auslesen ? (Wenn da z.B. "Kein Wärmebedarf" steht)

Wenn ich das richtig sehe, versteckt sich diese Info in HwcDemand fürs 
Warmwasser und irgendeinem anderen Wert. Das musst Du mal auslesen gehen 
:)

Der Script Aufruf hat sich ja inzwischen erledigt, so wie es aussieht. 
Danke an Sven G.!

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> So... nachdem mir mein 'grab result' nach etwa einem Tag 142 unbekannte
> Meldungen auflistet, würde ich das gern ausdünnen bzw. die vielen Dinge
> nach und nach untersuchen.
>
> Auch wenn es nach Klammern an einen Strohhalm klingt: in der 'scan.csv'
> sind die Ermittlungen der IDs (Seriennummern und Soft/Hardware-Stände?)
> hinterlegt. Wenn ein anderer Master (in meinem Fall das Internetmodul
> VR900) diese abfragt, wird die Meldung aber in 'grab result' gemeldet.
> Kann ich das irgendwie verhindern? Muss ich die 'scan.csv' nochmal unter
> neuem Namen anlegen, damit sie als "richtige" Konfiguration durchgeht?

Poste doch mal, wie das im Logging aussieht.

In der scan.csv sind die Vaillant spezifischen Erweiterungen drin, die 
beim Scan verwendet werden, um bspw. die Seriennummer der Geräte 
auszulesen. ebusd verwendet das, um zusätzlich zum normalen Scan diese 
Daten an SW/HW Version etc. anzuhängen. Wenn Du ein "ebusctl scan" 
absetzt, kannst Du das entsprechende Ergebnis kurz darauf mittels 
"ebusctl scan result" abfragen.

John

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Erinnerung: Master 00 ist mein VR900, und der setzt(e) genau diese 
Scan-Kommandos an die einzelnen Slaves ab, um die IDs zu erhalten - nur 
dass diese eben von 'grab result' angezeigt werden, obwohl sie ja 
eigentlich bekannt/definiert sind:


# ebusctl grab result | grep 'b509012'
0006b5090124 / 09003231313533363030
0006b5090125 / 09313030313433313433
0006b5090126 / 09313130303038393032
0006b5090127 / 094e303c3c3c3c3c3c3c
0008b5090124 / 09003231313533343030
0008b5090125 / 09313030313036373433
0008b5090126 / 09313030303035363238
0008b5090127 / 094e343c3c3c3c3c3c3c
0015b5090124 / 09003231313533383030
0015b5090125 / 09323031373133313430
0015b5090126 / 09303832303235363337
0015b5090127 / 094e3700000000000000
0052b5090124 / 09003231313533393030
0052b5090125 / 09323031383438343330
0052b5090126 / 09303832303038343930
0052b5090127 / 094e3800000000000000
00fcb5090124 / 09003231313531303030
00fcb5090125 / 09313030313433313133
00fcb5090126 / 09313130303038353430
00fcb5090127 / 094e383c3c3c3c3c3c3c

# ebusctl scan result
05;Vaillant;COM00;0210;3103;21153000;201971160;933008291;N5
06;Vaillant;PMS02;0209;8402;21153600;100143143;110008902;N0
08;Vaillant;BAI00;0902;7401;21153400;100106743;100005628;N4
0a;Vaillant;PMW01;0205;8302;21151000;100143113;110008540;N8
12;Vaillant;PMW01;0205;8302;21151000;100143113;110008540;N8
15;Vaillant;70000;0110;2103;21153800;201713140;082025637;N7
52;Vaillant;VR_70;0109;2903;21153900;201848430;082008490;N8
ec;Vaillant;70000;0110;2103;21153800;201713140;082025637;N7
ed;Vaillant;PMS02;0209;8402;21153600;100143143;110008902;N0
fc;Vaillant;PMW01;0205;8302;21151000;100143113;110008540;N8

Autor: Carsten W. (eagle38106)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich habe da mal als eBus-Rookie eine Zwischenfrage: Ich kann doch über 
den eBus die Therme (VSC196 von Vaillant) vollständig steuern, d.h. 
einen Zirkulationsanschluß oder Raumthermostat brauche ich nicht mit 
extra Strippen zum Steuerrechner legen? Das kann ich alles über den Bus 
erledigen?

Gruß
Carsten

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Carsten

alles, was mit dem Bus verbunden ist (zwei Adern von der Therme zum 
jeweiligen Modul oder auch zur Steuerung), kannst Du theoretisch über 
den Bus steuern. Theoretisch deshalb, weil noch nicht 100% entschlüsselt 
sind, aber die Lücken werden dank John immer kleiner.

Zirkulationsanschluss müßte Deine Therme eigentlich ein Relais für 
haben, das man je nach Wunsch z.B. für eine Zirkulationspumpe nehmen 
kann, das kann dann auch über EBUS angesprochen werden. Es gibt aber 
auch Zusatzmodule, die für eine oder mehrere Pumpen zu bekommen sind.

Gruß Christian

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Ja, richtig.
> Oder du kannst auch die Ausgabe einfach direkt in eine Datei
> umleiten:makegrabcsv.sh >/etc/ebusd/dummy.csv

Ja wie geil ist das denn ?

Daaaaanke !!!

Grüße

Christian

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche mal als ebenfalls Rookie (aber wohl mit 1 Woche Vorsprung) 
zu antworten:

Ich kenne die VSC196 nicht, gehe aber davon aus, dass eine Steuerung 
eingesetzt oder den Bildern nach wenigstens einsetzbar ist. Somit 
solltest Du über eBus (sofern alle Kommandos dokumentiert bzw. 
erschnüffelt sind) alles tun können, was eine Steuerung auch kann:
Temperaturen lesen, Brenneranforderung senden, ...

Was genau meinst Du mit Zirkulationsanschluss und Raumthermostat?
Hast Du einen Raumfühler, dann sollte der (VR90?) auslesbar sein.
Und die Zirkulationspumpe ließe sich bei einem BAI00 in der 
Diagnoseebene mit d.13 ein/ausschalten - das geht dann auch über eBus.
Mit anderen Worten: was genau willst Du machen und wie sieht es auf 
deinem eBus aus?

Sven

PS: An dieser Stelle sei auch nebenbei erwähnt, dass ich noch 2 Platinen 
abzugeben habe, die schon mit SMD-Bauteilen bestückt sind - alle anderen 
Bauteile vorhanden; bei Bedarf melden. Ich will daran kein Geld 
verdienen, musste allerdings etwas mehr in Auftrag geben, weil ich 
unfähig war, den SSOP selbst zu bestücken...

Autor: Carsten W. (eagle38106)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Sven!

Noch gibt es nur die Therme, die mit einer eingesetzen Calorimatic und 
einem Außenfühler allein vor sich hin heizt. Die Raumthermostate von 
eQ-3 arbeiten auch autonom. Das will ich im nächsten Jahr ändern.

Gruß
Carsten

Autor: Christian S. (schmitze)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen,

ich habe hier ein Phänomen (ecotec exclusiv, 25 KW mit Calormatic 470):

weil es heute etwas kühler draußen ist und ich mit den eingestellten 
max. 5KW Heizungslastbegrenzung die Bude nicht mehr so schnell warm 
bekommen habe, habe ich über EBUSD die Leistung auf 10 hochgenommen. 
Ebenso die Wunschtemperatur, damit es mehr Vorlauf gibt. Tat sich aber 
nicht, wie erwartet (s.Anhang, von 10:45 bis 11 Uhr wurde Warmwasser 
geladen). Dann bin ich an die Therme ran, dachte evtl. Notbetrieb oder 
so, aber lief ohne Fehler. An der Therme Max.KW abgefragt kommt 5KW. 
über EBUSD abgefragt (immer mit r -f ) auch wieder 5. Über EBUSD 10 
übermittelt, über EBUSD abgefragt 10. An der Therme abgefragt 5, dann 
über EBUSD auch 5. Manuell auf 10KW, EBUSD auch 10 angezeigt. EBUSD auf 
20 gestellt, 10 min. später wieder abgefragt, 20, an der Therme 
abgefragt 10, wieder EBUSD abgefragt 10.

Hat jemand eine Idee, wie das kommt ?

Grüße Christian

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> John B. schrieb:
>> Sven G. schrieb:
>>> Gibt es hier auch schon Leute mit der Vaillant multiMATIC 700?
>>
>> an ebusd Usern gibt es meines Wissens bis dato nur einen, also jetzt
>> zwei :-)
>
> Darf ich fragen wer das ist? :)

Das ist Gerhard, siehe hier:
http://forum.fhem.de/index.php/topic,41064.msg348610.html#msg348610

>> Mach doch mal einen Scan dafür, dann kann ich nochmal in der DB
>> nachschauen, ob es etwas möglichst passendes gibt.
>
> Das wäre super!!

Wie schon vermutet ist in der DB nicht viel für Deine Geräte dabei. Das 
einzige das wirklich passt ist die BAI, aber die hast ja schon. 
Ansonsten sieht es so aus:

- 05;Vaillant;COM00
Nachdem das ein Internetmodul ist (oder?), könntest Du Dich an die 
05.vd4 rantasten. Vermutlich ist zumindest ein Teil davon verwertbar.

- 06;Vaillant;PMS02
Dafür könntest Du mal die 06.pms probieren, ist allerdings nicht die 
richtige Hardware Version.

- 0a;Vaillant;PMW01;0205;8302;21151000;100143113;110008540;N8
- 12;Vaillant;PMW01;0205;8302;21151000;100143113;110008540;N8
Für die beiden (oder zumindest 0a) könntest Du mal die 0a.pmw.hwc 
probieren, ist allerdings auch nicht die richtige Hardware Version.

- 15;Vaillant;70000;0110;2103;21153800;201713140;082025637;N7
Auch nichts passendes in der DB. Anhand der ID "700" würde ich mal die 
Nachrichten der 15.470 probieren, aber das hast Du ja schon.

- 52;Vaillant;VR_70;0109;2903;21153900;201848430;082008490;N8
Hast Du mal die 52.mc2.4 probiert? Das würde zumindest die Adresse und 
die Geräteart stimmen.

- ec;Vaillant;70000;0110;2103;21153800;201713140;082025637;N7
Tja sieht mau aus. Könntest die ec.* durchprobieren.

- ed;Vaillant;PMS02;0209;8402;21153600;100143143;110008902;N0
Wieder die falsche HW Version, aber dennoch wäre die ed.pms.sc ein 
Versuch wert.

- fc;Vaillant;PMW01;0205;8302;21151000;100143113;110008540;N8
Da gibts nix. Ist das eine zweite Wasserstation? Falls ja, wären die 
Nachrichten vermutlich identisch zur PMW01 auf Adresse 0a bzw. 12.

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> weil es heute etwas kühler draußen ist und ich mit den eingestellten
> max. 5KW Heizungslastbegrenzung die Bude nicht mehr so schnell warm
> bekommen habe, habe ich über EBUSD die Leistung auf 10 hochgenommen.
> Ebenso die Wunschtemperatur, damit es mehr Vorlauf gibt. Tat sich aber
> nicht, wie erwartet (s.Anhang, von 10:45 bis 11 Uhr wurde Warmwasser
> geladen). Dann bin ich an die Therme ran, dachte evtl. Notbetrieb oder
> so, aber lief ohne Fehler. An der Therme Max.KW abgefragt kommt 5KW.
> über EBUSD abgefragt (immer mit r -f ) auch wieder 5. Über EBUSD 10
> übermittelt, über EBUSD abgefragt 10. An der Therme abgefragt 5, dann
> über EBUSD auch 5. Manuell auf 10KW, EBUSD auch 10 angezeigt. EBUSD auf
> 20 gestellt, 10 min. später wieder abgefragt, 20, an der Therme
> abgefragt 10, wieder EBUSD abgefragt 10.
>
> Hat jemand eine Idee, wie das kommt ?

Ich sehe zwei Möglichkeiten:
- es gibt die Message zur Änderung der Maximalleistung mehrfach (z.B. 
ein Mal auf der Therme und ein Mal am Controller). Dann musst Du 
wahrscheinlich dem Controller sagen, was Du willst, damit es dieser im 
Anschluß der Therme mitteilt.
- die Definition der Message stimmt nicht.

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmmm... heute morgen kurz nach 8 Uhr sehe ich im Diagramm mitmal, daß 
der Abstand zwischen Vorlauf und Rücklauf seit ca. 8 Uhr deutlich 
kleiner ist, als vor 8 Uhr. Dachte ich mir, sieht aus, als ob die 
Heizung mitmal nicht mehr mit den gestern an der Therme eingestellten 
10KW sondern mit den über FHEM eingestellten 5KW läuft. Unten an der 
Therme geschaut und voila, ist tatsächlich auf 5KW max begrenzt (D.0). 
Verstehen muss man das nicht ober ? Es scheint also zu funktionieren, 
nur übernimmt die Therme das anscheinend nicht immer sofort. Kenne ich 
sonst eigentlich nicht, alles andere wurde bislang immer sofort 
umgesetzt.

Naja, mir kam grad noch eine andere Frage: Gibt es in FHEM eigentlich 
die Möglichkeit, alles, was EBUSD auffängt in einem Array auszulesen ? 
Bislang frage ich jeden Wert nacheinander in einer Funktion ab, das ist 
sehr aufwendig und kostet sicher auch einiges an Prozessorzeit. Ginge 
das evtl. eleganter ? Ich habe nämlich kürzlich festgestellt, daß FHEM 
nicht alle Impulse der Gas- und Wasserzähler (am Gaszähler ein 
Reedkontakt, Wasserzähler mit integriertem Kontakt beide über die GPIOs 
auf dem Raspi angebunden) zählt, da sind ca. 20% die fehlen auf einen 
Monat gerechnet. Evtl. gibt's da Spitzenzeiten, wo auf dem Raspi zu viel 
los ist....

Grüße

Christian

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John,

erneut vielen Dank für alles!
Was die doppelte Client-IDs zu z.Bsp. PMW angeht, weiß ich noch nicht - 
ignoriere ich erstmal. Meine Vermutung: einige IDs sind doch von 
Vaillant standardisiert, ich denke wenn eine Komponente mehrere 
Funktionen übernimmt, belegt es zur Sicherheit auch beide IDs (Beispiel: 
die VRC700 kann als Raumgerät dienen; ID 0xEC habe ich irgendwo gelesen, 
dass die für einen Raumfühler ist).

Also geh ich mal ans Sniffen - eine Nachricht VR70->VRC700 habe ich 
schon entschlüsselt. Sie enthält die Temperaturen des Pufferspeichers, 
dessen Fühler alle an der VR70 hängen.
Um weitere zu identifizieren wollte ich jetzt mal das 'makecsv' Skript 
benutzen - bekomme aber bei '--checkconfig' einen Fehler bei den 
Write-Befehlen:
Error reading "/etc/ebusd/vaillant/52.vr70.csv" line 136 field 12 value "result": ERR: invalid numeric argument
Erroneous item is here:
w,unknown08,block10000078,,,08,b510,000078,data,,HEX:6,result,s,HEX:1
                                                       ^
Irgendeine Idee, was hier schief geht?
Quick Workaround wäre ja, erstmal alles als Read zu definieren... mache 
ich sicher gleich mal.

Außerdem gibt es doch noch einige doppelte Zeilen... fehlt vor dem 
'uniq' also doch noch ein 'sort', ich bin davon ausgegangen, dass die 
Nachrichten von 'grab result' sortiert kommen - aber gerade 
resultierende Write-Zeilen können danach ja doch wieder doppelt sein?! 
Richtig?

Sven

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachdem ich nun das 'makegrabcsv' so angepasst habe, dass mir ebusd die 
Config abnimmt, mache ich mich ans Entschlüsseln. Ich habe schon einige 
Sachen gefunden, bin aber bei einigen zu dumm, das in eine CSV zu 
packen.
(ich poste sie erstmal absichtlich nicht im Issue für unbekannte 
Meldungen, weil sie mir ja teilweise bekannt sind - bei Bedarf bitte 
melden, dann setze ich das dort fort)

Mein größtes Problem ist, dass die "neuen" Kommandos offenbar viel 
länger sind als bisher. Erstmal die Messages:
a) 1052b5230103 / 0f2004210400808b037f03ab02c81000
b) 0015b52406020000003400 / 0703003400170b0f
c) 0015b52406020000003500 / 07030035000c1d06
d) 0015b52406020003001700 / 0a030317004845495a4b00
e) 0015b52406020003001800 / 0a03031800524549532000
f) 0015b52406020003011700 / 0a03031700465553534200
g) 0015b52406020003011800 / 0a030318004f44454e2000
h) 0015b52406020003010f00 / 0801030f00cd4ca141

a) Habe ich schon eingebaut, allerdings in einem zusammengesetzten 
String - kann man die Temperaturen auch separieren?
Inhalt: Temperaturen des Pufferspeichers als 'temp'(D2C)
2004 = Temp.fühler WW, oben (0x0420 = 66°C)
2104 = Temp.fühler WW, unten
0080 = unbekannt, immer fix 0x0800
8b03 = Systemvorlauf
7f03 = Temp.fühler Hz, oben
ab02 = Vorlauf Ist Heizkreis 2 (Mischerkreis)
c81000 = unbekannt, immer fix

Meine Zeile sieht jetzt so aus, nur hat man halt die Temperaturen nicht 
separat:
r,,IchBraucheEinenNamen,,,52,b523,03,,,temp;temp;temp;temp;temp;temp;HEX:3

b) zeigt schon die angesprochene Länge, ich bekomme nur 3 Bytes in "ID", 
es sind aber 6.
Inhalt: Datum
Zuerst wird hier fix eine 03 gemeldet, bei anderen auch mal 00,01,02. 
Danach kommen die letzten 3 Byte der Anfrage (003400) zurück, also 
vielleicht eine Art Registernummer?
Dann das Datum als 3 Bytes: 23 11 15 (entspricht das dem 'HDA:3'? Dann 
bitte das Wiki ändern, dort steht "BCD date" bei HDA:3)

c) dto. für Uhrzeit = 12:29:06, also wohl 'HTI' - wundert mich aber, 
dass Vaillant bisher kein Template 'time' mit HTI hatte...

d-g) hier wird's interessant: es sind Abfragen zu 2 Heizkreisen; die 
Nummer steht im drittletzten Byte der Anfrage (00 bei d und e, 01 bei f 
und g).
Die ersten 4 Bytes der Antwort sind wieder 03+Anfrage, danach kommen 
STR:5 gefolgt von 00. Im String steht die Bezeichnung des Heizkreises 
(kann man im VRC700 konfigurieren), allerdings auf 2 Nachrichten 
aufgeteilt - bekomme ich die irgendwie wieder zusammen???
Beispiel:
f ==> "FUSSB"
g ==> "ODEN "
Dafür hätte ich gern eine CSV-Zeile, die mir "FUSSBODEN " zurückgibt, 
geht das?

h) und die letzte für heute enthält u.a. die Raumtemperatur, nach der 
ich schon lange gesucht habe. Allerdings als "neuer Datentyp".
Anfang ist wie gehabt, die eigentlichen Daten beginnen mit:
cd = keine Ahnung, scheint statisch zu sein
4c = auch keine Ahnung, ist aber manchmal cc - also sicher irgendein 
Bit-Status
a1 = Raumtemperatur * 8, ich müsste also UCH durch 8 Teilen (geht das 
über 'divisor'?)
41 = ebenfalls noch unklar und statisch

Kann jemand helfen?

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Um weitere zu identifizieren wollte ich jetzt mal das 'makecsv' Skript
> benutzen - bekomme aber bei '--checkconfig' einen Fehler bei den
> Write-Befehlen:
>
Error reading "/etc/ebusd/vaillant/52.vr70.csv" line 136 field 12 
> value "result": ERR: invalid numeric argument
> Erroneous item is here:
> w,unknown08,block10000078,,,08,b510,000078,data,,HEX:6,result,s,HEX:1
>                                                        ^

Für jedes Feld braucht es in der CSV folgende Angaben:
- field
- part (m/s)
- type / templates
- divider / values
- unit
- comment

Also in Deinem Fall muss vor "result" noch 3 Kommas.

> Außerdem gibt es doch noch einige doppelte Zeilen... fehlt vor dem
> 'uniq' also doch noch ein 'sort', ich bin davon ausgegangen, dass die
> Nachrichten von 'grab result' sortiert kommen - aber gerade
> resultierende Write-Zeilen können danach ja doch wieder doppelt sein?!

Von ebusd kommen die sortiert un unique, nach der Überarbeitung mit dem 
Skript wird dann aber die ID Länge evtl. gekürzt, also schadet ein "sort 
-u" im Anschluss nicht :-)

John

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
>
a) 1052b5230103 / 0f2004210400808b037f03ab02c81000
> a) Habe ich schon eingebaut, allerdings in einem zusammengesetzten
> String - kann man die Temperaturen auch separieren?
> Meine Zeile sieht jetzt so aus, nur hat man halt die Temperaturen nicht
> separat:
>
r,,IchBraucheEinenNamen,,,52,b523,03,,,temp;temp;temp;temp;temp;temp;HEX:3

Klar, dann musst Du halt aus jedem "temp" ein eigenständiges Feld 
machen. Die Auflistung mit ";" ist nur eine verkürzte Schreibweise, wenn 
man den einzelnen Feldern eben keinen Namen, Einheit, Kommentar etc. 
geben will.
Separiert sieht das dann so aus:
r,,IchBraucheEinenNamen,,,52,b523,03,name1,,temp,,,,name2,,temp,,,,name3,,temp,,,,name4,,temp,,,,name5,,temp,,,,name6,,temp,,,,ignore,,HEX:3,,,


>
b) 0015b52406020000003400 / 0703003400170b0f
> b) zeigt schon die angesprochene Länge, ich bekomme nur 3 Bytes in "ID",
> es sind aber 6.
> Inhalt: Datum
> Zuerst wird hier fix eine 03 gemeldet, bei anderen auch mal 00,01,02.
> Danach kommen die letzten 3 Byte der Anfrage (003400) zurück, also
> vielleicht eine Art Registernummer?

Die Master Länge 6 bedeutet nicht unbedingt, dass es auch 6 ID Bytes 
sind. Die ID wird zusammen mit PBSB genutzt, um die Nachricht von 
anderen zu unterscheiden. Wenn mehr als 3 Bytes in der ID stecken, dann 
ist höchstwahrscheinlich der Rest nach den 3 Bytes noch ein Wert, der 
auf dem Ziel gesetzt werden soll. Bspw. eine Soll Temperatur o.ä.

Hier würde ich sogar tippen, dass der reine ID Teil wirklich nur maximal 
"020000" ist und "003400" eben noch ein Wert, den das Ziel übernehmen 
soll. Das Ziel antwortet dann ja auch brav, dass es "003400" gesetzt hat 
(könnte man zumindest meinen). Aufgrund der Antwort würde ich sogar von 
ID "0200", Setz-Wert "00003400", Antwort "03003400" plus Hex Datum.

> Dann das Datum als 3 Bytes: 23 11 15 (entspricht das dem 'HDA:3'? Dann
> bitte das Wiki ändern, dort steht "BCD date" bei HDA:3)

Jepp, das war falsch. Danke!


>
c) 0015b52406020000003500 / 07030035000c1d06
> c) dto. für Uhrzeit = 12:29:06, also wohl 'HTI' - wundert mich aber,
> dass Vaillant bisher kein Template 'time' mit HTI hatte...

oha, das wiederspricht allerdings meiner Theorie von max. 3 Bytes ID. 
Wie unschön. Da muss ich mir was einfallen lassen, denn ebusd 
unterstützt derzeit maximal 4 ID Bytes (zusätzlich zu PBSB).


>
d) 0015b52406020003001700 / 0a030317004845495a4b00
> d-g) hier wird's interessant: es sind Abfragen zu 2 Heizkreisen; die
> Nummer steht im drittletzten Byte der Anfrage (00 bei d und e, 01 bei f
> und g).
> Die ersten 4 Bytes der Antwort sind wieder 03+Anfrage, danach kommen
> STR:5 gefolgt von 00. Im String steht die Bezeichnung des Heizkreises
> (kann man im VRC700 konfigurieren), allerdings auf 2 Nachrichten
> aufgeteilt - bekomme ich die irgendwie wieder zusammen???

Mein Güte, da hat wieder mal ein Praktikant eines namhaften Herstellers 
ganze Arbeit geleistet...
Nein, ein Zusammensetzen eines Werts aus mehreren Nachrichten ist bis 
dato nicht unterstützt. Mal drüber nachdenken.


> h) und die letzte für heute enthält u.a. die Raumtemperatur, nach der
> ich schon lange gesucht habe. Allerdings als "neuer Datentyp".
> Anfang ist wie gehabt, die eigentlichen Daten beginnen mit:
> cd = keine Ahnung, scheint statisch zu sein
> 4c = auch keine Ahnung, ist aber manchmal cc - also sicher irgendein
> Bit-Status
> a1 = Raumtemperatur * 8, ich müsste also UCH durch 8 Teilen (geht das
> über 'divisor'?)

Genau, das kannst Du über einen Divisor 8 an UCH erledigen.

Viele Grüße,
John

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> oha, das wiederspricht allerdings meiner Theorie von max. 3 Bytes ID.
> Wie unschön. Da muss ich mir was einfallen lassen, denn ebusd
> unterstützt derzeit maximal 4 ID Bytes (zusätzlich zu PBSB).
In der Tat, denn die Ergebnisse haben neben verschiedenen Datentypen 
sogar verschiedene Längen:
ff15b52406020000001a00 / 0500001a0000
ff15b52406020000001b00 / 0603001b000500
ff15b52406020000001c00 / 0803001c000000b442
ff15b52406020000001d00 / 0803001d0000007041
Das stammt zwar jetzt von einem künstlich initiierten Scan, zeigt sich 
aber auch bei den Nachrichten zwischen Internetmodul und Steuerung.

> Mein Güte, da hat wieder mal ein Praktikant eines namhaften Herstellers
> ganze Arbeit geleistet...
> Nein, ein Zusammensetzen eines Werts aus mehreren Nachrichten ist bis
> dato nicht unterstützt. Mal drüber nachdenken.
Sicher das selbe Genie, dass eine 9-Bit genaue Temperatur in ein UCH 
presst und das letzte Bit "überlaufen" lässt.
Ich wunderte mich doch, dass manchmal 4c und manchmal cc vor der 
Temperatur steht - nun das Bit7 gehört definitiv noch mit zur 
Temperatur. Fragt man sich, warum dann nicht gleich ein üblicher 
2-Byte-Temperaturtyp verwendet wurde. Eventuell haben die Bits des 
verbleibenden 4c ja auch noch etwas zu bedeuten... wer weiß?

Autor: Peter T. (ptr8055)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo,

ich würde gerne eine Platine bestellen. Hat jemand noch eine über?

Versand nach Österreich.

Danke.
Peter

Autor: Helmut H. (der_andere)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Ich hatte Dir die Bankdaten gemailt, kein Interesse, bin ich mit 2 
Teuronen zu teuer?

Autor: Helmut H. (der_andere)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Peter T. schrieb im Beitrag #4370613:
> Sorry, muss leider ueber das Forum kommunizieren wg. e-mail Problemen

2. Mail auf GMX und übers Forum noch eine.....
Mehr kann ich nicht machen, such Dir 'ne neue Mailadr, wenn es auch 
nicht übers Forum hier nicht geht....

Autor: Christian S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...hatte das gleiche Problem mit AOL ! Mit T-online ging es dann...

Die Platinen von Helmut sind TOP !!! Und auch schnell mit der Post 
gekommen, Danke dafür nochmal

Grüsse Christian

Autor: Christian L. (legacycode)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen,

ich habe jetzt zwei EBUS Adapter aufgebaut. Bevor ich diese an die 
Vaillant anschließe, würde ich diese gerne auf Funktionsfähigkeit 
testen. Gibt es da eine einfache Möglichkeit?

Ich hatte mir das sonst so vorgestellt, dass ich die EBUS Adapter an 
jeweils einen PC anschließe und ebusd starte. Dann müssten sich die 
Adapter ja erreichen können. Ich gehe mal davon aus, dass ich eine 
Busspannung benötige, oder? Kann ich diese irgendwie selber zur 
Verfügung stellen oder ist die in diesem Szenario überflüssig?

Danke und Gruß.

Christian

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also soweit ich das Thema inzwischen verstanden habe:
Ja, der eBus braucht eine Spannungsquelle - bei mir kommt die vom 
Brenner und kann dort an/ausgeschaltet werden. Ich weiß gar nicht genau, 
ob die anderen (stromversorgten) Geräte sich auch ohne den Brenner 
unterhalten könnten, meine Steuerung geht definitiv nur, wenn der 
Brenner eingeschaltet ist.

Da der ganze Bus aber (auch) für Heinzungs-Monteure ausgelegt ist, war 
ich mutig und hab's einfach direkt draufgeklemmt. Anfangs sogar falsch 
herum, weil die Platine entgegen aller Vaillant-Komponenten polrichtig 
an +/- geklemmt werden muss. Sieht man aber schnell an der grünen LED.
Und wenn Du mit der eBus-Seite anfängst und USB (noch) nicht anschließt, 
sollte ja eigentlich auch nicht viel passieren können?!

Ansonsten müsste man das mit 2 Adaptern mal probieren, geht bekanntlich 
über studieren! :)

: Bearbeitet durch User
Autor: Horst S. (hasont)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lese mal meinen Beitrag (Hasont vom 26.02) da hab ich beschrieben wie 
ich die Platine getestet und eingestellt habe. Ich musste danach am Poti 
nichts mehr justieren.

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> John B. schrieb:
>> oha, das wiederspricht allerdings meiner Theorie von max. 3 Bytes ID.
>> Wie unschön. Da muss ich mir was einfallen lassen, denn ebusd
>> unterstützt derzeit maximal 4 ID Bytes (zusätzlich zu PBSB).
> In der Tat, denn die Ergebnisse haben neben verschiedenen Datentypen
> sogar verschiedene Längen:
>
ff15b52406020000001a00 / 0500001a0000
> ff15b52406020000001b00 / 0603001b000500
> ff15b52406020000001c00 / 0803001c000000b442
> ff15b52406020000001d00 / 0803001d0000007041
> Das stammt zwar jetzt von einem künstlich initiierten Scan, zeigt sich
> aber auch bei den Nachrichten zwischen Internetmodul und Steuerung.

Hast Du schon einmal entsprechende Write Nachrichten gesehen?
Ich hab die Längenbegrenzung jetzt aufgehoben und würde gerne noch einen 
Test für die Schreibrichtung einbauen.

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hast Du schon einmal entsprechende Write Nachrichten gesehen?
> Ich hab die Längenbegrenzung jetzt aufgehoben und würde gerne noch einen
> Test für die Schreibrichtung einbauen.

So sehr viel kann das Internetmodul wohl nicht an die Steuerung 
schreiben, aber z.Bsp. den Ferienzeitraum und Temperaturen setzen:
0015b5240a0201000082000000a841 / 020000
0015b52409020100007200020a0f / 020000
0015b52409020100007100160a0f / 020000

Das vorletzte Byte der ersten Zeile (a8) ist die Temperatur von 21°C und 
darunter Ende und Beginn der gesetzten Urlaubsphase:
020a0f = 02.10.2015
160a0f = 22.10.2015

Dass ich eigentlich 22.12.2015 bis 02.01.2016 gesetzt habe, werde ich 
mal an Vaillant melden - so GANZ fehlerfrei ist die App eben noch 
nicht... ;-)

Nachtrag: bei genauem Hinsehen bringt das etwas Licht ins Dunkel!
Bei den "b509" Meldungen hatte Vaillant lesen/schreiben durch 0d/0e 
unterschieden. Das ist jetzt bei den "b524" offenbar 0200/0201. Dahinter 
kommen 4 Bytes, welche die Nachricht klassifizieren - das 2. davon gibt 
dabei den betroffenen Heizkreis (k) bzw. die Zone an, das erste (a), 
dritte und vierte (b) wird bei jedem Read als Zuordnung nochmal 
zurückgegeben, ich habe es mal durch Leerzeichen lesbarer gemacht:
0015b524090201 00 00 7100 160a0f / 020000
0015b524090201 00 00 7200 020a0f / 020000
0015b5240a0201 00 00 8200 0000a841 / 020000
--
0015b524060200 00 00 7100 / 0703 00 7100 160a0f
0015b524060200 00 00 7200 / 0703 00 7200 020a0f
0015b524060200 00 00 8200 / 0803 00 8200 0000a841
               ^^ a              ^^ a
                  ^^ k
                     ^^^^ b         ^^^^ b

: Bearbeitet durch User
Autor: Peter T. (ptr8055)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut H. schrieb:
> Peter T. schrieb im Beitrag #4370613:
>> Sorry, muss leider ueber das Forum kommunizieren wg. e-mail Problemen
>
> 2. Mail auf GMX und übers Forum noch eine.....
> Mehr kann ich nicht machen, such Dir 'ne neue Mailadr, wenn es auch
> nicht übers Forum hier nicht geht....

Hallo Helmut,

scheinbar haben wir noch immer e-mail Probleme, diesmal von mir zu Dir - 
hab Dir den Betrag am 30.November überwiesen, bitte schick mir die 
Platinen.

Danke
LG Peter

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Glaube eher an ein Postproblem, Platinen sind unterwegs. Deine Mail ist 
auch angekommen.

Edit: Wann Du überwiesen hast, weiß ich nicht, angekommen ist es am 3.
Du darfst nicht vergessen: es ist eine Überweisung von Österreich nach 
Deutschland und bei der Post ist es ähnlich.

: Bearbeitet durch User
Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Hast Du schon einmal entsprechende Write Nachrichten gesehen?
> Ich hab die Längenbegrenzung jetzt aufgehoben und würde gerne noch einen
> Test für die Schreibrichtung einbauen.

Gleich noch eine Frage dazu: es gibt offenbar Schreib/Lese-Operationen.
Die Steuerung VRC700 schickt dem Mischermodul VR70 die 
Soll-Vorlauftemperatur und bekommt den aktuellen Status des Mischers als 
Antwort zurück:
1052b5230402010154 / 0201fb
                         ^^ Mischerstatus schließt -100..+100 öffnet (SCH)
                       ^^ offenbar immer 01
                ^^ Vorlaufsoll 42°C (D1C)
              ^^ 0 oder 1: Heizen notwendig/Vorlaufsoll gültig
Wie müsste ich eine CSV-Zeile anlegen, dass ich sowohl die 
Vorlauf-Solltemperatur als auch den Mischerstatus auslesen kann?
Vielleicht muss ich noch weiter suchen, aber beides habe ich bisher 
nicht in reinen Leseoperationen gefunden. Somit entfällt auch ein 
aktives Auslesen, aber ebusd könnte beim Mitlesen der Nachricht ja 
beides irgendwo puffern (diese treffen ohnehin im 10-Sekunden-Takt ein).

Ich habe jetzt analog zum 'makegrabcsv' folgende Zeile erstellt:
r;w;u,,McFlowTempDesired,,,52,b523,0201,FTStatus,m,UCH,0=off;1=on,,,FTDesired,m,temp1,,,,MixerStatus,s,UCH,0=off;1=on,,,MixerMovement,s,percents,,,
Und sehe daraufhin folgenden Eintrag im Log:
> [update notice] update  McFlowTempDesired QQ=10: on;42.0;on;-5

Aber bei einem Versuch 'ebusctl r McFlowTempDesired' erhalte ich 
natürlich 'ERR: invalid numeric argument'. Komme ich irgendwie an die 
Werte, die im Log stehen?

: Bearbeitet durch User
Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Aber bei einem Versuch 'ebusctl r McFlowTempDesired' erhalte ich
> natürlich 'ERR: invalid numeric argument'. Komme ich irgendwie an die
> Werte, die im Log stehen?

Da war noch ein Fehler im Cache cleanup. Sollte jetzt funktionieren, 
vorausgesetzt die Daten sind frisch genug (nicht älter als 5 Minuten).

Autor: Patrick K. (paddyx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

nachdem ich vor über einem Jahr zwei Platinen von Benedikt Patt erworben 
hatte, kam ich jetzt dazu diese zu löten und in Betrieb zu nehmen.

Meine Vaillant Heizungsanlage (ecoTec VC146 inkl. auromatic 620/3) kann 
ich ohne Probleme auslesen, dank der hervorragenden Arbeit aller 
Beteiligten insbesondere John. Vielen Dank.

Nun betrete ich allerdings vermutlich Neuland. Meine KWL von Brink 
(Renovent Sky 300) spricht auch Ebus, auch hier funktioniert der 
EBUS-Adapter. Interessanterweise ist im Orginal-Diagnosekabel von Brink 
(Kosten nach Recherche ca. 300 Euro) der gleiche FTDI-Chip verbaut wie 
auf der gelöteten Platine. Folglich funktioniert sogar die 
Diagnosesoftware vom Hersteller. Die KWL-Anlage gibt es 
baugleich/gelabelt auch von Wolf (CWL F-300) falls das jemand 
interessiert.

Meine Probleme die ich aktuell habe, liegen bei den Datentypen. Ich 
bekomme über den Bus z.B. eine Dezimalwert 260 mit Hex 01 04 gesendet. 
Ebusd macht beim Datentyp UIN aber 1025 draus, ergibt rückwärts Hex 04 
01 (also gedreht). Das höherwertige Byte wird wohl an zweiter Stelle 
erwartet!?

Gibt es einen Kniff die Bytereihenfolge umzustellen, oder bin ich auf 
dem Holzweg und muss was anderes ändern?.

Danke schonmal für eure Antworten.

: Bearbeitet durch User
Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick K. schrieb:
> Meine Probleme die ich aktuell habe, liegen bei den Datentypen. Ich
> bekomme über den Bus z.B. eine Dezimalwert 260 mit Hex 01 04 gesendet.
> Ebusd macht beim Datentyp UIN aber 1025 draus, ergibt rückwärts Hex 04
> 01 (also gedreht). Das höherwertige Byte wird wohl an zweiter Stelle
> erwartet!?
>
> Gibt es einen Kniff die Bytereihenfolge umzustellen, oder bin ich auf
> dem Holzweg und muss was anderes ändern?.

Die eBUS Datentypen sind meist in little endian notiert. Es gibt 
natürlich Ausnahmen seitens der Hersteller, die teilweise auch in die 
verfügbaren ebusd Datentypen einfließen mussten (bspw. BTI/VTI/VTM).
Für int Werte war das bis dato nicht notwendig.
Solltest Du wirklich einen umgedrehten Datentyp benötigen, dann kann ich 
das schon eibauen. Das würde ich aber erst dann tun, wenn Du Dir 
wirklich über die Codierung der Daten sicher bist.

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Das würde ich aber erst dann tun, wenn Du Dir
> wirklich über die Codierung der Daten sicher bist.

Google sagt, dass das stimmt:
http://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/6612-wolfschnittstellenmodul-an-hs?p=133878#post133878

Vielleicht reicht es ja anfangs, die Standard-Typen UIN, SIN, ULG und 
SLG als big endian einzubauen, daraus sollten sich die meisten erstellen 
lassen - außer die BCD und Datumstypen braucht man auch...

Autor: Patrick K. (paddyx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

danke für deine Antwort.

John B. schrieb:

> Solltest Du wirklich einen umgedrehten Datentyp benötigen, dann kann ich
> das schon eibauen. Das würde ich aber erst dann tun, wenn Du Dir
> wirklich über die Codierung der Daten sicher bist.

Ich bin mir da schon sehr sicher. Sämtliche Daten die über 2-Byte Felder 
übertragen wurden, wo Werte < 256 sind, konnte ich mit Divisor 256 
entsprechend einstellen. Bei Werten über 256 bin ich da aktuell 
machtlos.

Beispielsweise kann ich z.B. die konfigurierten Lüftungsvolumen pro 
Stunde der 4 Stufen (50,105,180,260) auslesen. Die ersten drei Werte mit 
Divisor 256 kein Problem, bei dem Wert 260, wie oben geschrieben, wird 
das zweite Byte belegt, dann funktioniert das dann nicht mehr.

Ob ich künftig Datum brauche, weiß ich jetzt noch nicht. Die 
Anlagensteuerung scheint mir insgesamt sehr primitiv. Bisher kann ich 
auch nur das eigentliche Deckengerät steuern und dessen Sensorwerte 
auslesen, indem ich die Kommunikation des Bedienmoduls mitgeschnitten 
hatte. Ob man das Bedienmodul selber überhaupt über EBUS konfigurieren 
kann (unter anderem definierte Perioden mittels Zeit und Datum 
überschreiben) ist für mich noch nicht ersichtlich.

Aktuell funktioniert auch kein scan und scan result, aber das ist nicht 
so wichtig.

Gruß
Paddy

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick K. schrieb:
> Ich bin mir da schon sehr sicher. Sämtliche Daten die über 2-Byte Felder
> übertragen wurden, wo Werte < 256 sind, konnte ich mit Divisor 256
> entsprechend einstellen. Bei Werten über 256 bin ich da aktuell
> machtlos.

für Werte die unter 2 Bytes Länge bleiben solltest Du vermutlich eher 
einen anderen Datentyp nehmen, z.B. UCH.


> Beispielsweise kann ich z.B. die konfigurierten Lüftungsvolumen pro
> Stunde der 4 Stufen (50,105,180,260) auslesen. Die ersten drei Werte mit
> Divisor 256 kein Problem, bei dem Wert 260, wie oben geschrieben, wird
> das zweite Byte belegt, dann funktioniert das dann nicht mehr.

Es sind jetzt neue Typen mit "R" am Ende (für "reverse") verfügbar, z.B. 
UIR.

Viel Spaß,
John

Autor: Patrick K. (paddyx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke John, vielen Dank.

Funktioniert hervorragend ;-).

Gruß
Paddy

Autor: Björn C. (bcordes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich wollte noch einmal daran erinnern, dass bei mir noch 5 eBus-USB 
Adapter liegen, die einen neuen Besitzer suchen.

Die Adapter sind vollständig aufgebaut und getestet.


Gruß und guten Rutsch,
Björn

Autor: JosefHauk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde eine Platine abnehmen; bitte Preis und am einfachsten per Paypal 
und an "Freund" oder ?
Bin seit 5 Tagen nur am Lesen und Staunen.
Will Pi2 oder Banana M2 bestellen => egal ?  Bin noch unsicher ....

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Platinen von mir, fertige Adapter von Björn

Einfach hier anmelden und eine Nachricht über das Forum an den 
jeweiligen User. Als Gast geht es nicht.

Autor: Christian S. (schmitze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab erst einen Raspi PI (1) am laufen gehabt, der lief schon recht gut, 
nach einem Blitzschlag habe ich dann auf Raspi PI 2 aufgerüstet, der 
läuft super mit EBUSD und FHEM und hat noch massig Reserve (Auslastung), 
hat 4x USB, u.U. erweiterbar mit Hub (am Hub läuft aber u.U. nicht 
alles, also je mehr USB umso besser). Wichtig: Gutes Netzteil und gute 
Speicherkarte, habe 16GB genommen als SDHC Class 10, da kann man noch 
ein Image (ist dann 16GB groß!) sichern falls mal was schief läuft. Also 
nicht am falschen Ende sparen ;-)

Grüße

Christian

Autor: Andreas A. (andia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Björn C. schrieb:
> Hallo,
>
> ich wollte noch einmal daran erinnern, dass bei mir noch 5 eBus-USB
> Adapter liegen, die einen neuen Besitzer suchen.
>
> Die Adapter sind vollständig aufgebaut und getestet.
>
> Gruß und guten Rutsch,
> Björn

Neues Projekt für 2016 - da bin ich dabei :)

Email wg. Bestellung ist schon draussen!

Autor: Björn C. (bcordes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas A. schrieb:
> Björn C. schrieb:
>> Hallo,
>>
>> ich wollte noch einmal daran erinnern, dass bei mir noch 5 eBus-USB
>> Adapter liegen, die einen neuen Besitzer suchen.
>>
>> Die Adapter sind vollständig aufgebaut und getestet.
>>
>> Gruß und guten Rutsch,
>> Björn


Hallo,

alle Adapter sind vorerst ausverkauft!
Vielen Dank an alle Käufer.


Gruß Björn

Autor: PapaBjörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo eBus Gemeinde ;-)

hat wer noch eine Adapter Platine oder einen fertigen Adapter?
Oder gibt es vll jemanden der noch mal ein Mehrfachnutzen los tritt?
Wäre sehr interessiert.

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lesen hat klare Vorteile.....

Autor: PapaBjörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
???

Helmut H. schrieb:
> Lesen hat klare Vorteile.....

???

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datum: 29.12.2015 19:31
Platinen von mir, fertige Adapter von Björn

Papa ist blind, ich zweifel an den Fähigkeiten die Platine dann auch zu 
bestücken......

Autor: PapaBjörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>
> Hallo,
>
> alle Adapter sind vorerst ausverkauft!
> Vielen Dank an alle Käufer.
>
> Gruß Björn

@Helmut
nach dem obigen Feedback von Björn (der ohne Papa) wollte ich erst mal 
in die Gruppe fragen bevor ich Leute per PN nerve
Schön aber das es Dir gut geht und du anscheinend ein toller Hecht bist. 
Eine einfache Antwort hätte auch gelangt ;-)

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So... ich muss nochmal um Nachhilfe bitten!

Ich versuche gerade, endlich mal die von mir identifizierten 
Vaillant-Meldungen in eine vernünftige CSV zu packen. Momentan scheitere 
ich aber an dieser Eigenart, dass die VRC700 bei einem Lesevorgang am 
Anfang immer die 4 Bytes der ausgelesen ID sendet.
Schreiben und Lesen von Hand sieht so aus:
# ebusctl w -h 15b5240c020100006f0054656c65666f
020000

# ebusctl w -h 15b52406020000006f00
0b03006f0054656c65666f00

In dem String steht der erste Teil (ja, auch das hatten wir ja schon) 
der Service-Telefonnummer. Nun hätte ich gern eine CSV-Zeile dazu, die 
mir folgendes ermöglicht:
# ebusctl w vrc700 PhoneNumber1 "Telefo"
# ebusctl r PhoneNumber1
Telefo
Mein Ansatz:
*r,vrc700,,,,,"B524","0200",,,,,,,,,
*w,vrc700,,,,,"B524","0201",,,,,,,,,
r;w,,PhoneNumber1,Telefonnummer Teil 1,,,,"00006F00",ignored,s,IGN:4,,,,phone,,STR:6,,,,,,
Lesen klappt damit wunderbar, aber Schreiben nicht.
Durch das ",s," nach dem "ignored" konnte ich wenigstens dafür sorgen, 
dass ich diese Felder nicht schreiben muss (sie kommen ja NUR vom 
Slave), aber jeder Schreibvorgang meldet jetzt ein "ERR: invalid 
position in decode", weil als Bestätigung nur "020000" zurückkommt, 
statt der erwarteten 4 Bytes zum Ignorieren...

Es geht zwar so erstmal, aber schön ist der Fehler nicht.

Frage am Rande: die vorgefertigten CSVs scheinen einen Default-Circuit 
zu haben. Alle Meldungen aus der "08.bai.csv" erscheinen beispielsweise 
im Circuit "bai". Bei meiner CSV habe ich versucht, das über den 
Dateinamen "15.vrc700.csv" zu steuern, aber dort war der Circuit immer 
leer, bis ich ihn in den *r/*w-Zeilen benannt habe...

Autor: Benedikt P. (bepa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PapaBjörn schrieb:
> Hallo eBus Gemeinde ;-)
>
> hat wer noch eine Adapter Platine oder einen fertigen Adapter?
> Oder gibt es vll jemanden der noch mal ein Mehrfachnutzen los tritt?
> Wäre sehr interessiert.

Hallo,

eine Platine habe ich noch da.
Bei Bedarf bitte per PN melden.

Gruß
Benedikt

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Schreiben und Lesen von Hand sieht so aus:
>
# ebusctl w -h 15b5240c020100006f0054656c65666f
> 020000
> 
> # ebusctl w -h 15b52406020000006f00
> 0b03006f0054656c65666f00
>
> In dem String steht der erste Teil (ja, auch das hatten wir ja schon)
> der Service-Telefonnummer. Nun hätte ich gern eine CSV-Zeile dazu, die
> mir folgendes ermöglicht:
>
# ebusctl w vrc700 PhoneNumber1 "Telefo"
> # ebusctl r PhoneNumber1
> Telefo

Wie sieht denn dann Teil 2 der Telefonnummer aus?

> Frage am Rande: die vorgefertigten CSVs scheinen einen Default-Circuit
> zu haben. Alle Meldungen aus der "08.bai.csv" erscheinen beispielsweise
> im Circuit "bai". Bei meiner CSV habe ich versucht, das über den
> Dateinamen "15.vrc700.csv" zu steuern, aber dort war der Circuit immer
> leer, bis ich ihn in den *r/*w-Zeilen benannt habe...

Richtig, default circuit greift nur in default Definitionen. Das ist so 
gedacht.

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Wie sieht denn dann Teil 2 der Telefonnummer aus?
Das war nur ein Beispiel - der zweite Teil ist identisch; ebenfalls 
einfach 6 Zeichen STR. Die sind genauso getrennt, wie auch die 
Bezeichnung der Heizkreise. Aber ich habe gesehen, dass das auch beim 
470 oder 430 so war - deshalb will ich darüber erstmal nicht meckern.
Ich muss nur irgendwie ein sauberes WRITE hinbekommen - geht das dann 
wirklich nur über separate r/w-Zeilen (und geht das überhaupt mit 
identischen Namen)?

> Richtig, default circuit greift nur in default Definitionen. Das ist so
> gedacht.
Okay, ich dachte, das irgendwie nachbauen zu können, um dann die 
"fertige" vrc700 auf Github zu stellen...


Und nochmal zurück zu meinem Klassiker:
Sven G. schrieb:
> h) 0015b52406020003010f00 / 0801030f00cd4ca141[/code]
>
> h) und die letzte für heute enthält u.a. die Raumtemperatur, nach der
> ich schon lange gesucht habe. Allerdings als "neuer Datentyp".
> Anfang ist wie gehabt, die eigentlichen Daten beginnen mit:
> cd = keine Ahnung, scheint statisch zu sein
> 4c = auch keine Ahnung, ist aber manchmal cc - also sicher irgendein
> Bit-Status
> a1 = Raumtemperatur * 8, ich müsste also UCH durch 8 Teilen (geht das
> über 'divisor'?)
> 41 = ebenfalls noch unklar und statisch
Das scheint der neue Trend bei Vaillant zu sein: aus den 32 nutzbaren 
Bits werden "irgendwo" welche genutzt und die restlichen entweder nicht 
initialisiert, oder sie zeigen einen Status an. Inzwischen bin ich etwas 
schlauer:

Das MSB vom 2. Byte gehört mit zur Temperatur, daher entweder 0x4C oder 
0xCC. Beim 4. Byte wirds kritischer, da wird bei Temperaturen >32°C die 
0x41 zur 0x42 wird - eine reine Bit-Trennung ist da nicht mehr machbar; 
man braucht einen Offset - also zusätzlich zum Divisor etwas, was 
konstant abgezogen/hinzuaddiert wird!
H I L F E .....

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> John B. schrieb:
>> Wie sieht denn dann Teil 2 der Telefonnummer aus?
> Das war nur ein Beispiel - der zweite Teil ist identisch; ebenfalls
> einfach 6 Zeichen STR. Die sind genauso getrennt, wie auch die
> Bezeichnung der Heizkreise. Aber ich habe gesehen, dass das auch beim
> 470 oder 430 so war - deshalb will ich darüber erstmal nicht meckern.
> Ich muss nur irgendwie ein sauberes WRITE hinbekommen - geht das dann
> wirklich nur über separate r/w-Zeilen (und geht das überhaupt mit
> identischen Namen)?

ich meinte den Master-Teil, aber habs jetzt rausgefunden.
Wenn ich das richtig verstanden habe, sieht das read/write hier so aus:
020000006f00 / 0b03006f0054656c65666f00
RRRRIIKKIIII     ??iiiiii11111111111122
020100006f0054656c65666f / 020000
WWWWIIKKIIII111111111111     AAAA
R=read prefix
W=write prefix
I=ID (master)
i=ID (wiederholung im slave)
K=Kreis (gehört somit auch zur ID)
1-9=Feld 1-9
A=acknowledge

Somit müsste folgendes CSV das gewünschte leisten:
# type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment,field2,part (m/s),datatypes/templates,divider/values,unit,comment
*r,700,,,,15,B524,02000000,,,IGN:4,,,,,,,,,
*w,700,,,,15,B524,02010000,,,,,,,,,,,,
r;w,,PhoneNumber,Telefonnummer,,,,6F00;6F01,phone,,STR:6,,,,,,IGN:1,,,

>> Richtig, default circuit greift nur in default Definitionen. Das ist so
>> gedacht.
> Okay, ich dachte, das irgendwie nachbauen zu können, um dann die
> "fertige" vrc700 auf Github zu stellen...

ja klar, einfach das Namenschema benutzen, also das ganze dann in 
"15.700.csv" im de/vailllant Verzeichnis ablegen und schon kann circuit 
und Ziel-Adresse aus den "*r" bzw. "*w" Zeilen verschwinden.


>> cd = keine Ahnung, scheint statisch zu sein
>> 4c = auch keine Ahnung, ist aber manchmal cc - also sicher irgendein
>> Bit-Status
>> a1 = Raumtemperatur * 8, ich müsste also UCH durch 8 Teilen (geht das
>> über 'divisor'?)
>> 41 = ebenfalls noch unklar und statisch
> Das scheint der neue Trend bei Vaillant zu sein: aus den 32 nutzbaren
> Bits werden "irgendwo" welche genutzt und die restlichen entweder nicht
> initialisiert, oder sie zeigen einen Status an. Inzwischen bin ich etwas
> schlauer:
>
> Das MSB vom 2. Byte gehört mit zur Temperatur, daher entweder 0x4C oder
> 0xCC. Beim 4. Byte wirds kritischer, da wird bei Temperaturen >32°C die
> 0x41 zur 0x42 wird - eine reine Bit-Trennung ist da nicht mehr machbar;
> man braucht einen Offset - also zusätzlich zum Divisor etwas, was
> konstant abgezogen/hinzuaddiert wird!

wie genau? Schreib doch mal ein paar Beispiele mit Binärdaten und 
zugehörigen Werten.

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> ich meinte den Master-Teil, aber habs jetzt rausgefunden.
> [...]
> Somit müsste folgendes CSV das gewünschte leisten:
Erstmal wieder vielen Dank, John!!
Super - ich hatte "übersehen", dass ich das IGN:4 ja im Read-Template 
angeben kann - dadurch ist mein Write-Error verschwunden!
Soweit hast du alles richtig angenommen - aber: sehe ich das richtig, 
dass das "6F00;6F01" eine neu eingebaute Möglichkeit ist?? Dann muss ich 
unbedingt eine neue Version kompilieren, das wäre wunderbar!

John B. schrieb:
> ja klar, einfach das Namenschema benutzen,
Aaaahhh - das hatte ich versucht, aber scheinbar sind hier nur 3 oder 4 
Zeichen zulässig. Mein "vrc700" klappte nicht, ich werde es auf "700" 
ändern!


John B. schrieb:
>> Das MSB vom 2. Byte gehört mit zur Temperatur, daher entweder 0x4C oder
>> 0xCC. Beim 4. Byte wirds kritischer, da wird bei Temperaturen >32°C die
>> 0x41 zur 0x42 wird - eine reine Bit-Trennung ist da nicht mehr machbar;
>> man braucht einen Offset - also zusätzlich zum Divisor etwas, was
>> konstant abgezogen/hinzuaddiert wird!
>
> wie genau? Schreib doch mal ein paar Beispiele mit Binärdaten und
> zugehörigen Werten.

Okay, hier ein paar Beispiele. Aktuelle Raumtemperatur Heizkreis 2:
ff15b52406020003010f00 / 0801030f00cd4ccc41   =  25.5000°C
ff15b52406020003010f00 / 0801030f00cd4ccc41   =  25.5625°C
Hier scheint "cd_c____" immer statisch zu sein und das 2. Byte ist immer 
entweder 4c oder cc, es zählt nur das höchste Bit zur Temperatur (ich 
vermute fehlende Initialisierung bzw. Ignorieren der anderen Bits).
Verifizieren konnte ich das bei der Einwirkung der Raumtemperatur in der 
Einstellung "Thermostat". Hier wird (wie im handbuch beschrieben) exakt 
bei +3/16K der eingestellten Temperatur der Heizkreis ausgeschaltet und 
bei -4/16K wieder eingeschaltet.

Bei Vorgabetemperaturen (meist max. in 0,5K Schritten einstellbar) steht 
dort ordentlich 0000, kann jedoch beliebig gesetzt werden, ohne dass es 
zu erkennbaren Fehlern führt. Bisher gehe ich also davon aus, dass nur 
ein Offset von 0x41000000 dazu kommt.
Beispiel Solltemperatur Tag Heizkreis 2:
ff15b52406020003010700 / 08030307000000cc41   =  25.5°C
ff15b52406020003010700 / 08030307000000bc41   =  23.5°C

Die 41 kann aber zur 42 werden, wenn es um Temperaturen >32°C geht - und 
sicher auch zur 40 bei negativen... Auf jeden Fall aber wird sie zu 00, 
wenn die Temperatur nicht gesetzt/gültig ist.

Dazu hier einige Vorlaufsolltemperaturen Heizkreis 2 nach gleichem 
Schema
ff15b52406020002010700 / 080102070000000000   =  kein Wärmebedarf
ff15b52406020002010700 / 080102070000002842   =  37.0°C
ff15b52406020002010700 / 080102070004ef2442   =  36.5°C
ff15b52406020002010700 / 08010207000d3ec541   =  24.5°C
          RRRRAAKKIIII     ??AAIIII
Die Werte habe ich hier entsprechend gerundet, wie sie als D1C zum 
Mischermodul geschickt werden. Die ersten 2 Bytes könnten dabei einfach 
weitere Nachkommastellen aus der Berechnungsroutine sein...

Am Rande nochmal meine Beobachtungen zu den hier genannten Buchstaben:
RRRR = 0200 für read (0201 für write)
AA = Geltungsbereich: 00 global, 01 Warmwasser, 02 Heizkreis, 03 Zone
KK = bei Heizkreis/Zone die Kreisnummer 00-05
IIII = Index
?? = scheint eine Art Klassifizierung des Index zu sein (ist für alle 
immer konstant, aber variiert bei verschiedenen Werten: 00-03)


Ach und bevor es langweilig wird - hier noch ein paar andere Werte mit 
solchen seltsamen Offsets, diese sind hier aber nicht konstant, die 
verbleibenden Bits scheinen noch weitere Bedeutungen zu haben (ich habe 
jedenfalls weder für die Heizkurve, noch für die Temperaturüberhöhung 
einen brauchbaren Offset/Faktor gefunden - müsste also nochmal alle 
möglichen Werte einstellen und über eBus auslesen):
  ff15b52406020002000f00 / 0803020f00 9a99993f   HK1 Heizkurve 1.2
  ff15b52406020002000f00 / 0803020f00 0000a03f   HK1 Heizkurve 1.25

  ff15b52406020002010f00 / 0803020f00 cecccc3d   HK2 Heizkurve 0.1
  ff15b52406020002010f00 / 0803020f00 9a99193e   HK2 Heizkurve 0.15
  ff15b52406020002010f00 / 0803020f00 0000803e   HK2 Heizkurve 0.25
  ff15b52406020002010f00 / 0803020f00 9a99993e   HK2 Heizkurve 0.3
  ff15b52406020002010f00 / 0803020f00 3633333f   HK2 Heizkurve 0.7
  ff15b52406020002010f00 / 0803020f00 6a66663f   HK2 Heizkurve 0.9

  ff15b52406020002010b00 / 0803020b00 00000000   HK2 Temperaturüberhöhung  0K
  ff15b52406020002010b00 / 0803020b00 0000e040   HK2 Temperaturüberhöhung  7K
  ff15b52406020002010b00 / 0803020b00 00007041   HK2 Temperaturüberhöhung 15K
  ff15b52406020002010b00 / 0803020b00 00008041   HK2 Temperaturüberhöhung 16K
  ff15b52406020002010b00 / 0803020b00 0000f041   HK2 Temperaturüberhöhung 30K

: Bearbeitet durch User
Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, letzte Bitte für heute - vor allem, weil ich sicher ohnehin ebusd 
neu compilieren muss:

Bei meinen Geräten stimmt das Template "errorhistory" nicht!
Keine Ahnung, ob das bei älteren Geräten so war/ist - aber mein Brenner 
meldet alle Fehler OHNE Uhrzeit/Datum und alle die es tun, melden eine 
2-Byte BCD Zeit. Definiert ist es als "VTI", also Hex-Zeit - was zu 
einem "ERR: argument value out of valid range in decode" führt.
Ich habe das Zeitfeld mal in BCD:2 geändert, was an sich ganz brauchbar 
aussieht, zur Kontrolle die Hexdaten danach:
# ebusctl read -f -d ... -i 0 errorhistory
2;2126;19.11.2015;1231
2;2051;09.11.2015;590
2;1808;06.01.2016;1511
# ebusctl w -h 15b50303010100
08022621191115cf04
080251200911154e02
08020818060116e705
Es müsste also noch ein eingebauter 2 Byte BCD Zeit-Datentyp ("BTM"?) 
ergänzt werden.

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

langsam sehe ich mehr durch. Ich habe im Changelog von der Kombination 
der Messages gelesen und daher erstmal neu kompiliert. Zum Test habe ich 
mir gleich einen Datentyp "BTM" gebastelt, der auch funktioniert:
        {"BTM", 16, bt_tim, BCD|REV,       0xff,          5,          5,    0}, // time in BCD, 00:00 - 23:59 (0x00,0x00 - 0x59,0x23, replacement 0xff)

Leider klappt die Kombination der Felder nicht, ich sehe immer nur den 
Inhalt des ersten! Kann ich das irgendwie debuggen?
[EDIT]
Ein 'log level debug' zeigt:
2016-01-27 21:30:45.344 [main debug] >>> r PhoneNumber
2016-01-27 21:30:45.344 [bus info] send message: ff15b52406020000006f00
2016-01-27 21:30:45.345 [network debug] [01989] wait for result
2016-01-27 21:30:45.376 [bus debug] switching from ready to send command
2016-01-27 21:30:45.442 [bus debug] switching from send command to receive command ACK
2016-01-27 21:30:45.447 [bus debug] switching from receive command ACK to receive response
2016-01-27 21:30:45.507 [bus debug] switching from receive response to send response ACK
2016-01-27 21:30:45.514 [bus debug] notify request: done
2016-01-27 21:30:45.515 [bus debug] read res: 0b03006f0054656c20202000
2016-01-27 21:30:45.517 [bus info] send message: ff15b52406020000007000
2016-01-27 21:30:45.517 [bus debug] switching from send response ACK to send SYN
2016-01-27 21:30:45.574 [bus debug] switching from ready to send command
2016-01-27 21:30:45.643 [bus debug] switching from send command to receive command ACK
2016-01-27 21:30:45.648 [bus debug] switching from receive command ACK to receive response
2016-01-27 21:30:45.708 [bus debug] switching from receive response to send response ACK
2016-01-27 21:30:45.715 [bus debug] notify request: done
2016-01-27 21:30:45.716 [bus debug] read res: 0b0300700020202020203900
2016-01-27 21:30:45.718 [main info] read 700 PhoneNumber: Tel
2016-01-27 21:30:45.718 [main debug] <<< Tel
Erwartet hätte ich "Tel        9" - leider fast nur Leerzeichen, machte 
keinen Spaß, das an der Steuerung einzugeben. g


Neue Konfigurationen habe ich mir auch in ein Debian-Paket gepackt (auf 
dem Zielsystem habe ich kein git), was leider nicht sofort installieren 
wollte! Ich musste dem dpkg ein '--force-overwrite' hinzufügen, weil 
ebusd-configuration die Datei '/etc/ebusd/broadcast.csv' aus ebusd 
überschreibt. Vielleicht sollte die lieber aus ebusd-configuration 
wieder raus?

Nebenbei habe ich das mit --scanconfig mal getestet. Auch ein kleiner 
Dämpfer: es läuft zwar und lädt meine Dateien, aber eine meiner selbst 
erstellten melden beim Laden zu Laufzeit:
[main error] error reading scan config file /etc/ebusd/vaillant/52.vr_70.csv for ID "vr_70", SW0109, HW2903: ERR: duplicate entry
Leider sehe ich nicht, welche das sein soll - und die ersten/wichtigsten 
definierten Meldungen gehen.

Wenn ich ein 'ebusd --checkconfig --scanconfig 
ff52070400/0ab556525f373001092903' starte, meldet er keinen Fehler - 
wenn ich '--scanconfig' weglasse, kommen ca. 1000 Duplikate...
Finde ich irgendwie, wo das Duplikat herkommt?

: Bearbeitet durch User
Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Zum Test habe ich
> mir gleich einen Datentyp "BTM" gebastelt, der auch funktioniert:
>
        {"BTM", 16, bt_tim, BCD|REV,       0xff,          5, 
> 5,    0}, // time in BCD, 00:00 - 23:59 (0x00,0x00 - 0x59,0x23, 
> replacement 0xff)

Okay, kann ich ja mal noch mit dazu nehmen.

> Leider klappt die Kombination der Felder nicht, ich sehe immer nur den
> Inhalt des ersten! Kann ich das irgendwie debuggen?

Das Problem ist das "00" Byte mitten drin, würd ich schätzen. Das hab 
ich gestern übersehen. Somit kann man dafür die verketteten Messages 
nicht benutzen. Also separate Definitionen draus bauen...

> Neue Konfigurationen habe ich mir auch in ein Debian-Paket gepackt (auf
> dem Zielsystem habe ich kein git), was leider nicht sofort installieren
> wollte! Ich musste dem dpkg ein '--force-overwrite' hinzufügen, weil
> ebusd-configuration die Datei '/etc/ebusd/broadcast.csv' aus ebusd
> überschreibt. Vielleicht sollte die lieber aus ebusd-configuration
> wieder raus?

Das wird vielleicht in der nächsten Version passieren, mal sehen. Evtl. 
baue ich noch ein paar der durch die Spezifikation definierten Messages 
fest in ebusd ein.

> Nebenbei habe ich das mit --scanconfig mal getestet. Auch ein kleiner
> Dämpfer: es läuft zwar und lädt meine Dateien, aber eine meiner selbst
> erstellten melden beim Laden zu Laufzeit:
>
[main error] error reading scan config file 
> /etc/ebusd/vaillant/52.vr_70.csv for ID "vr_70", SW0109, HW2903: ERR: 
> duplicate entry
> Leider sehe ich nicht, welche das sein soll - und die ersten/wichtigsten
> definierten Meldungen gehen.
>
> Wenn ich ein 'ebusd --checkconfig --scanconfig
> ff52070400/0ab556525f373001092903' starte, meldet er keinen Fehler -
> wenn ich '--scanconfig' weglasse, kommen ca. 1000 Duplikate...
> Finde ich irgendwie, wo das Duplikat herkommt?

Ohne "--scanconfig" kommen natürlich Duplikate, sofern Du nicht alle 
Files löscht, die nicht zu Deiner Anlage passen.
Mit "--scanconfig": übergebe mal alle Deine scans an ebusd mit 
"--checkconfig", dann sollte der problematische Kandidat schon 
rauspurzeln.

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Das Problem ist das "00" Byte mitten drin, würd ich schätzen. Das hab
> ich gestern übersehen. Somit kann man dafür die verketteten Messages
> nicht benutzen. Also separate Definitionen draus bauen...

Hmm, nein - daran liegt es wohl nicht. Ich habe die Definition mal auf 
"HEX:7" geändert, um hoffentlich beide 6 Zeichen incl. der 00 zu 
bekommen - aber auch das gibt mit nur die 7 Werte des ersten Teils 
zurück.
Ich habe mir mal die Code-Änderungen angesehen...
In 'Message::decodeLastData()' wird nur 'm_data->read()' aufgerufen - 
diese wurde aber offenbar gar nicht für "chained messages" angepasst?! 
Allerdings verstehe ich noch nicht wirklich, was da in welcher 
Reihenfolge abläuft, deshalb sieh's mir nach wenn ich falsch liege.
Theoretisch ließe sich das ja aber mit beliebigen Nachrichten testen, 
die gleich lange Antworten schicken - einfach mal als HEX definieren und 
zu einer kombinieren. Wie müsste dann das Ergebnis aussehen?

Die Hex-Nachrichten  und meine Config sind:
ff15b52406020000006F00 / 0b03006f0054656c20202000
ff15b52406020000007000 / 0b0300700020202020203900

*r,,,,,,"B524","0200",,,,,,,,,,,,
r,,PhoneNumber,Telefonnummer,,,,"00006F00;00007000",,,HEX:11,,,,,,
Doch das Ergebnis ist nur:
03 00 6f 00 54 65 6c 20 20 20 00

Interessant: wenn ich das auf "HEX:22" ändere, bekomme ich alle 22 
Werte!
Damit könnte ich mir nun zumindest etwas basteln, was mir genau die 2x 6 
Zeichen zurückgibt, nur leider mit Semikolon getrennt:
*r,,,,,,"B524","0200",,,IGN:4,,,,,,,,,
r,,PhoneNumber,Telefonnummer,,,,"00006F00;00007000",phone1,,STR:6,,,,,,IGN:5,,,,phone2,,STR:6,,,,,,IGN:1,,,

# ebusctl r PhoneNumber
Tel   ;     9
Auch wenn das schon sehr viel besser ist - kann ich die Trennung mit 
Semikolon irgendwie ausschalten?

Ehrlich gesagt, fällt mir spontan ohnehin keine gute (andere) 
Möglichkeit ein, wenn es um Nachrichten mit mehreren/anderen Inhalten 
geht: Zeichenketten und HEX kann man leicht alle hintereinander nennen. 
Aber 2 UCH aus verschiedenen Messages? Sollen die nacheinander oder 
zusammengefasst werden?
Von daher ist es sicher schon richtig so, wie es ist!

Einzige Möglichkeit in meinen Augen:
Wenn 2 STR oder HEX aufeinander folgen (unabhängig von chained 
messages), könnte man das Semikolon weglassen. Aber das verbaut dann 
wieder die Möglichkeit, solche mit Semikolon getrennt auszugeben......
Also nochmal konkret: folgende Definition könnte folgendes Ergebnis 
haben:
r,,Test,,,,,"4711",,,HEX:2,,,,,,IGN:2,,,,,,HEX:4,,,,,,HEX:2,,,

# ebusctl r Test
00 01 04 05 06 07 08 09
Nur was, wenn jemand eigentlich "00 01;04 05 06 07;08 09" erwartet 
hätte?
Was meinst Du dazu?

John B. schrieb:
> Mit "--scanconfig": übergebe mal alle Deine scans an ebusd mit
> "--checkconfig", dann sollte der problematische Kandidat schon
> rauspurzeln.

Sehr, sehr schön! Diese Möglichkeit stand nirgends und ich hab's ehrlich 
gesagt nicht probiert. Für alle Interssierten: ich habe mir eine 
quick&dirty Funktion gebaut, die Konfiguration für mehrere IDs zu 
prüfen:
# function ebusscanid() { echo "ff${1}070400/$(ebusctl w -h ${1}070400 | head -1)" ;}
# ebusd --checkconfig --scanconfig $(ebusscanid 08) $(ebusscanid 15) $(ebusscanid 06)

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Hmm, nein - daran liegt es wohl nicht. Ich habe die Definition mal auf
> "HEX:7" geändert, um hoffentlich beide 6 Zeichen incl. der 00 zu
> bekommen - aber auch das gibt mit nur die 7 Werte des ersten Teils
> zurück.

naja, wenn Du zwei Nachrichten verkettest, muss die Länge natürlich 
größer als 7 sein...

> Wenn 2 STR oder HEX aufeinander folgen (unabhängig von chained
> messages), könnte man das Semikolon weglassen. Aber das verbaut dann
> wieder die Möglichkeit, solche mit Semikolon getrennt auszugeben......
> Was meinst Du dazu?

Das ist in meinen Augen zu kompliziert. Wenn der Hersteller verkettete 
Messages nutzt, dann aber in einen Gesamtstring was anderes zwischen 
rein schummelt, muss man halt damit leben.

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich stimme dem Quatsch mit dem Verketten von Nachrichten zu - eine 
sinnvolle Lösung gibt's da nicht, ist halt Vaillant...

Es wäre jedoch toll, hierfür eine Lösung zu finden:
ff15b52406020002010700 / 080102070000000000   =  kein Wärmebedarf
ff15b52406020002010700 / 080102070000002842   =  37.0°C
ff15b52406020002010700 / 080102070004ef2442   =  36.5°C
ff15b52406020002010700 / 08010207000d3ec541   =  24.5°C

Ich habe mir mal den Code angesehen, einen Offset festzulegen ist wohl 
gar nicht soo einfach. Zumal man dem auch beim Schreiben berücksichtigen 
müsste... doofe Sache!
Oder jemand eine Idee?

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Es wäre jedoch toll, hierfür eine Lösung zu finden:
>
ff15b52406020002010700 / 080102070000000000   =  kein Wärmebedarf
> ff15b52406020002010700 / 080102070000002842   =  37.0°C
> ff15b52406020002010700 / 080102070004ef2442   =  36.5°C
> ff15b52406020002010700 / 08010207000d3ec541   =  24.5°C
>
> Ich habe mir mal den Code angesehen, einen Offset festzulegen ist wohl
> gar nicht soo einfach. Zumal man dem auch beim Schreiben berücksichtigen
> müsste... doofe Sache!

Wenn sich manifestiert, dass das ein durchgängig bei neueren Geräten 
verwendeter Datentyp ist, würde ich diesen einfach dazu bauen (samt 
Offset).
Drum wärs mir wichtig, noch mehr Beispielwerte zu bekommen und diese 
auch aus anderen Nachrichten (nicht nur 0700) sowie auch in 
Schreibrichtung zu beobachten. Bekommst Du das hin?

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Drum wärs mir wichtig, noch mehr Beispielwerte zu bekommen und diese
> auch aus anderen Nachrichten (nicht nur 0700) sowie auch in
> Schreibrichtung zu beobachten. Bekommst Du das hin?

Zu anderen Geräten konnte ich solche Werte (noch) nicht beobachten, 
vielleicht hat pierce da mehr Glück mit seiner VRC700 und der WP?!
In Schreibrichtung sehe ich diese folglich nur von der SmartphoneApp zur 
VRC700 - hier auch schön zu sehen, dass die Temperatur nicht immer 
einen Offset von 0x4100 und Faktor 8 hat, bei Warmwasser ist dieser 
anders:
0015b5240a02010100040000002042 / 020001  -> 40°C Warmwasser
0015b5240a02010100040000003442 / 020001  -> 45°C Warmwasser
0015b5240a0201030007000000bc41 / 020003  -> 23.5°C HK1 Tag
0015b5240a0201030107000000c841 / 020003  -> 25.0°C HK2 Tag
0015b5240a0201030109000000b041 / 020003  -> 22.0°C HK2 Nacht

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aaaaaah - noch eine Erkenntnis. Und die passt sogar zum oben 
geschilderten Bild:
Der letzte Wert scheint zusätzlich zum Offset die Genauigkeit 
festzulegen!

Wie man oben schon erkennt, ist das 3. Byte bei 0x41 durch 8 zu teilen, 
bei 0x42 durch 4 zu teilen und (!) 32 hinzuzurechnen.

Das sehe ich analog bei der schonmal erwähnten Temperaturüberhöhung, und 
das zeigt noch etwas interessanteres:
  ff15b52406020002010b00 / 0803020b0000000000 -> 0K
  ff15b52406020002010b00 / 0803020b000000803f -> 1K
  ff15b52406020002010b00 / 0803020b0000000040 -> 2K
  ff15b52406020002010b00 / 0803020b0000004040 -> 3K
  ff15b52406020002010b00 / 0803020b0000008040 -> 4K
  ff15b52406020002010b00 / 0803020b000000a040 -> 5K
  ff15b52406020002010b00 / 0803020b000000c040 -> 6K
  ff15b52406020002010b00 / 0803020b000000e040 -> 7K
  ff15b52406020002010b00 / 0803020b0000000041 -> 8K
  ff15b52406020002010b00 / 0803020b0000001041 -> 9K
  ff15b52406020002010b00 / 0803020b0000002041 -> 10K
  ff15b52406020002010b00 / 0803020b0000003041 -> 11K
  ff15b52406020002010b00 / 0803020b0000004041 -> 12K
  ff15b52406020002010b00 / 0803020b0000005041 -> 13K
  ff15b52406020002010b00 / 0803020b0000006041 -> 14K
  ff15b52406020002010b00 / 0803020b0000007041 -> 15K
  ff15b52406020002010b00 / 0803020b0000008041 -> 16K
  ff15b52406020002010b00 / 0803020b0000008841 -> 17K
  ff15b52406020002010b00 / 0803020b0000009041 -> 18K
  ff15b52406020002010b00 / 0803020b0000009841 -> 19K
  ff15b52406020002010b00 / 0803020b000000a041 -> 20K
  ff15b52406020002010b00 / 0803020b000000a841 -> 21K
  ff15b52406020002010b00 / 0803020b000000b041 -> 22K
  ff15b52406020002010b00 / 0803020b000000b841 -> 23K
  ff15b52406020002010b00 / 0803020b000000c041 -> 24K
  ff15b52406020002010b00 / 0803020b000000c841 -> 25K
  ff15b52406020002010b00 / 0803020b000000d041 -> 26K
  ff15b52406020002010b00 / 0803020b000000d841 -> 27K
  ff15b52406020002010b00 / 0803020b000000e041 -> 28K
  ff15b52406020002010b00 / 0803020b000000e841 -> 29K
  ff15b52406020002010b00 / 0803020b000000f041 -> 30K
Man sieht, dass selbst das höchstwertige Bit aus Byte 3 die Genauigkeit 
steuert: bei 0x41 und Byte 3 größer gleich 0x80 ist durch 8 zu teilen, 
darunter durch 16.
Somit ergibt sich für das Byte 4 plus MSB von Byte 3:

0x3f | 1  ==> Divisor 128, Offset 1  (>=  1K/°C)
0x40 | 0  ==> Divisor 64,  Offset 2  (>=  2K/°C)
0x40 | 1  ==> Divisor 32,  Offset 4  (>=  4K/°C)
0x41 | 0  ==> Divisor 16,  Offset 8  (>=  8K/°C)
0x41 | 1  ==> Divisor 8,   Offset 16 (>= 16K/°C)
0x42 | 0  ==> Divisor 4,   Offset 32 (>= 32K/°C)

Ich nehme jetzt einfach mal an, dass das für Byte 1 und 2 analog gilt, 
um Nachkommastellen abzubilden. Der Offset ist jeweils für die 
verbleibenden 7 Bit aus Byte 3 nach Teilen durch den Divisor gedacht.
Und ich weiß leider noch nicht, ob sich damit negative Werte abbilden 
ließen bzw. wie weit nach oben sich das theoretisch treiben ließe. 
Denkbar wäre ja bis "0x43 | 0", wo dann Faktor 1 gelten würde für Werte 
von 128-256K.

==> das klingt für mich dann doch SEHR nach einem neuen/eigenen Datentyp 
und lässt mich hoffentlich noch mehr Hexwerte richtig interpretieren!!

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> ==> das klingt für mich dann doch SEHR nach einem neuen/eigenen Datentyp
> und lässt mich hoffentlich noch mehr Hexwerte richtig interpretieren!!

Ja, klingt nach nem echtem floating point. Könntest Du noch rausfinden, 
wie negative Werte dargestellt sind? Ich nehme an mit gesetztem Bit 7 im 
Exponenten-Tail.

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hätte ich auch vermutet. Habe jetzt lange gesucht und einen Wert 
gefunden, den ich negativ einstellen kann: "AT Durchheizen"
  ff15b52406020000000200 / 08030002000000a040 -> 5°C
  ff15b52406020000000200 / 0803000200000080bf -> -1°C
  ff15b52406020000000200 / 08030002000000c8c1 -> -25°C
Somit stimmt es - das höchste Bit gibt das Vorzeichen an, alles andere 
bleibt:
+25 = 0x41c80000
-25 = 0xc1c80000

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für alle Interessierten, meine decode/encode Routinen. Ich musste ein 
wenig herumprobieren und habe bei der Heizkurve noch leichte 
Rundungsabweichungen, aber das muss an der VRC intern liegen und zum 
Anzeigen reicht es (setzen kann man sie eh nicht):
function decode(y) {
    var x, cls = (y>>23 & 0xff);
    if (cls < 120) return 0;  // theoretical "< 1", but reduced to 31 bit
    if (cls > 150) return ERR;
    y -= (cls-1)<<23;
    x = (y&0x7fffffff) / (1<<(150-cls));
    if (y&0x80000000) {
        return -x;
    }
    return x;
}

function encode(x) {
    var y = 0, lg;
    if (x < 0) {
        x = -x;
        y = 0x80000000;
    }
    lg = Math.floor(Math.log(x)/Math.log(2));
    if (lg > 23) return ERR;
    if (lg < -6) return 0; // theoretical -125, but reduced to 31 bit
    // round up(!) to integer
    y += Math.ceil((1<<(23-lg)) * x);
    y += (126+lg)<<23;
    return y;
}
Ach ja - ich brauchte das für Node/JS, somit kann ich nur mit 32 Bit 
(signed) Integern rechnen, was mir aber ausreicht. In C(++) könnte man 
eine höherer Genauigkeit zulassen. Die Theoretischen 2^-125 halte ich 
jedoch für Bullshit...

Autor: Michael P. (michael_t114)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt:
Ich suche noch einen fertigen Ebus USB Adapter. Ich hoffe du hast einen.
Hab' dir eine E-Mail (PN) geschrieben. Danke!

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Hätte ich auch vermutet. Habe jetzt lange gesucht und einen Wert
> gefunden, den ich negativ einstellen kann: "AT Durchheizen"

hab nen neuen Basistyp "EXP" dafür eingebaut (4 bytes).
Kannst ja mal testen.

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wow - vielen Dank!
Vor allem auch der Hinweis auf "IEEE 754", hier z.Bsp. ein 
Online-Umrechner:
http://www.h-schmidt.net/FloatConverter/IEEE754de.html

EDIT: 'EXR' trifft auf den Vaillant Typ zu - mein Fehler!!
--> ES GEHT!

EDIT2: Hast du bei der Implementierung big+little endian vertauscht?
Die o.g. Hexdaten sind doch "lillte endian", funktionieren aber mit EXR.

: Bearbeitet durch User
Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Wow - vielen Dank!
> Vor allem auch der Hinweis auf "IEEE 754", hier z.Bsp. ein
> Online-Umrechner:
> http://www.h-schmidt.net/FloatConverter/IEEE754de.html
>
> EDIT: 'EXR' trifft auf den Vaillant Typ zu - mein Fehler!!
> --> ES GEHT!
>
> EDIT2: Hast du bei der Implementierung big+little endian vertauscht?
> Die o.g. Hexdaten sind doch "lillte endian", funktionieren aber mit EXR.

das wollte ich gerade fragen. also eigentlich sollte EXP richtig sein, 
sprich zu deinen beispieldaten passen.
Auf was für einer Maschine bist Du? Sprich was ergibt
gcc -E -dM - </dev/null |grep END

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John B. schrieb:
> Auf was für einer Maschine bist Du? Sprich was ergibt

Tja... da wird's wohl schwierig :/
Ich lass das Ding auf einer Seagate Dockstar (armel) laufen und 
kompiliere mit CodeSourcery Toolchain auf einer normalen x86 Box. Dessen 
GCC meldet ordentlich "little endian", aber beim Crosscompiler ist davon 
gar nichts definiert:
root@lxdevel:~# gcc -E -dM - </dev/null |grep END
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __ORDER_PDP_ENDIAN__ 3412
#define __ORDER_BIG_ENDIAN__ 4321
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
root@lxdevel:~# arm-none-linux-gnueabi-gcc -E -dM - </dev/null |grep END
root@lxdevel:~#
Was mich aber wundert: die "normalen" UIN, ULG usw. funktionieren ja 
problemlos...

Allerdings habe ich gesehen, dass diese ja von Hand umgedreht werden...
Was mich jetzt aber wundert: auf BIG ENDIAN Maschinen wäre doch der 
int32_t auch schon in BIG ENDIAN, also warum dort nochmal umdrehen??

Egal wie - da im Crosscompiler weder _BYTE_ORDER_ noch 
_ORDER_BID_ENDIAN_ definiert sind, greift das if und er dreht es bei 
mir um. Zwei mögliche Änderungen würden das verhindern:

a) #if defined _BYTE_ORDER_ && (_BYTE_ORDER_ == 
_ORDER_BIG_ENDIAN_)
   ...
b) #if _BYTE_ORDER_ != _ORDER_LITTLE_ENDIAN_
   ...

Aber nochmal: ist das überhaupt notwendig, wenn man davon ausgeht dass 
Integer in gleicher Reihenfolge wie Floats gespeichert werden?
Bzw. müsste man dann nicht eher "#if _BYTE_ORDER_ != 
__FLOAT_WORD_ORDER__" nehmen und wenn man ganz penibel sein möchte, auch 
noch PDB ENDIAN berücksichtigen??

: Bearbeitet durch User
Autor: Andreas B. (blademan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin neu hier und bei meiner Recherche zum eBus auf Euer Forum bzw. 
diesen Thread gestossen. Generell: Sehr interessante Infos und Themen!

Zurzeit beschäftige ich mich mit meiner Vaillant Heizung und deren 
Einstellungsoptimierung. In diesem Zusammenhang kommt man natürlich 
schnell an den Punkt, die Betriebsparameter aufzuzeichnen und 
analysieren zu wollen. Da die Anlage da ja alles schon "weiß", macht es 
also Sinn, sich diese Daten auch direkt vom eBus zu holen.

Ohne jetzt lange drum herum zu reden: Die Platine von Benedikt Patt ist 
also genau das, was ich brauche - die Einzelproduktion ist aber 
natürlich nicht sehr wirtschaftlich. Daher auch von meiner Seite die 
Frage, ob noch eine fertig geätzte Platin zum Verkauf steht (das 
Bestücken kann ich selbst übernehmen).

Vielen Dank für eine Rückmeldung.

Grüße,
Andreas

Autor: Sven G. (sveng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut H. schrieb:
> Ich habe noch genug Platinen, einfach 'ne PN an mich !

Soweit ich weiß, trifft o.g. Aussage noch zu. Und die Platinen sind top!
Irgendwie scheine ich hier jedoch (fast) der einzige zu sein, der kein 
SSOP selbst bestücken kann :(

Aber... meine sind jetzt eh alle weg!

Autor: Helmut H. (der_andere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau, muß man scheinbar nach jeder 3. Eintragung von Beiträgen hier 
kundtun....

Helmut hat noch genug, einfach 'ne PN an mich aber: als angemeldeter 
User ;-)

: Bearbeitet durch User
Autor: Michael P. (michael_t114)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Gibt es schon wieder fertige Adapter?
Mit der Platine kann ich leider nix anfangen :(

Danke!

Autor: John B. (john30)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven G. schrieb:
> Aber nochmal: ist das überhaupt notwendig, wenn man davon ausgeht dass
> Integer in gleicher Reihenfolge wie Floats gespeichert werden?
> Bzw. müsste man dann nicht eher "#if _BYTE_ORDER_ !=
> __FLOAT_WORD_ORDER__" nehmen und wenn man ganz penibel sein möchte, auch
> noch PDB ENDIAN berücksichtigen??

ich baue gerade einen autoconf check dafür ein und dann im code die 
entsprechende selektion für 1:1, umgedreht, oder selbst ausrechnen.

Autor: Andreas B. (blademan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut H. schrieb:
> Genau, muß man scheinbar nach jeder 3. Eintragung von Beiträgen hier
> kundtun....
>
> Helmut hat noch genug, einfach 'ne PN an mich aber: als angemeldeter
> User ;-)

Kurze Rückmeldung von mir:

1.) Platinen sind angekommen: Danke für die prompte Lieferung an Helmut.
2.) ...zusammengebraten
3.) ...angestöpselt
4.) ...läuft!

Ich musst nicht mal am Trimmer drehen, die Busnachrichten wurden gleich 
anstandslos gelesen. Ich kann also die Platine ebenfalls nur empfehlen, 
super Teil!

: Bearbeitet durch User