Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

#210
@heikoh81:

Schau doch bitte auf die CSV (besser noch: ODS) Datei. Da steht alles drin.

In der zugegebenermaßen etwas kryptischen Syntax von ebusd steht am Anfang des Tabellenteil etwas in der Form (wobei ich nicht weiß. welchen Klassennamen Ihr verwendet habt - ich nehme mal 47000)

*r,47000,,,,15,B509,0D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*w,47000,,,,15,B509,0E,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


Das bedeutet: In der Zeile


r,,OperatingModeHK,HK1_OPMode,,,,2F00,,,hwmode2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


wird wegen des r in der ersten Spalte automatisch eingesetzt

r,47000,OperatingModeHK,HK1_OPMode,15,B509,0D,2F00,,,hwmode2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

und das führt beim eingetippten Befehl ebusctl read OperatingModeHK zum abgesetzten Befehl

15B509030D2F00

Man braucht also nur die Zeile um ein kleines ";w" zu ergänzen:

r;w,,OperatingModeHK,HK1_OPMode,,,,2F00,,,hwmode2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

um mit Hilfe des eingetippten Befehls ebusctl write OperatingModeHK 2 zum abgesetzten Befehl

15B509040e2F0002

zu kommen. Na, und falls oben in der Tabelle die Zeile mit "*w" noch fehlt: Das wirst Du hinbekommen.

LG

pah

amunra

Hallo pah,

ich habe mir grade bei mir die programmierbaren Schaltzeiten angesehen (diese liegen bei mir 15 B15 02 0000-0600)

Mir ist aufgefallen, dass in deinen Template für die Schaltzeiten, die Typen: slot1-3;days definiert sind.
Bist du dir da sicher, dass das richtig ist?
Bei mir bekomme ich ein 8 Byte(paar) zurück der wie folgt aufgeschlüsselt wird:
08 000024278a8a9001 f3 ==> 00=> 00 | 00 => 00 | 24 => 36/6=06:00 | 27=> 39/6 = 09:00 | 8a=> 138/6 =23:00 | 138/6 =23:00 | 90=>144/6=24:00
Damit sind die ersten 7 Byte(paare) des Typs: slot1-3 - soweit so gut.
Das letzte Bytepaar definiert die Gruppierung, also: 0=selected;1=Mo-Fr;2=Sa-So;3=Mo-So das ergibt den TemplateTyp: daysel

Ist das bei dir auch so? Vielleicht kannst du das ja überprüfen.
Dies nur zur Info.
VG Arthur

heikoh81

Hallo pah,

ich verstehe es immer noch nicht ganz.
Ich habe folgendes einfach an die Vaillant.csv (Stand 27.12.2014) angehängt:


######HEIKO-BEFEHLE
*r,47000,,,,15,B509,0D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*w,47000,,,,15,B509,0E,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,47000,OperatingModeHK,HK1_OPMode,15,B509,0D,2F00,,,hwmode2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


Es kommt folgende Fehlermeldung:

root@raspiebus:~# ebusd --checkconfig
2015-01-03 14:17:02.694 [bas event] ebusd started
2015-01-03 14:17:02.694 [bas trace] path to ebus configuration files: /etc/ebusd
2015-01-03 14:17:02.710 [bas trace] read templates
Error reading "/etc/ebusd/Vaillant_Protokoll_kurz.csv" line 116 field 5 value "15": ERR: invalid address
Erroneous item is here:
"r","47000","OperatingModeHK","HK1_OPMode","15","B509","0D","2F00","","","hwmode2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""
                                            ^
2015-01-03 14:17:02.768 [bas trace] read config files
2015-01-03 14:17:02.769 [bas event] message DB: 114
2015-01-03 14:17:02.770 [bas event] updates DB: 15
2015-01-03 14:17:02.771 [bas event] polling DB: 0
2015-01-03 14:17:02.774 [bas event] ebusd stopped


Zumindest müsste damit doch immer der aktuelle Zustand ausgelesen werden.
Auf gleiche Weise könnte ich jetzt eine vollständige write-Zeile anfügen, wenn es denn funktionieren würde.

Viele Grüße,
Heiko

amunra

in der Zeile ist die Adresse falsch

r,47000,OperatingModeHK,HK1_OPMode,15,B509,0D,2F00,,,hwmode2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

es muss so aussehen:
r,47000,OperatingModeHK,HK1_OPMode,15,B509,0D2F00,,,hwmode2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Bei dieser Definition:
######HEIKO-BEFEHLE
*r,47000,,,,15,B509,0D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*w,47000,,,,15,B509,0E,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


kann es aus so aussehen:

r,,OperatingModeHK,HK1_OPMode,,,2F00,,,hwmode2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

VG Arthur

P.S: Bearbeite, wie von pah auch schon empfohlen, die Einträge in OpenOffice, dann kannst du auch nichts (kaum etwas) falsch machen.

heikoh81

Danke für die schnelle Ant.
Tatsächlich hat einfach das Template "hwmode2" noch gefehlt.
Nachdem ich das in der _templates.csv angefügt habe:


betriebsartheiko,UCH,0=Aus;2=Auto;4=Nacht,,


funktioniert es so:

######HEIKO-BEFEHLE
*r,47000,,,,15,B509,0D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*w,47000,,,,15,B509,0E,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r,,BetriebsartLesen,AuslesenDerBetriebsart,,,,2F00,,,betriebsartheiko,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


Und im Telnet:

root@raspiebus:~# telnet localhost 8888
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
read BetriebsartLesen
Nacht


Nacht stimmt in diesem Fall.
Viele Grüße,
Heiko

heikoh81

#215
Viel fehlen kann jetzt nicht mehr:


######HEIKO-BEFEHLE
*r,47000,,,,15,B509,0D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*w,47000,,,,15,B509,0E,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
r;w,,Betriebsart,AuslesenUndSchreibenDerBetriebsart,,,,2F00,,,betriebsartheiko,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


Liefert noch:

read Betriebsart
Nacht

write Betriebsart 2
usage: 'write class name value[;value]*' or 'write -h ZZPBSBNNDx'

write 47000 Betriebsart 2
ERR: file/element not found or not readable

Prof. Dr. Peter Henning

@amunra: Ist wohl ein Überbleibsel der alten templates. Bin gerade an einer anderen Baustelle, schaue mir das nachher an.

LG

pah

amunra

Zitat von: heikoh81 am 03 Januar 2015, 14:55:10
Viel fehlen kann jetzt nicht mehr:

In der Tat, gib doch mal ein:

ebusctl write 47000 Betriebsart Auto
oder
ebusctl write 47000 Betriebsart Aus
oder
ebusctl write 47000 Betriebsart Nacht
VG Arthur

heikoh81

Danke für die schnelle Antw.
So funktioniert es:

root@raspiebus:~# ebusctl write 47000 Betriebsart Auto
done

root@raspiebus:~# ebusctl read Betriebsart
Auto


Viele Grüße,
Heiko

amunra

Ebus hat wohl ein 24:00 Uhr Bug im Zeitformat (das herauszufinden hat mich übrigens 1 Stunde gekostet ;o) ):

Hier ist die Endzeit auf 24 Uhr eingestellt:

08000024278a8a9001f3 ergibt: 0;00:00;06:00;06:30;23:00;23:00;[-:-];Mo-Fr

Hier ist die Endzeit auf 23:50 Uhr eingestellt:
08 000024278a8a8f01 2f ergibt:  0;00:00;06:00;06:30;23:00;23:00;[23:50];Mo-Fr

Meine "TimerProgMonday" TypDefinition lautet: status;slot;slot;slot;daysel (slot=>from;to)

VG Arthur

heikoh81

@amunra:
Welche Zeitfenster kann ich damit einstellen?
Meine kennt Heizbetrieb, Warmwasser, Warmwasser Zirkulationspumpe (allerdings keine vorhanden).

@alle:
Weiß jemand, wie die Betriebsart "1x Speicherladung" aktiviert werden kann?
Auf der Calormatic erscheint diese wie ein "Popup", d.h. die sonstige Anzeige ist ausgeblendet, und es gibt nur die Option "Abbrechen".
Ich vermute, die Calormatic priorisiert überchreibt hier kurzfristig die Zeitfenster für Warmwasser und setzt den WW-Sollwert auf dem ebus hoch.

Viele Grüße,
Heiko

amunra

Zitat von: heikoh81 am 03 Januar 2015, 19:52:58
@amunra:
Welche Zeitfenster kann ich damit einstellen?
Meine kennt Heizbetrieb, Warmwasser, Warmwasser Zirkulationspumpe (allerdings keine vorhanden).

Genau diese.

VG Arthur

Prof. Dr. Peter Henning

Roland Jax hat jetzt noch ein paar Daten geschickt, diese sind aber noch nicht verifiziert. Hinzu kommt, dass für die vrs620 nicht nur unter der Adresse 15 Register existieren, sondern dass auch unter den Adressen 23 (Zirkulation) 25 (Hot Water Circuit HWC), 26 (Heating Circuit HC), 50 (Mixer Circuit) und EC (Solarkreis) eigene Register  existieren (siehe meine Decodierung des Partymodus gestern...).

Bleibt also spannend...

LG

pah

Jojo11

Hallo zusammen,

auch von mir noch ein frohes Neues!
Da ich anderweitig ausgelastet war, konnte ich mich leider nicht aktiv mit dem ebus beschäftigen. Ich habe den thread aber mit Interesse weiterverfolgt und hoffe, in den kommenden Tagen wieder ein wenig mehr Zeit zu haben.

schöne Grüße
Jo

Prof. Dr. Peter Henning

Ich hoffe mal, dass dies jemand von Vaillant mitliest:

Es ist einfach gruselig, was die Herrschaften bei Vaillant sich als tumben deutsch-englischen Mischmasch für ihre Kommandobezeichnungen ausdenken.

Beispiele:

EnableSonderdisplays
RaumTempOffsetEigenErwaerm
Incrementalgeber1Typ

LG

pah