Läuft: Heizung mit eBus-Schnittstelle

Begonnen von Prof. Dr. Peter Henning, 29 November 2014, 13:36:59

Vorheriges Thema - Nächstes Thema

jamesgo

lade dir das fertige ebusd pkg herunter statt zu versuchen es selbst zu übersetzten:

aus https://github.com/john30/ebusd/releases/tag/v1.2.0

ebusd-1.2.0_armhf.deb

... installieren dann mit

dpkg -i ebusd-1.2.0_armhf.deb

christianh

@jamesgo  danke hat super geklappt ... soll ich das nun auch mit den config datein machen?

jamesgo

die Konfigurationen kommen als Zip-File - kein pkg.
Nach /etc/ebusd werden nur die kopiert, die zur Heizung passen.

christianh

#948
ich glaube ich habe nun den dämon am laufen. wie kann ich nun kontrollieren ob die daten richtig vom USB koppler gelesen werden?

@jamesgo   die Konfigurationen kommen als Zip-File  .....  muss ich die laden (Vailant ecoTec exclusiv VC206)?


Muss ich bai.scv von https://github.com/john30/ebusd-configuration/tree/master/ebusd-1.x.x/vaillant_de nehmen? und wie bekomme ich die in das richtige verzeichnis (welches)

2015-08-28 20:09:32.611 [main error] error reading config files: ERR: end of inp
ut reached, /etc/ebusd/broadcast.csv:4
2015-08-28 20:09:32.611 [main notice] found messages: 0 (0 poll, 0 update)
2015-08-28 20:09:32.639 [bus notice] signal acquired
2015-08-28 20:09:38.734 [bus notice] new master 10
2015-08-28 20:09:38.734 [update notice] unknown MS cmd: 1050b505021800 / 00
2015-08-28 20:09:40.476 [update notice] unknown MS cmd: 1050b505023001 / 0101


kann mir da wer weiterhelfen?


NACHTRAG!!!

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?

also die csv datein im raw Format!!
dann hab ich noch folgende meldungenen:
ebusd --checkconfig
2015-08-29 22:56:23.055 [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-29 22:56:23.137 [main notice] found messages: 338 (0 poll, 0 update)


Reinhart

Hallo christianh!

Ich weiß jetzt nicht woher du die Templates hast, ich nehme an von deinem geposteten Link von John. Wenn du zum Beispiel auf der _templates bist, dann klicke doch im rechten Bildbereich auf "Raw" und schaue dir dann das Ergebnis an.

# template name,type / templates,divider / values,unit,comment
#ebus specification types:,,,,
cntstarts,BCD:3,,,Anlaufzähler
cntminutes,BCD,,min,Betriebsstunden
cnthours,BCD:3,,h,Betriebsstunden
......


das sollte so ausschauen. Du kannst den gesamten Inhalt dieser "Raw" Anzeige kopieren und neu auf /etc/ebusd als _templates.csv speichern. Die Fehler sollten dann weg sein. Als Editor verwende ich persönlich PSpad, da der die Linux konformen Einstellungen beherrscht und direkt per FTP speichern kann (sofern die IP eingerichtet ist).
Bitte die Dateien mit keinem normalen Notepad o.ä. bearbeiten, oder mache es so wie es pah vorgeschlagen hat.
Checke deine Dateien nochmals, dann wird es klappen. Ich habe zusätzlich noch die broadcast, scan und common im Verzeichnis.

LG



FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Prof. Dr. Peter Henning

Man kann die CSV (Comma Separated Value) Dateien nicht mit dem Kontextmenü ("rechte Maustaste") speichern - dann kommt der HTML-Code mit hinein.

Die CSV-Dateien sollte man auch auf keinen Fall direkt bearbeiten, sondern mit Open Office aus OO Calc Dateien (Endung .ods) nach CSV exportieren. Sehr viel übersichtlicher.

LG

pah

christianh

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%)?

Prof. Dr. Peter Henning

Erstens ist da nichts "verschlüsselt".

Und zweitens sagt ebusd doch ganz genau, was los ist: 10-50-b5-05-02-18-00 .... ist ein Kommando  von der Steuerung = Gerät 10 an Gerät 50 = V6100 vom Hersteller b5 = Vaillant. Das Kommando lautet 05 = "set burner operational data" und hat ein Datenpaket bestehend aus 2 Bytes 18 und 00.

Wenn das Kommando in den CSV-Dateien (und noch einmal: die sind nicht sinnvoll von Hand editierbar) nicht vorkommt, muss man es eben eintragen und herausfinden, was es tut.

LG

pah


christianh

Sollte nicht mit den eingespielten CSV Dateien der code übersetzt werden?

Von wo bekomme ich die Informationen was die Kommando bytes sind?? Z.b. 05 set burner optional data?

Prof. Dr. Peter Henning

Das haben viele von uns hier im Forum in mühevoller Kleinarbeit herausgefunden...

Nämlich durch Lesen der Daten und Vergleich mit dem, was die Geräte dann tun.

In die 05er Kommandos würd eich mich übrigens nicht einmischen - die gehen von der Steuerung an die anderen Geräte.

Wichtig ist, die Register etc. der Steuerung lesen und setzen zu können. Damit überwacht und steuert man die Heizung.

Und auch nochmal der Tipp: Niemals versuchen, die CSV-Dateien zu bearbeiten - immer mit Open Office und dann exportieren.

LG

pah

christianh

OK die 05er lass ich links liegen - brauch ich auch nicht. Für mich wäre wichtig die Temperatur (Vorlauf Beziehungsweise Raumtempatur) anschließend in fhem ändern zu können.
Ich war bisher der Meinung ebusd muss die binären Daten der vaillant Geräte in lesbaren Text umwandeln, sodass diese in fhem übernommen werden können.
Falls ich falsch liege bitte ich um Berichtigung.

Kann ich nun das Beispiel aus der fhem wiki nehmen und die Daten in fhem übernehen sodass ich die Raumtemperatur steuern?

Jojo11

Zitat von: jamesgo am 19 Juli 2015, 09:04:50
Hallo,

hier eine kurze Beschreibung zum Modul 98_GAEBUS.pm:
[...]

Grüße
Andy

Hallo,

da nun wohl wieder die kältere Jahreszeit beginnt, hätte ich auch gerne Zugriff auf meine Heizung. Da ich mit ECMD Probleme habe (FHEM-Absturz wenn device nicht verfügbar), würde ich gerne dieses Modul mal ausprobieren. Kann mir jemand sagen, der es verwendet, was passiert, wenn der Rechner, auf dem der ebusd läuft, plötzlich ausfällt? Idealer Weise in einer Konfiguration, bei der 10-20 Parameter regelmäßig aktualisiert werden.
Danke!

schöne Grüße
Jo

jkriegl

#957
Bei mir läuft alles stabil, uptime_text 50 days, 06 hours, 50 minutes

Das Register  -c hc  3300  liefert 3 Datenbytes (Felder). Da bei mir der Heizkreis auf HK2 ist, benötige ich das 2. Byte (1. Byte HK1 ist der Brennerkreis)
ebusctl write -h 26b509030d3300 031e201e  (15;16;15)

Ich habe daher den csv-Eintrag erweitert
r;w,,TempDesiredLow,Absenksollwert,,,,"3300",,,temp1;temp1;temp1,,,

ebusctl read -f -c hc TempDesiredLow     15.0;16.0;15.0
ebusctl read -f -c mc TempDesiredLow     15.0   (dieser csv-Eintrag ist noch unverändert)

Da ich das 2. Datenfeld verändern möchte versuche ich zu schreiben
usage: write [-c] CIRCUIT NAME [VALUE[;VALUE]*]
ebusctl write -c hc TempDesiredLow 15.0;17.0*  und erhalte
ERR: end of input reached     -bash: 17.0*: Kommando nicht gefunden.
oder
ebusctl write -c hc TempDesiredLow 15.0* ERR: invalid numeric argument
ebusctl write -c hc TempDesiredLow 15.0 ERR: end of input reached

Was mache ich falsch? Das Semikolon macht wohl Probleme. Muss ich die hex-Schreibweise benutzten?
Verwende: ebusctl of ebusd 1.1.0

Das Schreiben von Registern mit nur einem csv-Datenfeld funktioniert
ebusctl write -c ui RoomTempHoliday 16.0  done. Klappt auch über fhem.

Ganz toll wäre es, wenn man mit Feld-Index, wie beim Lesen, schreiben könnte.
ebusctl read -c hc TempDesiredLow temp1.1 17.0 (Die Komplexität ist mir klar.)
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Christian.

Du hast in der CSV-Datei angegeben, dass 3 Parameter verwendet werden sollen. Ich vermute deshalb, dass write auch genau 3 Parameter erwartet, also z.B.
ebusctl write -c hc TempDesiredLow 15.0;17.0;15.0

[VALUE[;VALUE]*] bedeutet, dass man optional mindestens einen Wert angeben kann; also z.B. 1.0 oder 1.0;2.0;3.0;4.0. Der Stern gehört zur Beschreibung und ist nicht Bestandteil des Wertes.
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

jamesgo

Hallo Jo,

>>98_GAEBUS.pm ...
>>
>>Kann mir jemand sagen, der es verwendet, was passiert, wenn der Rechner, auf dem der ebusd läuft, plötzlich ausfällt?

Der Socket zum ebusd bleibt normalerweise permanent offen. Fällt der Rechner mit dem ebusd aus gibt es einen Fehler beim Lesen und es wird bei nächsten Lesen versucht den Socket neu aufzubauen.

Falls nun der Rechner noch erreichbar ist, aber der Prozess fehlt kommt ein ganz kurzer timeout zum Tragen. Ich bin mir aber nicht sicher was passiert, falls die IP nicht mehr errechbar ist.

Ich werde das heut abend mal ausprobieren und berichten.

Grüße
Andy