Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

borg

Zitat von: rellla am 18 April 2018, 10:14:20
Somit sollte es möglich sein, alle Werte per Ebusd abzufragen, die du auch mit der Fernbedienung abfragen kannst.
Danke für die Antwort! Inzwischen bin ich etwas weiter. Die Fernbedienungen scheinen die Slave-Geräte mit den Adressen 90 und 91 zu sein. Sie senden weder Daten beim Menü-Durchsehen noch beim Wert-Einstellen. Sie werden zyklisch vom Controller abgefragt und können z.B. eine solche Antwort liefern:
Zitat
unknown MS cmd: 1091100a02200a / 0e300a700ac6a8080201000000aa91
Die eingestellte Uhrzeit sind 0a70 Minuten seit 0:00Uhr des vorherigen Dienstags. Es sind a8c6 Tage seit 1.1.1900. Ich versuche erstmal, passende Definitionen für ebusd aufzuschreiben. Ein einfaches ... 10,91,100a,02200a,... klappt nicht. Ich bleibe aber dran.

Viele Grüße

Sven77

Der Fehler liegt darin, dass die 02 zwischen 1091100a und 200a die Länge der ID ist, die Ebusd selbst einfügt.
Eine Mögliche Definition für diese Nachricht wäre also:
r,,RemoteTEST,,,91,100a,200a,Wert1,,UIN,,,,Wert2,,UIN,,,,Wert3,,UIN,,,,Wert4,,UIN,,,,Wert5,,UIN,,,,Wert6,,UIN,,,,Wert7,,UIN,,,

(die Quelle 10 würde ich immer weglassen)
VG, Sven

borg

Zitat von: Sven77 am 19 April 2018, 09:16:07
Der Fehler liegt darin, dass die 02 zwischen 1091100a und 200a die Länge der ID ist, die Ebusd selbst einfügt.
Danke! Das habe ich nicht gewusst. Du rettest mir den Abend.  :)
[...]
Zitat
(die Quelle 10 würde ich immer weglassen)
Habe auch nicht gewusst, dass das geht. Hatte nur probiert Quelle und Ziel wegzulassen, so wie in den Vorlagen. Und das ging nicht (ist auch logisch, bei mehreren Geräten mit gleichen Signalen).

Wie ist das eigentlich mit
Zitat
r,,RemoteTEST,,,
dem zweiten Parameter "circuit"? Ich hatte den Eindruck, dass ebusd wenigstens ab Version 3 darauf besteht, dass dieser angegeben wird. Konnte allerdings aus der Dokumentation nicht gut ablesen, was er bedeutet. Habe mal geraten, dass es irgendwie den Typ des Sendegeräts beschreibt und bei mir "ctrl" für Controller eingetragen.

Viele Grüße

Sven77

Zitat von: borg am 19 April 2018, 10:37:54
Ich hatte den Eindruck, dass ebusd wenigstens ab Version 3 darauf besteht, dass dieser angegeben wird. Konnte allerdings aus der Dokumentation nicht gut ablesen, was er bedeutet. Habe mal geraten, dass es irgendwie den Typ des Sendegeräts beschreibt und bei mir "ctrl" für Controller eingetragen.
Sieh an, das mit Version 3 wusste ich noch nicht, ist aber gut möglich.
Man unterteilt so, zu welchem Gerät diese Nachricht gehört. In dem Fall dann aber eher "remote1" o.ä., weil sich diese Nachricht auf das Zielgerät bezieht, egal von welchem Slave sie kommt.

Zieladresse und Circuit(-Bezeichnung) kommen bei den mitgelieferten CSVs aus dem Dateinamen (Beispiel "08.hmu.csv" --> Ziel 08, Circuit "hmu").
Hier kannst Du aber frei einen Namen bestimmen, sie sollten sich nur nicht überschneiden, daher die 1 an meinem Vorschlag.
VG, Sven

rellla

Zitat von: borg am 18 April 2018, 23:44:04
Danke für die Antwort! Inzwischen bin ich etwas weiter. Die Fernbedienungen scheinen die Slave-Geräte mit den Adressen 90 und 91 zu sein. Sie senden weder Daten beim Menü-Durchsehen noch beim Wert-Einstellen. Sie werden zyklisch vom Controller abgefragt und können z.B. eine solche Antwort liefern: Die eingestellte Uhrzeit sind 0a70 Minuten seit 0:00Uhr des vorherigen Dienstags. Es sind a8c6 Tage seit 1.1.1900. Ich versuche erstmal, passende Definitionen für ebusd aufzuschreiben. Ein einfaches ... 10,91,100a,02200a,... klappt nicht. Ich bleibe aber dran.
Ich glaube, ich habe mich falsch ausgedrückt... Wenn du die Menüs durchgehst, wäre es gut, wenn mehr 1090 bzw 1091 MS-Nachrichten auftauchen. Der Regler sendet an die Fernbedienungen habe ich natürlich gemeint. Ist das der Fall?

Was hast du für eine Wärmepumpe, bzw. haben deine Werte auch eine ID Nr. wie bei mir hier, z.B. 01-003 etc.?
Bei mir stellen nämlich die ersten 2 Byte in der Slave Antwort nach der Anzahl immer den TEM-Code dar.

10 91 100a 02 0005 / 06 1005 e200 0100
MM SS PBSB    ID        TEM  Wert Wert

Aus 1005 würde dann 10-016 werden.
(Und e200 könnte entweder 226 oder 22.6 etc. werden, oder aber auch 0 und -30, falls e2 als signed integer betrachtet wird, oder ...)

Gruß
Andreas

istler

Hallo borg,

nur noch ein Hinweis: im Tool ebusctl kann man sich auch die unbekannten Nachrichten dekodiert ausgeben lassen:
ebusctl grab result decode
Evlt. hilft das beim Analysieren.

Gruß
Maik

borg

(Habe ein paar Tage gebraucht, um das weiter zu erforschen.)

Zitat von: rellla am 19 April 2018, 12:35:54
Ich glaube, ich habe mich falsch ausgedrückt... Wenn du die Menüs durchgehst, wäre es gut, wenn mehr 1090 bzw 1091 MS-Nachrichten auftauchen. Der Regler sendet an die Fernbedienungen habe ich natürlich gemeint. Ist das der Fall?

Das Bedienteil speichert alle Daten. Wenn ich Menüs durchgehe, passiert auf dem Bus nichts. Der Controller schickt vier verschiedene 100a Daten-Broadcasts im jeweils 80s-Zyklus: 1100/1000, 1101/1001, 1102/1002, 1103/1003. Die Daten der Anzeigen finde ich darin wieder und einiges mehr, was offenbar nicht angezeigt wird.

Wenn ich im Bedienteil Parameter ändere, passiert auf dem Bus immer noch nichts. Auch dafür schickt der Controller alle 80s an jedes Bedienteil eine Nachricht, diesmal eine Master-Slave-Message. In der Antwort wird ein Bit gesetzt für "habe neue Daten" und ein Code für den Datenbereich, in dem die Änderung liegt. Dieser wird dann vom Controller ausgelesen. Es wird auch noch eine Art Tokens ausgetauscht um sicherzugehen, dass die nur einmal zu lesende Änderung auch wirklich beim Controller ankommt.     

Zitat
Was hast du für eine Wärmepumpe, bzw. haben deine Werte auch eine ID Nr. wie bei mir hier, z.B. 01-003 etc.?
Bei mir stellen nämlich die ersten 2 Byte in der Slave Antwort nach der Anzahl immer den TEM-Code dar.

10 91 100a 02 0005 / 06 1005 e200 0100
MM SS PBSB    ID        TEM  Wert Wert

Aus 1005 würde dann 10-016 werden.

Das ist eine Hautec-Anlage von ca. 2006. Mit einer Abluft- und einer Erdwärmepumpe. Auf dem Controller steht "TEM SE 6000 WPC". Von TEM-Code habe ich bisher noch nie etwas gehört. Ich habe mal für eine Nachricht die auch hier vorkommenden Codes (s.o.)  als TEM_P deklariert.
10 91 100a 02 200b / 0e 300b cd00 af00 f401 01000000 c091
lese ich damit als
22-048;20.5;17.5;50.0;01 00 00 00 c0;91
Welchen Vorteil hat diese Darstellung? Ich hätte 300b erst mal als übersichtlicher angesehen, zumal es auch 200b, 310b/300b, 310a/300a usw. gibt.

Gruß
Christoph

rellla

Zitat von: borg am 27 April 2018, 00:06:36
Das Bedienteil speichert alle Daten. Wenn ich Menüs durchgehe, passiert auf dem Bus nichts. Der Controller schickt vier verschiedene 100a Daten-Broadcasts im jeweils 80s-Zyklus: 1100/1000, 1101/1001, 1102/1002, 1103/1003. Die Daten der Anzeigen finde ich darin wieder und einiges mehr, was offenbar nicht angezeigt wird.

Wenn ich im Bedienteil Parameter ändere, passiert auf dem Bus immer noch nichts.
Schade, dann verhält sich die Anlage wohl doch anders...
Zitat
Auf dem Controller steht "TEM SE 6000 WPC".
Ok, hier ist es der TEM SE 6024 WPC ...
Zitat
Von TEM-Code habe ich bisher noch nie etwas gehört. Ich habe mal für eine Nachricht die auch hier vorkommenden Codes (s.o.)  als TEM_P deklariert.
10 91 100a 02 200b / 0e 300b cd00 af00 f401 01000000 c091
lese ich damit als
22-048;20.5;17.5;50.0;01 00 00 00 c0;91
Welchen Vorteil hat diese Darstellung? Ich hätte 300b erst mal als übersichtlicher angesehen, zumal es auch 200b, 310b/300b, 310a/300a usw. gibt.
Das hat den Hintergrund, dass bei meiner WP alle Parameter durchnummeriert sind und diese Nummern sowohl im Menu des Bedienteils als auch in der Parameterliste der Anleitung angegeben sind. So lassen sich die Messages dann relativ einfach zuordnen. Aber wie es aussieht, läuft das bei deiner Steuerung etwas anders... Kann dir dann wohl beim Entschlüsseln doch nicht so weiterhelfen wie ich dachte :/

Gruß
Andreas

NemoN

Bei mir läuft ein Calormatic VRC470 Regler + Solar für Warmwasser/Heizung + 700L Speicher + Gastherme.
Ist es möglich die Speicheraufheizung via Gastherme auf Knopfdruck zu deaktivieren? (Es soll ein Kinderpool mit Warmwasser befüllt werden)

Prof. Dr. Peter Henning

Es ist mir noch nicht ganz klar, wie das gemeint ist.

Aber ich würde für diesen Fall eher einen ganz primitiven eigenen Wärmetauscher an den Solarkreislauf klemmen (zweites Wellrohr ein paar Meter entlang der Solarleitung, innerhalb einer - dann neu gemachten - isolierung) und dort einfach etwas von der solar erzeugten Wärme abgreifen.

LG

pah

NemoN

#2665
Zitat von: Prof. Dr. Peter Henning am 03 Juli 2018, 15:34:53
Es ist mir noch nicht ganz klar, wie das gemeint ist.

ich würde ganz einfach einen Schlauch am Warmwasserhahn im HWR anschließen und den Pool befüllen.
Die Speicheraufheizung via Gastherme sollte dann deaktiviert sein, das er nicht nachlädt wenn der Speicher "leer" ist, sondern die Wärme vom Solarkreis gleich weitergibt (Ist ja im Sommer ausreichend vorhanden - der kreis hat dann um die 120 Grad)

john30

Zitat von: NemoN am 04 Juli 2018, 08:56:35
ich würde ganz einfach einen Schlauch am Warmwasserhahn im HWR anschließen und den Pool befüllen.
vermutlich ließe sich über HwcCircuitActive einfach der Warmwasserkreis abstellen oder über HwcOPMode das Laden abschalten, aber so ganz sicher bin ich da nicht.
author of ebusd

cs-online

#2667
...wenn es eine einmalige Sache sein soll, wäre es evtl. auch möglich einfach Tage der Abwesenheit / Urlaub in der Steuerung einzustellen, dann wird auch nicht über Therme nachgeladen... Oder einfach die Therme abstellen...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

istler

Was macht ihr jetzt wenn ihr im Urlaub seid? Last ihr die Solarflüssigkeit die Urlaubszeit vor sich hin köcheln? :-\
Ich dachte mir, dann kann ich doch während ich im Urlaub bin, Nachts meinen Speicher leer fahren und die Umwelt etwas heizen... Damit ich Tagsüber wieder den Solarertrag einfahren kann, bzw. eine Solarflüssigkeit in Bewegung halte.

Mit dem Befehl:
ebusctl hex 26b506020206

Startet der Testmod Kollektor1-Pumpe. Ggf. werden dann andere Pumpen weggeschaltet, dies ist auf jeden Fall der Fall, wenn man den Test über das Bedienteil startet. Zur Zeit ist aber meine Heizung eh aus...

Mit dem Befehl:
ebusctl hex 26b5060101
Wird die Kollektor1-Pumpe wieder abgeschaltet.

Sonnige Grüße
Maik

cs-online

ähm, also ich hatte die Frage so verstanden, dass der Inhalt des Speichers, welcher durch Solar geheizt wurde, in den Pool sollte bis Speicher leer ist, aber eben dann nicht (wenn Nachladetemperatur erreicht wurde) mit der Therme der Speicher nachgeladen werden soll. Sonst müßte der Fragensteller das ggf. noch mal näher beschreiben, was er tun möchte, bevor wir hier 20 Lösungen haben, die nur leider nicht zum Problem passen...

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr