Forum: Haus & Smart Home Junkers CAN-Bus Protokoll


von Thorsten Weiss (Gast)


Lesenswert?

Hallo alle zusammen.

ich suche nach einer Möglichtkeit meine Junkers-Therme mit meiner 
Hausautomatisierung zu verbinden um Betreibsdaten mitzuloggen.

Hat vielleicht jemand etwas ähnliches am laufen?


Auf der Seite http://jucan.reissberg.com/index.htm wurde mal eine 
anbindung über den CAN-Bus der Regelung angefangen, leider ist der Autor 
mittlerweile verstorben.

Im Forum hier gab es auch mal einen Thread wo jemand ähnliches vor 
hatte:

Beitrag "Ceracontrol/Heatronic Protokoll"

Vielleicht kann mir jemand weiterhelfen.

Danke und Gruß,

Thorsten Weiss

: Verschoben durch Moderator
von Besi (Gast)


Lesenswert?

Hallo allerseits,

bei unserer Heizungsanlage möchte ich nicht nur die Daten auf dem CAN 
Bus loggen, sondern auch einige Optimierungen der Steuerung einbringen.
In unserem EFH wurde eine Junkers ZBS 22/120 MRA21 mit 
witterungsgeführter Regelung installiert.
Prinzipiell darf an der Regelung des Heizkessels nicht eingegriffen 
werden, aber meiner Auffassung nach ist noch Optimierungspotenzial 
vorhanden. Dieses Potenzial liegt in der Steuerung der Heizungsanlage, 
denn die Parametrierung der Regelung kann weitreichend über die 
Servicefunktionen der Heatronic vorgenommen werden.
Damit dieses Potential genutzt werden kann, reicht es nicht aus, die CAN 
Nachrichten zu protokollieren und decodieren, sondern es müssen auch CAN 
Nachrichten auf den Bus versandt werden. Mit den Nachrichtenversandt 
können entsprechende Busteilnehmer gesteuert werden.
Zur Realisierung könnte ich mir einen Mikrocontroller mit Userinterface 
vorstellen, welcher auch als Datenlogger fungiert. Der Datenlogger 
könnte mittels CF-Card aufzeichnen, damit nicht kontinuierlich ein PC 
für die Datenerfassung eingeschaltet sein muss. Eine Anbindung ans 
Internet zur Parametrierung des Mikrocontrollers möchte ich aus 
Sicherheitsgründen nicht forcieren, jedoch wären Benachrichtigungen 
bestimmter Ereignisse mittels SMTP-Client (Email) denkbar.

Damit hier eine Grundeinschätzung der Thematik getroffen werden kann, 
benötigt man einen Mitschnitt der Kommunikation auf den CAN Bus. Zuvor 
gilt es jedoch zu klären, ob eine Adaption (BUS-Modul an der Heatronic) 
benötigz wird. Aus den bisherigen Recherchen und den somit 
zusammengetragen Informationen, konnte keine CAN Schnittstelle an der 
Heatronic ermittelt werden. Vielmehr verweisst der Hersteller für die 
CAN-Bus Kommunikation auf die Busmodule BM1 und BM2.

Haben Sie diesbezüglich schon andere Erkenntnisse gesammelt?

Gruss
Besi

von Besi (Gast)


Lesenswert?

Hallo nocheinmal,

habe mir die Mühe gemacht, ein Busmodul für die Heatronic zu entwickeln, 
dieses an die Anlage adaptiert und mittels einen CAN-Analyser die 
Nachrichten auf den CAN-BUS über einige Tage aufgezeichnet. Mittels der 
Aufzeichnungen konnten einzelne Sequenzen analysiert werden und Dank des 
CAN- Analysers wieder auf den BUS geschickt werden. Das Ergebnis ist, 
das die Heatronic und somit die Heizungssteuerung sowie der Kessel 
exakt, die gleichen Prozesse durchlaufen haben.
Somit kann nun die Dekodierung der Nachrichten erfolgen.

Gruss
Besi

von SvenG (Gast)


Lesenswert?

Hallo ihr beiden,
ich habe heute meine Cerastar mit einem BM1 und TA270 aufgerüstet, bin 
begeistert was man dem Teil entlocken kann. Es wäre ja schade wenn die 
Daten ungenutzt bleiben, ich würde die gerne mit meinem Hausbus-PC 
verbinden um die Daten auszuwerten und Anzeigen zu lassen. Wie weit sind 
eure Fortschritte?. Als CAN-Bus Interface habe ich mir das CAN200 
ausgeguckt. Ich habe bis jetzt mit einem CAN-Bus keine Erfahrung und 
leider auch kein CAN-Bus Analyser zur Verfügung. Mir würde es reichen 
lesend auf dem CAN-Bus zuzugreifen um die Temperaturen bzw. Zustand der 
Therme (Brenner an, Pumpe an u.s.w.) mitzuloggen. Wäre schön wenn Ihr 
mir weiterhelfen könntet.

Viele Grüße
Sven

von Kiki (Gast)


Lesenswert?

Hello

I'm, also trying to find some more info about building some kind of 
datalogger for my Junkers heating system, but the best source page on 
the net: (http://jucan.reissberg.com/index.htm), does not have more 
info. Did someone continued development of this software? Where can it 
be found? Which CAN/USB dongle is suitable, available on the market?

Thanks in advance.
Kiki

von Thorsten Weiss (Gast)


Lesenswert?

Hallo Besi, das hört sich ja gut an.

Sorry das ich mich jetzt erst wieder Melde...

Ich hatte auch mal einen CAN-Monitor angeschlossen, nur leider konnte 
ich mit den Empfangenen Daten nicht soviel anfangen...

Konntest Du schon Werte den Can ID's zuordnen?

Ich hatte auch junkers mal angefragt bezüglich des Protokolls, aber wie 
nicht anders zu erwarten gibt es keinerlei infos...

Gruß,
Thorsten

von SvenG (Gast)


Lesenswert?

Hallo,
ich habe mir die Teile für einen PC Can-Bus Interface besorgt brauche 
bloß ein wenig Zeit um das ganze zusammen zu löten. Hast du die 
mitgeloggten Daten noch und könntest du sie mir zur Verfügung stellen, 
damit ich schon mal sehen kann was und in welchen Format dort gesendet 
wird?.

Viele Grüße
Sven

von Thorsten Weiss (Gast)


Angehängte Dateien:

Lesenswert?

Anbein mal ein mitschnitt von mir im CSV-FOrmat.

Ich habe auch schon einige Kommentare eingetragen, aber keine Ahnung ob 
davon irgend etwas stimmt...

Baudrate ist 10kbit

Wenn Du was herausbekommen hast melde dich mal.

Gruß,

Thorsten.

von Thorsten W. (thoweiss)


Lesenswert?

Wie ist das überhaupt so allgemein beim CAN-Bus...

Ich vermute mal ein reines umwandeln der HEX-Werte in Dezimal bringt 
mich nicht unbedingt weiter, oder?

Hat jemand so einen bud reverseeingeniered (oder so..) und kann mir ein 
paar tips geben?

Bin was das angeht nicht so die leuchte....




Gruß,
Thorsten.

von Andreas (Gast)


Lesenswert?

Die Daten alleine bringen nicht so viel.
Man brauch ein paar weitere Infos zu dem Zeitpunkt, an dem die Daten auf 
dem CAN-Bus mitgeloggt wurden. Wenn man dann z. B. die Aussentemperatur, 
Vor- und Rücklauftemperatur usw. kennt, schaut man sich zu genau diesem 
Zeitpunkt den CAN-Trace an. Dann lassen sich die CAN-IDs auch evtl. 
zuordnen und man kann mit den Daten etwas anfangen.

von Thorsten W. (thoweiss)


Lesenswert?

Das klingt logisch...

Leider hat der CAN-Monitor den ich benutzt habe (TiN CAN von Ixxat mit 
Cananalyzer light) nicht die Möglichkeit die Daten mit einem 
Echtzeitstempel zu versehen, zumindestens habe ich nix gefunden. So 
konnt ich leider nicht die Daten die Ich aufgeschrieben habe mit den 
geloggten CAN-messages in einklng bringen...

Ich werde das interface mir nochmal ausleihen und einen Neuen Versuch 
wagen...

Hat jemand evtl eine andere Software-Alternative ?

Möglichts als free oder Shareware natürlich.


Gruß,
Thorsten.

von hgs (Gast)


Lesenswert?

moin moin,
ich habe hier auch eine junkers im keller und ein can-interface im 
rechner.
wie weit ist das ganze den nun gediehen?
würde mich gern beteiligen.

von Thorsten W. (thoweiss)


Lesenswert?

Sorry, bin im moment beruflich ziemlich eingespannt... komme nicht 
wirklich weiter.

Gruß,
Thorsten.

von Andreas (Gast)


Lesenswert?

Vielleicht könnte jemand, der ein Ceracontrol TA 270 sein Eigen nennt, 
mal bestimmte Aktionen mitloggen. Das dürfte das Reverse Engineering 
beschleunigen.

von mschleicher (Gast)


Lesenswert?

Hallo

hab auch ne Junkers im Keller. Komme ich ohne Busmodul an die Heizung??? 
Wie?? Hätte ich einen Schaltplan, köönte ich gerne ein Platinenlayout 
machen. Hab da einige Erfahrung.

Grüße

Martin

von Dietmar H. (dhaeting)


Lesenswert?

Hallo zusammen,

hat den schon jemand das Protokoll entschlüsselt?
Ich bin ebenfalls seit ein paar Tagen dran mir die CAN Kommunikation 
zwischen meiner Cerasmart und einem TA270 etwas näher anzuschauen. 
Leider kann ich im Moment nicht so viel Zeit investieren wie ich gerne 
möchte.
Anbei trotz allem die Erkenntnisse die ich bisher gewonnen habe:

CAN ID
0x0200 / max. Vorlauftemperatur / Halbgradschritte (120 dez. -> 60°C)
0x0201  aktuelle Vorlauftemperatur  Halbgradschritte (120 dez. -> 
60°C)
0x0204 / max. Vorlauftemperatur  /  Halbgradschritte (120 dez. -> 60°C
0x0205 / max. Vorlauftemperatur  /  Halbgradschritte (120 dez. -> 60°C)
0x0256  Uhrzeit  4 dezimal Werte: Tagesnummer (1=Mo...7=So) ; Stunde ; 
Minute ; "4" - (was die 4 am Schluss bedeutet weiss ich noch nicht)

Soweit mein aktueller Stand....
Gruss Dietmar

von Thorsten W. (thoweiss)


Lesenswert?

Das sieht doch schonmal ganz gut aus,
mein problem istt das ich im moment einfach keine Zeit finde um da 
weiter zu machen.

Leider habe ich auch kein eigenes CAN-Interface  - sodass ich mir immer 
eins leihen muss, das leider auch nicht immer spontan verfügbar ist.

Im August habe ich drei wochen urlaub, vielleicht geht dann ja was...

@ mschleicher:
imho ist der CAN-Bus ohne das Busmodul nicht verfügbar, ohne wird es 
nicht gehen...

@Dietmar:
Ich muss mal sehen wo meine Protokolle abgeblieben sind, hatte kürzlich 
einen PC-Defekt.


@all:

Schön das ich nicht mehr alleine bin, jetzt dürften wir das hinbekommen. 
Sooo schwer kann das ja nicht sein... ;-))


Gruß,
Thorsten

von mschleicher (Gast)


Lesenswert?

@ all

hat besi da nicht was entwickelt ???????????

Grüße

Martin

von Thorsten W. (thoweiss)


Angehängte Dateien:

Lesenswert?

Sooo, habe meine CAN-Logs wiedergefunden.

Leider habe ich meine Zettel nicht mehr was ich wann an der Regelung 
eingestellt habe....

Ich werde mir jetzt erstmal irgendwo ein CAN-Interface besorgen...

Ein CAN-Log habe ich mal angehängt.


Gruß,
Thorsten.

von crazy horse (Gast)


Lesenswert?

So, werde mich das Wochenende auch mal ransetzen.
Regelung bleibt, wie sie ist.
Ich will nur im 1.Stock ein Display haben mit ein paar Infos und einen 
Taster, um die Zirkulationspumpe kurz einzuschalten, wenn man duschen 
will.

CAN ID
0x0200 / max. Vorlauftemperatur / Halbgradschritte (120 dez. ->60°C)
0x0201  aktuelle Vorlauftemperatur  Halbgradschritte (120 dez. ->60°C)
0x0204 / max. Vorlauftemperatur  /  Halbgradschritte (120 dez. ->60°C
0x0205 / max. Vorlauftemperatur  /  Halbgradschritte (120 dez. ->60°C)
0x0256  Uhrzeit  4 dezimal Werte: Tagesnummer (1=Mo...7=So) ; Stunde ;
Minute ; "4" - (was die 4 am Schluss bedeutet weiss ich noch nicht)

wobei sich 0x200 und 0x201 auf den Heizkreis beziehen, 0x204,0x205 auf 
den WW-Kreis (Specherladung) beziehen. 0x205 ist die aktuelle 
Speichertemperatur.

zus. kommen noch folgende IDs vor:
0F9h DL 0
207h DL 2
208h DL 1
209h DL 1
20Ah DL 1
20Bh DL 1
20Ch DL 1
20Dh DL 1
250h DL 1
252h DL 1
253h DL 1
254h DL 1
255h DL 1

258h DL 1
25Ah DL 2
404h DL 2
405h DL 2

0x252 ist der aktuelle Heizungsvorlauf-Sollwert, gebildest im TA270 aus 
diversen Parametern, selbes Schema wie oben (0,5°-Schritte)
0x255 ist der aktuell gültige Warmwassersollwert.

Jetzt fehlt mir nur doch die Aussentemperatur, werde ich auch gleich 
noch finden. Der Rest interessiert mich im Moment nicht, bei Gelegenheit 
werde ich das hier vervollständigen.

von crazy horse (Gast)


Lesenswert?

schwupp, noch ein paar Infos:

Aussentemperatur liegt auf 0x207, Wert in 1/100°.
Also Anzeigewert 20°, CAN 0x07E2=2018=20,18° (wobei die Nachkommastellen 
eher philosophischen Charakter haben :-)

0x209 ist Status Brenner:
00: Flamme aus
01: Flamme ein

Vielleicht hat noch jemand Lust, das fortzuführen, ich habe erst mal 
alles, was ich brauche.

von Sascha (Gast)


Lesenswert?

Hallo zusammen,

da ich auch eine Junkers samt TA 270 habe und diese gerne per 
PC-Steuerung optimieren/kontrollieren möchte, habe ich mit Freude 
gelesen dass auch andere an diesem Thema dran sind.
Derzeit überwache ich die Temperaturen per 1-Wire-Bus am PC. Schön wäre 
wenn ich die Auswertung der Messwerte nutzen könnte, um die Heizung 
selbst optimierter zu steuern. Dazu brauche ich zunächste erstmal ein 
CAN-Bus-Interface ... ich dachte an dieses hier:

http://www.ehitex.de/p_info.php?xPD=113_117&products_id=264

Wäre das ausreichend?

Kann man überhaupt dann aktiv über den Bus gewisse Aktionen triggern 
oder wäre es nur das Analysieren/Auslesen möglich?

Gruß Sascha

von TManiac (Gast)


Lesenswert?

Sorry, was du da gefunden hast ist kein "CAN-USB-Adapter". Das ist ein 
kleines Eva-Kit für den Controller in dem Stick.

Suche einfach nach "CAN Interface". Dann findest du genug Produkte mit 
denen man mit dem PC/Laptop auf den CAN-Bus zugreifen kann. Hast freie 
Wahl in der Form. USB-Box, PCI-Karten, RS232 Interface oder PCMCIA 
Karte, sogar CAN-Ethernet Gateways gibt es. Ein einfacher 
"CAN-USB-Stick" ist mir im Moment nicht bekannt. Am besten du schaust 
dich mal dort um wo sich die Leute rumtreiben die im Auto mitlauschen 
(Stichwort CAN-Hack).

Du kannst natürlich auch, den Artikel aus deinem Link nehmen. Musst dir 
dann nur noch passende PC-Programm schreiben oder einen Treiber damit 
die verfügbaren Programme damit umgehen können.

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Hallo.

Ich habe eine Junkers Wärmepumpe und ähnliches vor.
Schau dir doch mal dieses Modul an 
http://www.mhs-elektronik.de/cgi-bin/mhs.pl?id1=2&id2=0
ich will mir das kaufen.

Christian

von TManiac (Gast)


Lesenswert?

@Christian:

Die Tiny-CAN Teile sind eine Möglichkeit. Wenn es erst einmal um das 
Lauschen geht, kann man sich im ersten Schritt auch ein kleines Program 
für seinen Kontroller (mit dem man dann auch die Heizung steuern möchte) 
schreiben, welches dann einfach die Bytes von CAN auf RS232 weitergibt. 
Man muss halt eine relativ hohe Übertragungsrate auf der Seriellen 
wählen. Wie groß die sein muss musst du selber ausprobieren.

PS: ich baue an keiner Heizungssteuerung. Ich habe nur auf anderen 
Gebiet mit CAN zu tun und wollte eigentlich nur den Fehler von Sascha 
richtig stellen bevor es zuspät ist.

von H.Joachim S. (crazyhorse)


Lesenswert?

naja, Junkers arbeitet mit moderaten 10kBit, abzüglich CAN-Overhead ist 
man mit 19200 schon auf der sicheren Seite.

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Einen eigenen Kontroller zu Programmieren ist mir auch schon in den Sinn 
gekommen, da es auch gleich eine gute Übung ist um die Funktion zu 
lernen, die man später sowieso in einem Kontroller braucht.
Einen MCP2515 hab ich mir dafür schon besorgt, allerdings hatte ich noch 
keine Zeit zum Programmieren.

Christian

von thoweiss (Gast)


Lesenswert?

Jetzt muss ich mich auch mal wieder melden.

ich komm im moment leider überhaupt nicht weiter meine Steuerung 
anzuzapfen...

Ich bekomme demnächst allerdings eine neue Therme, ich weiss aber noch 
nicht welche regelung dabei ist...

Wahrscheinlich eine von den neuen Junkers Reglern FW100 - FW500. 
Angeblich werden die nun über einen 2-Draht-Bus angeschlossen.

ich befürchte das das kein CAN-Bus mehr ist?

Kann das jemand bestätigen??


Ich hoffe ich kann meine TA250 behalten....


Gruß,
Thorsten.

von gast ossi (Gast)


Lesenswert?

hallo habe auch ein paar ID entschlüsselt


200H  1 Byte   max.Vorlauftemperatur in Halbgradschritten Dez.120 = 60°C

201H  1 Byte   aktuelle Vorlauftemperatur in Halbgradschritten Dez.120 = 
60°C

204H  1 Byte   max.Warmwassertemperatur in Halbgradschritten Dez.120 = 
60°C

205H  1 Byte   aktuelle Speichertemperatur Warmwasser in 
Halbgradschritten

206H  1 Byte  Störungsmeldungen Hex Wert siehe ( Bedienungsanleitung ) 
00=Heizung ok

207H  2 Byte   Außentemperatur in °C Hexadezimal Wert / 100 = 1/100 stel

208H  1 Byte  ?????????

209H  1 Byte   Flamme EIN / AUS Wert 00 = Flamme AUS, Wert 01 = Flamme 
EIN

20AH  1 Byte   Heizungspumpe  EIN / AUS

20BH  1 Byte   Speicherladung  EIN / AUS

20CH  1 Byte   Sommer / Winterbetrieb Wert=00 Sommer Wert 01=Winter

20DH  1Byte  ?????????


250H  1 Byte  ??????

252H  1 Byte  Sollwert von TA270 Heizungssollwert in Halbgradschritten

253H  1 Byte  Sollwert von TA270 Warmwassersollwert in Halbgradschritten

254H  1 Byte  ?????????

255H  1 Byte  ?????????

256H    Uhrzeit 4 HEX Werte
    1 Byte  = Tag 1Montag / 7 Sonntag
    2 Byte = Stunde
    3 Byte = Minute
    4 Byte = ????

404H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
405H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
417H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
440H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
441H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
4F9H  1 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????

von Bernd R. (breh)


Lesenswert?

Hallo !

Ich hoffe, dass hier noch jemand mitliest.

Ich habe mich dazu entschlossen ebenfalls dem Datenstrom zwischen meiner 
Junkers Therme, dem TA270 und dem HSM und dem HMM zu lauschen.

Nach umfangreicher Internetrecherche werde ich wohl dieses Teil hier 
(http://elmicro.com/de/canusb.html) kaufen.
Die Software für 39,- € sollte auch nicht zu teuer sein.

Hinterher möchte ich mit Excel auswerten.

Jetzt meine Frage, da ich absoluter Frischling in puncto AN-Bus bin.
Gibt es Dinge zu beachten ?
Gibt es Erfahrungen ?
Kann mich sonst irgendwie jemand "an die Hand" nehmen ?

Danke !

Gruß,
Bernd

von MHS-Elektronik (Gast)


Lesenswert?

Hallo Bernd,

wenn ich das richtig sehe hast Du unterschiedliche Erdpotentiale ?
Oder hängen da alle CAN Baugruppen an einer Steckdose ?
Das bedeutet Du benötigst ein Modul mit galvanischer Trennung!
Sonst kann das böse Überraschungen geben.
Das canusb Modul und das Tiny-CAN I haben keine galvanische Trennung!
Es schadet auch nicht wenn das Modul den "listen only Mode" kann,
damit kannst Du unbemerkt einfach mal mit horchen :-)
Wenn Du ein Modul von mir kaufen willst musst Du das Tiny-CAN II-XL
oder größer nehmen.
Von den "canusb" kann ich dir wegen der fehlenden galvanischen
Trennung nur abraten.

Gruß
Klaus

von F. R. Gilsdorf (Gast)


Lesenswert?

Hallo, ich habe ein ZWR 18-6 KE 21 Kombitherme kann aber keinen Bus 
Anschluß finden... Da wo der Stecker sein sollte ist nicht...???

Habe mir eine TA 270 inkl. HSM und HMM (gebraucht) gekauft...
Wenn es nicht möglich ist diese an meine Thermeanzuschliessen würde ich 
die Bauteile wieder verkaufen...

LG  Franz

von F. R. Gilsdorf (Gast)


Lesenswert?

Hallo, ich habe ein ZWR 18-6 KE 21 Kombitherme kann aber keinen Bus 
Anschluß finden... Da wo der Stecker sein sollte ist nicht...???

Habe mir eine TA 270 inkl. HSM und HMM (gebraucht) gekauft...
Wenn es nicht möglich ist diese an meine Thermeanzuschliessen würde ich 
die Bauteile wieder verkaufen...

LG  Franz

von Björn R. (Gast)


Lesenswert?

Guten Morgen,

habe mittlerweile einige Dinge aus dem CAN eingelesen und speichere 
diese nun in einer mySQL DB.

Hat jemand eine Idee, wie die Innentemperatur über den CAN übertragen 
wird?

Mfg

Björn

von H.Joachim S. (crazyhorse)


Lesenswert?

Soweit ich mich erinnere gar nicht, wird nur vor Ort angezeigt.

Wird reglerintern mit allen anderen Parametern (Aussentemperatur, 
Heizkurve etc) zu einer Sollvorlauftemperatur verwurstet.

Ich habe ihn jedenfalls nicht gefunden, und letzten Endes interessiert 
das die Therme ja auch gar nicht.

von Björn R. (bjrn_r365)


Lesenswert?

Hi,

das habe ich auch befürchtet. Konnte auch bisher im gesamten CAN log nix 
dazu finden.

von supr (Gast)


Lesenswert?

Hallo,

obwohl der thread schon alt ist, probier ich es trotzdem..

Kann mir jemand sagen, welche CAN-Einstellungen ich benötige um die 
Daten zu loggen?
Hat jemand in der Zwischenzeit weitere Ids identifiziert?

MfG und Danke im Voraus,
  Roland

von Sven L. (sven_rvbg)


Lesenswert?

supr schrieb:
> Kann mir jemand sagen, welche CAN-Einstellungen ich benötige um die
> Daten zu loggen?

Thorsten Weiss schrieb:
> Baudrate ist 10kbit
>
> Wenn Du was herausbekommen hast melde dich mal.
>
> Gruß,

von supr (Gast)


Lesenswert?

Vielen Dank für die Hilfe. Mein Raspberry Pi hängt jetzt an der Therme 
und empfängt die Can-Messages. Dank der Hilfe hier konnte ich die 
meisten Messages entschlüsseln. Ein paar sind mir leider noch unbekannt. 
Hat jemand noch weitere Ids entschlüsselt?

Die folgenden fehlen mir noch:

20171111 16:11:21.609 31486:31515 INFO  ### unknown ### id=0000020D [24]
20171111 16:11:23.851 31486:31515 INFO  ### unknown ### id=00000258 [1]
20171111 16:11:25.843 31486:31515 INFO  ### unknown ### id=00000417 [1, 
1]
20171111 16:11:27.848 31486:31515 INFO  ### unknown ### id=00000251 
[255]
20171111 16:11:28.867 31486:31515 INFO  ### unknown ### id=00000253 [0]
20171111 16:11:30.841 31486:31515 INFO  ### unknown ### id=00000254 [1]
20171111 16:11:32.868 31486:31515 INFO  ### unknown ### id=000000F9 [0]
20171111 16:11:33.848 31486:31515 INFO  ### unknown ### id=00000250 [0]
20171111 16:11:42.308 31486:31515 INFO  ### unknown ### id=00000208 [1]

Grüße und Danke,
  Roland

von Nicholas John K. (aviatorhh)


Lesenswert?

Hi,

ich bin auch dankbar über diesen Thread und wäre an weiteren Details 
interessiert. Ich schreibe gleich mal Junkers an in der Hoffnung, dass 
ich/wir von dort evtl. direkt Infos bekommen.

Auf der anderen Seite interessiert mich auch, welche Register 
beschrieben werden können, um Elemente zu steuern. Hat da jemand 
Erfahrung?

P.S.: RPi3 mit MCP2515 (3,3v Mod) mit can-utils und Python Skript 
(import fhem)

von H.Joachim S. (crazyhorse)


Lesenswert?

Nicholas John K. schrieb:
> Ich schreibe gleich mal Junkers an in der Hoffnung, dass
> ich/wir von dort evtl. direkt Infos bekommen.

Viel Erfolg :-)
Da wirst du exakt nichts bekommen.

von Nicholas John K. (aviatorhh)


Lesenswert?

H.Joachim S. schrieb:
> Viel Erfolg :-)
> Da wirst du exakt nichts bekommen.

Da hast du vollkommen recht :-)


Weiß einer von euch, welche Werte aus der Therme und welche aus der 
Steuereinheit kommen? Leider habe ich nur einen Bus-Adapter, ansonsten 
könnte man einen Sniffer/Proxy zwischen den beiden Einheiten einsetzen 
und dann die Steuerung beeinflussen.

von Nicholas John K. (aviatorhh)


Lesenswert?

Nicholas John K. schrieb:
> Weiß einer von euch, welche Werte aus der Therme und welche aus der
> Steuereinheit kommen? Leider habe ich nur einen Bus-Adapter, ansonsten
> könnte man einen Sniffer/Proxy zwischen den beiden Einheiten einsetzen
> und dann die Steuerung beeinflussen.

Ich habe etwas gefummelt. Mir scheint, dass die TA270 "nur" Sollwerte 
(Heizung/WW) an die Therme sendet. Nachdem ich die TA-Einheit entfernt 
habe und nur meinen Pi am Bus hatte, habe ich lediglich die Codes 
252/253 mal per CAN beeinflusst/gesendet und die Therme hat entsprechend 
reagiert. Ansonsten würde nach einiger Zeit die Fehlermeldung A8 
(Kommunikation unterbrochen) kommen.

Wenn ich jetzt noch die Außentemperatur mit benutze und eine Art 
Heizkurve berücksichtige, kann ich doch eine eigene Steuerung 
programmieren (quasi das Rad neu erfinden ;-). Oder was meint ihr? Die 
Fußbodenheizungsventile werden (leider) direkt durch die Wandthermostate 
gesteuert.

von Nicholas John K. (aviatorhh)


Lesenswert?

Moin Zusammen,


mittlerweile bin ich weiter mit meinem Projekt.

Ich habe jetzt einen RPi laufen, an dem zwei CAN-Module angeflanscht 
sind. Das eine Modul hängt ist mit der Heizung und das andere Modul mit 
der TA270 verbunden. Ich empfange also die CAN-Bus Meldungen im RPi und 
sende sie dann an den jeweils anderen Bus weiter. In dem Zustand ist 
dann alles wie gehabt. Ich setzte allerdings noch einen „Panikschalter“ 
ein (verbindet den Bus dann wieder physisch), damit meine Frau ggf. 
alles wieder auf normal stellen kann, wenn ich mal nicht greifbar bin 
:-)
Jetzt können die Werte beliebig verändert werden. Erfolgreich konnte ich 
der Heizung bereits manuell Vorgaben für die Vorlauf- und 
Warmwassertemperatur machen. Viel mehr macht die TA270 auch nicht.
Auf dem Bus ist auch die Außentemperatur und den Wert für die 
Zimmertemperatur bekomme ich von extern. Ich denke damit lässt sich 
relativ leicht eine Logik für eine Steuerung realisieren. Weiterhin 
binde ich dann noch einen Kalender ein und kann dann auch Feiertage 
berücksichtigen (was die TA270 nicht kann).
Interessant ist auch, dass ich die Heizung jetzt unter Berücksichtigung 
der Wetterverhältnisse steuern kann. Ist viel Sonnenschein vorhergesagt, 
fahre ich die Heizung morgens früher runter, denn unser Haus nimmt die 
Wärme gut auf. Ist es draußen hingegen kühl und windig, muss ich etwas 
gegensteuern.
Bleibt also noch etwas Arbeit für die Software :-)

von Bernd Rehlinger (Gast)


Lesenswert?

Das klingt spannend.
Kannst du einen Plan zum Nachbau Posten?

von Datnetz (Gast)


Lesenswert?

HBW auch eine Junkers Heizung mit einem BM1 Modul und im Wohnzimmer den 
TA250

Würde gerne meine Heizung auch Smart steuern. Daher die Frage wenn man 
das hier so liest dann haben es ja einige geschafft.

Was brauche ich?
Wie funktioniert das ?

Würde mich echt freuen wenn das hier weiter lebt und wir alle die 
Heizubg über FHEM oder IOBroker steuern können.

von Michael Piron (Gast)


Angehängte Dateien:

Lesenswert?

Hallo an alle,

Ich verfolge dieses Thema mit großem Interesse. Ich spreche 
Niederländisch (aus Belgien), daher wird diese Übersetzung nicht perfekt 
sein.

Ich selbst habe eine Junkers-Wärmepumpe (Split-Air-Water) mit der 
Inneneinheit ASE 120. Dazu habe ich einen Raspberry Pi mit PiCAN2-Modul 
angeschlossen, um das CAN-Protokoll zu lesen und zu interpretieren.
Der CAN-Bus ist also angeschlossen:
* Innenthermostat
* Bedienfeld am Innengerät. Dieser enthält den Prozessor und die 
Firmware, die die Wärmepumpe steuern.
* 2 Leiterplatten (PCB) in der Inneneinheit, die eine Schnittstelle 
bieten (Ablesen der Temperaturen, Signale von und zur Außeneinheit)
* Raspberry-Pi mit PiCAN2-HAT.

Bis heute kann ich aus den CAN-Nachrichten nicht viel Bedeutung 
gewinnen. Entgegen den Erwartungen gibt es viele verschiedene CAN-IDs, 
die Nachrichten auf dem CAN-Bus veröffentlichen.
Anbei ein Screenshot des "Cansniffer", der auf dem CAN-Bus 20 Sekunden 
gelesen hatte. Die Liste der IDs wird länger, wenn der Cansniffer länger 
liest.

Hat jemand mehr Einblick in das CAN-Protokoll, als Junkers es anwendet? 
Was bedeuten die vielen verschiedenen CAN-IDs? Wie sind die 
CAN-Nachrichten aufgebaut?
Vielen Dank im Voraus

von Trabant (Gast)


Lesenswert?

Guten Tag!

Dieses Thema existiert nun seit 2007 und immer wieder gibt es neue 
Beiträge. Mich würde zum einen interessieren, wie weit ihr mit der 
Entwicklung einer Junkers-Spezifischen Software gekommen seid...

... zum Anderen welche Interfaces Ihr verwendet. Z.B. dieses

https://www.antratek.de/usb-can-v7-00-analyzer

ist zumindest mal preiswert, im Gegensatz zu all den anderen. 
Galvanische Trennung war mal ein Thema, das wird dieses Ding wohl nicht 
bieten. Erfahrungen mit/ohne diese Art von Sicherheit? Hat jemand sein 
BM1 oder den TR/TA geschrottet?

Ich möchte nicht in die Steuerung eingreifen, sondern lediglich etwas 
Analyse betreiben, Anzahl der Brennerstarts, die jeweiligen Laufzeiten, 
Ruhezeiten entsprechen Taktsperre/Schaltdifferenz, vorgegebene und 
tatsächliche sowie über den Zeit gemittelte durchschnittliche 
Vorlauftemperaturen etc.

Bin für alle Erfahrungen dankbar...

Der Trabant aus dem Norden Deutschlands

von Nicholas John K. (aviatorhh)


Lesenswert?

Moin Trabant,


mit dem ISO1050 kannst du eine galvanische Trennung herstellen. Das ist 
ein CAN Tranceiver, den du dann z.B. mit dem MCP2515 benutzen kannst.
Ich habe mich ohne galvanische Trennung an den Bus gehängt und seit dem 
keine Ausfälle, bzw. Zerstörungen gesehen. Ich nutze immer noch zwei 
Breakout Boards.

von Bernd Rehlinger (Gast)


Lesenswert?

Auch ich betreibe meinen Lauschapparat 
(https://elmicro.com/de/canusb.html) bereits seit acht Jahren ohne 
galvanische Trennung und meine Heizung schnurrt wie ein Kätzchen.  ;-)

von Bernd Rehlinger (Gast)


Lesenswert?

...was mich allerdings interessieren würde, ob jemand mittlerweile eine 
funktionsfähige Software für Linux-Systeme (speziell Synology-NAS) sein 
Eigen nennt...

von Trabant (Gast)


Lesenswert?

Gut, dann werde ich mir bzgl. der galvanischen Trennung mal keine 
Gedanken machen.

Wie wertet Ihr die empfangenen Pakete denn aus? Ich könnte sie z.B. mit 
einem Skript (wie Perl) verarbeiten und dann mittels eines CSV-Formates 
in Excel importieren... mein Ziel wäre eine Grafik mit verschiedenen 
Kurven... Heizung ein/aus (Pumpe), Brenner ein/aus, Vorlauftemperaturen 
etc.

Sendet die Therme denn nur bei Statusänderungen z.B. ein BRENNER EIN 
oder werden die Werte in festgelegten Zeiträumen übermittelt?

Eine Tabelle mit den IDs und deren Bedeutung/Umrechnung wäre schön, 
findet sich aber im Grunde auch schon etwas weiter oben im Thread.

Wenn Ihr da schon was Eigenes entwickelt habt müsste ich nicht ganz von 
Vorne anfangen - was die Plattform und verwendete Software betrifft bin 
ich da flexibel... Windows oder etwas Unix-artiges.

Oft wird z.B. der Rasperry erwähnt, damit habe ich bislang noch keine 
Erfahrungen.

Danke schonmal für alle Inputs.

von Nicholas John K. (aviatorhh)


Lesenswert?

Raspberry hat ja (fast nur) Linux drauf. Hol dir einen - macht Laune. 
Das Anklemmen der Breakout Boards geht recht einfach. Es muss nur eine 
kleine Änderung bzgl. der Spannung vorgenommen werden. Die eigentliche 
Herausforderung ist das Aufsetzen der Schnittstelle. Da wäre ich 
behilflich. Im Netz gibt es dazu  auch reichlich Anleitungen.
Die Werte werden i.d.R. nur bei Änderung übermittelt. Remote Requests 
bringen leider keine Antworten.
Auch ich nutze nur eigene Skripte (Python), die u.a. eine Brüche zu FHEM 
herstellen. Durch die Verwendung von zwei CAN Modulen hänge ich mich 
zwischen die TA und der Heizung und kann so (gesteuert über einen 
Kalender u.ä.) Einfluss nehmen (Schnellaufheizen [Warmwasser-Soll], 
manuelle Vorlauftemperatur).
Eine fertige Software kenne ich nicht. Falls du dich mit Einsen und 
Nullen gut auskennst schlage ich vor, selbst Hand anzulegen. Perl geht 
da sicher auch.

von H.Joachim S. (crazyhorse)


Lesenswert?

Nicholas John K. schrieb:
> Die Werte werden i.d.R. nur bei Änderung übermittelt.

Aus der Erinnerung heraus: glaube ich nicht, die plappern die ganze 
Zeit. Könnte aber noch mal nachschauen.

von Nicholas John K. (aviatorhh)


Lesenswert?

Ach nee, hast recht. Die kommen regelmäßig

von Trabant (Gast)


Lesenswert?

Nicholas John K. schrieb:
> Das Anklemmen der Breakout Boards geht recht einfach. Es muss nur eine
> kleine Änderung bzgl. der Spannung vorgenommen werden. Die eigentliche
> Herausforderung ist das Aufsetzen der Schnittstelle. Da wäre ich
> behilflich.

Welchen Can Boards hast Du denn in Einsatz? Und wie sind sie am 
Raspberry angeschlossen... ich vermute mal nicht über USB...

von Nicholas John K. (aviatorhh)


Lesenswert?

Das Board und eine Anleitung sind hier beschrieben:


https://www.raspberrypi.org/forums/viewtopic.php?t=141052

von Trabant (Gast)


Lesenswert?

So, ich habe mir einen Raspberry 3B+ und ein PiCan2 Board samt einem für 
beides passenden Gehäuse zugelegt... siehe 
http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html

Hat alles auf Anhieb funktioniert, ich importiere die Werte jetzt 
mittels eines Skriptes in den Volkszähler 
(https://www.volkszaehler.org/).

Ich habe noch zwei zusätzliche Werte gefunden:

202H 1 Byte   max. Warmwassertemperatur in Halbgradschritten
203H 1 Byte   aktuelle Warmwassertemperatur in Halbgradschritten

Die weiter oben genannten 204 und 205 sind wohl für den Speicherbetrieb. 
Meine ZWR-18-6 bereitet das WW im Durchlaufprinzip, in diesem Fall 
werden dann dann die IDs 202 und 203 benutzt.

von Trabant (Gast)


Lesenswert?

Folgende Werte meines Reglers konnte ich noch ermitteln, unter 
Vorbehalt. Ich habe einen TR220 Raumtemperaturregler, ob sich dessen 
Ausgaben mit den TA Modellen decken, weiss ich nicht...

250H  1 Byte  Sollwert von TR: Heizbetrieb 00=Aus 01=Ein
251H  1 Byte  Sollwert von TR: Heizleistung gleitend (00-FF)
252H  1 Byte  Sollwert von TA/TR: Heizungssollwert(VLT) in 
Halbgradschritten
253H  1 Byte  Sollwert von TA/TR: Speichersollwert in Halbgradschritten
--> der Vollständigkeit halber mit aufgeführt
254H  1 Byte  Sollwert von TR: WW-Sofort 00=Aus 01=Ein
255H  1 Byte  Sollwert von TR: WW-Sollwert in Halbgradschritten
--> bei einer ZWx Therme mit WW-Bereitung im Durchlaufprinzip, im 
Normalfall identisch mit 202H
256H  Uhrzeit 4 HEX Werte
   1 Byte  = Tag 1 Montag / 7 Sonntag
  2 Byte = Stunde
  3 Byte = Minute
   4 Byte = ????

Die 208, von der Heizung kommend, ist in früheren Beiträgen 24, bei mir 
18. Mag das die max. Heizleistung des Gerätes sein, ich habe eine ZWR 
18-6?

von Trabant (Gast)


Lesenswert?

Trabant schrieb:
> Die 208, von der Heizung kommend, ist in früheren Beiträgen 24, bei mir
> 18. Mag das die max. Heizleistung des Gerätes sein, ich habe eine ZWR
> 18-6?

Entschuldigt, ich meinte die 20D. Nicht die 208.

von Trabant (Gast)


Lesenswert?

Nochmal eine Frage... habt Ihr Euren Can-Bus an beiden Enden terminiert? 
Oder ist im BM1 und TR/TA schon eine entsprechende (120Ohm?) 
Terminierung enthalten? Ich vermute bei den niedrigen 
Übertragungsgeschwindigkeit und der kurzen Leitung ist das so und so 
nicht kritisch... Das von mir verwendete PiCan2 hat einen entsprechenden 
Widerstand auf der Platine, der jedoch standardmässig nicht aktiv ist.

von H.Joachim S. (crazyhorse)


Lesenswert?

Sind beide terminiert.

von Peter (Gast)


Lesenswert?

Hallo,

ich verfolge dieses Thema auch schon seit einigen Jahren, habe aber nie 
die Zeit gehabt meine Therme ZBS 22/120 auf CAN_Bus umzubauen.

Hätte diesbezüglich auch mal einige Fragen, vielleicht habt Ihr sie ja 
schon gelöst.
Der Canspeed ist 10Kbit angegeben, somit Lowspeed. Lowspeed hat aber 
andere Übertragungsparameter als Highspeed. Habt Ihr noch 
Widerstände(CANH&CANL) nach Ub5V gesetzt oder hattet Ihr keine Probleme 
damit?

Habt Ihr vielleicht auch umgebaut und überlegt wo durch wird die 
Freigabe von BM1 bzw. TA250 zu TA211E(Analogteil)der Elektronik 
mitgeteilt wird. z.B ein Pin oder so. Weil Schaltpläne oder Info's 
bekommt man nicht.

Würde mich freuen über eine Info.

danke

von H.Joachim S. (crazyhorse)


Lesenswert?

Peter schrieb:

> Widerstände(CANH&CANL) nach Ub5V gesetzt oder hattet Ihr keine Probleme
> damit?
Keine Probleme. Ich habe den MCP2551 drin.
> Habt Ihr vielleicht auch umgebaut und überlegt wo durch wird die
> Freigabe von BM1 bzw. TA250 zu TA211E(Analogteil)der Elektronik
> mitgeteilt wird.

Es reicht, das BM1 anzustecken.

von Peter (Gast)


Lesenswert?

Hi,
danke.
Erstaunt mich doch, ist wohl schon Jahre her das ich mit Lowspeed (100) 
gearbeitet habe, aber ohne zusätzlichen Adapter hatten wir Probleme. 
Aber Automotive ist halt etwas anders. Der letzte Treiber ist bei mir 
MCP2562 (Watterott)allerdings für FD soll besser sein ~~.Übrigens eine 
Terminierung über Rg<60 Ohm (2x120) wird kritisch.

Zu meinen Anliegen zurück.
Bin etwas verwirrt, wenn ich Eure einzelnen ID's und deren Zuordnung 
lese.Ich kann doch nicht den Status, hier Info, anfordern und 
gleichzeitig diese ID auf dem Bus als Heizungsinfo(<--TA...) haben.Der 
gültige Status muss doch immer von der Heizung kommen (IDx) und einige 
Daten vom TA..für die Heizung, bzw. evtl. mit gleichen Inhalts. Und ich 
sehe nur 1,2 oder 3 Bye lange Telegramme und  ein mal vom WERT. Sehr 
ungewöhnlich, ist das so richtig?
Weil Statusanfragen können auch im CAN-Bus(normal) größer als 8 Byte 
werden(next 21, 22....). Werde wohl erst mal eine Trockenübung mit dem 
TA.. durchführen müssen, wenn das geht.
Entwirrt mich mal, muss ich umdenken.
danke

von H.Joachim S. (crazyhorse)


Lesenswert?

Ich verstehe dein Problem nicht - das ist doch wirklich CAN auf 
einfachster Stufe.
Da wird nichts angefordert, jeder twittert so vor sich hin.
Im Normalbetrieb ist der TA270 Chef der Sache, der sagt was zu tun ist, 
die Therme liefert nur Daten (Temperaturen, Brennerstaus u.ä.) und führt 
aus (Warmwasser bitte auf xx Grad, Heizungsvorlauf bitte auf yy Grad), 
abhängig von eingestelltem Zeitprogramm, aktuellen Temperaturen, 
Heizkurve, Aussentemperatur, manuellen Eingriffen.
Doppelte IDs sind mir nicht aufgefallen, die machen auch nie Sinn.

von Peter (Gast)


Lesenswert?

Hallo,
sorry,...ich verstehe Dich wirklich,

H.Joachim S. schrieb:
> Ich verstehe dein Problem nicht - das ist doch wirklich CAN auf
> einfachster Stufe.

aber.. ich habe evtl. vor auf ein sicherheitsrelevantes Gerät über 
CanBus zu zugreifen ob Aktiv oder Passiv.-->Gefährlich, teuer und ich 
friere evtl.. Wie weit die Systemsicherheit vor 13 Jahren war, weiß ich 
nicht.
Ich habe nicht einmal eine Beschreibung der Hauptplatine gefunden noch 
der Pinbelegungen der Stecker( bis auf Can_Bus),noch der Software. Aber 
es ist ein Bus_System von Bosch. Bosch ist der Erfinder des CAN-Buses 
und ich bin mir sicher das der übereinstimmt mit der Norm. Die 
Beschreibung vom MCP2515 wird Dir bekannt sein, dann weist Du auch was 
alles unternommen wird das der Busverkehr geregelt ist.

H.Joachim S. schrieb:
> Da wird nichts angefordert, jeder twittert so vor sich hin.

Frage, wie wird dann ein Fehler in der Kommunikation 
festgestellt?-->evtl. durch Timeout der "zyklischen" Information. Das 
kann im ms bis s Bereich stattfinden und das sind Daten die die 
Hauptplatine immer benötigt!....Wenn ich am Drehschalter Info einschalte 
bekomme ich alle 3s laut Beschreibung andere Daten.--> ID(Botschaft 
"Info")wird gesendet an Hauptplatine, angefordert und zugestellt durch 
die Hauptplatine, aber im Hintergrund läuft das Heizungsprogramm weiter.
Gezielt bekommst Du deine Daten und nicht aus einem Sammelbecken mit 
evtl. uralten Daten.

H.Joachim S. schrieb:
> Im Normalbetrieb ist der TA270 Chef der Sache, der sagt was zu tun ist,
> die Therme liefert nur Daten (Temperaturen, Brennerstaus u.ä.) und führt
> aus

Sorry, sehe ich anders, der Chef ist, wer die höhere Priorität und die 
Entscheidungsgewalt hat. Das ist ganz sicher die Hauptplatine, das ist 
ja keine dumme PID. Auch weil TA211E und eine Uhr, Ta 270 ersetzen kann. 
Ta270 ist ein Ein- und Ausgabe gerät. Bezogen auf CAN-Bus gibt es kein 
Chef(Lin-Bus) nur die Priorität in der ID. Ansonsten sehe ich hier ein 
CAN-Bus System zur Bedienung und Info.

Ich persönlich würde gerne auf dieses System zugreifen ohne 
schnickschnack also TA250. Weil ich brauche keinen Raumfühler, noch 
verstelle ich meine Heizung ständig, weil die Raumtemperatur nicht 
stimmt, dafür ist die neuere Heizkörpersteuerung im Raum zuständig.Aber 
eine Optimierung mit der Heizkörpersteuerung würde was bringen und dafür 
möchte ich gerne auch mal tiefer ins geschehen schauen. Wie zum Beispiel 
meine Frage ob eine Botschaft vom Einstellgerät kommt und evtl. nur 
Rohdaten behaltet oder vom Steuergerät mit überarbeiten Daten kommt 
sollte doch bekannt sein. Vielleicht erreicht man ja auch einen 
Mitarbeiter der Firma Bosch Junker um an ganz andere Daten zukommen, wie 
Service- oder Entwicklerbotschaften.

von H.Joachim S. (crazyhorse)


Lesenswert?

Du siehst das viel zu kompliziert :-)

Sicherheitsrelevante Sachen laufen natürlich im inneren der Therme 
autonom ab (Gasdruck, Flammenüberwachung, Überdruckschutz, 
Überhitzungsschutz, Frostschutz), damit hat der Regler und auch die 
Kommunikation nichts zu tun.

Aber ansonsten bestimmt ausschliesslich der TA270, was der Wärmeblock 
machen soll. Und wenn da die Anforderung kommt: Vorlauftemperatur 80° 
macht der das und fängt nicht an zu überlegen: draussen hat es 25°, das 
macht keinen Sinn, bekommst keine 80° Grad von mir.

Und natürlich werden die eingehenden Daten auch mit Grenzen versehen. 
Einmal absolute (vielleicht 95°? - weiss ich nicht) und dann noch vom 
Nutzer programmierte. Da weiss ich allerdings nicht aus dem Kopf, ob die 
schon im TA270 als Grenzwert behandelt werden oder erst in der Therme, 
ist aber auch egal.

Und ja, es gibt mit Sicherheit auch ein Stück Programm, was im Fall des 
Kommunikationsausfalls zu tun ist. Und das wird nicht sein: heize was 
geht bis eine Sicherung anschlägt.

Auch mit deinem 3s-Info-Intervall liegst du falsch. Die werden nicht 
angefordert wenn sie angezeigt werden sollen, sondern liegen ständig auf 
dem Bus und damit im Speicher des TA270. Ob die dann tatsächlich 
angezeigt werden ist ne ganz andere Geschichte. Wenn der Benutzer auf 
Info schaltet wird eben alle 3s eine andere Information im Display 
angezeigt.
Meine Anzeige zeigt z.B. u.a. immer die Warmwassertemperatur an, egal ob 
jemand am TA270 auf Info geschaltet hat.

Und wenn man jetzt mal bei der Heizung bleibt, kann und macht die Therme 
nichts anderes, als eine gewünschte Vorlauftemperatur bereitzustellen 
und nach Möglichkeit selbständig zu halten.
Wie intelligent nun die Vorlauftemperatur an den tatsächlichen 
momentanen Wärmebedarf angepasst wir ist Sache des Reglers.

Bei uns funktioniert das Prinzip des Raumreglers im Wohnzimmer(also hier 
der TA270) hervorragend. Das ist der grösste Raum im Haus und umfasst 
fast das ganze Erdgeschoss. DIe Heizkörperthermostate in diesem Raum 
stehen auf Maximum, Führungsgrösse für die Vorlauftemperatur ist also 
die Temperatur im Wohnzimmer. Alle anderen Zimmer werden mit den 
Heizkörperthermostaten geregelt.

Ich habe keine Ahnung was du da noch mit geheimen Botschaften erreichen 
willst, das ist alles wirklich so simpel.
Mit den Infos hier im thread kannst du dir deinen eigenen 
Regler/Bediener bauen.

von Peter (Gast)


Lesenswert?

oh...sorry

Mag sein, das ich es anders sehe oder vielleicht nur aus einer anderen 
Richtung, aber es ist sicher nicht mein Anliegen etwas hier zu 
erstreiten...
Es währe Unsinnig...ok.
Ich suche Wissen, dass für mich logisch erscheint und das ich verstehe. 
Aber äußere mich auch über andere Meinungen mit einem Fragezeichen, wenn 
es nicht so ist oder ich es für sehr fraglich halte.

Danke für Deine Info und Meinung

von H.Joachim S. (crazyhorse)


Lesenswert?

Ich würde trotzdem gerne verstehen, was du eigentlich suchst und 
erreichen willst.
Das ist und bleibt nur ne Kiste mit ner Flamme drin, die warmes Wasser 
macht und nebenbei auf sich selbst aufpasst.
Die Pumpenleistung/Drehzahl kann man soweit ich weiss nicht steuern, 
geht nur an oder aus. Fällt also weg als Ziel.
Die Brennerleistung/Gasdurchsatz ist variabel - willst du da ran? 
Vielleicht geht das mit "geheimen Botschaften". Macht aber auch keinen 
Sinn, da du dann die Rücklauftemperatur (und damit den aktuellen 
Wärmebedarf) aus der Regelung nimmst.

Kurz: was willst du mehr von einem Wärmeerzeuger, der dir im Idealfall 
mehr oder weniger stationär genau die Wärmemenge (bei konstantem 
Durchfluss der Pumpe ist das die Vorlauftemperatur) liefert, die gerade 
benötigt wird und dabei auf wilde Regelschwingungen verzichtet.
Welches Wissen suchst du?

von Peter (Gast)


Lesenswert?

Hi,

nun Wissen, erarbeitet man sich und dann kann man rum spinnen,
was mach ich damit?
Als ich mein Haus sanierte bzw. auch die Heizung, habe sie ganz 
herausgerissen, berechnet und neu installiert, wusste ich sehr schnell 
warum diese Junkers_Heizung nur halb so viel kostete, wie andere. 
Regelungstechnisch sehr einfach, das ist sie auch, aber sie 
funktioniert. Bis auf diese sch...EA Fehler.
Sicher ist es ein Ziel Fehler zu erkennen bevor sie zum Problem werden 
(Betriebsdaten ohne Ende) und natürlich auch die Infos (" alles ok") und 
evtl. bessere einfachere Bedienung zum Beispiel über irgend einen Tablet 
oder besser Fernsehn. Mehrere Stufungen der Nacht- Tagsabsenkungen oder 
der Warmwassersteuerung, das ist fürchterlich was angeboten wird. Ich 
bin kein Software_Spezi, aber eine selbstlernende Heizung währe doch ok. 
:-)
Was bei mir zeitlich und technisch mit der alten Junkers möglich ist 
steht noch in den Sternen. Ich habe schon 2013 die TA211E versucht zu 
analysieren Eagle_Schaltplan( habe ihn nicht mehr gefunden). Grund war 
-->Ein NTC als Temperaturfühler das geht genauer und zwar mit 
Feuchtigkeit und kann man das ändern?-> eher nicht.

Entwicklerbotschaften sind oft zusammengefügte wichtige Information in 
einem Schub

Ich will sicher die Therme nicht vergewaltigen in irgend einer Form oder 
eingreifen in die Hardware evtl. aber anders führen.

Deshalb suche ich momentan Wissen über diese Kiste mit der Flamme.

Übrigens habe ich mir heute die BM1 Karte angesehen, die besitzt 
scheinbar eine CPU mit 6MHz und I2C Speicher. Vermute, auf der 
Hauptplatine existiert einen zweiter Bus?? Der sowohl mit der TA211 
(k.CPU)als auch mit der TA250 kommunizieren kann?

Werde mal versuchen in den nächsten Tagen besser Wochen nur die TA250 
zum reden zu bringen.

von H.Joachim S. (crazyhorse)


Lesenswert?

Keiner zwingt dich, einen Junkers-Regler zu verwenden. Ich habe die auch 
schon via Peak-CAN und paar Zeilen VB vom PC aus gesteuert. Das einzige, 
was du dafür definitiiv  brauchst ist das BM1 und og. Infos über die 
verwendeten CAN-Botschaften. Dann läuft die Kiste. Keine Uhr, keinen 
TA250, keinen TA211, keinen TA270, nix.
Kannst du völlig frei fremd regeln im Rahmen der physikalischen Grenzen 
und evtl. in der Therme gesetzten Grenzwerten.

Welche E/A-Fehler meinst du? Habe noch keine bemerkt. Meine läuft seit 
15 Jahren fast störungsfrei, einmal hats das BM1 grundlos zerlegt.
Beitrag "Junkers TA270 CAN-Fehler 1"

Wenn du der sagst: "mach Warmwasser 70° jetzt" macht die das.
Wenn gerade kein Warmwasser benötigt wird (hat Vorrang), liefert sie 
ziemlich genau das was du an Heizungsvorlauf haben willst. Das kannst du 
tun und zum letzten Mal: mehr kann die Kiste nicht. Es fällt mir auch 
nichts ein, was sie noch können sollte, wenn ich mir was wünschen könnte 
und was mir bösartigerweise vorenthalten wird und da nur mit 
Insiderwissen rankäme.

Und jetzt bin ich auch fertig hier, wir reden anscheinend aneinander 
vorbei.

von Trabant (Gast)


Lesenswert?

>Meine Anzeige zeigt z.B. u.a. immer die Warmwassertemperatur an, egal ob
>jemand am TA270 auf Info geschaltet hat.

Ich bin ja auch relativ neu dabei und habe etwas mitgelesen. Ein paar 
Erfahrungen von mir: Die Ist-VLT sowie Brenner-An und Heizung/Pumpe-An 
werden von meiner ZWR 18-6 genau alle 6 Sekunden übermittelt. Die 
maximale VLT sowie die WW-Ist-Temperatur alle 30 Sekunden.

VLT Soll vom Regler kommt im Heizbetrieb alle 5 Sekunden, im 
"Schlafmodus", also wenn die Heizleistung abgeschaltet ist, nur noch 
alle 30 Sekunden.

Interessant ist, dass manchmal die Brenner und Pumpe an/aus Meldungen 
(Can-ID 209 und 20A von der Heizung) sporadisch ausbleiben, während die 
anderen genannten Werte weiter von der Therme gesendet werden.

Dies - und da es ja nur sporadisch auftritt kann ich nur orakeln - 
meiner Beobachtung nach dann, wenn ebendieser Schalter am Regler NICHT 
auf Info steht.

Schaue ich dann am TR ob der denn die entsprechende Info anzeigen kann 
und drehe dazu den Schalter auf Info, dann sendet (wohl der Regler) eine 
Nachricht mit ID 0F9 Wert 00 auf den Bus, direkt und reproduzierbar von 
der Anforderung 250 (Heizung/Pumpe an/aus).

Genau ab dann kommen von der Heizung wieder die fehlenden 209/20A. So 
als ob genau die Meldungen, welche wirklich nur rein zu Infozwecken für 
den Benutzer übermittelt werden, durch den Info-Schalter aktiviert 
werden.

von Peter (Gast)


Lesenswert?

Hi,

@ Trabant, wenn ich mir das erlauben darf: super arbeit!

@ H.Joachim S.

sehe ich gar nicht so verbissen und unterschiedlich, nur momentan habe 
ich auch noch andere Baustellen.

"Deshalb suche ich momentan Wissen über diese Kiste mit der Flamme." 
mehr nicht und ich danke Dir sehr für die Info, deiner Meinung und 
deiner Arbeit hier.
alles ok?

Ich meine "EA" Junkers_fehler: Flamme nicht erkannt. Tritt der ~3 mal 
auf, steht die Heizung. Beinhaltet viele Fehler in Grau_Zone, Gas, 
Ionenstrom, Elektroden und so weiter, wird immer teuer. Halt... in der 
Kiste nix für Besitzer der Heizung.Ich habe den immer, aber Heizung 
läuft.


Frage: existiert eine ID in der gespeicherte Fehler mit geteilt werden?

von Kay (Gast)



Lesenswert?

Hallo zusammen,

nachdem ich hinreichend und intensiv aus den Beiträgen hier zum Thema 
“CAN Bus“ und “Junkers“ profitiert habe, möchte auch ich meinen Beitrag 
leisten. Zunächst habe ich meine Junkers ZBS 3-16 von TA211 auf BM1 mit 
TA250 umgerüstet, was generell einen Zugewinn in der Bedienung darstellt 
(keine Ahnung, warum ich damit 15 Jahre gewartet habe!?). Im Anschluss 
habe ich mich in dem für mich völlig unbekannten Thema “CAN Bus“ 
angenähert

->  Zielsetzung: Junkers goes WLAN

Bei der Umsetzung habe ich mich des ESP-32 und dem CAN-Bus-Shield für 
den Arduino entschieden. Vorteile des ESP-32 gegenüber dem Arduino sind:
- schnellerer Prozessor
- mehr Speicher
- WiFi & BT on board
- geringer Preis
- mehr oder weniger identisch Programmierung

Grundlegend ist zu beachten, dass der ESP-32 mit 3,3 Volt an den GPIOs 
arbeitet und der CAN-Bus mit 5,0 Volt. Daher habe ich den 
Treiberbaustein (TJA1050) von der generellen Spannungsversorgung (Vcc = 
3,3V) getrennt und separat mit 5,0V versorgt. Wenn der ESP-32 mit 5V 
(via USB-Port) betrieben wird, können beide Spannungen am ESB-Board 
abgegriffen werden.

Die Daten am CAN Bus können relativ schnell über eines der 
Demo-Programme zum MCU-Shield im Seriel-Monitor sichtbar gemacht werden. 
Die Verkabelung von MCU-Shield und ESP-32 findet ihr in der beigefügten 
Datei. Die Pin-Belegung am ESP-Dev-Baord variieren von Hersteller zu 
Hersteller.

Im nächsten Schritt habe ich dann die WiFi-Übertragung mittels 
MQTT-Broker gemacht. Der Broker läuft auf einem Raspberry Pi4, der als 
Zentrale meiner Gebäudeautomation läuft. Über diese Plattform bekomme 
ich die Daten der Heizung in beliebige Formate und Darstellungsformen 
gebracht.

Aktuell nutze ich NodeRed zur Visualisierung, um die Betriebszustände 
von Brenner, Pumpen und Temperaturen zu sehen und um einen 
24-Stunden-Report zu generieren. Mittelfristig werde ich über den IO 
Broker gehen, da ich weitere Komponenten (z.B. HomeMatic) in 
Visualisierung einbeziehen möchte.

FAZIT: CAN-Bus kann gelesen werde, Daten werden per WiFi übertragen und 
Dashboards arbeiten stabil

Nächste Schritte:
- Programm für ESP optimieren (ich bin kein Programmierer)
- Platine fräsen
- Gehäuse bauen – resp. drucken
- IO Broker einbinden

Viele Grüße - Kay

von temp (Gast)


Lesenswert?

Ich frage mich nur warum du nicht einfach einen 3.3V CAN Tranceiver 
benutzt und extra noch einen MCP2515, wo doch der ESP32 ein internes 
CAN-Interface hat.

von Kay (Gast)


Lesenswert?

Das liegt daran, dass ich ursprünglich mit einem Arduino gestartet bin 
und das MCU-Shield schon hatte. Aber Du hast natürlich Recht damit, dass 
der Aufbau noch vereinfacht werden könnte.

Gruß, Kay

von Peter (Gast)


Lesenswert?

Hallo Kay,
Super Arbeit!!
...
Seit langen mal wieder etwas Zeit hier für.
Hast Du in diesem Zusammenhang die Belegung des ST1 bzw. ST9 TA Modul 
analysieren können, wird mich interessieren. Weil Ta211E und BM1 
benutzen den gleichen Stecker somit wahrscheinlich auch eine 
Schnittstelle. Rxd/Txd

Zum letzten Eintrag: Wemos hat eine ESP Platine D1 R32 auf Uno Basis und 
Watterott hat die aufsteckbare CAN-Bus Platine (15Euro, ICSP ändern und 
auf 3,3V einstellen mit 5V, fertig in passenden Arduino_Gehäuse.Die SW, 
die funktioniert, bekommst Du inzwischen überall bzw. hast Du ja. Schau 
Dir das mal an.
Eine Frage: Funktioniert der CAN-Bus beim ESP32 überhaupt?

Gruß Peter

von Peter (Gast)


Lesenswert?

Hallo,
zur Info:

Hauptplatinen Stecker ST9 TA Modul bzw. BM1.ST1 oder TA211E.ST1
auf den Pkt. gebracht
Junkers bzw. Bosch gibt keine Steckerbelegung preis.

Schade das sich Bosch so verschließt.

Gruß Peter

von Martin R. (zmaier)


Lesenswert?

Hallo zusammen,
ich habe eine ZSBR 7-25 mit TA270 und einem gemischten Kreis (HMM) und 
möchte die CAN-Botschaften mitlesen, zur Info und weils mich einfach 
interessiert :)

Hat jemand von euch einen gemischten Kreis? Gibts dazu schon CAN-Ids?
VL soll und ist im gemischten Kreis, Umwälzpumpe gemischter Kreis?

sg, bleibts gesund
Martin

von Peter (Gast)


Lesenswert?

Hallo,

..habe ich nicht...aber,
schau mal weiter zurück in der Zeit. Sofern Du diese Daten über das 
Bedienteil sendest (Vorgabe), werden sicher auch Daten(Ist_Werte) zurück 
gemeldet. Ich meine aber gelesen zu haben, dass in diesem Fall 2 
Bedienteile TA270 vorhanden sind~~.

..um das Scannen wirst Du nicht herumkommen.

Gruß Peter

von Martin R. (zmaier)


Lesenswert?

Danke, werde ich machen CAN-Modul ist schon bestellt.
Gefundene IDs werde ich hier für die Allgemeinheit posten.

Ich muss nochmal was fragen, hat nicht wirklich was mit dem CAN-Bus zu 
tun, ich frag trotzdem an der Stelle mal :)

Seit kurzem habe ich das Problem, der Drehknopf
„Heizen“ macht nichts mehr, sprich die VL-Soll Temperatur ändert sich 
nicht?

Bei Außentemp=4°C ergibt sich rein aus der Heizkurve eine Soll-VL Temp 
von 33.5°C.
Und das ist auch genau was der (die, das) TA270 weitergibt.
Im Menü unter Info ist beim gemischten HK die VL Solltemp genau diese 
33.5°C.
Ich habe die Raumtemperaturaufschaltung deaktiviert, also sollte wenn 
ich den Drehknopf auf wärmer stelle (ganz rechts), dann sollte laut 
Bedinungsanleitung die VL Soll Temp um 25K erhöt werden. Das tuts aber 
nicht. Der Drehknopf hat da keinen Durchgriff?

Wenn ich allerdings den Drehknopf auf aus stelle, dann kommt soll-VL 
Temp = 10°C raus. Das passt ja so.

Hab ich irgend eine Einstellung übersehen oder warum wird die Soll-VL 
Temp nicht erhöht?

PS: Die Einstellung der HK: Fusspunkt=20°Cm Endpunkt=-15°C
HK_Fusspunkt=10
M_Fusspunkt=20
HK_Endpunkt=10
M_Endpunkt=50

von Peter (Gast)


Lesenswert?

Hallo Martin,

nun so richtig kann ich Dir nicht folgen.
Deine Heizkurve liegt bei 20/10 und -15/10 [°C]? Deine M-Punkte stimmen 
schon eher.

Ich bin gerade dabei den "Regler Einschubmodul" TA 211E zu untersuchen 
sehe Dir bitte mal die PDF an. Das Modul wird noch "analog" mit Poti 
eingestellt. Hier wird noch erklärt was Du machst. Bild 15 stellt die 
Erklärung zur Heizkurve und die einzelnen Parameter.

Du solltest auch die Einstellung am Ofen kontrollieren. Du solltest E 
oder 5 haben bei älteren Häusern.

Gruß

Peter

von Martin R. (zmaier)


Angehängte Dateien:

Lesenswert?

HAllo Peter,

laut Bedinungsanleitung vom TA270, sollte die Heizkurve auf 10 gestellt 
werden, wenn der Kreis nicht vorhanden/verwendet wird.
Ich verwende nur den gemischten Heizkreislauf.
ICh glaub der Drehregler hat einen Fehler, weil wenn ich auf "aus" 
drehe, geht manchmal auch die Heizung nicht aus.
Werd ich nachmessen.

Zum Thema CAN. Ich habe mir dieses Modul gekauft :
http://spotpear.com/index/study/detail/id/137.html

Leider sehe ich nichts am BUS :(
Ich habe mich an den HMM gehängt (PIN2 = High, Pin4=GND, PIN6=Low), 
Bitrate auf 10k, leider keine einzige Botschaft.
Ich hab mich an die Anleitung im Link gehalten, der Test (senden von 
Can0 auf Can1 funktioniert), häng ich mich aber an die Heizung, sehe ich 
leider nichts :(

Aus der Ferne schwer, ich weiß, aber irgendeine Idee was ich da falsch 
gemacht haben könnte?

von Martin R. (zmaier)


Lesenswert?

Zur Info,
ich hab alles nochmal installiert und diesen Teil weg gelassen, keine 
Ahnung was die Zeile bewirken soll :
sudo ifconfig can0 txqueuelen 65536

Jetzt klappts :)
Nachrichten werden alle empfangen, jetzt gehts ans decodieren der 
Mischer-Nachrichten.
Vielen Dank
Martin

von Peter (Gast)


Lesenswert?

Hallo Martin,

Frohes neues

sorry, bin momentan auf anderem Gebiet voll eingespannt. Gib jetzt Sinn.
10°C ist halt keine sinnvolle Einstellung, für Frostschutz zu hoch.
Mir steht halt auch nur eine TA250 zur Verfügung, die ich auch noch 
nicht eingebaut habe, aus verschieden Gründen.
Habe wohl auch seit Jahren hier Pi 3 rumliegen. Ist aber nicht mein 
Ding.
Verstehe auch nicht, das Ihr es Euch so schwer macht.
Hatte beruflich mit Can zutun und da reichen bei 10k 8Mhz vollkommen aus 
um zu lesen. Erst wenn Du im Zeitrahmen [<50 ms] arbeitest und schreibst 
solltest Du dich vom Ardunio Uno verabschieden.[dann Due, ST32 und 
Teensy] Jahrelang den Arduino Uno mit 500k als Restbus im Fahrzeugbau 
benutzt, wo bei MCP2515 notwendig ist. ESP32 macht natürlich wieder 
Sinn. Aber evtl. ohne Can-bus aber über I2C Bus. Ist inzwischen mein 
Ziel, fehlt mir aber noch viel Info.

Schau mal bitte auf Störungen auf dem Bus. Kay hat scheinbar einige 
Can-Busfehler auf dem Bild, 0 Stellen. Der Can-bus braucht übrigens 
immer GND.
Hatte bei den wenigen Messungen an meinen Ofen wahnsinnige Störungen 
festgestellt beim schalten der Ventile und was sonst noch geschaltet 
wird.

Bleibt gesund

Peter

von Martin R. (zmaier)


Lesenswert?

Hallo Peter und restliche Community,

wünsche ebenfalls eine gutes neues Jahr!

Die Einstellung der Heizkurven ist für mich trotzdem noch komsich, in 
der Bedienungsanleitung steht, wird ein Kreis nicht benötigt, sollen 
10°C eingestellt werden.
Ich habe jetzt beide Heizkurven gleich eingestellt und jetzt 
funktionierts:)

Einlesen aller Nachricht klappt jetzt sehr gut und stabil.
Ich verwende den Pi Zero, weil ich damit auch andere Dinge damit im 
Heizhaus mache und da passt das einfach gut zusammen (Temperaturen 
einlesen, etc..).
Aber Hauptgrund war der iobroker, als Slave liefert mir der die Daten 
direkt in meine Hausautomatisierungs-Welt :)
Die Daten können dann mit dem CAN-BUS Adapter in den iobroker integriert 
werden, parsen der Daten geht auch sehr einfach und komfortabel.
(Ging natürlich auch mit ESP und z.B. MQTT, aber in meiner Konfiguration 
find ich es einfach praktischer).

Folgende IDs habe ich "entschlüsselt" :

440  ist VL Mischkreis
404  Pumpe Mischer
405  soll VL Mischkreis
407  Sparbetrieb aktiv

441 ist interessant, hat irgendwas mit dem Mischer selbst zu tun, aber 
ich hab noch nicht herausgefunden was genau. Stellgröße?

schöne Grüße
Martin

von Matthias B. (mabl)


Lesenswert?

Hallo zusammen,

ich bin gerade dabei meine existierende Therme von 1-2-4 analog und 
raumtemperaturgesteuert auf CAN-Bus mit eigener Steuerung auf Basis des 
BM1 umzubauen. Leider habe ich daher nicht den Luxus, einem 
funktionierendem System zuzuhören zu können und muss direkt korrekt mit 
der Therme sprechen.

Die Therme ist als Durchlauferhitzer mit Heizkreislauf ausgelegt (ZWN) 
und funktioniert daher ähnlich wie bei Trabant.

Ich kann die Therme auf der Basis der hier veröffentlichten 
Informationen steuern. Leider bleibt die Umwälzpumpe selbst bei 
deaktiviertem Heizbetrieb ([0x250, 0]) weit in Betrieb. Weiß jemand wie 
ich die Umwälzpumpe für die Nachtabsenkung zur Ruhe legen kann?

Bezüglich der CAN-ID, so kann ich Trabands Vermutung bestätigen, dass 
0x20d vermutlich die nominelle maximale Heizleistung der Therme ist.

Ich vermute, dass CAN-ID 0x258 anzeigt, ob es sich um einen 
Raumthermostat oder eine witterungsgeführte Steuerung handelt. Send ich 
[0x258, 1], so sendet die Therme die Außentemperatur (0x207), wirft dann 
aber auch den Fehler, dass kein Temperaturfühler anschlossen ist. Mit 
[0x258, 0] wird diese Fehlermeldung unterdrückt.

von Bernd Rehlinger (Gast)


Lesenswert?

Hallo Leute,

vielleicht hilft euch das weiter:

ID256=Uhrzeit 4 HEX Werte (1 Byte  = Tag 1Montag / 7 Sonntag, 2 Byte = 
Stunde, 3 Byte = Minute, 4 Byte = ????)
ID200=max.Vorlauftemperatur in Halbgradschritten Dez.120 = 60°C
ID201=aktuelle Vorlauftemperatur in Halbgradschritten Dez.120 = 60°C
ID204=max.Warmwassertemperatur in Halbgradschritten Dez.120 = 60°C
ID205=aktuelle Speichertemperatur Warmwasser in Halbgradschritten
ID206=Störungsmeldungen Hex Wert siehe ( Bedienungsanleitung ) 
00=Heizung OK
ID207=Außentemperatur in °C Hexadezimal Wert / 100 = 1/100 stel
ID209=Flamme EIN / AUS Wert 00 = Flamme AUS, Wert 01 = Flamme EIN
ID20A=Heizungspumpe  EIN / AUS
ID20B=Speicherladung  EIN / AUS
ID20C=Sommer / Winterbetrieb Wert=00 Sommer Wert 01=Winter
ID252=Sollwert von TA270 Heizungssollwert in Halbgradschritten
ID255=Sollwert von TA270 Warmwassersollwert in Halbgradschritten
ID404=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID405=Mischermodul ( Fußbodenheizung ) zweites Byte ist immer 1 (Adresse 
HMM/HSM), erstes Byte Temperatur in Halbgradschritten
ID415=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID416=Mischermodul ( Fußbodenheizung ) zweites Byte ist immer 1 (Adresse 
HMM/HSM), erstes Byte Temperatur in Halbgradschritten
ID417=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID418=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID440=Mischermodul ( Fußbodenheizung ) erstes Byte ist immer 1 (Adresse 
HSM), zweites Byte Mischertemperatur Istwert in Halbgradschritten ?
ID441=Mischermodul ( Fußbodenheizung ) erstes Byte ist immer 1 (Adresse 
HMM), zweites Byte Reglerausgangssignal in Prozent ?
ID4F9=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID25A=erstes Byte ist immer 1 (Adresse HMM/HSM), zweites Byte Temperatur 
in Halbgradschritten
ID220=zweites Byte ist immer 1 (Adresse HMM/HSM), erstes Byte Temperatur 
in Halbgradschritten

von Peter (Gast)


Lesenswert?

Hallo,

@Matthias: ich bin mir sicher, dass die  nicht abgeschaltet werden kann.
Genau so wie die Tatsache, dass Du keine moderne Pumpe einbauen kannst. 
Der große Stromverbraucher und Krachmacher!!

Gruß
Peter

von Peter (Gast)


Lesenswert?

Hallo nochmals,

den letzten Absatz verstehe ich nicht?

Du hast BM1 eingesteckt und kein Außenfühler, kein Bedienteil nur eine 
externe Beschaltung über den Can-Bus und schickst alle wichtigen Daten 
an die Therme?

Ich sehe allgemein "eine witterungsgeführte Steuerung" als Ta211E bzw. 
TA250 und TA270 beziehen sich natürlich auch auf diese Führung. Du 
benutzt diese aber nicht?

Die Selektion der einzelnen Schaltungen TA211 bzw. BM1 wird meiner 
Meinung über verschiedene Spannungsversorgungen im Stecker ST1 
realisiert und bleibt auf der Hauptplatine bzw. der Servicefunktion.

TA211 kommuniziert über eine 8/1 kanalige Spannungs/Frequenz 
Schnittstelle und BM1 über I2C in ein gemeinsames RAM des BM1. Da ist 
nichts gemeinsames.

Zur Info: In diesem Ram müsste eigentlich ein Daten_Abbild der Therme 
liegen.

Ich sehe hier 0x258 in einer anderen Funktion gebunden. Vielleicht 
Selektion der Temperaturwerte. [0...1-x].


Peter

von Matthias B. (mabl)


Lesenswert?

Hallo Peter,

vielen Dank für deine Infos, das ist ja auch sehr spannend mit dem RAM.

Du hast das richtig verstanden, ich wollte die Therme komplett steuern, 
ohne ein Bedienteil. Die interne Pumpe in der Therme hatte sich aber mit 
der alten Regelung sehr wohl abgeschaltet.

Ich habe inzwischen für 20Euro einen TA270 erstanden und dazwischen 
einen RaspberryPi mit zweikanaligem CAN Ports dazwischen geklemmt [1]. 
Da es sich dabei um einen witterungsgeführten Regler handelt, sendet er 
wie postuliert die [0x258, 0x1], was denn aufgrund des nicht 
angeschlossen Außenfühlers den Fehler CC hervorruft. Ich modifiziere 
daher die Nachricht zu [0x258, 0x0], wodurch der Fehler an der Therme 
verschwindet. Die aktuelle Temperatur berichte ich dem TA270 per 0x207 
und einer Abfrage der Temperatur im Internet. Das funktioniert prächtig.

Der Regler schaltet auch die Pumpe aus, z.B. wenn die Heizung auf "Aus" 
steht. In diesem Fall wird [0x253, 0x1] gesendet. Ist die Heizung in 
Betrieb, so sendet der Regler [0x253, 0x0]. Der Befehl war zuvor hier 
als Speichertemperatur dekodiert worden, was an meiner Durchlauf-Therme 
natürlich nicht sinnvoll war und ich daher natürlich nicht versucht 
hatte. Das Kommando 0x253 ist also eher ein "Interne Pumpe deaktivieren" 
Kommando.

[1] https://www.waveshare.com/2-ch-can-hat.htm

von Peter (Gast)


Lesenswert?

Hallo,

für 20 Euro....ahhh.

Natürlich, wenn ich die Heizung ausschalte wird auch die Pumpe 
ausgeschaltet.
Telegrammtechnisch sieht es aber so aus, das so ein "an" "aus" Telegramm 
entsteht (evtl. ein flattern v. induktiven Lasten). Du bist 
wahrscheinlich noch innerhalb des Timeouts, das es so funktioniert.

Ich halte es für sehr gefährlich die Pumpe auszuschalten. Ich habe es 
noch nicht kontrolliert, aber ich meine gelesen zu haben das die Pumpe 
auch beim Warmwasserdurchlauferhitzer also höchste Leistung zur Kühlung 
läuft.

Ich hatte ähnliche Gedanken wie Du und wollte auch nur BM1 benutzen, 
aber TA211 weit benutzen, als Ausfallschaltung und glaubte das beide 
eine gemeinsame Schnittstelle haben was aber nicht der Fall ist.

So glaubte ich auch das TX RX die gemeinsame Schnittelle ist. Die ist 
sogar vorhanden, aber nur zwischen CPU und Treiber. Die eigentliche 
Schnittstelle ist aber I2C für BM1. Ich glaube H.Joachim S. hat 
diesbezüglich mal separat was geschrieben. Er hatte ein RAM defekt, 
vielleicht weis er noch die Geschwindigkeit der Schnittstelle. Aber über 
WLAN währe das der direktere Weg. Aber halt viel messen, "am offenen 
Herz" und viel Zeit notwendig.

Es wird hier immer von Regler gesprochen. Ich habe weder in der 
Beschreibung noch in der Funktion den Regler gesehen. Der TA...und BM1 
ist nur ein Bedienteil bzw. eine Schnittstelle zum Regler 
(Außenfühler--Hauptplatine).

Die Can-Bus Karte find ich nicht schlecht, kannte ich nicht. Leider 
etwas überholt. MCP2517/18  beinhaltet 2.0 und FD, Fifo und 32 Filter. 
Aber hierfür vollkommend ausreichend.

! Hast Du schon mal überlegt einen Außenfühler zu simulieren, der für 
deine Funktion sinnig ist. Ein Widerstand!

Gruß

Peter

von H.Joachim S. (crazyhorse)


Lesenswert?

Peter schrieb:
> Es wird hier immer von Regler gesprochen. Ich habe weder in der
> Beschreibung noch in der Funktion den Regler gesehen. Der TA...und BM1
> ist nur ein Bedienteil bzw. eine Schnittstelle zum Regler
> (Außenfühler--Hauptplatine).

Doch, der TA270 ist ein Regler. Der ermittelt aus Aussentemperatur, 
Heizkurve und Raumtemperatur die erforderliche Vorlauf(Soll)temperatur. 
Die Heizungsthermostate in dem Raum in dem sich der Regler befindet sind 
komplett geöffnet.
Das funktioniert sehr gut, solange der Kamin als zusätzliche Heizquelle 
nicht in Betrieb ist. Brennt der Kamin, geht durch steigende 
Raumtemperatur die Vorlauftemperatur runter, was dann im Rest des Hauses 
zu mangelnder Wärme führt. Dann stell ich die Raumtemperatur auf 23° und 
alles passt wieder.

von Peter (Gast)


Lesenswert?

Hallo,

nun ich will mich gerne belehren lassen, aber Du beschreibst hier nur 
den Regelprozess nicht den Beweis, dass der TA211, TA250 oder TA270 
Regler sind und das der nur "eine.." Stellgröße an die Therme weiter 
gibt.

H.Joachim S. schrieb:
> Doch, der TA270 ist ein Regler. Der ermittelt aus Aussentemperatur,
> Heizkurve und Raumtemperatur die erforderliche Vorlauf(Soll)temperatur.
> Die Heizungsthermostate in dem Raum in dem sich der Regler befindet sind
> komplett geöffnet.

Die verschiedenen Temperaturen sind alles Führungsgrößen und der 
"Regler" folgt der Leittemperatur(Solltemperatur) im Raum des 
Bediensungsteil des TA 270 falls vorhanden. Eine Ermittlung der 
Temperatur gehört nicht allgemein zum Regelprozess. Du gibst nur die 
Führungsgrößen und Sollgrößen weiter--> Eingangsgrößen.

Eine Heizkurve kannst Du auch mit dem TA211E vorgeben, genau so als ob 
Du den TA270 benutzt und auch die Raumtemperatur!!

Halt, nicht so bequem wie beim TA270. Aber suche dort mal nach einem 
Regler, ok es könnte auch nur ein OP sein. Aber der TA 211 besitzt 
keinen Regler in diesem Sinne. Er übergibt genau so seine Daten an die 
Hauptplatine wie ein TA270. Nur über eine andere Schnittstelle und 
einige Impulse. Weiterhin hat das Bedienteil TA250 und TA270 nur noch 
die Möglichkeit Einstell_Daten zurückzugeben (anzeigen INFO).

H.Joachim S. schrieb:
> Das funktioniert sehr gut, solange der Kamin als zusätzliche Heizquelle
> nicht in Betrieb ist. Brennt der Kamin, geht durch steigende
> Raumtemperatur die Vorlauftemperatur runter, was dann im Rest des Hauses
> zu mangelnder Wärme führt. Dann stell ich die Raumtemperatur auf 23° und
> alles passt wieder.

Deine Beschreibung sagt, dass deine Therme (Regler) funktioniert und die 
Störgröße Kamine nicht erkennen kann. Deine Manipulation der Soll 
Raumtemperatur kann nur höher als normal sein, darf ich das so 
verstehen, ansonsten kann es nicht hinhauen.

Vielleicht kannst Du bei Kaminbetrieb den Raumfühler ausschalten oder 
von wo anders zuführen (CAN-Bus).

Nochmals zurück zur Annahme:

Wenn der TA270 oder TA250 ein Regler ist wo ist das Regler_Telegramm 
Stellgröße keiner hat es bis jetzt aufgezeichnet. Es sollte schnell und 
regelmäßig kommen und sicher mehrere Byte haben.

Wenn BM1 der Regler ist wieso funktioniert die Therme auch ohne TA250 
oder TA270 nur mit Arduino..RaspberryPi bzw. nur mit TA211E.

Nein, das überzeugt mich nicht, der eigentliche Regler ist hier auf der 
Hauptplatine.

Aber nur meine Meinung und der endgültige Beweis währe dann der 
Telegrammverkehr Hauptplatine <--I2C--> BM1. Aber 50% davon ist der 
Beweis das der TA211 "kein" Regler ist und die Therme funktioniert.

wie auch immer bleibt gesund!!

Peter

von H.Joachim S. (crazyhorse)


Lesenswert?

Ich glaube, wir haben grundlegend unterschiedliche Auffassungen vom 
Regler.
Der Knackpunkt, der deine Argumentation ins Nirwana befördert: die 
aktuelle Raumtemperatur als eigentliches und einziges Regelziel wird 
überhaupt nicht zur Therme geschickt. Das wäre ja wohl 
Grundvoraussetzung für eine irgendwo anders sitzende Heizungsregelung.
Aber nein - es wird nur eine aktuell erforderliche Vorlauftemperatur als 
Sollwert an die Therme geschickt. Natürlich befindet sich da auch wieder 
ein Regler, der aber nichts anderes macht, als zu versuchen die extern 
angeforderte Temperatur zu liefern.

Peter schrieb:
> Es sollte schnell und
> regelmäßig kommen und sicher mehrere Byte haben.
Gibts irgendeinen nachvollziehbaren Grund, warum das so sein sollte?

Peter schrieb:
> Wenn BM1 der Regler ist wieso funktioniert die Therme auch ohne TA250
> oder TA270 nur mit Arduino..RaspberryPi bzw. nur mit TA211E.

Kein Mensch hat je behauptet, das BM1 sei ein Regler.
Die Therme möchte von irgend jemandem auf irgendeinem Weg einen 
plausiblen  Sollwert, und dieser jemand sollte ein Regler sein, damit 
das Ziel einer Heizung (irgendwas sinnvoll beheizen) erreicht werden 
kann.
Ich könnte es dir vormachen: die CAN-Botschaft vom TA270 "Sollwert 
Vorlauf = xyz" rausfischen und durch "Sollwert Vorlauf = 60°" ersetzen, 
weiter nichts ändern. Sommer oder Winter, Heizkurven, Raumtemperatur - 
alles egal: die Therme liefert 60° warmes Wasser (so es denn 
physikalisch möglich ist und keine Sicherheitsbedenken entgegen stehen).

: Bearbeitet durch User
von Peter (Gast)


Lesenswert?

Hi,

keine Sorge es gibt Hilfe, Scherz. :-)

H.Joachim S. schrieb:
> Ich glaube, wir haben grundlegend unterschiedliche Auffassungen vom
> Regler.

Ja...https://de.wikipedia.org/wiki/Regler dem folge ich.

H.Joachim S. schrieb:
> Der Knackpunkt, der deine Argumentation ins Nirwana befördert: die
> aktuelle Raumtemperatur als eigentliches und einziges Regelziel wird
> überhaupt nicht zur Therme geschickt.

Wer hat denn das gesagt?, du hast doch das beste Beispiel gebracht, dass 
die Raumtemperatur aufgeschaltet werden kann.

Hmmm... meine Heizung ist nur dafür da mich warm zu halten bzw. die 
nötige Raumtemperatur zu erbringen.

Zitat: TA270 Betriebsanleitung:
"Mit Raumtemperaturaufschaltung wird den
Drehknöpfen „Heizen“ (k) und „Spartemperatur“
(m) ein Raumtemperaturwert als Sollwert zugeordnet."

oder

H.Joachim S. schrieb:
> Brennt der Kamin, geht durch steigende
> Raumtemperatur die Vorlauftemperatur runter, was dann im Rest des Hauses
> zu mangelnder Wärme führt. Dann stell ich die Raumtemperatur auf 23° und
> alles passt wieder.

Was ist eine Witterungsgeführte Heizungsanlage! oder Regler!!
Witterungsgeführte: Heizkurve, Kennlinie oder früher Kennfeld genannt 
wenn es so war. Junkers hat eine Heizlinie aber keine Kurve. Sie wird 
von Hand festgelegt aus dem Fußpunkt min. und der max. Vorlauftemperatur 
max. zur Außentemperatur. Parallelverschoben durch den, nennen wir ihn, 
Hauskoeffizienten oder dem "Raumbedarf". Aus dieser Tabelle oder diesem 
Graf wird ein evtl. zutreffender Wert zur Außentemperatur der aktuellen 
Vorlauftemperatur entnommen und an den Regler "gesendet". Ich lasse mal 
den Ort, von wo das geschieht, unerwähnt. Dieser oder diese Regler mit 
Stellglieder und Temperaturfühler stellen die Vorlauftemperatur ein.

H.Joachim S. schrieb:
> Kein Mensch hat je behauptet, das BM1 sei ein Regler.
> Die Therme möchte von irgend jemandem auf irgendeinem Weg einen
> plausiblen  Sollwert, und dieser jemand sollte ein Regler sein, damit
> das Ziel einer Heizung (irgendwas sinnvoll beheizen) erreicht werden
> kann.

Unter TA270 kannst Du beides zusammen kaufen! ..Nein, ich habe den BM1 
damit auch ausgeschlossen. Der BM1 ist eine 3fach Schnittstelle und mit 
Außenfühlereingang.
Nein,... der Sollwert ist doch die Vorlauftemperatur aus der Heizkurve. 
f(Außentemperatur)+ des Hauskoeffizienten...

H.Joachim S. schrieb:
> Ich könnte es dir vormachen: die CAN-Botschaft vom TA270 "Sollwert
> Vorlauf = xyz" rausfischen und durch "Sollwert Vorlauf = 60°" ersetzen,
> weiter nichts ändern. Sommer oder Winter, Heizkurven, Raumtemperatur -
> alles egal: die Therme liefert 60° warmes Wasser (so es denn
> physikalisch möglich ist und keine Sicherheitsbedenken entgegen stehen).

Nun, auch wenn es jetzt nicht hierhingehört, wie machst Du das einen 
Wert herausfischen und einen anderen senden. Hast Du wirklich eine 
CAN-Bus Relay-Station aufgebaut?

Nochmals Du schickst dem Regler den Sollwert 60°C über Can und sollte er 
nicht schon 60°C haben wird er tätig in der Therme.

Frage: Was passiert, wen er nicht wiederholt wird. Wird er wieder 
überschrieben?!

Peter

von H.Joachim S. (crazyhorse)


Lesenswert?

Ich merk schon, du willst nicht. Vielleicht kannst du auch nicht. 
Desqwegen mag ich auch nicht mehr versuchen dir das beizubringen.

Kläre für dich nochmal ganz neutral 3 einfache Überlegungen:
-wie schafft es die Therme in meinem Leitraum die gewünschte Temperatur 
einzustellen und zu halten, ohne weder die gewünschte Temperatur noch 
die aktuelle Temperatur zu kennen?
-warum geht die Vorlauftemperatur in den Keller wenn ich den Kamin 
anzünde?
-warum geht die Vorlauftemperatur hoch, wenn ich lüfte? (nein, ich drehe 
die Heizung nicht runter dafür, auch wenn das Energiesparfüchse 
empfehlen)

Die Antwort auf diese 3 Fragen wird dich dahin führen: der TA270 ist der 
eigentliche Regler des Systems. Angeforderte Vorlauftemperatur als 
Ergebnis aller bekannten und relevanten Daten.

Peter schrieb:
> Nun, auch wenn es jetzt nicht hierhingehört, wie machst Du das einen
> Wert herausfischen und einen anderen senden. Hast Du wirklich eine
> CAN-Bus Relay-Station aufgebaut?

Nicht dafür, aber sowas benutze ich oft. Kann man im Auto und auch sonst 
öfters gebrauchen.

Peter schrieb:
> Frage: Was passiert, wen er nicht wiederholt wird. Wird er wieder
> überschrieben?!

Natürlich gibts dann irgendwann einen Eingriff seitens der Therme a la 
timeout. Das ist aber nicht Teil der Temperaturregelung sondern 
übergeordnete Sicherheit wie vieles andere auch, was im störungsfreien 
Normalbetrieb aber niemals zur Auslösung kommt.

Und jetzt habe ich fertig hier.

von Peter (Gast)


Lesenswert?

Schade!!

Schade der erste Satz ist Beleidigend!

Der Zweite ist im höchsten Maße arrogant! Kenne ich ja schon!!

Daran solltest Du arbeiten. Vielleicht klappt es es ja irgendwann mal.

---------------------------------------------------------------------

H.Joachim S. schrieb:
> -wie schafft es die Therme in meinem Leitraum die gewünschte Temperatur
> einzustellen und zu halten, ohne weder die gewünschte Temperatur noch
> die aktuelle Temperatur zu kennen?

Ich gehe mal davon aus, das Du den Beitrag von gestern gelesen hast oder 
zu mindestens überflogen. Da steht der Hinweis Betriebsanleitung TA270 
Seite 37
3.7.11 Raumtemperaturaufschaltung
wählen (RA-Mode aus +/- oder
MRA-Mode aus +/-)
 Mit anderen Worten Du stelltest die Temperatur mit Heizen (k) ein. Der 
Raumfühler ist im TA270 und hast Du die Parallelverschiebung verstanden 
wirst Du auch den Satz der Bedienanleitung verstehen, der lautet:
Mit Raumtemperaturaufschaltung wird den
Drehknöpfen „Heizen“ (k) und „Spartemperatur“
(m) ein Raumtemperaturwert "als Sollwert" zugeordnet. Die 
Parallelverschiebung in Plus wenn es wärmer wird und minus wenn es 
kälter werden soll [Sollwert!!!]. Da zu brauchst Du kein Regler, sondern 
es ist "die" neue VLT für den Regler. Die neue VLT wird  über CAN-Bus 
und BM1 "an" den Regler der Terme geschickt .

Schalte den Temp-Sensor doch aus und prüfe die VLT!!!

H.Joachim S. schrieb:
> -warum geht die Vorlauftemperatur in den Keller wenn ich den Kamin
> anzünde?

Weil die Vorlauftemperatur durch den Raumfühler reduziert wird. (Minus) 
und dieser Wert wird wiederum über CAN an die Therme geschickt.

H.Joachim S. schrieb:
> -warum geht die Vorlauftemperatur hoch, wenn ich lüfte? (nein, ich drehe
> die Heizung nicht runter dafür, auch wenn das Energiesparfüchse
> empfehlen)

Weil die Vorlauftemperatur durch den Raumfühler addiert wird. (PLus) und 
dieser Wert wird wiederum über CAN an die Therme geschickt.

Da ist ein NTC in einer Brücke zu +5V, ein ADC der das liest und den 
Wert addiert oder subtrahiert von der ermittelten Vorlauftemperatur der 
Heizlinie.(einfach)

Frage Dich doch mal warum werden Daten auf den CAN-Bus gelegt???

!! Damit alle Spinner wie wir sie abgreifen können? Kennst Du Bosch???

!! Damit die Therme unnötige Daten bekommt, die sie gar nicht braucht 
und Bosch schon immer sowas bauen wollten und sich bezahlen lässt.

!! Oder weil die Therme sie braucht.

H.Joachim S. schrieb:
> Nicht dafür, aber sowas benutze ich oft. Kann man im Auto und auch sonst
> öfters gebrauchen.

Nun, ein CAN-Bus Telegramm bekommen grundsätzliche alle Teilnehmer!! 
Eine Relay-Station ist möglich, aber eher nicht mit Arduino und Co. 
Sorry..aber Du schickst nun mal zwei Telegramme der gleichen ID mit 
unterschiedlichem Inhalt. aber egal, das letzte wird evtl. aktiv oder er 
verwirft beide.

Querdenker finde ich gut, aber der Respekt sollte schon im Geist 
verankert sein.

Danke

Peter

von H.Joachim S. (crazyhorse)


Lesenswert?

Peter schrieb:
> Weil die Vorlauftemperatur durch den Raumfühler reduziert wird. (Minus)
> und dieser Wert wird wiederum über CAN an die Therme geschickt.

Peter schrieb:
> Weil die Vorlauftemperatur durch den Raumfühler addiert wird. (PLus) und
> dieser Wert wird wiederum über CAN an die Therme geschickt.

Nicht so einfach addiert/subtrahiert, aber im Prinzip ja. Und genau das 
ist die Regelfunktion.

Und wie man sich korrekt in einen CAN-Bus einklinkt und dort nach 
Belieben werkeln kann kannst du mir schon zutrauen. Und das ist absolut 
entspannt mit einem ATMega + 2x MCP2515 zu machen, Langeweile pur. So 
was habe ich vor 10 oder 15 Jahren mal hier vorgestellt.
Inzwischen nehme ich dafür natürlich Controller mit 2 CAN-Einheiten.

Aber um die Sache hier zu beenden: ich gebe dir in allen Punkten zu 100% 
recht.

von Peter (Gast)


Lesenswert?

Leider nein.

PID, Totzeit usw. schon mal gehört, das ist Heizung regeln nicht plus 
minus.

Ja... schau

Peter

von Peter (Gast)


Lesenswert?

Ein schönes Beispiel einer Regelung und Einfluss deren Werte

https://en.wikipedia.org/wiki/PID_controller#/media/File:PID_Compensation_Animated.gif

von Matthias B. (mabl)


Lesenswert?

Oh je, da ist man einmal kurz weg, und schon schlagt ihr euch die Köpfe 
ein.

Hier einige Fakten, aus eigener direkter Beobachtung und basierend auf 
öffentlicher Dokumentation:

* Die Therme hat natürlich intern auch eine Regelung, so dass die über 
CAN vorgegebene Vorlauftemperatur im Mittel gehalten wird. Ein typisches 
Regelverhalten, wie ich es auch beobachte, findet sich in [1]. Die 
Therme intern will hier aber wirklich keiner direkt beeinflussen, soweit 
ich das sehe ist das auch über CAN nicht möglich. Es geht vielmehr darum 
die Vorlauftemperatur etc. zu setzen, auf welche die Terme dann ihre 
Heizleistung regelt.

* Natürlich schaltet ein „Pumpe aus“-Befehk, die Pumpe nicht direkt und 
unumstößlich aus. Vielmehr ist es ein „Kein Zirkulationspumpenbedarf“ 
Meldung. Sollte die Therme aus irgendwelchen Gründen die Pumpe 
benötigen, so läuft diese natürlich weiter. Es bringt natürlich nichts, 
den Heizkreis weiter zu zirkulieren, falls die Heizanforderung 
ausgeschalten ist, und damit nicht auf die Vorlauftemperatur geregelt 
wird. In diesem Fall kann die Zirkulation mit dem Befehl 0x253 
deaktiviert werden.  Ein reines Deaktivieren der Heizanforderung 
deaktiviert nicht die Zirkulationspumpe. Ich nehme an, das eine 
getrennte Steuerung auch für den Frostschutz benötigt wird.

* Der TA270 berechnet die Vorlauftemperatur der Heizung auf Basis der 
Außenwerte und optional eines Innenraumfühlers. Die Außentemperatur 
bekommt er dazu durch den BM1 per CAN Telegramm gemeldet. Am Ende kommt 
aus dem TA270 eine Vorlauftemperatur – und gut ist. (Okay etwas mehr wie 
Warmwasser, Mischer und optional Speicher, aber ihr versteht schon.)

* Natürlich könnte man auch einfach einen Widerstand für den Außenfühler 
simulieren, aber meine Lösung ermöglicht auch das Mitschneiden der 
Heizungsparameter in eine InfluxDB Datenbank mit Visualisierung in 
Grafana. Da kann man dann auch einfach noch die Außentemperatur 
mitsenden und gut ist. Die Fehlermeldung, dass kein Außenfühler 
angeschlossen ist, lässt sich dann wie benannt unterdrücken.

[1] 
https://wiki.volkszaehler.org/_detail/hardware/channels/heating_control/can-vz.png?id=hardware%3Achannels%3Aheating_control%3Agastherme_junkers_can_bus

von H.Joachim S. (crazyhorse)


Lesenswert?

Nö, nix Kopf einschlagen.
Wir sprechen nur unterschiedliche Sprachen, deswegen ist Verständigung 
nicht möglich. Ist aber egal.

von Peter (Gast)


Lesenswert?

Hi,

ich sehe es wohl auch nicht so, aber

er hätte wohl mal wieder für mehrere Monate geschmollt.

Nun, die Sprache der Technik ist halt nicht jedermanns Sache.
Verlangt ja auch keiner.

Tolle Arbeit..

Aber das ""auch" eine Regelung" habe ich durchaus mit Interesse gelesen.
Wir reden hier über die Therme und dessen Regelung und ob die Regelung 
durch das TA270 geschieht oder nicht. Eine Regelung bezogen auf die 
Therme existiert  in der TA270 nicht. Ein Spannungsregler 24V auf 5V 
ok.....

Die Zuweisung der Vorlauftemperaturvorgabe an die Therme ist die 
Sollvorgabe des Reglers der Therme und die Vorlauftemperaturwert ist der 
Wert der Rückkopplung des Reglers.

Was bitte soll sonst noch geregelt werden.

Medium : Wasser
Soll: VLT Vorgabe
ist: VLT_Sensor
Regelung-> Wassertemperatur
Stellglied Brenner (P)....

Ist das aus meinen Sätzen so schwer zu verstehen?

Die TA 270 ist bleibt ein Bedien_Eingabe_teil für den Kunden.

Peter

von Dave (Gast)


Lesenswert?

Hallo zusammen!
Zunächst möchte ich mich bei allen Beteiligten für die Vorarbeit 
bedanken!

Ich habe inspiriert durch diesen Thread meine ZSR 24-6 mit BM1 und TA270 
aufgerüstet. In diesem Schritt natürlich dann auch gleich den 
Außentemperaturfühler mit nachgerüstet. Die Vorbesitzer haben bei allem 
gespart... Ich muss zugeben dieses Upgrade hätte ich schon viel früher 
machen sollen. Jetzt hoffe ich natürlich auch zusätzlich zu der 
"Spielerei" eine entsprechende Ersparnis zu erzielen...
Angezapft habe ich die Therme mit einem ESP32 und einem MCP2515 + 
TJA1050 Can-Bus Modul ("NiRen"), welches ich auf 16MHz "geupgraded" 
habe. Leider schlug die Kommunikation mit dem eingebauten Can-Bus und 
einem SN65HVD230 fehl - es kam nichts an.

Übrigens ist es nicht notwendig bei dieser Kombination aus MCP2515 und 
TJA1050 5v von 3v3 zu trennen. Der Transceiver auf diesem Modul arbeitet 
mit der Spannung des Bus während der MCP immer mit dem Signalpegel von 
VCC arbeitet. So setze ich das in meinem Auto mit einem Arduino Due 
schon jahrelang ein und es zerfetzt nicht den IO. Seltsamerweise 
arbeitet der CAN von meiner Therme allerdings mit 3v3. Kabellänge ist ca 
1.5 Meter - habe CAT6 Verlegekabel benutzt.

Ich kann bestätigen, dass 20D die Leistungsstufe, so nenne ich sie mal, 
angibt. Bei mir ist dieser Wert nämlich konstant 24.

Das Programm habe ich dann mit etwas MQTT, NTP und WiFi aufgepeppt. Ich 
melde mich die Tage nochmal zurück mit dem Github Repository wo alles 
drin liegt. Muss vorher noch etwas aufräumen und optimieren...

von Peter (Gast)


Lesenswert?

Hallo,

willkommen!

berichtige mich, aber wie kommst Du an die Daten, wenn es nicht 
funktioniert?

Dave schrieb:
> Übrigens ist es nicht notwendig bei dieser Kombination aus MCP2515 und
> TJA1050 5v von 3v3 zu trennen. Der Transceiver auf diesem Modul arbeitet
> mit der Spannung des Bus während der MCP immer mit dem Signalpegel von
> VCC arbeitet. So setze ich das in meinem Auto mit einem Arduino Due
> schon jahrelang ein und es zerfetzt nicht den IO. Seltsamerweise
> arbeitet der CAN von meiner Therme allerdings mit 3v3. Kabellänge ist ca
> 1.5 Meter - habe CAT6 Verlegekabel benutzt.

NiRen hat doch nur VCC und der TJA1050 ist nicht für 3,3 V zugelassen.
DUE & ESP32 ist 3,3 V; MCP2515 verträgt beides und CAN-Bus würde ich 
nicht unter 5V betreiben. Die Möglichkeit ist eher für unterschiedliche 
CPU's gedacht. Bei 10k ist CAT6 super, allerdings sollten "beide" Kabel 
(+ GND) umeinander verdrillt sein. Aber bei 10 k ist hier nichts zu 
befürchten. Hier gibt es auch Vorschriften wie Umdrehung pro Länge (im 
Automotivbereich). BM1 funktioniert sogar mit nur CAN-High mein BM1 hat 
auch den TJA1050 und 5V.
Vielleicht stimmen aber auch deine Zeiten nicht mehr von 8 auf 16MHZ 
ohne Abgleich. Warum bei 10k? geht der ESP schlafen.

Peter

von Dave (Gast)


Angehängte Dateien:

Lesenswert?

Danke, Peter!
> berichtige mich, aber wie kommst Du an die Daten, wenn es nicht
> funktioniert?

Es funktioniert leider nicht mit dem SN65HVD230. Das wäre viel eleganter 
gewesen aber ich meine irgendwo gelesen zu haben, dass aufgrund 
irgendwelcher seltsamer Zusammenhänge der ESP eh nicht niedriger als 10k 
takten kann. Das ist aber reine Spekulation.
Tatsächlich funktioniert das alles super über SPI mit dem ESP32, MCP2515 
und TJA1050. Damit hab ich mir auch schon selbst Platinen gelötet. 
Witzigerweise verbaut auch BMW genau dieses Gespann in manchen Geräten - 
beispielsweise im iDrive Knopf in der Mittelkonsole.
Ich hätte vielleicht noch vor schicken sollen, dass ich Informatiker bin 
und reiner Hobbyist, wenn es um Elektronik geht. Ich kriege ein paar 
Sachen selbst hin und Datenblätter verstehe ich auch ausreichend um 
nicht zu viel Geld durch hochgejagte Komponenten zu verbraten :)
Daher habe ich natürlich auch zum Netzwerkkabel gegriffen, weil man das 
so herumliegen hat und da auch die Spannung sehr gut in den 
Spezifikationen liegt.

> NiRen hat doch nur VCC und der TJA1050 ist nicht für 3,3 V zugelassen.
> DUE & ESP32 ist 3,3 V; MCP2515 verträgt beides und CAN-Bus würde ich
> nicht unter 5V betreiben.
Genau... VCC vom TJA sollte zwischen 4,75 und 5,25 liegen. Gibt man ihm 
3,3 arbeitet er trotzdem zuverlässig. Irre oder?
Aktuell und in meinen sonstigen Designs fahre ich dieses Gespann wie ... 
papierraschel ... nach Vorschrift - siehe Anhang :)

> BM1 funktioniert sogar mit nur CAN-High mein BM1 hat
> auch den TJA1050 und 5V.
Also wie beim CAN im Auto. Interessant. Muss aber dafür das gleiche 
Potenzial haben oder?

Was ich mit meinem begrenzten Arsenal nicht herausfinden kann ist warum 
der Bus nur 3-4v liefert aber da alles sauber funktioniert bin ich 
erstmal arglos. Vielleicht hat auch der TA einen weg und zieht die 
Leitung runter... oder mein Multimeter misst Mist. Mehr als das habe ich 
ohnehin nicht zum Diagnostizieren.

Naja...werde jetzt erstmal weiter den Code organisieren und auch mal 
testen ob das vielleicht ohne TA270 überhaupt läuft. Bei den aktuellen 
Außentemperaturen kann man ja ruhig mal die Heizung kurz lahm legen ;)

von Peter (Gast)


Lesenswert?

Hallo Dave,

Dave schrieb:
> Es funktioniert leider nicht mit dem SN65HVD230. Das wäre viel eleganter
> gewesen aber ich meine irgendwo gelesen zu haben, dass aufgrund
> irgendwelcher seltsamer Zusammenhänge der ESP eh nicht niedriger als 10k
> takten kann.

Der ESP hat damit überhaupt nichts zu tun. Der MCP2515 ist dein 
Kontroller und nicht der ESP. Das sind zwei verschiedene Schuhe. Deine 
Einstellung des MCP (lib)und dessen Quarz (Datenblatt) gegeben darüber 
Auskunft ob es hinhaut.

Dein CAN-Bus Platine war NiRen Du musst weg von deiner 3V3 Einstellung 
die ist falsch. 5V für den CAN-Bus Treiber, 5V oder auch 3V3 für CPU & 
MCP, schau Dir das CAN-Bus Signal mal an WIKI. Und Du hast teilweise 
eine Masseverschiebung besonders im Fahrzeug, aber auch wenn ein 
Ventil,... in der Therme schaltet.

Verstehe das mit dargestellten Schaltung nicht, ist das deine eigene 
Schaltung? Es fehlt der Abschlusswiderstand, der wird wohl nicht immer 
benötigt, wenn Du 2 hast (je nach Aufbau, manchmal ist es besser einen 
3. zu berücksichtigen).

Dave schrieb:
> Witzigerweise verbaut auch BMW genau dieses Gespann in manchen Geräten -
> beispielsweise im iDrive Knopf in der Mittelkonsole.

Ich glaub der SN65HVD230 ist mir während meiner früheren Arbeit nur 
einmal untergekommen. Meine Erfahrung mit BMW ist das ganze Gegenteil. 
Ein MCP nie, viel zu viel Aufwand. Der CPU_Port& CanTreiber & ESD 
beschaltung fertig. Das ein CAN-Bus im Automotiv. Ein TJA1050 vielleicht 
bis 2005, ist uralt und so auch deine Heizungselektronik. Davon musst Du 
ausgehen.

Ich habe immer Netzwerkkabel benutzt, weil ich auch immer Watterott 
Platinen benutze. Einfach, aber solide und einstellbar.

Nun das, mit dem einen CAN-Bus Kabel möchte ich so nicht stehen lassen 
das klappt hier bei mir unter bestimmten Voraussetzung (lesen), aber 
nicht unbedingt im Fahrzeug.

Dave schrieb:
> Genau... VCC vom TJA sollte zwischen 4,75 und 5,25 liegen. Gibt man ihm
> 3,3 arbeitet er trotzdem zuverlässig. Irre oder?
> Aktuell und in meinen sonstigen Designs fahre ich dieses Gespann wie ...
> papierraschel ... nach Vorschrift - siehe Anhang :)

Nun, zu bedenken ist! Es klappt doch nicht oder?

Mit einen Multimeter exakt VSS messen??

https://wolles-elektronikkiste.de/dso-138-ein-einsteiger-oszilloskop

Eine zusätzliche Diagnose hast Du noch, deine TA der sagt Dir ob Du ein 
CAN-Bus Fehler hast. Ein Fehler der Pegel ändert ganz sicher.

Peter

von Dave (Gast)


Lesenswert?

Da liegt ein Missverständnis vor. Ich habe Kommunikation mit dem MCP+TJA 
trotz "nur" 3,3v. Keine Busfehler.

Ich hätte es aber gerne mit dem SN65HVD230 Transceiver und dem internen 
Controller des ESPs gelöst. Stört mich aber nicht also werde ich eine 
Platine dafür entwerfen, damit das nachher sauber aussieht.


Neue Erkenntnisse:

0x0F9 wird nach 0x255 spätestens alle 30 Sekunden ohne Daten gesendet. 
Das ist eine Nachricht die vom "Bedienteil", so nenne ich es mal, kommt. 
Ich vermute hier das Ende der Schrittkette.

Außerdem sendet der Controller in der Heizung die Daten in einem Rutsch 
raus während das Bedienteil anscheinend so etwas wie eine Schrittkette 
durchläuft.


Ich bin gerade dabei das Programm so weit auszubauen, dass 
beispielsweise Home Assistant als Leitsystem die Vorgaben macht anhand 
dann die Temperaturen vom MC auf den Bus gebracht werden. Kaputt machen 
kann man ja nix, da die Steuerung der Heizung offensichtlich immer die 
Oberhand hat und man nur Wünsche an diese äußern kann...

von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
dann ist ja gut.

ICH habe mir das Datenblatt mal kurz angesehen, ich nehme an das sind 
unterschiedlichen Pegel.
Wenn es interessiert.[TA250]

Ein Scan ohne Heizung und begrenzt auf 13.. leider.
ID; ext; RTR; len; Data1...8; z-Time
Letzte Spalte sind Zykluszeiten.

hoffe die Datei wird angezeigt.

Peter

von Dave (Gast)


Lesenswert?

Wunderbar - Danke Peter!

Also das war jetzt ein Versuchsaufbau wo der TA alleinig am Bus hing? 
Das würde ja bedeuten, dass deutlich mehr Parameter zur Heizung 
geschickt werden als angenommen... Das ging nicht so ganz klar aus den 
verteilten Informationen hier aus dem Thread hervor.

Um etwas Ordnung in das Konvolut zu bringen habe ich die folgende 
Tabelle erstellt, an der sich jeder frei beteiligen kann:

https://docs.google.com/spreadsheets/d/1JzmhEbFY_GSk0Dl_e5pb2zmsy9EPlQU7bUpb9bXKxCM/edit?usp=sharing

Hinweis:
- Controller: Damit ist der Controller im Heizgerät gemeint
- RC: TA/TR "Remote Control" nenne ich es.

von Peter (Gast)


Lesenswert?

Hallo,
genau, der Schreibtischtest!

Allerdings ohne Abschluss des I2C und ich würde das "noch nicht" so 
behaupten können.

Weil ich nehme an, wie schon mal geschrieben, dass der I2C Speicher 
Übergabepunkt ist. Das BM1 und das TA250 ihre eigene Sache machen und 
die aktuellen Daten im Speicher stehen und das die Heizung sich die 
Daten holt wann immer sie die benötigt. Das heißt aber auch das Daten 
aus dem Speicher auf dem CAN-Bus sich befinden die normaler weise von 
der "Heizung" sind.

Die unterschiedlichen ID's sagen hier evtl. über den Ursprung aus. 
Niedrige ID's haben auf dem CAN-Bus die höhere Priorität. [Annahme, auch 
hier?]

Passt alles mit dem, das Du auch dargelegt hast (super). Mir fehlt aber 
irgend etwas noch, was?? TA initialisiert sich beim Start und ich 
bekomme hiervon nichts mit. Ich konnte auch nichts spontanes 
feststellen. Ablaufsteuerung? Vielleicht, fehlen aber auch noch 
Informationen von der Heizung direkt an BM1 über I2C. Ich kenne dieses 
"Hin und Her schaukeln" der Daten auch nicht. Sondern Anfrage <---> 
Antworten ->Ruhe.

Peter

von Dave (Gast)


Lesenswert?

Interessant...

Ich gehe hier wirklich davon aus, dass diese Steuerung nach dem SPS 
Prinzip arbeitet und dort werden Informationen einfach ohne Frage 
rausgeschickt aber dafür zyklisch. Das heißt wenn mal etwas verloren 
geht, ist es nicht wild, da ja ein paar Augenblicke später wieder der 
Wert erneut gesendet wird.
Von meinem BMW weiß ich, dass es auf dem Karosserie-CAN eine 
Frage-Antwort Kommunikation gibt aber die meisten Daten einfach auf den 
Bus gelegt werden.

Die TA wird wohl einfach beim Einschalten die Werte der Heizung 
entgegennehmen und damit arbeiten und wenn keine Werte kommen, einen 
Fehler auslösen? Ist das richtig?

So wie ich das verstanden habe ist das BM1/2 nur ein Interface, was vom 
I2C auf CAN und zurück übersetzt.



Okay also ich habe mich jetzt gewundert wie die Heizung denn es 
mitbekommt, dass sie nun die Pumpe ausschalten soll und im Sparbetrieb 
sich befinden soll. Das ist ja etwas, was definitiv vom TA/TR kommen 
muss.

Dabei ist mir eine Diskrepanz aufgefallen. Laut Berichten sollte die 
0x253 für die WW Soll-Temperatur stehen. Ich meine aber herausgefunden 
zu haben, dass es bei meiner ZSR24-6 im reinen Heizbetrieb das Byte für 
den Sparbetrieb ist.
1
[24-Feb-21 17:47:19.407] - CAN: [0252] Data:    36 (54) >> Soll: 27°C
2
[24-Feb-21 17:47:21.008] - CAN: [0201] Data:    54 (84)
3
[24-Feb-21 17:47:22.508] - CAN: [020D] Data:    18 (24)
4
[24-Feb-21 17:47:23.378] - CAN: [0253] Data:    00 (0) >> Sparmodus aus?
5
>> Sparknopf gedrückt = Sparmodus AN
6
[24-Feb-21 17:47:47.508] - CAN: [0209] Data:    00 (0) >> Brenner aus
7
[24-Feb-21 17:47:48.008] - CAN: [020A] Data:    01 (1) >> Pumpe an
8
[24-Feb-21 17:47:48.509] - CAN: [0258] Data:    01 (1)
9
[24-Feb-21 17:47:49.402] - CAN: [0252] Data:    14 (20) >> Soll: 10° (Frostschutz)
10
[24-Feb-21 17:47:51.008] - CAN: [0201] Data:    54 (84)
11
[24-Feb-21 17:47:51.385] - CAN: [0256] Data:    03 (3)  11 (17) 31 (49) 04 (4)
12
[24-Feb-21 17:47:52.508] - CAN: [020D] Data:    18 (24)
13
[24-Feb-21 17:47:53.363] - CAN: [0253] Data:    01 (1) >> Sparmodus an?
14
[24-Feb-21 17:47:53.508] - CAN: [0209] Data:    00 (0) >> Brenner aus
15
[24-Feb-21 17:47:54.008] - CAN: [020A] Data:    01 (1) >> Pumpe an
16
[24-Feb-21 17:47:54.355] - CAN: [0252] Data:    14 (20)
17
[24-Feb-21 17:47:55.344] - CAN: [0254] Data:    01 (1)
18
[24-Feb-21 17:47:56.334] - CAN: [0255] Data:    8C (140)
19
[24-Feb-21 17:47:57.008] - CAN: [0201] Data:    54 (84)
20
[24-Feb-21 17:47:57.324] - CAN: [00F9] Data:
21
[24-Feb-21 17:47:58.314] - CAN: [0250] Data:    01 (1)
22
[24-Feb-21 17:47:58.508] - CAN: [020D] Data:    18 (24)
23
[24-Feb-21 17:47:59.402] - CAN: [0252] Data:    14 (20)
24
[24-Feb-21 17:47:59.508] - CAN: [0209] Data:    00 (0) >> Brenner aus
25
[24-Feb-21 17:48:00.008] - CAN: [020A] Data:    00 (0) >> Pumpe aus
26
>> Sparknopf erneut gedrückt = Sparmodus AUS
27
[24-Feb-21 17:47:23.378] - CAN: [0253] Data:    00 (0) >> Sparmodus aus?
28
[24-Feb-21 17:47:23.508] - CAN: [0209] Data:    00 (0)
29
[24-Feb-21 17:47:24.008] - CAN: [020A] Data:    01 (1)

von Peter (Gast)


Lesenswert?

Hi,

Dave schrieb:
> Ich gehe hier wirklich davon aus, dass diese Steuerung nach dem SPS
> Prinzip arbeitet und dort werden Informationen einfach ohne Frage
> rausgeschickt aber dafür zyklisch. Das heißt wenn mal etwas verloren
> geht, ist es nicht wild, da ja ein paar Augenblicke später wieder der
> Wert erneut gesendet wird.

Ja/ nein so lange sie im Speicher sind. Vielleicht ist die Zykluszeit 
größer in der Heizung.

Dave schrieb:
> Von meinem BMW weiß ich, dass es auf dem Karosserie-CAN eine
> Frage-Antwort Kommunikation gibt aber die meisten Daten einfach auf den
> Bus gelegt werden.

Kann ich nicht bestätigen die Fehlerreaktion ist unterschiedlich und es 
existieren nur weniger bedeutende Telegramme.(Fehler hoch zählen) 
Timeout ist von wenigen ms bis zweistellige Sekunde. Die nächste 
Generation der Hardware wird sicher "nicht mehr" analysiert werden 
können. Soviel...!!

Die Heizung wird erstmal die Hardware erkennen müssen. TA211 | 
TA250--301;
Dann die Karte BM1 oder auch und den TA freigeben oder auch nicht, CAN 
Fehler. Irgendetwas muss passieren wie ein Ack.

Dave schrieb:
> So wie ich das verstanden habe ist das BM1/2 nur ein Interface, was vom
> I2C auf CAN und zurück übersetzt.

Noch schlimmer: Heizung I2C<---> BM1 {TX/RX<--->TJA1050} 
CAN<--->TA250..301

Dave schrieb:
> Dabei ist mir eine Diskrepanz aufgefallen. Laut Berichten sollte die
> 0x253 für die WW Soll-Temperatur stehen. Ich meine aber herausgefunden
> zu haben, dass es bei meiner ZSR24-6 im reinen Heizbetrieb das Byte für
> den Sparbetrieb ist.

Dazu kann ich Dir momentan gar nichts sagen. Dazu müsste man alles 
nochmals überprüfen und in Frage stellen ob hier was falsch gedeutet 
wurde. In diesem Zusammenhang habe ich mich auch gefragt wie die Uhr den 
Schaltpunkt mitteilt. Es kann nur die "4" sein, die sich ändert.

Was ich heute auch bei mir festgestellt habe das unterschiedliche 
CAN-Bus Platinen unterschiedliche Reaktion bis zum Can Fehler 
verursachen, selbst ohne Abschluss. Hatte den TA250 bei ebay gekauft und 
hatte immer den Verdacht das der LOw Pin empfindlicher war.

Im Betrieb ist es halt besser, man hat mehr Möglichkeiten. Vielleicht im 
Sommer.:-(

Peter

von Peter (Gast)


Lesenswert?

Hi,

habe die Adresse 0x256 ein wenig untersucht:

256  4  4  16  29  4
256  4  4  16  29  6
256  4  4  16  29  13
256  4  4  16  29  18
256  4  4  16  29  40
256  4  4  16  29  49
256  4  4  16  30  0
256  4  4  16  30  4

Durch umschalten von Urlaub auf Info (z.B.:) wird ein fortlaufender Wert 
angezeigt(im Telegramm). Ruht die Aktion wird der Wert wieder mit 0x04 
angezeigt. Gehe davon aus, das dann Sekunden angezeigt werden. 
Allerdings bleibt der Sinn mir verborgen.

Während des Mitschnitts der Daten von etwa 5 Stunden wurden keine 
Sollvorlauftemperaturen, trotz Heizkurve, vom TA gesendet. Das bestätigt 
wohl noch nicht meine Annahme dass das TA weniger intelligent ist als 
ich glaubte, aber es ähnelt der Funktion des TA211E. Vorgaben 
bereitstellen Eingabemodul.

Peter

von Dave (Gast)


Lesenswert?

Peter schrieb:
> 256  4  4  16  29  4
> 256  4  4  16  29  6
> 256  4  4  16  29  13
> 256  4  4  16  29  18
> 256  4  4  16  29  40
> 256  4  4  16  29  49
> 256  4  4  16  30  0
> 256  4  4  16  30  4

Womöglich werden dann die Sekunden(?) mitgeschickt, damit sich der Wert 
fortlaufend ändert um so den Controller "wach" zu halten. Bei sich nicht 
ändernden Werten nehme ich an wird die Heizung nämlich keine neuen 
Parameter umsetzen. Könnte ein Workaround sein um für die 
Programmierfunktionen aktuelle Werte anzeigen zu können oder es ist 
einfach ein dummer Bug in der Firmware der TAs :)
Ich probiere es mal am Lebendobjekt einfach aus dauerhaft die 
vermeintlichen Sekunden mitzuschicken. Mal schauen was passiert.

Peter schrieb:
> Während des Mitschnitts der Daten von etwa 5 Stunden wurden keine
> Sollvorlauftemperaturen, trotz Heizkurve, vom TA gesendet. Das bestätigt
> wohl noch nicht meine Annahme dass das TA weniger intelligent ist als
> ich glaubte, aber es ähnelt der Funktion des TA211E. Vorgaben
> bereitstellen Eingabemodul.

So sehe ich das auch. Deswegen nenne ich diese Geräte schlichtweg 
"Fernsteuerung" denn eigentlich tun sie nichts anders als einem den Weg 
in den Keller sparen, wenn es etwas einzustellen oder zu kontrollieren 
gibt.

von Dave (Gast)


Lesenswert?

Update:

Ich habe heute mal meine Steuerung getestet und -überraschung- es klappt 
natürlich nicht.
- Sende ich die Vorlauftemperatur, so juckt das die Therme überhaupt 
nicht. Sie regelt autark ihre Standardkurve
- Lasse ich den ESP verstummen, kommt "A8" - CAN Kommunikation 
unterbrochen

Naja dann muss die TA ja doch irgendwas senden, damit die Therme das tut 
was man will.

Mit abgeklemmter TA schickt die Therme die folgenden IDs:
1
200
2
201
3
204
4
206
5
207
6
208
7
209
8
20C
9
20D
10
20A

Mit TA:
1
F9
2
250
3
252
4
253
5
254
6
255
7
25A
8
258
9
404
10
405

Ich denke man kann ganz sicher sagen, dass alle Telegramme über 0x250 
vom Regler kommen und alles darunter vom Heizungscontroller.

Ich habe ohne TA die folgenden Frames gesendet:
1
F9
2
252
3
253 > 0/1
4
258

Muss jetzt die Tage mal schauen was meine Heizung an Nachrichten 
braucht, damit sie das frisst was ich ihr diktiere...

von Bernd Rehlinger (Gast)


Lesenswert?

Hallo!

Es ist wirklich hochinteressant bei euch mitzulesen, ich würde dennoch 
gerne das Thema noch einmal auf die Hardware lenken.

Wie in meinem der älteren Posts geschrieben, verwende ich einen "Lawicel 
CANBUS Interfaceadapter für USB-Anschluss" und logge mit einer Software 
(CANHacker 2.0) am PC.

Das Problem ist, dass de PC andauernd laufen muss und die Software nicht 
automatisch die Logs speichert.

Deswegen bin ich seit geraumer Zeit daran das Modul an meiner Synology 
NAS zu laufen zu bringen, wozu ich aber offensichtlich nicht die Skills 
besitze.

Mein Ziel ist es die Logdaten in eine SQL-Datenbank zu schreiben, woraus 
ich sie dann weiterverarbeiten kann.

Jetzt lese ich über RaspberryPI und Arduino....

Wie genau muss ich mir das vorstellen?
Laufen die autark, ohne weiteren PC?
Was muss ich dafür kaufen?

Kann mich da vielleicht jemand an die Hand nehmen?

Was ist, wenn meine Junkers-Therme das Zeitliche segnet?
Wie arbeiten die Busprotokolle moderner Thermen?
Kann man das dann anpassen?

Sorry, dass ich hier Eure Diskussion etwas abschweifen lasse.  ;-)

Gruß,
Bernd

von Peter (Gast)


Lesenswert?

Hi,
Versuch?

von Dave (Gast)


Lesenswert?

@Bernd:

Wenn man mit einem ESP32 arbeitet, kann man die Daten über 
entsprechendes CAN-Modul lesen und dann über frei verfügbare 
Bibliotheken in eine SQL Datenbank (z.B. auf Synology) schreiben. Dafür 
braucht es dann natürlich keinen extra PC.

Ich schreibe beispielsweise über MQTT auf Home Assistant auf einem 
Raspberry Pi 4.

Der Aufbau sieht so aus:
Therme <-CAN-> MCP2515+TJA1050 Modul <-SPI-> ESP32 <-WIFI-> <-MQTT-> 
Home Assistant OS auf Raspi 4

Bei dir könnte das so aussehen:
Therme <-CAN-> MCP2515+TJA1050 Modul <-SPI-> ESP32 <-WIFI-> <-SQL-> SQL 
Datenbank auf Synology

Wie fit bist du denn in Sachen C/C++-Programmierung?


Zukunftssicher ist das übrigens keinesfalls. Neue Thermen werden sicher 
komplexere und obskurere Protokolle sprechen. Die gute Nachricht ist, 
dass eine Therme bei guter Wartung auch entsprechend lange hält.

Zu meinem "Problem":
Ich habe übrigens noch nicht probiert mal das Modul auf 5v laufen zu 
lassen. Vielleicht klappts ja dann mit dem Setzen von Werten....

von Peter (Gast)


Lesenswert?

Hi,
der Zugang wird mir verweigert und anmelden auch nicht???
Peter

von Dave (Gast)



Lesenswert?

Erfolg!

Folgendes:
Der Heizung ist es vollkommen egal ob Nutzdaten über den Bus geschickt 
werden. Solange es eine gültige ID ist ohne Daten, wird nicht der Fehler 
A8 gesendet.

Mein Fehler lag darin nicht vorher die CAN Nachricht in der Länge zu 
definieren. Dadurch wurde ein leeres Paket verschickt. Das sorgte dafür, 
dass die Heizung nichts tat aber auch keinen Fehler warf.

Nun läuft alles.
Nachtabsenkung klappt wie folgt:
- 0x252 auf beispielsweise 10° stellen
- 0x253 auf 1 stellen

Nach kurzer Zeit stoppt dann auch die Pumpe.


Source Code folgt!

von Bernd Rehlinger (Gast)


Lesenswert?

@Dave

Leider habe ich von C/C++ Programmierung keine Ahnung.
Ich habe mich mal vor 40 Jahren mit der Thematik auseinandergesetzt, 
aber nie wirklich weiter verfolgt.

Mir würde es ja schon reichen, wenn ich irgendwo eine fertige Anwendung 
für Linux finden würde, die man auf ARM-Linux kompilieren könnte und die 
einen einfachen Textlog erzeugt.

Zum Import aus dem Textlog in meine SQLDatenbank könnte ich ja dann eine 
PHP-Script schreiben.
Im Moment mache ich es ja genauso, nur dass mein Sniffer nicht 
automatisch die Logs in eine Textdatei schreibt, sondern diese manuell 
gespeichert werden müssen. Außerdem (ich hatte es erwähnt) läuft er 
unter Windows, was es unabdingbar macht, dass der PC andauernd läuft. 
;-(

Die Synology läuft eh immer, also wäre es die beste Lösung.

Was du jedoch hiermit meinst:

Therme <-CAN-> MCP2515+TJA1050 Modul <-SPI-> ESP32 <-WIFI-> <-SQL-> SQL
Datenbank auf Synology

sagt mir nichts.  :-(

Gruß,
Bernd

von Thomas (kosmos)


Lesenswert?

by the way: du solltest den Sensor für die Vorlauftemperatur auf die 
Rücklaufseite klemmen, das Ding taktet ja wie ein Hundeschwanz. Und dann 
die Temperaturen entsprechend runtersetzen. Ggf. muss man dann die Pumpe 
auch etwas höher einstellen, damit die Therme auch mal etwas arbeiten 
kann.

Oft empfehlen die "Profis" die Pumpe runterzudrehen was nicht immer 
richtig ist. Die Schwankungen deiner Vorlauftemperatur sprechen nämlich 
genau vom Gegenteil.

Der große Vorteil bei der Messung im Rücklauf ist eben auch dass man 
einen direkte Rückmeldung des Bedarfs hat.

von Peter (Gast)


Lesenswert?

Hallo,

Dave schrieb:
> Folgendes:
> Der Heizung ist es vollkommen egal ob Nutzdaten über den Bus geschickt
> werden. Solange es eine gültige ID ist ohne Daten, wird nicht der Fehler
> A8 gesendet

Fehler habe ich genug, aber A8 habe noch nicht gesehen. Ist das ein 
eigenes Telegramm?
Leider habe nicht den Erfolg bei mir gesehen.

Ich habe immer ein vollständiges Telegramm gesendet aber keine Reaktion.

Aber egal super Ergebnis tolle Oberfläche. Werde erstmal alles neu 
überprüfen.
Simulation klappt schon.

Peter

von Dave (Gast)


Lesenswert?

Thomas O. schrieb:
> by the way: du solltest den Sensor für die Vorlauftemperatur auf
> die
> Rücklaufseite klemmen, das Ding taktet ja wie ein Hundeschwanz. Und dann
> die Temperaturen entsprechend runtersetzen. Ggf. muss man dann die Pumpe
> auch etwas höher einstellen, damit die Therme auch mal etwas arbeiten
> kann.
>
> Oft empfehlen die "Profis" die Pumpe runterzudrehen was nicht immer
> richtig ist. Die Schwankungen deiner Vorlauftemperatur sprechen nämlich
> genau vom Gegenteil.
>
> Der große Vorteil bei der Messung im Rücklauf ist eben auch dass man
> einen direkte Rückmeldung des Bedarfs hat.

Danke für den Tipp! Das stört mich schon die ganze Zeit aber konnte es 
mir nie so wirklich erklären. ich hatte bereits zig Heizungsbauer zur 
Wartung im Haus und jeder stellt was anderes ein. So wie sie jetzt läuft 
kann das nicht im Sinne des Erfinders sein...
So wie ich es sehe Taktet die Heizung gerade so, dass im Mittelwert die 
eingestellte Vorlauftemperatur resultiert. Dabei geht der Brenner alle 3 
Minuten an. Kann ja auch nicht gut für den Zünder sein...

Peter schrieb:
> Fehler habe ich genug, aber A8 habe noch nicht gesehen. Ist das ein
> eigenes Telegramm?
> Leider habe nicht den Erfolg bei mir gesehen.

Ich spreche von dem Fehler-Byte das auf 0x206 kommt. Es beinhaltet "A8", 
wenn die Kommunikation nicht statt findet, taucht aber nicht auf, wenn 
leere Nachrichten geschickt werden ;)

von Thomas (kosmos)


Lesenswert?

Die Temperatur im Vorlauf steigt zu schnell und dann schaltet der 
Brenner wieder ab. Eine Möglichkeit wäre wie schon gesagt die Pumpe 
schneller laufen zu lassen, dann muss aber auch die Abnahme der 
Fußbodenheizung passen wenn da alle Ventile zu sind, bringt das 
höherschalten der Pumpe nichts. Und im Rücklauf steigt die Temperatur 
viel langsamer da die Fußbodenheizung da ja Energie rauszieht. Hier 
kannst du die Temp schon außengeführt auf 21-23 °C einstellen und dein 
Brenner fährt lange Takte.

von Dave (Gast)


Lesenswert?

Thomas O. schrieb:
> Die Temperatur im Vorlauf steigt zu schnell und dann schaltet der
> Brenner wieder ab. Eine Möglichkeit wäre wie schon gesagt die Pumpe
> schneller laufen zu lassen, dann muss aber auch die Abnahme der
> Fußbodenheizung passen wenn da alle Ventile zu sind, bringt das
> höherschalten der Pumpe nichts. Und im Rücklauf steigt die Temperatur
> viel langsamer da die Fußbodenheizung da ja Energie rauszieht. Hier
> kannst du die Temp schon außengeführt auf 21-23 °C einstellen und dein
> Brenner fährt lange Takte.

Ich habe mir gerade mal das Servicehandbuch durchgelesen. Die Takte und 
Pumpenkennfelder werden vom externen Regler angepasst. Mit externem 
Regler ist hier noch nicht mal die TA gemeint sondern das BM1/2.
Im Handbuch steht dazu folgendes:


> 2.7 Autom. Taktsperre
> Beim Anschluss eines witterungsgeführten Reglers
> wird die Taktsperre automatisch angepasst. Mit der
> Servicefunktion 2.7 kann die automatische Anpassung
> der Taktsperre ausgeschaltet werden. Dies kann bei
> ungünstig dimensionierten Heizungsanlagen notwendig
> sein.
> Bei ausgeschalteter Anpassung der Taktsperre ist die
> Taktsperre über die Servicefunktion 2.4 Taktsperre
> einzustellen.
> B Wurde die automatische Anpassung der Taktsperre
> ausgeschaltet, dies auf dem dem Gerät beigelegten
> Inbetriebnahmeprotokoll eintragen.


> 2.4 Taktsperre
> Die Funktion ist nur bei ausgeschalteter Servicefunktion
> 2.7 Autom. Taktsperre aktiv.
> Im Lieferzustand ist die Taktsperre auf 3 Minuten eingestellt.
> Der kürzestmögliche Schaltabstand beträgt 1 Minute
> (empfohlen bei Einrohr- und Luftheizungen).
> Bei 0 ist die Taktsperre ausgeschaltet.
> > Bei Anschluss eines witterungsgeführten
> > Heizungsreglers ist keine Einstellung am
> > Gerät notwendig.
> > Die Taktsperre wird vom Regler optimiert.
>  Taktsperre auf dem dem Gerät beigelegten Inbetriebnahmeprotokoll
> eintragen.


Zur Pumpe steht folgendes:

> 2.2 Pumpenschaltart
> > i Beim Anschluss eines witterungsgeführten
> > Reglers wird automatisch die Pumpenschaltart
> > 3 eingestellt.

> Mögliche Einstellungen sind:
> • Schaltart 1 (in Deutschland nicht zulässig)
> für Heizungsanlagen ohne Regelung.
> Der Temperaturregler für Heizungsvorlauf schaltet
> die Pumpe.
> • Schaltart 2 (Werkseinstellung) für Heizungsanlagen
> mit Raumtemperaturregler.
> Der Temperaturregler für Heizungsvorlauf schaltet
> nur das Gas, die Pumpe läuft weiter. Der externe
> Raumtemperaturregler schaltet Gas und Heizungspumpe.
> Die Pumpe läuft 3 Minuten nach.
> • Schaltart 3 für Heizungsanlagen mit witterungsgeführtem
> Heizungsregler. Der Regler schaltet die [...]

Etwaige Nachrichten bezüglich Pumpensteuerung oder Taktsperre werden 
nämlich nicht verschickt. Das muss im Busmodul ablaufen.
Schaue ich mir die Takte von vorgestern (TA270) und heute (Meine 
Steuerung) an, sehe ich da auch keinen Unterschied.

von Peter (Gast)


Lesenswert?

Hallo,

@Dave

könntest Du mal die dargelegten Adressen("update") mit Daten füllen 
durch den Mitschnitt. Will deine Daten als Referenz nehmen.   Danke.
..

Wenn ich nur die Rücklauftemperatur messe, pflege ich mir die ganzen 
Bedarfsanforderungen der Räume (Thermostat-->Störungen Tem_abfall)) in 
die Regelung ein und habe weder eine Bedarfsregelung noch eine 
witterungsgeführte Regelung und ich verändere die Effizienz der Heizung. 
Weiterhin nimmst die Trägheit der Heizung mit ins Boot, das sind sicher 
bis zu 15 min. Meiner Meinung nur die Taktung ändern, hat auch nach 
teile.

Peter

von Thomas (kosmos)


Lesenswert?

witterungsgeführt bleibt es ja trotzdem das läuft über die Außentemp.

man stellt anstatt z.b. 32°C Vorlauftemp auf 22°C ein und misst die 
Rücklauftemperatur, die Heizkurve kann auch flacher einstellen. Über den 
Abgleich kann man die Räume wie gewünscht einstellen. Den Hinkefuß mit 
den Raumthermostaten braucht man nur wenn die hydraulischen Verhältnisse 
so mies sind das einzelne Räume nicht bedient werden, wenn andere Räume 
nicht beim erreichen abgestellt werden.

Angenommen ich habe eine Rücklauftemp von 16° dann ist das ein Maß 
dafür, dass ein hoher Bedarf besteht, wenn die Rücklauftemp 21-22°C ist, 
weiß ich das der Bedarf gegen 0 geht. Bei der Vorlauftemperatur weiß ich 
nicht was benötigt wird, das muss ich rein von der Außentemp. ableiten, 
die aber viel schneller Fallen kann als es sich im Gebäude auswirkt.

von Peter (Gast)


Lesenswert?

Hallo,

ich will hier nicht wieder etwas nebensächliches aufmachen.

Wir haben hier alle eine Heizungen die mindestens 10 Jahre alt und nicht 
die High_End ist.

Sehe das mal so, wie eine elektrische Schaltung mit Spannung und ~Strom_ 
Stabilisierung mit Widerstandsnetzwerke (Heizkörper) bei Belastung von 
Außen, das Du regeln willst.

Der hier erwähnte hydraulische Abgleich einer Heizung würde nur eine 
Rolle spielen in Bezug mit einer Hocheffizienzpumpe. In unseren 
Heizungen nicht verbaut, noch einbaubar. Ich habe hierfür automatische 
Strangregulierungsventile pro Strang ein Satz.

Wenn du durch Vorteile siehst oder hast ok. Eine Witterungsgeführte 
Regelung sieht halt anders aus

!!

Peter

von Dave (Gast)


Lesenswert?

Peter schrieb:
> könntest Du mal die dargelegten Adressen("update") mit Daten füllen
> durch den Mitschnitt. Will deine Daten als Referenz nehmen.   Danke.

Ich hatte in dieses Excel was ich auf Google Docs erstellt habe auf 
einem Blatt meine Kommunikation eingefügt. Mittlerweile rennt meine 
Heizung zuverlässig über die eigene Steuerung aber ich kann da gerne 
nochmal die TA anklemmen und etwas mehr schnüffeln.

@Thomas:

Das ist ja alles richtig aber ich sehe hier vorallem Probleme durch 
Verluste wegen nicht isolierter Leitungen, fehlender Isolierung 
generell, da Bruchsteinmauerwerk von 1800-irgendwas. Ich muss an das 
Thema erstmal mit einem Haufen Isoliermaterial und meinem Installateur 
des Vertrauens ran rücken. Egal was ich einzustellen Versuche, es 
resultiert im gleichen Ergebnis. Die Rücklauftemperatur ist sogar nahezu 
stabil bei 34° und schwankt nur minimal.

@Bernd:

Bernd Rehlinger schrieb:
> Leider habe ich von C/C++ Programmierung keine Ahnung.
> Ich habe mich mal vor 40 Jahren mit der Thematik auseinandergesetzt,
> aber nie wirklich weiter verfolgt.
>
> Mir würde es ja schon reichen, wenn ich irgendwo eine fertige Anwendung
> für Linux finden würde, die man auf ARM-Linux kompilieren könnte und die
> einen einfachen Textlog erzeugt.

Ich denke ich kann dir dabei helfen. Wenn du nur die Daten aufzeichnen 
möchtest und in eine DB haben willst, kriegen wir da sicher etwas hin.

---

Soooo jetzt aber zum Eingemachten:
Die Steuerung kann jetzt im Grunde alles was das Original auch kann - 
eben nur durch MQTT gesteuert. Sie erkennt auch anhand der Telegramme 
auf dem Bus ob sich bereits eine Steuerung dort befindet und regelt 
selbstständig ob sie eingreift oder nicht.
Eine Boostfunktion haut für x Sekunden das maximale an VLT raus und die 
Schnellaufheizung macht das was das Original auch macht: Sie heizt, wenn 
aktiv, mit aller Gewalt auf die Ziel-Raumtemperatur aber bremst auch 
etwas ab, wenn der Wert sich nähert.
Die VLT Kennlinie ist selbst definierbar und richtet sich nicht nach den 
hartkodierten Werten wie "Tiefpunkt" bei -15° sondern nach dem Prinzip 
bei welcher Außentemperatur das maximale an Heizleistung abgerufen 
werden soll und bei welcher Temperatur sie sich praktisch ausschaltet. 
Ich finde das etwas intuitiver.


Source liegt hier öffentlich:

https://github.com/Neuroquila-n8fall/JunkersControl

von Peter (Gast)


Lesenswert?

Hallo,

@Dave
Bin erschlagen von deiner Software, verstehe momentan davon nichts.:-(

Meine Hochachtung!!!!

ziehe mich in die Ecke zurück..... Ok

Benutze leider die übergeordnete Software nicht. Vielleicht...

ACAN2517FD kenne ich auch und Pierre ist auch super.

Was ich fragen wollte, wenn durch das TA eine Vorlauftemperatur 
vorgegeben wird und Du steuers eine andere nach. Wird die neue im TA 
übernommen?
Oder wird, kann die eingestellt Zeit durch die Software gesetzt werden.


Das Ziel was ich mir gegeben habe ist nicht nur die Visualisierung der 
Heizung sondern, die Optimierung (hat wohl jeder), die auch Thomas fast 
im Sinn hat, allerdings über den Ventilstand der Heizkörperventile in 
jedem Raum und zur Temperatur. Sozusagen ein Hauskennfeld zur 
Temperatur.

Fällt mir so ein,.. eine hohe Taktung ist aber auch eine hohe sichere 
Nachführung der Temperatur.

Peter

von Dave (Gast)


Lesenswert?

Peter schrieb:
> Bin erschlagen von deiner Software, verstehe momentan davon nichts.:-(
>
> Meine Hochachtung!!!!
>
> ziehe mich in die Ecke zurück..... Ok
>
> Benutze leider die übergeordnete Software nicht. Vielleicht...
>
> ACAN2517FD kenne ich auch und Pierre ist auch super.

Danke! Muss dazu aber sagen die Steuerung in meinem Auto ist da noch 
viel deftiger :)
Für die Geschichte braucht man eigentlich nur Visual Studio Code und 
Platform.io Add-In. Der Rest passiert schon fast automatisch ;)

Peter schrieb:
> Was ich fragen wollte, wenn durch das TA eine Vorlauftemperatur
> vorgegeben wird und Du steuers eine andere nach. Wird die neue im TA
> übernommen?
> Oder wird, kann die eingestellt Zeit durch die Software gesetzt werden.

Das habe ich nicht ausprobiert. Meine Steuerung erkennt die TA anhand 
der Telegramme und schaltet sich auf reinen Lauschbetrieb. Fehlen für 30 
Sekunden die Nachrichten der TA, schaltet sich meine Steuerung wieder 
aktiv.

Naja die Zeit ist völlig irrelevant fürchte ich... aber die letzte 
Ziffer, die meist "4" ist muss eine  besondere Bedeutung haben. Ich 
vermute schon fast da liegt die Taktsperre drin.

Peter schrieb:
> Das Ziel was ich mir gegeben habe ist nicht nur die Visualisierung der
> Heizung sondern, die Optimierung (hat wohl jeder), die auch Thomas fast
> im Sinn hat, allerdings über den Ventilstand der Heizkörperventile in
> jedem Raum und zur Temperatur. Sozusagen ein Hauskennfeld zur
> Temperatur.

Das ist ja auch durchaus machbar. Allerdings muss man sich dann fragen 
wo das "Leitsystem" steckt, was dann die ganzen Daten zusammenführt, 
auswertet und runter zur Steuerung schickt. Da kann ich wirklich nur 
MQTT als "Interface" (es ist ein Broker) empfehlen.
Ich werde im nächsten schritt die restlichen Thermostate durch 
entsprechende Homematic IP Geräte austauschen und kann dann auch auf die 
Wärmeforderung des gesamten Hauses reagieren. Ein entsprechendes 
Adaptionsfeld mit dem man die VL-Temperatur künstlich an- und absenken 
kann ist bereits im Code drin. So kann man dann bei besonders hoher 
Anforderung noch eine extra Schippe drauf legen und bei besonders wenig 
eben reduzieren.

von Peter (Gast)


Lesenswert?

Hallo,

Dave schrieb:
> Danke! Muss dazu aber sagen die Steuerung in meinem Auto ist da noch
> viel deftiger :)

Kann ich mir durch aus vorstellen, BMW, VW, Porsche, Daimler, RR.... 
gehörten zu unseren Auftragsgebern um für Sie Fahrzeugelektronik 
herzustellen und zu "testen". Und die Testsystem mussten auch zum Teil 
das Fahrzeug simulieren und diese mit Arduino und Co. Der Umfang der 
ständigen Telegramme ist enorm ( um die Vectoroberfläche sich zu 
sparen))

Dave schrieb:
> Naja die Zeit ist völlig irrelevant fürchte ich... aber die letzte
> Ziffer, die meist "4" ist muss eine  besondere Bedeutung haben. Ich
> vermute schon fast da liegt die Taktsperre drin.

Kann ich nicht nachvollziehen, weil ich habe keine Heizung angeschlossen 
und glaube das auch der I2C dicht gemacht hat. Somit kommt die 
Information, die scheinbar alle habe, nur vom TA. Die Taktzeit kannst Du 
aber, nur über in die Fachmannsebene einstellen (am Ofen). Irrelevant 
würde ich nicht gerade sagen, ...ist halt ein Steuerpunkt.

Dave schrieb:
> Allerdings muss man sich dann fragen
> wo das "Leitsystem" steckt, was dann die ganzen Daten zusammenführt,
> auswertet und runter zur Steuerung schickt.

Da stimme ich Dir auch voll zu. Es sind noch viele Punkte zu klären und 
der Plan stand schon relative früh fest etwas daran zu schrauben.

Ich sehe hier den CAN-Bus als ein Fehler an und das hat ja Bosch auch so 
gesehen. Von I2C auf WLAN ist der Plan, der noch nicht verworfen wurde 
von mir.

Der zweit Punkt ist natürlich die Raumsteuerung ich halte die alte ELV 
Lösung für die beste. Leider nur noch wenig Information im Netz. Aldi 
hat die Jahren für 12 oder 15Euro komplett, verschenkt. Habe jeden 
Heizkörper damit bestückt.

Der dritte Punkt ist natürlich die Datenaufarbeitung, gebe ich Dir wie 
gesagt vollkommen recht. Ich hätte es dann auch ins Fernsehen gerne 
geschoben. mit selbst Meldung. Mal sehen.

Muss jetzt erstmal meinen Fehler suchen.

Peter

von Peter (Gast)


Lesenswert?

Hi,
nochmals.
Habt Ihr mal die aktuelle Versorgungspannung des TA250/270 für mich.

BM1 Stecker Pin 1 bzw. 4, habe hier 14,40V?
Vielleicht habt Ihr die Möglichkeit hier zu messen.
Danke
Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Peter schrieb:
> BM1 Stecker Pin 1 bzw. 4, habe hier 14,40V?
> Vielleicht habt Ihr die Möglichkeit hier zu messen.
> Danke
> Peter

Habe 17v aber laut Handbuch sind 14-24V okay.

von Peter (Gast)


Lesenswert?

Danke Dave,

der TA akzeptiert einfach die zweite CAN-Bus Leitung(Anzapfung) nicht 
und der Can-Bus schwankt bei Belastung. Einer hat eine Macke.

So klappt es ja, bei Belastung....nicht so

Scheint wohl mal schlechtere Zeiten gesehen zu haben.

Es existieren scheinbar 2 Versionen von der BM1 Karte. Die eine hat im 
CAN Bus 2 Widerstände mehr laut Bild.

Peter

von Peter (Gast)


Lesenswert?

Nachtrag:

ohne Abschlusswiderstand lässt sich das TA steuern, korrektes Signal?

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Peter schrieb:
> Nachtrag:
>
> ohne Abschlusswiderstand lässt sich das TA steuern, korrektes Signal?
>
> Peter

Das heißt die TA übernimmt die Werte, wenn man den Widerstand raus lässt 
oder was genau hast du getestet?

von Peter (Gast)


Lesenswert?

Hi,
genau, zu mindestens das TA funktioniert so. Die Werte aus den 
Telegrammen werden in InFo eingeschrieben. Allerdings habe ich erstmal 
die 0x200 bis 0x20F gesendet. Das gibt ja Sinn, kommen ja vom BM1 und 
sind IST-Daten.

Das Oszilloskop_Bild in auch Ok. Aber es kann durch aus sein das die 
zweite Variante (R5/R6) mit Abschluss arbeitet, bzw. meine defekt sind.

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Ich habe nochmal ein wenig Hirnschmalz reingesteckt und ein paar 
Funktionen hinzugefügt:
- Externe Temperatursensoren, welche mit dem OneWire Protokoll 
kompatibel sind (bsp.: DS18B20), können in friedlicher Koexistenz mit 
dem System ausgelesen werden. Ich habe Sensoren am VL, NL, frei im Raum 
hängend und im Rauchrohr sitzen. Wer gerne Daten sammelt, der versteht 
mich ;)
- Anpassung der Vorlauftemperatur basierend auf der Rücklauftemperatur 
(externer Sensor, Dallas): Fährt die VLT runter, wenn die NLT zu hoch 
ist. Ich nenne das einfach mal "Dynamische Adaption" und sollte für 
Fußbodenheizungen besonders interessant sein, da es quasi wartet bis die 
NLT Temperatur unter einen gewissen Wert wandert um somit praktisch die 
Restwärme aus dem NL zu ziehen. Klappte bei mir sogar ganz gut bevor ich 
den hydraulischen Abgleich durchgeführt hatte. Jetzt eher so 
minderprächtig.
Ein Feature was ganz besonders Interessant ist, wenn man eh überall 
Smarte Thermostate hat:
- Anpassung der VLT anhand der Ventilöffnung: Man berichtet einfach das 
am weitesten geöffnete Ventil an die Steuerung und diese regelt 
entsprechend die VLT anhand von min-max werten. Ich nenne das 
Ventilskalierung. Natürlich könnte man hier auch den Mittelwert aus x 
Thermostaten rein füttern - völlig frei.
-- Anpassung der VLT unter Berücksichtigung der Außentemperatur. Die 
Basistemperatur wird angehoben, wenn zusätzlich die Dynamische Adaption 
an ist. In diesem Modus wird anhand der Ventilöffnung geregelt und 
zusätzlich zu einem gewisser Anteil der sich aus dem statischen 
Adaptionswert errechnet, angehoben.
- Stumpfes setzen der Vorlauftemperatur über MQTT. Wenn man bereits 
Berechnungen in einem Smarthome System gesammelt hat, kann man einfach 
den gewünschten Wert an die Steuerung senden. Damit wird ach alles 
andere natürlich überschrieben.

Zuvor hatte ich mal den kompletten Code auf den Kopf gestellt und da es 
sich nicht mehr um einen Prototyp handelt nun alles sauber in einzelne 
Codedateien aufgegliedert. Es könnte sein, dass jetzt der ein oder 
andere Probleme beim Lesen hat. Sorry - war aber notwendig da es zu 
komplex geworden ist :(

https://github.com/Neuroquila-n8fall/JunkersControl

Ein kompaktes PCB mit Can Controller, Receiver und Spannungsversorgung 
ist auch in der Mache und kommt am Donnerstag. Wenn ich nicht gerade 
Mist gebaut habe, kommt das auch nochmal ins Repository dazu.

von Thomas (kosmos)


Lesenswert?

der hydraulische Abgleich stellt nur sicher das alle Kreise gleich 
durchströmt werden, wenn der Heizi allerdings in manchen Räumen nicht 
genug Heizflächen installiert hat (meistens in kleinen Räumen wie 
Bädern), dann muss die VLT höher eingestellt werden um diese Warm zu 
bekommen. Und genau deswegen gibt es die Pflicht in der EneV für 
Raumthermostate, weil man schon davon ausgeht das es die wenigsten 
Heizis hinbekommen. Nun schaltet die Räume ab, die ihre Solltemp 
erreicht haben, und dann bekommen die anderen Räume mehr Durchfluss die 
zuvor unterversorgt waren, das funktioniert aber nur mit einer höheren 
VLT.

Wenn es richtig gemacht wird, wird der Heizbedarf jedes Raumes 
berechnet, die Heizflächen entsprechend ausgelegt(z.B. mit Heizrohren in 
der Wand) und um die hydraulischen Verhältnisse nicht aus dem Ruder 
laufen zu lassen müssen dann eben auch mehr Kreise installiert werden.

Beispiel 11 Kreise a 60 Meter und ein Kreis a 120 Meter, nun müssen alle 
"guten/kurze" Kreise auf die Druckverluste des "schlechten" Kreisen 
gedrosselt werden damit über all gleich viel Durchfließt. Man hat dann 
also hydraulisch 12 Kreise a 120 Meter. Und doppelter Druckverluste 
erfordert 4fache Pumpenleistung statt 25W wären das dann auch 100W.

Das schreibe ich nicht um dir eine schlechte Auslegung zu unterstellen, 
sondern nur damit andere Bauwillige die dass Lesen berücksichtigen und 
sich nicht einfach auf den Heizi verlassen, der dann eben mit einer 
hohen VLT zwar alles warm bekommt, die erhöhten Verbrauchskosten aber 
der Kunde zahlt.

von Dave G. (neuroquila-n8fall)


Lesenswert?

Genau. Nachdem jetzt die Verteilung richtig eingestellt ist, läuft das 
ganze super gut mit der Ventilabhängigen Steuerung. Ich hab dem 
Installateur gesagt ich steuere selbst und brauche einfach einen 
Abgleich anhand der Entfernung und Raum. Er wusste direkt was ich machen 
kann und hat noch gesagt dass grundsätzlich die Heizung selbst genau 
weiß was an Wärme zugefügt werden muss selbst wenn die Spreizung zu 
niedrig scheint. Allerdings meinte er auch der Kessel ist viel zu "groß" 
für den Kreislauf ausgelegt. Die Pumpe läuft jetzt auf dem niederen 
proportionalen Modus "4". Dadurch hat sich die Taktung leicht 
verbessert.

von Peter (Gast)


Lesenswert?

Hi,

ich kämpfe momentan mit dem alten I2C Ram und deren Ansteuerung, neben 
bei.

Da lass ich hier die Ausführung vom Thomas.

Was hast Du für ein Haus mit Strängen von 60m. Habe selbst etwa um 200 m 
Rohre verbaut, aber 11 ..12 mal 60 m. Wahnsinn.

Sorry, aber woher hast Du denn diese Weisheit.  Wie ich schon 
geschrieben habe, und erst recht für ein Haus deiner Größe sind 
Strangregulierungsventile ja regelrecht eine Pflicht um eine gute 
Steuerung hin zu bekommen. Ob es einen Sinn ergibt mit der 
Pumpenleistung oder auch nicht.

Aber ich habe auch die Erfahrung gemacht das sich "keiner" der Fachleute 
sich mit dieser Technik auseinandersetz hat(wollte). Übrigens bei mir 
ist immer das Bad der wärmste Ort, absichtlich, Taupunkt!


@ Dave

Vielleicht Bilder zeichnen, hört sich schlimm an, aber man versteht es 
am schnellsten.

Peter

von Thomas (kosmos)


Lesenswert?

Von meiner Kreislänge habe ich nichts geschrieben. War nur ein Beispiel 
das man mit einem schlechten Kreis alles kaputt machen kann. Ich selber 
habe 12 Kreise pro Stockwerk die Kreislänge müsste ich nachschauen, 
liegt aber definitiv unter 90 Meter Kreis und sehr konstant sehr 
konstant +- 5 Meter.

von Peter (Gast)


Lesenswert?

Hi,
ok.

von Dave G. (neuroquila-n8fall)


Angehängte Dateien:

Lesenswert?

Ich muss ehrlich sagen das hat nichts mit Weisheiten zu tun sondern mit 
schrittweisem Steuern und Beobachtung. Es ist wie mit allem: Frag 100 
Leute, bekomme 100 unterschiedliche Antworten... Am Ende habe ich 
versucht irgendwie etwas sinnvolles mit den Infos anzustellen.
Da ich keine wirkliche Besserung erzielen konnte habe ich mich an einen 
Heizungsbauer gewendet. Derjenige, der 2004 das gesamte System von der 
Planung bis zur Inbetriebnahme in der Hand hatte, existiert leider nicht 
mehr. Und selbst wenn ist fraglich ob dieser überhaupt noch wüsste, was 
vor 17 Jahren war. Zuvor war scheinbar eine Ölheizung installiert - 
vermutlich in den 80ern eingebaut. Davor scheint mir hier mit mehreren 
Kohle- oder sogar vielleicht Koksöfen geheizt worden zu sein. Das 
erklärt auch den winzigen kleinen Kellerraum. Der ist verkapselt also 
gehe ich davon aus, dass es vorher ein Kohlelager und danach der Raum 
für die Öltanks war. Ansonsten steht die Hütte direkt auf dem Felsen.

Ich gehe mal grundsätzlich davon aus, dass ein Heizungsbauer weiß wie 
ein Heizkreis funktioniert. Die Heizung funktioniert ja auch 
zweifelsohne. Ich dagegen kann nur anhand von Beobachtungen der 
Temperaturen in den Räumen und vom Vorlauf sagen wo es ein Problem gibt 
sprich wo eventuell zu viel Energie reingesteckt wird, die eh niemals 
ankommt oder gar umgekehrt.

Auf dem Weg zur besseren und intelligenteren Steuerung sind verschiedene 
Regelmodelle entstanden die nun weiterhin im "Paket" enthalten sind. Ob 
diese Sinnvoll oder nicht sind kann ich nicht beantworten.
Ich fahre jetzt mit der Steuerung nach dem am weitest geöffneten Ventil 
am besten. Das ist auch ungefähr das, was Bosch mit den smarten 
Thermostaten in Verbindung mit diesen sogenannten smarten 
Brennwertkesseln verkauft. Vielleicht etwas raffinierter mit einem 
Durchschnitt der "Top 3 Ventile" oder sogar unter Berücksichtigung der 
Entfernung zum Kessel (siehe Marketing-gebrabbel im Anhang). Ich würde 
gerne das System mal genauer unter die Lupe nehmen aber kenne niemanden, 
der es besitzt...

Fakt ist alle Räume werden warm und wenn gerade kein oder kaum Bedarf 
besteht, wird die Vorlauftemperatur etwas abgesenkt und damit die 
Taktung weiter gestreckt und weniger Energie verplempert. Dabei sinkt 
die gemittelte Vorlauftemperatur nie unter 40°, was bei der 
durchschnittlichen Öffnung von 10% ausreicht um die Räume auch bei den 
zurückliegenden Minusgraden auf der Zieltemperatur zu halten. Für mich 
bedeutet das, dass die Steuerung auf das System passt. Sicherlich wird 
das so nicht auf jede Umgebung passen. Vielleicht war das ganze 
Unterfangen ja auch komplett sinnlos und ich habe eine fette Nachzahlung 
im nächsten Zyklus...? Ich konnte jedenfalls die durchschnittliche 
Vorlauftemperatur um ungefähr 10° senken ohne weniger Komfort. Auf dem 
Papier sollte das eine Ersparnis bringen... Dummerweise sitzt der 
Gaszähler in diesem Kellerraum und ehrlich gesagt bin ich zu faul da 
täglich runter zu klettern. Selbst wöchentlich ist mir zu viel.
Kann mir an dieser Stelle vielleicht jemand ne gute Lösung zeigen einen 
solchen Zähler auszulesen?


Im Übrigen gibt es hier zwei Stränge mit jeweils VL und NL, die parallel 
angeschlossen sind (Siehe Skizze im Anhang. Sind die Anzahl der Kreise 
gleich Anzahl der Heizkörper mal zwei?) .
EG mit einer Fläche von ca 90m² und OG mit der gleichen. Oben wie unten 
sind jeweils 6 Heizkörper mit der exakt gleichen Größe verbaut worden. 
Es läuft alles schön brav in U-Form entlang der Außenwände und komme so 
auf ungefähr 70m Leitung. Der Kessel sitzt am Fuß des Us im EG. Außer 
80er Mauerwerk gibt's hier keine Isolierung. Selbst die Rohrisolierung 
der Heizung musste ich nachholen. Die Kupferrohre lagen bis dato einfach 
blank in der Luft und teilweise wegen den krummen Wänden auch an der 
Wand und/oder aneinander.  Rohrhalterung, die dann die Leitungen 
voneinander endlich trennen, in einer Mischung aus Kalk- und Sandstein, 
Kuhmist, Mörtel, Sandputz und Gipskartonplatten zu befestigen ist 
übrigens kein Spaß... Elsässisches Bauernhaus eben ;)



Ich bin jedenfalls sehr gespannt was Peter für Erkenntnisse aus dem BM 
gewinnen kann. Wenn das komplett Zurückentwickelt ist erlangt man, laut 
dem was das Handbuch sagt, nochmals eine völlig andere Möglichkeit der 
Steuerung, da ganz klar gesagt wird, dass manche Funktionen wie die 
Taktsperre vom Regler übernommen werden, wenn dieser angeschlossen ist. 
Tatsächlich arbeitet die Heizung mit den exakt gleichen Vorgaben, wenn 
man den TA abklemmt und einfach nur die Kommunikation aufrecht erhält 
also leere Telegramme sendet. Die Taktsperre allerdings bleibt variabel. 
In meinem Fall mal 5 Minuten, mal 3, manchmal 1.
Das BM ist leider auch recht teuer, von dem was ich sehe immer 
schlechter verfügbar und daher wäre eine Eigenentwicklung ohne CAN, nur 
mit I2C, sicherlich deutlich günstiger.

: Bearbeitet durch User
von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ist schon seltsam wie unterschiedlich doch die Häuser sind.

Bei mir werden die Heizkörper in jeder Etage im Paar angesprochen und 
nicht insgesamt. Hatte ich aber auch mal dran gedacht, weniger Arbeit. 
Bauvorschriften sagen heute aber, das die Mauer nicht geschwächt werden 
darf auch bei der Installation nicht. Stränge hatte ich genug.

Hatte damals alles in Eagle gezeichnet und es geht super damit.

Zur Info: hatte den TA nur mit dem CAN_Arduino laufen gelassen und den 
Telegrammen des BM1, wie geschrieben. Zeige ab einer gewissen Zeit( n. 
bekannt) Fehler F8 Anlage überprüfen. Habe hier zu nichts gefunden. 
Scheinbar wird im Hintergrund auch noch der Sinn der Funktion überwacht, 
durch den TA.

Teuer, da sagst Du was, hatte mich mal umgeschaut. Unverschämt was die 
noch gehandelt werden und nicht mal vollständig.

Hatte mir ja aus China einige Ram's (256 Byte!!!) kommen lassen und 
leider aber  auch immer meine Zweifel, wenn ich Bauteile bekomme die 
kaum beschriftet sind. So diese, nicht mal eben ein Programm suchen und 
starten, nee. Lesen schreiben funktioniert wohl aber auch wirklich??

Noch überprüfen und dann, mit dem BM1 weiter.

Peter

von Peter (Gast)


Lesenswert?

Hallo,

habe die BM1 Platine etwas genauer betrachtet, natürlich im 
Schreibtischtest.

Die I2C Frequenz liegt bei etwa 30kHz. SCL nicht symmetrisch (Takt 
<20%). Der PCF 8570 kann natürlich auch mit höheren Frequenz 
angesprochen und gelesen werden.
Hatte erwartet das sich eine zweite Adresse zeigt, ist aber nicht der 
Fall. Der CPU onboard meldet sich nicht. Vielleicht der Grund, der zur 
Zeit fehlenden Frequenz über Einstimmung. Zyklisch (~10 bis 30s)liegt 
ein Signal an.
Beim Start schreibt er einige Daten ins Ram, bis jetzt konnte ich diese 
dem TA nicht direkt zu ordnen.
Da sich die Daten nicht durch Vorgabe verändern, gehe ich nun davon aus 
das der Speicher nur in eine Richtung gedacht ist. Von der Heizung zum 
BM1 alle anderen Einstellungen gehen zyklisch direkt auf dem Bus.
Seltsamerweise habe ich ein CAN-Busfehler(1) erhalten durch den offenen 
i2C Bus. Abschlusswiderstände (4k7) müssen auf der Hauptplatine sein.

Leider ist mit dem Arduino ein zeitliches (*genaues) Senden und der 
Interrupt Empfang nicht möglich. Wodurch alles etwas verschoben wird. *) 
habe festgestellt das die korrekte Sendezeit keine Änderung bewirkt. 
Hingegen zyklische kürzere Sendezeiten ändern die Einträge(!TA).

Werde jetzt versuchen auf 30kHz i2C zu kommen um zu sehen was gesendet 
wird.

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Erinnert mich irgendwie an das defekte BM1 was ich zuerst erhalten 
hatte. CAN Fehler auf TA und Heizung. Ich glaube fast es gibt sehr viele 
"faule" BM1 Module auf dem Markt...

von Peter (Gast)


Lesenswert?

Hi,

gebe ich Dir vollkommen Recht. Obwohl das Packet vollständig war bin ich 
überzeugt, das es schon mal eingebaut war und bessere Zeiten gesehen 
hat. Aber auch das Bosch in den Jahren nachgebessert hat. Ein CAN Bus 
ohne Abschluss und ist ganz sicher ein Strahler, trotz nur 6MHz.

30kHz war kein Problem allerdings bei 50%. Mein kleiner Scanner (12Euro) 
sagte mir das vom BM1 nur das Ram angesprochen wird. Einige wenige 
Adressen werden zyklisch gelesen, mit 0 können sie scheinbar nichts 
anfangen....

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

So wie es scheint muss man doch noch etwas anders machen damit auch bei 
der Nachtabsenkung die Pumpe ausgeht. Wenn man die TA anklemmt und 
danach auf den eigenen wechselt, klappt es. Startet man die Heizung mit 
dem eigenen, schaltet sie nicht ab. Muss ich mal genauer 
protokollieren....

von Peter (Gast)


Lesenswert?

Hallo Dave,

die letzte Woche war sehr ernüchternd.

Zwar habe ich im RAM eine Zelle gefunden, die einen gewissen Schlüssel 
besitzen muss, da sie beim Start vom BM1 abgefragt wird und Daten auch 
im RAM der eigenen Simulation TA übernimmt, aber nach ~60s von Daten 
überschrieben wird (immer) ohne einen Einfluss des TA's. Diese 
Einstellung bleibt dann auch unverändert, auch wenn Änderungen im TA 
vorhanden sind.

Aus Projekten kenne ich das "ALIVE" Telegramm ein erwartetes einfaches 
hochzählen zum Beispiel von 0 bis 0x0E, bzw. ein ständiger Bitwechsel.

Bei mir fehlt auf jeden Fall noch was und der Aufwand wird immer größer 
und zeitraubender, die Heizung fehlt halt.

Weiterhin habe ich jetzt die Simulation TA bzw. BM1 bei mir erweitert 
und Lese auch immer mit, was da vom andern verbleibenden Gerät (TA oder 
BM1) kommt. Hier wird scheinbar bei einigen Telegrammen eine erheblich 
verkürzte Zykluszeit gesetzt. Ursache unbekannt, interessant ist nicht 
die Zykluszeit sondern warum kommt es dazu.(Kontrolle: Lesespeicher wird 
immer wieder zurückgesetzt folglich sendet der BM1 dies auch))

Mehr Fragen als Antworten.

Peter

von Peter (Gast)


Lesenswert?

Hi,
Nachtrag.

Ich hatte hier mal die Frage gestellt woher man denn weis welches 
Telegramm denn nicht "nur" den Status darlegt sondern ein Befehl 
anstößt. Weis ich noch immer nicht komplett.

Mich wundert es immer wieder selbst, das hier Erfolge zu verbuchen sind. 
Das hier die Vorlauftemperatur und einige andere Telegramme (Soll) die 
Funktion ausfüllen liegt in der Sache.

Aber I/O Befehle sehe ich hier nicht und Rückwärts funktionieren solche 
Befehle doch eigentlich nicht (Indikator). Wenn ich deine 
Funktionseinschränkung hier richtig sehe, dann schaltest Du doch die 
ganze Heizung aus was nützt Dir stehendes Wasser. Frostschutz usw. das 
Du deine Räume überwachst weis deine Heizung nicht.

von Dave G. (neuroquila-n8fall)


Lesenswert?

Ich gehe davon aus, dass alle Adressen > 0x200 von der Ta sind und 
Steuerbefehle sind. Alles darunter sind Werte und Zustände der Heizung.
Offenbar muss man auch die Warmwassertemperatur mitgeben, damit es 
klappt, wenn auch nur ein einziges Mal. Ansonsten schaltet die Heizung 
nicht vollständig aus, da der Default-Wert dann gilt und dieser muss 
dann folglich über 10° sein. Bei Temperaturen unter diesem Schwellwert 
springt laut Handbuch die Pumpe vollkommen selbständig ein. Außerdem 
springt sie alle 24 Stunden von selbst an, wenn die Heizung im 
Sparbetrieb sich befindet. Man hat also von der Regelung aus keine 
Kontrolle über den Pumpenbetrieb. Man kann es, wie bei den anderen 
Sachen, nur "suggerieren".

Zusammengefasst:
Warmwasser, Speicher und Mischkreistemperatur müssen wenigstens ein 
einziges Mal gesetzt werden, damit die Heizung vollständig abschaltet. 
Dabei ist es wichtig, dass diese Temperaturen dann auf 10° gesetzt 
werden. 10° ist so der Schwellwert für Frostschutz und "Aus".

von Peter (Gast)


Lesenswert?

Hallo,

Dave G. schrieb:
> Ich gehe davon aus, dass alle Adressen > 0x200 von der Ta sind und
> Steuerbefehle sind. Alles darunter sind Werte und Zustände der Heizung.

Hier bin ich etwas verwirrt, weil Du schreibst doch in deiner 
Excel_Ausführung das die Werte von 0x200 bis 0x20F von der Heizung 
kommen und die darüber ab 0x250 von der Ta sind. Das kann ich auch so 
voll bestätigen ohne angeschlossener Heizung.

Werte darunter habe ich nur eine Adresse 0x0F9 gescannt.

Ja je nachdem was ersetzt wurde habe ( TA oder BM1) ich immer eine 
zyklischen Sendung vorgenommen. Die wider rum mal im exakten Zeitfenster 
agierte oder schneller, mein Ergebnis war das die schnellere Variante 
zuverlässiger war bei der Übernahme der Daten. Allerdings wie 
beschrieben bei mir nicht ins RAM.

Deine Pumpeneinstellung wird aber schon sehr komplex. Ich verstehe noch 
nicht den großen Gewinn durch das abschalten der Pumpe. Zu laut oder aus 
Kosten Gründe.

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Ja korrekt - das habe ich falsch ausgedrückt. Natürlich sind die 
Nachrichten ab 0x250 von der TA.

von Bernd Rehlinger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Experten,

auch wenn es ein wenig off-topic ist...

Warum schaltet der Brenner immer noch über den Temperaturfühler am 
Heizblock, wenn doch eine HSM mit angeschlossenem 
Vorlauftemperaturfühler existiert.

Ich bin total am verzweifeln, weil ich diese verdammte Taktung nicht 
wegbekomme.

Gruß,
Bernd

von Peter (Gast)


Lesenswert?

Hallo,
bin kein Experte, als Experte versteht man das System, kann ich n. 
behaupten.

Deine Taktung würde ich erstmal vergessen. Hier liegt eher ein Notlauf 
der Heizung vor. Ab 16:00 Uhr verabschiedet sich deine Heizung und 
danach ist der Brenner aus und die Temperatur stagniert kurz statt zu 
fallen.

Vergleiche doch mal die Max. Vorgaben mit den gemessenen Werten.

Wird der TA 270 denn mit einen weiteren Heizkreis betrieben. Ich glaube 
ich hatte mal gelesen das der TA250 die bessere Steuerung ist für 
"einfache Heizungen" ist.

Übrigens nach 17:00 Uhr sieht doch alles korrekt aus! Und die Werte 
werden doch eingehalten. Wen du das System öffnest und längere 
Taktzeiten hast wirst Du zwangsweise auch größere Temperaturschwankungen 
haben.

Meine Familie hatte mal Ende der 80er Jahre eine E_Zentralheizung gebaut 
mit etwa 1000 Liter Buffer als Nachtspeicher und 2 Durchlauferhitzer. 
Gesteuert mit Commodore 16 bzw. später mit CCBasic von Conrad.

Währe das dann deine ultimative Löschung, einmal am Tag, nee..., zu viel 
Verluste.

Peter

von Thomas (kosmos)


Lesenswert?

das Ding macht 6 Takte in der Stunde rechnet das mal auf den Tag hoch. 
Man muss hier die Pumpen hochdrehen, damit die Wärme abgenommen wird, 
dann läuft das Ding auch mal ne Stunde durch ohne an/aus/an/aus...... 
und unbedingt mal die Rücklauftemperatur aufzeichnen, zur Not einfach 
mal nen Sensor auf den Rücklauf setzen.

von Bernd Rehlinger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo und danke für die Antworten.

Der Peak um 16:00 Ur ist die Warmwasserbreitung.
...also kein Notlauf.

Ich habe jetzt alle Pumpen auf Vollast gestellt und das Bild sieht etwas 
besser aus.

Ich hänge euch nochmal eine Skizze der Hydraulik an.
So wie es aussieht, scheint die hydraulische Weiche falsch angeschlossen 
zu sein.

Ich werde das wohl mal umbauen lassen müssen...

Gruß,
Bernd

von Peter (Gast)


Lesenswert?

Hi,

ja, weiterhin sehr interessant was Ihr da anstrebt.

Höhere Temperaturen längere Brennzeiten? {wenn ich da durchschaue)

Würde den Darstellungsbereich eher verkleinern (einzelne Regelbereiche) 
als den Kurvenbereich zu erhöhen.

Schau doch da mal rein. https://www.haustechnikdialog.de/ dort sind wohl 
eher die Fachleute.

Peter

von Thomas (kosmos)


Lesenswert?

Was heißt hsm und hmm wenn nur ein Verbraucher an der hydraulischen 
Weiche hängt kannst du diese weglassen. Wenn mehrere dranhängen kann es 
dir sonst rückwärts in einen anderen Verbraucher drücken.

von Thomas (kosmos)


Lesenswert?

Was heißt hsm und hmm wenn nur ein Verbraucher an der hydraulischen 
Weiche hängt kannst du diese weglassen. Wenn mehrere dranhängen kann es 
dir sonst rückwärts in einen anderen Verbraucher drücken.

Mehr Abnahme = längere Brenndauer. Wenn nichts abgenommen wird schaltet 
der Brenner gleich wieder ab weil die Temp zu schnell steigt.

Du kannst die Sensoren in den Rücklauf bauen und die Temperatur 
niedriger einstellen da sind die Temperaturschwankungen viel langsamer

von Peter (Gast)


Lesenswert?

Hallo,

weis jemand wie der Stecker des BM1 heißt bzw. der Hersteller. Gemeint 
ist übrigens die schwarze Kabelverbindung zur Hauptplatine. Bin auch auf 
der Suche nach dem Gerät mit dem 4 poligen Anschluss ST7 auf der 
Hauptplatine.

Finde keine Kennzeichnung.

Peter

von Peter (Gast)


Lesenswert?

Hallo,

ein kleines Update über Bosch Junkers Service und Wartungsfirmen!!

Es ist wohl jeden inzwischen bekannt, dass der Bosch "Service" gegen 
über den Endkunden gleich Null ist. Aber, dass man nicht einmal eine 
Bestellnummer mitgeteilt bekommt damit dies über die Wartungsfirma 
bestellen kann, war mir bis jetzt neu.

Weiterhin habe ich dann meine Wartungsfirma angesprochen um die Info 
zubekommen. Was dann wieder abgelehnt wurde, weil Sie glauben, dass ich 
Ihre Arbeiten machen könnte, was ich natürlich vorher mitgeteilt hatte 
das es nicht der Fall wäre. Wahnsinn!!

Jetzt suche auch noch eine neue Wartungsfirma.

Fazit: Kauf (k)ein Bosch Teil!?

Habe mich entschieden einen Sub-D Stecker über Kabel anzulöten.

Hoffe alle gesund!

Peter

von Peter (Gast)


Lesenswert?

Hallo Dave,

Nachfrage:
Hast Du eine Möglichkeit gefunden deinen Gaszähler "auszulesen". Es gibt 
ja einige Möglichkeiten in zwischen auch für ältere Zähler.

Versuche schon seit Wochen von Westnetz eine Genehmigung zu bekommen den 
Schacht zu nutzen. 10 Liter Impuls. Habe mir sagen lassen, das es da 
Ärger geben könnte.

Der CAN-Bus und I2C Bus ruht mal wieder.

Gruß Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Peter schrieb:
> Hallo Dave,
>
> Nachfrage:
> Hast Du eine Möglichkeit gefunden deinen Gaszähler "auszulesen". Es gibt
> ja einige Möglichkeiten in zwischen auch für ältere Zähler.
>
> Versuche schon seit Wochen von Westnetz eine Genehmigung zu bekommen den
> Schacht zu nutzen. 10 Liter Impuls. Habe mir sagen lassen, das es da
> Ärger geben könnte.
>
> Der CAN-Bus und I2C Bus ruht mal wieder.
>
> Gruß Peter

Moin!

Ich überlege via Photosensor und Led die Impulse direkt an der Scheibe 
auszulesen. Bin aber momentan noch dran die Steuerung in eine solide 
Platine zu verwandeln damit ich das Kabelgestrüpp loswerde, was momentan 
da rumgeistert...

von Peter (Gast)


Lesenswert?

Hi,
hört sich gut und einfach an.

Hatte mal von einer ESP Kameramessung gehört
https://github.com/jomjol/AI-on-the-edge-device

Ich wollte es mit einem ADXL213 realisieren, eine kleine Platine von 
Daimler Lageerkennung (Diebstahlschutz) bzw. Magnetfelder.

Muss erstmal die Freigabe haben, das ich den Blindstopfen für den 
Impulsgeber entfernen darf um es auszuprobieren.

Bin mal wieder hängenblieben an andere Aufgaben, aber bau mir eine 
separate Heizung für den Schreibtisch auf, bzw. lege mir so Ersatzteile 
auf Lager.

So kann dann der Can-Bus besser zum I2C betrachtet werden. War einfach 
zu Zeitraubend.

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Das mit dem ESP CAM-Modul klingt echt vielversprechend aber in meinen 
Augen doch etwas "überverkompliziert" dafür, dass man einfach nur 
Impulse messen muss.
Werde ich aber sicher mal ausprobieren.... danke für den Tipp!

Ich wollte eigentlich das auch für die Stromzähler umsetzen aber da ich 
demnächst neue Zählerplätze bekomme mit EHZ, bleibt wirklich nur Gas und 
Wasser offen. Wasser kann man nen eigenen Zähler nachschalten, bei Gas 
isses halt nun mal unmöglich...

Ich habe allerdings große Probleme den Gaszähler zu digitalisieren da 
ich noch ein paar Problemchen lösen muss:
1) Kriechkeller ohne Steckdosen
2) sehr schlechter WLAN Empfang
3) nicht beheizt und mehr oder weniger offen - also schwankende 
Temperaturen und Luftfeuchtigkeit

von Peter (Gast)


Lesenswert?

Hallo,

auch meine Gedanken.
Vom Preis umsetzbar, aber sehr umfangreich. Kameras habe ich wohl, aber 
ich muss es auch verstehen.

Die Freigabe, zur Montage des Impulsgebers, habe ich inzwischen vom 
Netzbetreiber, aber Sie wollen Fotos haben, ob er korrekt ohne "Schaden" 
eingebaut wurde. Der Originalgeber kostet 100 Euro, für ein 
Reed_Kontakt. Das ist Wucher und ist unverschämt, mit mir nicht!

Werde mich mal schlau machen über LINEAR IMAGE Sensoren wie IC-LF1401 
allerdings einfache, ist eine alternative.

Ja eHZ, vorarbeiten habe auch schon durchgeführt, bzw. die Machbarkeit. 
Allerdings habe ich noch einen alten Haupt_Zähler (69). Habe mir für 
jede Etage einen eigenen Zähler emMe4.0 gekauft (a.60€), 2 davon konnte 
ich in den Zählerkasten einbauen und einen Vorort. Geeicht und wichtig 
mit Pin. Funktioniert mit Arduino.

In NRW wurde meines wissend der Einbau eHZ vorerst gestoppt. Habe es 
auch über SDM xxxM Zähler getestet funktioniert auch sehr gut.

Dein Installateur baut Dir auch einen zweiten Gas-Zähler ein, bekommst 
Du "auch günstig" im Netz.

Da hatte ich Glück, 2Meter Deckenhöhe, Nachbar hatte dies auch nicht. 
Aber auch schon 2 mal Wasser, jetzt endlich dicht.

Obwohl die neue Fritzbox nur 10 Meter im Erdgeschoss montiert ist, auch 
kaum Empfang. Habe die alte Fritzbox 7390 in den Keller gestellt, nicht 
super aber geht. Jeder Meter zählt.

Langfristig wird hier (Keller) wohl wieder auch der CAN-Bus oder Modbus 
seinen Dienst tun.

Das hört sich nach sehr viel Arbeit an, kenne ich nur zu Gut. Habe 
schonmal mit eine Haushälfte unterkellert.

Da treten grundsätzlich immer Spielerein in den Hintergrund.

von Dave G. (neuroquila-n8fall)


Angehängte Dateien:

Lesenswert?

Ja das ist alles nicht so einfach... aber ich denke für den Gaszähler 
werde ich tatsächlich dann nochmal Strom in den Keller legen und ggf. 
gleich Ethernetkabel, was ich dann ja direkt am ESP32 "konsumieren" 
kann. Kabel ist sowieso charmanter als Wifi.

Aber...ich werde hier noch bekloppt. Bin gerade dabei eine Platine zu 
bauen damit der ganze Kabelsalat mal verschwinden kann.
Der CAN-Bus macht mich aber wahnsinnig.
Disclaimer: Alles was ich über Schaltungen und Elektrik weiß hab ich mir 
irgendwie selbst angeeignet durch viel lesen und rumprobieren aber so 
wie es aussieht habe ich meinen Endgegner gefunden.

Ich habe das kleine CAN-Modul 1:1 nachgebaut, mit MCP2515 und TJA1050. 
Skizze hängt an.
Auf dem Schreibtisch zwischen anderen Modulen (auch selbst gebaut) 
funktioniert das wunderbar aber am Lebendobjekt empfange ich nur 
Nachrichten, kann aber keine senden.

Aktuell läuft das ganze mit dem Modul auf 3V3 aber der Transceiver 
sollte ja schon seine 5V bekommen um die Pegel richtig ausgeben zu 
können. So wurde es mal jedenfalls an vielen Stellen gesagt.
Das seltsame ist, dass das fertig gekaufte Modul bis jetzt auf jedem BUS 
funktioniert hat - egal ob am Auto oder an der Heizung und das trotz 
3V3...

Ich vermute ja schon fast die Heizung erwartet da ganz andere Pegel als 
offiziell beschrieben...
Ich bau das jetzt nochmal auf 3v und teste das. Wenn das geht versteh 
ich erstens die Welt nicht mehr und bin kein Deut schlauer geworden aber 
wenigstens könnte es dann so klappen. Wäre nur sehr hilfreich zu 
verstehen warum in diesem Fall das Senden nicht funktioniert.

von Peter (Gast)


Lesenswert?

Hi,

ich denke auch, das die Pegel vom PCA82c250 (BM1) nicht richtig erkannt 
werden, oder verfälscht werden.

Meldet der TA den Fehler oder dein Programm.
Kannst Du den Pegel messen?

Oder ziehe mal den Abschluss 120 Ohm auf deiner Platine.

Hast Du eine gemeinsame Masse GND,  BM1 ---> Platine (Masseversatz!) 
3Leitungen!

Ich hatte ähnliche Probleme, die auch nicht gelöst habe, funktionierte 
nur ohne Abschluss. Der Pegel brach total zusammen.

von Peter (Gast)


Lesenswert?

Hallo Dave,

verstehe deine Logik nicht.

Der MCP2515 arbeitet im 3V3 Bereich mit dem Esp und scheinbar auch mit 
dem TJA--alles gut.
Die Can-Bus Versorgung ist 5,0 V, da ist "nichts zu ändern"~ und wenn Du 
sendest belastest Du auch den Bus und dies scheint doch nicht 
einheitlich zu sein. Hier kommt der Sender als auch der Empfänger als 
Ursache in Frage.

Alle anderen verstehen dein Senden (wie Du sagst) nur der BM1 nicht.
Can-Bus ohne und mit deiner Schaltung messen, bzw. passiv aktiv mein 
Vorschlag.
Da muss was zu sehen sein und warum dann noch weiter heruntergehen in 
der Vorfeldkommunikation?
Und wenn ein Neuaufbau !nach! der "Fehlerbeseitigung" bzw. Anpassung auf 
der evtl. der "alten Platine".

von Dave G. (neuroquila-n8fall)


Lesenswert?

Ahhhh...danke Peter! Das macht dann alles Sinn.

Naja gut ich probiere das jetzt nochmal mit der Eigenentwicklung ohne 
Abschluss.
Irgendeine Kombination muss ja wohl funktionieren.

von Hans-Jürgen E. (hansehls)


Lesenswert?

Hallo,

ich möchte das Projekt von Dave auf Github aufgreifen und umsetzen.

ich habe einen Junkers Brennwertkessel ZB 7-22 A23 mit einem BM1 und 
einer TA250

Die Anlage wurde wohl nie richtig eingestellt.

Ich habe 2 Kreisläufe, einen im Keller mir normalen Heizkellern, die 
eigentlich nur bei Parties benutzt werden und ich normaler weise gerne 
auf Frostschutz schalten würde.

Das EG und OG sind komplett mit Fussbodenheizung ausgestattet, 
allerdings nur im OG eine Einzelraumsteuerung.

Das EG wird aktuell nur mit festen Drehreglern bedient, wobei keiner 
weis wie die denn einzustellen sind und es wird munter dran 
rumgeschraubt.

Meine Idee wäre es jetzt das EG mit mehreren Aquara Temp sensoren 
auszustatten und über die Messung der Rücklauftemp die Bodenheizung 
abzugleichen. die Raumtemp des EG (eigentlich komplett offen) über die 
Vorlauftemp zu steuern.

Was mir fehlt ist, die Anleitung der Verkabelung der Komponenten.

Kann ich zu dem ESP32 diese Modul von Amazon für den Can-Bus nutzen?

https://www.amazon.de/gp/product/B07MY2D7TW/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1

Wenn ja, wie genau schliesse ich es an den ESP32 und die Anlage an?

Wäre schön, wenn ihr mich bei meinen Projekt unterstützen könntet.

Vielen Dank im voraus.

Gruß
Hans

von Peter (Gast)


Lesenswert?

Hallo,

ich persönlich halte von dieser Can-Bus Platine nichts, such Dir eine, 
die den Can Kontroller mit 3,3V versorgt (oder kann) und den Treiber mit 
5V versorgt.

Meine Empfehlung Watterott Can-Bus Version 2, die kannst Du auf ESP32 
UNO aufstecken und den SPI vervollständigen. So hast Du keine SPI BUS- 
oder Gehäuse- (Mega_Gehäuse) noch Verdrahtungsprobleme.

Du solltest Dich doch etwas genauer mit SPI und CAN-Bus 
auseinandersetzen. Auch als Bastler für Arduino und ESP ist SPI ein 
muss. Die Verdrahtung sollte Dir dann keine Probleme machen. (10min)

Der Can-Bus sollte immer mit Masse betrieben werden. Der Masseversatz 
ist oft die Fehlerquelle. Kein Abschlusswiderstand auf Can_Platine im 
direkten Bereich des Bedienteils, der Heizung oder des Kabels.

Die alten Junkersheizungen existieren nach wie vor.....


Peter

von Peter (Gast)


Lesenswert?

Nachtrag:

von Kay (Gast)15.07.2020 15:07
hat auf gezeigt wie die Sache zu verkabeln ist.

ganz einfach nur lesen??--Hans

von Dave G. (neuroquila-n8fall)


Lesenswert?

Die Verkablung steht im Wiki. Das Modul wird funktionieren. Ich habe das 
gleiche im Einsatz. Doch Achtung: Die kommen immer mit 8MHz Kristallen - 
wir brauchen aber 16MHz damit es ohne Sourceanpassung läuft. Ansonsten 
muss nämlich nebst der Frequenz die Datenrate verdoppelt werden, damit 
es wieder stimmt.

https://github.com/Neuroquila-n8fall/JunkersControl/wiki/Cabling

Melde dich einfach, wenn's klemmt ;)

: Bearbeitet durch User
von Denny (Gast)


Lesenswert?

Hallo Experten

So habe es endlich auch geschafft den Aufbau zu realisieren.
Ich habe mich hier mal von oben ab wirklich dem Thema angenähert und mir 
beide Komponeten zuerst organisiert.
1. BM1
2. TA250

Danach habe ich die beiden an die CeraSmart angeschlossen und um das CAN 
Interface erweitert.
Allerdings verwende ich ein CAN Interface von PEAK als USB Version.
Das lag hier noch herum.
Als System Basis wurde dieses CAN Modul einfach an den Raspi mit 
Volkszähler Image angeschlossen.

Die Doku dazu ist ja unter: 
https://wiki.volkszaehler.org/hardware/channels/heating_control/gastherme_junkers_can_bus
 zu finden.

Leider bekomme ich aber mit dem Beispiel Script, welches dort von 
"Trabant" freundlicherwise abgelegt ist, eine Fehlermeldung im Terminal, 
welche ich absolut nicht interpretieren kann, außer das ich mir die 
dazugehörigen Zeilen dazu im Code anschauen kann.
Leider kenne ich mich mit bash nicht aus.
Daher die Farge hier:
1
Jan 06 19:07:38 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 63: bc: Kommando nicht gefunden.
2
Jan 06 19:07:38 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 68: bc: Kommando nicht gefunden.
3
Jan 06 19:07:40 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 42: bc: Kommando nicht gefunden.
4
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 42: echo: Schreibfehler: Datenübergabe unterbrochen (broken pipe).
5
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 63: bc: Kommando nicht gefunden.
6
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 68: bc: Kommando nicht gefunden.
7
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 42: bc: Kommando nicht gefunden.
8
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 42: echo: Schreibfehler: Datenübergabe unterbrochen (broken pipe).
9
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 63: bc: Kommando nicht gefunden.
10
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 68: bc: Kommando nicht gefunden.

Das wären dann im script folgende Zeilen:
1
in Zeile 42:      VAL="$( echo -e "ibase=16;obase=A;$( echo -e ${LINE} | cut -c14-15 )" | bc )"
2
3
in Zeile 68:      elif [[ $(echo "$VALUE > 80" | bc) -eq 1 ]]
4
5
in Zeile 63:      VALUE="$( echo "scale=1 ; ${VAL} / 2" | bc )"

Vielleicht hat ja jemand von Euch auch ein lauffähiges script für 
Volkszähler oder kann mir einen Denkanstoß geben wo ich suchen muss.

Vielen Dank vorab.

Grüße Denny

von Dave G. (neuroquila-n8fall)


Lesenswert?

Das gehört eigentlich in ein Linux Forum hehe...
Dir fehlt der commandline-calculator "bc". Dadurch schlagen alle 
folgenden Kommandos auch fehl.
Müsste Debian sein, daher versuche mal
1
sudo apt-get install bc

...danach müsste es klappen.

von Dossi D. (dossi_d)


Lesenswert?

Hallo Dave

Danke für den Tipp das hatte ich zwischenzeitlich schon nachinstalliert.
Leider erhalte ich nicht die Daten die ich dachte.
Obwohl die CAN ID's am Bus sind. Das wäre z.B die ID(207) welche für die 
Außentemperatur steht. Auf dem Bus ist diese da und ich kann diese auch 
plausibel umrechnen nur leider wird diese im VZ nicht angezeigt.
Ich verwende allerdings auch eine andere CAN Schnittstelle als hier 
beschrieben. Aber da ich die Daten am BUS sehe gehe ich nicht davon aus, 
dass es an der Hardware liegt außer es gäbe Unterschiede bei den BM1 & 
T250 Modulen in Kombination mit der jeweiligen Therme.

Vielleicht kann da jemand weiterhelfen der sich auskennt.

Vg denny

: Bearbeitet durch User
von Martin R. (zmaier)


Lesenswert?

Hallo,

ich habe einen geregelten Kreis (mit HMM), auf der Thermenseite hängt 
nur das Warmwasser drauf.

Meine eigene Steuerung läuft seit Monaten ohne Probleme.
Ich hänge mit einem Raspi zwischen TA270 und dem Rest (HMM und Therme), 
lese die Can-IDs ein und schicke die geänderten Daten dann an den Rest 
weiter.
Das klappt wunderbar, jetzt gehts ans optimieren.

Die Therme, bzw. der HMM bekommt jeweils eine Soll-Temperatur.
0x405:  #Soll Mischkreis
0x252:  #Soll Heizungs VL

Aktuell ist es so umgesetzt, wünsche ich eine Solltemperatur im 
Mischkreis von z.B. 35°C, gebe ich das so aus und als Soll-Temperatur 
des Heizkreises gebe ich einfach 5°C mehr aus, also 40°C.
Wie macht ihr das? Die beiden Temperaturen hängen ja zusammen? Da kann 
es doch zu Problemen kommen wenn die Vorgaben nicht einregelbar sind?
Ich hab da noch einen Knopf im Hirn.
Hat so ein Setup schon jemand von euch umgesetzt?

sg
Martin

von Peter (Gast)


Lesenswert?

Hallo Martin,

beachtlich hohe Ziele, optimieren geht das noch oder macht das noch 
Sinn?

Bei einer 21%igen Gaspreiserhöhung im West Bereich. Zumal die 11% 
Kondensationswärme, die jeder bezahlt, selbst die Fußbodenheizer nur zum 
Teil nutzen können und vor Allem das tiefe tiefe schwarze Loch der 
Gasanlieferung. Das Gas, das nur einmal im Monat auf seine Parameter und 
Bestandteile untersucht werden braucht!! Sowie das Gerücht der 
erloschenen Gasflamme, das nicht versiegt.

Das sind alles reale negative Punkte die in die andere Richtung gehen, 
da liegt deine Optimierung eher im Bereich der eigenen Herausforderung 
und trotzdem hat sie hier jeder...blabla.

Wieso Du hast Du einen ganzen Regelkreis ungenutzt, oder erfordert die 
Fußbodenheizung diese Maßnahme?

Martin R. schrieb:
> Ich hänge mit einem Raspi zwischen TA270 und dem Rest (HMM und Therme),

Sicher meinst Du das "mit am CAN-Bus" hängst. Das der Rest bzw. Ofen, 
sowohl Ta270 Daten als auch die Raspi Daten "neu" empfängt ist dir 
sicher auch bewusst. Genau so wie die Tatsache das Du ein Außenfühler 
hast und ein Regelkreis mit Ausgang Vorlauftemperatur hierfür.

Statische Daten sind eher Eckpunkte, genau so wie Temperaturunterschiede 
zwischen Ofen und einem weiteren Regelkreis (Beschreibung).

Vielleicht solltest Du beim Dave SW mal reinschauen und verstehen.
Nach richtig regeln kommt dann optimal auf dein Haus bezogen.

Gruß

von Martin R. (zmaier)


Lesenswert?

Hallo Peter,

den ersten Teil verstehe ich nicht, optimieren bedeutet für mich eher 
meinen inneren Trieb hinsichtlich technischer Spielerein (ob sinnvoll 
oder nicht sei dahingestellt - jeder braucht Hobbys :)) zu befriedigen.
Peter schrieb:
> Wieso Du hast Du einen ganzen Regelkreis ungenutzt, oder erfordert die
> Fußbodenheizung diese Maßnahme?
Ja die Fußbodenheizung erfordert das vermutlich, der Volumenstrom ist 
für die Therme alleine zu groß, deshalb ist eine hydraulische Weiche + 
Zusatzpumpe notwendig. 100% kann ich das aber nicht sagen, da ich das 
Haus samt Heizung gebraucht gekauft habe und somit keine 
Planungsunterlagen zur Heizungsauslegung habe. So ist die Heizung 
zumindest aufgebaut, mit der Hoffnung der Erbauer hat sich dabei was 
gedacht :)

So wie ich geschrieben habe, ich hänge dazwischen, sprich, ich lese die 
CAN Botschaften (die von der TA270) mit einem Kanal ein und leite diese 
Nachrichten an den Rest (über einen zweiten CAN-Kanal) weiter und vice 
versa. Der Ofen bekommt also nicht 2 Nachrichten, sondern natürlich nur 
eine, alles andere macht ja null Sinn. Also soweit bin ich schon :)

"dazwischen" werden die Nachrichten dahingehend geändert, als dass ich 
die Vorlauftemperaturen selbst vorgebe und nicht wie "normal" 
der/die/das TA270.
Das funktioniert auch ohne Probleme, die tatsächliche Regelung der 
Vorlauftemperatur macht ja die Therme und HMM, da pfusche ich nicht 
rein, ich will nur die Sollwerte sinnvoll vorgeben!

Peter schrieb:
> Genau so wie die Tatsache das Du ein Außenfühler
> hast und ein Regelkreis mit Ausgang Vorlauftemperatur hierfür.

Ich will hier keine Diskussion mit "Regelkreis Außenfühler und 
Vorlauftemperatur" starten. Wo ist eigentlich der Regelkreis mit Ausgang 
Vorlauftemperatur? Das ist nichts anders als eine Sollwertvorgabe mit 
Eingang Außentemperatur und hat mit Regelung nichts zu tun.

Peter schrieb:
> Statische Daten sind eher Eckpunkte, genau so wie Temperaturunterschiede
> zwischen Ofen und einem weiteren Regelkreis (Beschreibung).
Verstehe ich nicht? Was heißt das?

Ich würde gerne wissen, gibts hier jemanden der einen geregelten 
Heizkreis hat (hydr. Weiche und HMM) und ebenfalls die Sollwerte selbst 
vorgibt. Und konkret wie? Mit "wie" meine ich nicht die technische 
Lösung (die klappt bei mir problemlos), sondern wie löst ihr das 
Problem, dass die beiden Sollwerte zusammenhängen - der Zusammenhang 
interessiert mich.

sG
Martin

von Peter (Gast)


Lesenswert?

Hallo,

der erste Teil war vielleicht die wichtigste Aussage.

Mit dem Volumenstrom usw. sehe ich genau umgekehrt egal...

Can-Bus okkkk, und wenn er ausfällt?

Martin R. schrieb:
> ch will hier keine Diskussion mit "Regelkreis Außenfühler und
> Vorlauftemperatur" starten. Wo ist eigentlich der Regelkreis mit Ausgang
> Vorlauftemperatur? Das ist nichts anders als eine Sollwertvorgabe mit
> Eingang Außentemperatur und hat mit Regelung nichts zu tun.

Hast Du vollkommen Recht, falsch ausgedrückt, meine Worte hier  :-( , 
habe im Block gedacht.

Wenn der nicht genutzt wird müssen die Werte per Telegramm versendet 
werden.

Aber, wirst sicher die Lösung finden..

Gruß

von Peter (Gast)


Lesenswert?

Hallo Martin,

habe mir die Beschreibung TA270 & HMM mal kurz vorgenommen.

Genauer Bild 3:HMM und 3.7.12 Heizkurve festlegen TA270: Hast Du ein 
TF20?

Du hast 2 unterschiedliche Kreise!
Der 2. wird vom 1. gespeist. Mehr Gemeinsamkeiten dürfte es nicht geben.
Scheinbar 0x252 >= 0x405 (MF1)

Zwei Heizkurven.

Martin R. schrieb:
> sondern wie löst ihr das
> Problem, dass die beiden Sollwerte zusammenhängen - der Zusammenhang
> interessiert mich.

Du hast doch auch nur ein Ofen! Die Heizkurve 2 muss immer kleiner als 
die Heizkurve 1 sein, also auch der Soll.

Sehe hier kein Problem. Du hast doch auch so gehandelt, nur annähernd 
(save) identisch gibt doch nur Sinn.

von Hans-Jürgen Ehls (Gast)


Lesenswert?

Hallo,

ich bin jetzt soweit, das ich mir das Projekt von Github ansehe und den 
CanBus als erstes abhören möchte.

Ich habe das Projekt als Zip runtergeladen, entpackt, in den 
Projektordner verschoben und in Visual studio geöffnet.

Nun habe ich die ArduinoSecret.h_template in Arduino_Secret.h umbenannt 
und dort meine Daten eingegeben.

In der Platformio.ini habe ich aus m5ez/ezTime@^0.8.3 --> 
ropg/ezTime@^0.8.3 gemacht, das er erstes wohl nicht findet.

upload_protocol = espota
upload_port = 10.0.0.6
habe ich entfernt, da er den ESP32 für den Upload nicht gefunden hat.

In der Main.cpp habe ich bool Override auf false gesetzt, damit ich 
erstmal nur abhören kann.

Wenn ich nun build drücke , bekomme ich folgende Fehlermeldungen:

src\mqtt.cpp: In function 'void callback(char*, byte*, unsigned int)':
src\mqtt.cpp:255:9: warning: unused variable 'i' [-Wunused-variable]
     int i = s.toInt();
         ^
src\main.cpp: In function 'void loop()':
src\main.cpp:188:150: warning: format '%i' expects argument of type 
'int', but argument 4 has type 'long int' [-Wformat=]
         sprintf(printbuf, "DEBUG STEP CHAIN #%i: Date and Time DOW:%i 
H:%i M:%i", currentStep, myTZ.dateTime("N").toInt(), myTZ.hour(), 
myTZ.minute());
                                                                                                                                                      ^
src\main.cpp:188:150: warning: format '%i' expects argument of type 
'int', but argument 4 has type 'long int' [-Wformat=]

und

.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp: In member 
function 'uint8_t OneWire::reset()':
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp:167:24: warning: 
unused variable 'reg' [-Wunused-variable]
  volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg;
                        ^
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp: In member 
function 'void OneWire::write_bit(uint8_t)':
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp:201:24: warning: 
unused variable 'reg' [-Wunused-variable]
  volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg;
                        ^
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp: In member 
function 'uint8_t OneWire::read_bit()':
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp:229:24: warning: 
unused variable 'reg' [-Wunused-variable]
  volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg;
                        ^

und

C:\Users\hanse\.platformio\packages\framework-arduinoespressif32\cores\e 
sp32\esp32-hal-spi.c:  In function 'spiTransferBytesNL':
C:\Users\hanse\.platformio\packages\framework-arduinoespressif32\cores\e 
sp32\esp32-hal-spi.c:922:39:  warning: initialization from incompatible 
pointer type [-Wincompatible-pointer-types]
                 uint8_t * last_out8 = &result[c_longs-1];
                                       ^
C:\Users\hanse\.platformio\packages\framework-arduinoespressif32\cores\e 
sp32\esp32-hal-spi.c:923:40:  warning: initialization from incompatible 
pointer type [-Wincompatible-pointer-types]
                 uint8_t * last_data8 = &last_data;
                                        ^

und

Linking .pio\build\az-delivery-devkit-v4\firmware.elf
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.mqttPASSWORD+0 
x0):  multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS 
WORD+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.mqttUSERNAME+0 
x0):  multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER 
NAME+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.mqttSERVER+0x0 
):  multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV 
ER+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.SECRET_PASS+0x 
0):  multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P 
ASS+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.SECRET_SSID+0x 
0):  multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S 
SID+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.mqttPASSWORD+0x0) 
:  multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS 
WORD+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.mqttUSERNAME+0x0) 
:  multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER 
NAME+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.mqttSERVER+0x0): 
multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV 
ER+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.SECRET_PASS+0x0): 
multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P 
ASS+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.SECRET_SSID+0x0): 
multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S 
SID+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.mqttPASSWORD+0x0) 
:  multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS 
WORD+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.mqttUSERNAME+0x0) 
:  multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER 
NAME+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.mqttSERVER+0x0): 
multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV 
ER+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.SECRET_PASS+0x0): 
multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P 
ASS+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.SECRET_SSID+0x0): 
multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S 
SID+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.mqttPASSWORD+0x0): 
multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS 
WORD+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.mqttUSERNAME+0x0): 
multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER 
NAME+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.mqttSERVER+0x0): 
multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV 
ER+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.SECRET_PASS+0x0): 
multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P 
ASS+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.SECRET_SSID+0x0): 
multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S 
SID+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.mqttPASSWORD 
+0x0):  multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS 
WORD+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.mqttUSERNAME 
+0x0):  multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER 
NAME+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.mqttSERVER+0 
x0):  multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV 
ER+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.SECRET_PASS+ 
0x0):  multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P 
ASS+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.SECRET_SSID+ 
0x0):  multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S 
SID+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.SECRET_PAS 
S+0x0):  multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P 
ASS+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.SECRET_SSI 
D+0x0):  multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S 
SID+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.mqttPASSWO 
RD+0x0):  multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS 
WORD+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.mqttUSERNA 
ME+0x0):  multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER 
NAME+0x0):  first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.mqttSERVER 
+0x0):  multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV 
ER+0x0):  first defined here
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\az-delivery-devkit-v4\firmware.elf] Error 1
======================================================================== 
=  [FAILED] Took 10.19 seconds 
======================================================================== 
=
Der Terminalprozess 
"C:\Users\hanse\.platformio\penv\Scripts\platformio.exe 'run'" wurde mit 
folgendem Exitcode beendet: 1.

Hier komme ich einfach nicht weiter.

Ich verstehe den Code nur rudimentär, aber vielleicht. kann mir ja hier 
einer helfen.

Zudem habe ich von Telnet keinen Plan, und weis nicht wie ich das 
einrichten soll.

Danke und Gruß
Hans

von K. H. (hegy)


Lesenswert?

Hans-Jürgen Ehls schrieb:
> ich bin jetzt soweit, das ich mir das Projekt von Github ansehe und den
> CanBus als erstes abhören möchte.

Zum CAN-Bus ablauschen gibt es kleine CAN-USB Module. Eine Seite CAN-Bus 
anschließen und andere Seite in den USB-Port stöpseln und dann mit einem 
Terminal für serielle Schnittstelle die Daten absaugen.
Wenn ich mich nicht ganz vertue, kann man mit den Teilen auch ein paar 
Daten auf den CAN-Bus senden. Und wenn ich mich nicht ganz vertue habe 
ich sowas schonmal gemacht mit einen Python Skript, das auf eine andere 
UART was ausgibt und das kommt dann auf dem CAN. So ein CAN-USB Teil 
kostet nur ein paar Euros.

Hans-Jürgen Ehls schrieb:
> warning: unused variable
> [...]
> warning: initialization from incompatible pointer type 
[-Wincompatible-pointer-types]

Diese Warnung könnte man erstmal ignorieren.

Hans-Jürgen Ehls schrieb:
> multiple definition of `mqt...'
> blabla\can_processor.cpp.o:(.data.mqt... > WORD+0x0): first defined here

Da wurde das Projekt falsch zusammengestellt bzw. die Konfiguration des 
Projekts ist schief. Irgendwelche Files sind doppelt drin bzw. gehören 
da nicht rein oder ein Compiler-Parameter ist zuviel (Projekt 
Konfigurationsfehler).

> Ich verstehe den Code nur rudimentär, aber vielleicht. kann mir ja hier
> einer helfen.

Nochmal genau hinkucken, wo was definiert wird und wo was doppelt 
definiert ist und dann die richtigen Files rauswerfen bzw. irgendwo in 
den Compiler-Einstellungen irgendwelche "-Include ..." rauswerfen bzw. 
richtig setzen. Vllt. ist auch ein Ordner im Projekt, der da nicht 
hingehört. Jedenfalls ist das mit "multiple definition of ..." ein 
Fehler, den man lösen muss.

von Peter (Gast)


Lesenswert?

Hallo,

sorry,...

aber was hat das mit dem Thema zu tun.

bitte--->ADMIN /verlegen/neu.

von Hans-Jürgen Ehls (Gast)


Lesenswert?

Peter schrieb:
> sorry,...
>
> aber was hat das mit dem Thema zu tun.
>
> bitte--->ADMIN /verlegen/neu.

Hallo,

na ja das Thema hier verweist ja auf das Github Projekt. Wenn man das 
dann nicht hinbekommt, fand ich schon das es hier hin gehört.

Ggf. könnte man hier, oder auch im Guthub Projekt selber eine 
Installionsanweisung / - erklärung hinterlegen, für die nicht ganz so 
fitten Programmierer.

Wir können das aber gerne auch in einem separaten Thema behandeln.

Gruß
Hans

von Michael (Gast)


Lesenswert?

Hallo Leute,
ich werde wahnsinig. Ich betreibe einen esp32 mit den Can-Bus Modulen 
MCP2515 mit TJA1050. Die Spannungsversorgung für das TJA1050 ist 
unterbrochen und auf 5V gelegt. Ich benutze die Libary MCP_can. Ich kann 
Pakete senden und empfange diese auch. Jetzt mein Problem. Sobald ich 
dir Rate auf 10KBs stelle klappt das Senden und empfangen nicht mehr. 
Mit 500KBs geht es wieder. Ich habe diverse Module ausprobiert. Das 
gleiche Phänomen habe ich auch wenn ich einen Wemos D1 mini als 
Conroller nehme. Ich habe auch andere Libarys ausprobiert.
Sobald ich auf 10KBs kann ich nichts mehr empfangen.
Ich komme nicht mehr weiter. Kann mir einer helfen?
Für Tips und Tricks wäre ich sehr dankbar. Ich nutze den Code von dieser 
Website:https://www.mittns.de/thread/558-selbstbau-canbus-verbindung-zwischen-2-oder-mehreren-arduinos/?postID=3411#post3411


Viele Grüße

Michael

von Thomas (kosmos)


Lesenswert?

TJA1050 kann nur bis 60 kbaud runter, der MCP2551 müsste bis 16 kbaud 
runter können.

Hängt mit einem fest eingestelltem time-out zusammen damit nicht zu 
lange dominant anliegen kann, dann steigt der Transceiver aus um den Bus 
nicht zu belegen.

MCP2551
http://ww1.microchip.com/downloads/en/devicedoc/21667e.pdf
Seite 5 Punkt 1.5

TJA1050
https://www.nxp.com/docs/en/data-sheet/TJA1050.pdf
Seite 4

: Bearbeitet durch User
von Dave G. (neuroquila-n8fall)


Lesenswert?

Komisch... Ich betreibe den tja1050 und mcp2515 auf 3v auf 10kbit ohne 
Probleme mit einem esp32.
Welche library benutzt du und wie viel MHz hat der oszi?

von Michael (Gast)


Lesenswert?

Hallo,
danke für die Antwort.
Ich benutze die MCP-Can Libary. 
https://github.com/coryjfowler/MCP_CAN_lib
Welche benutz du?
Auf dem Oszi steht eine undefinierte Bezeichnung. Ich habe aber noch 
zwei wo 8 Mhz draufsteht. Mit denen geht es aber auch nicht.
Kannst du mir deinen Code einmal zukommen lassen?

Viele Grüße

Michael

von Michael (Gast)


Lesenswert?

Michael schrieb:
> Hallo,
> danke für die Antwort.
> Ich benutze die MCP-Can Libary.
> https://github.com/coryjfowler/MCP_CAN_lib
> Welche benutz du?
> Auf dem Oszi steht eine undefinierte Bezeichnung. Ich habe aber noch
> zwei wo 8 Mhz draufsteht. Mit denen geht es aber auch nicht.
> Kannst du mir deinen Code einmal zukommen lassen?
>
> Viele Grüße
>
> Michael

@

Michael schrieb:
> Hallo,
> danke für die Antwort.
> Ich benutze die MCP-Can Libary.
> https://github.com/coryjfowler/MCP_CAN_lib
> Welche benutz du?
> Auf dem Oszi steht eine undefinierte Bezeichnung. Ich habe aber noch
> zwei wo 8 Mhz draufsteht. Mit denen geht es aber auch nicht.
> Kannst du mir deinen Code einmal zukommen lassen?
>
> Viele Grüße
>
> Michael

Michael schrieb:
> Hallo,
> danke für die Antwort.
> Ich benutze die MCP-Can Libary.
> https://github.com/coryjfowler/MCP_CAN_lib
> Welche benutz du?
> Auf dem Oszi steht eine undefinierte Bezeichnung. Ich habe aber noch
> zwei wo 8 Mhz draufsteht. Mit denen geht es aber auch nicht.
> Kannst du mir deinen Code einmal zukommen lassen?

@kosmos: Danke für die Links der Datenblätter. Ich vestehe nur nicht, 
dass hier all den Junkers Can Bus mit dem MCP2515 mit 10KBs 
mitschneiden. Siehe den Beitrag von Kay. Das Bild war er gepostet ist 
doch eindeutig.
>
> Viele Grüße
>
> Michael

von Dave G. (neuroquila-n8fall)


Lesenswert?

Die fowler lib wird nicht zuverlässig gehen und wenn du 8mhz benutzt 
musst du auf 20kbit gehen.

Benutze am besten die Acan lib hier:
https://github.com/pierremolinaro/acan2515

Schau mal in mein repo rein. Da kannst du dir ein paar Sachen abschauen 
😉

https://github.com/Neuroquila-n8fall/JunkersControl

von H.Joachim S. (crazyhorse)


Lesenswert?

Michael schrieb:
> Ich vestehe nur nicht,
> dass hier all den Junkers Can Bus mit dem MCP2515 mit 10KBs
> mitschneiden.

Was bitte sollte dagegen sprechen? Läuft seit 5 Jahren bei mir.

von Michael (Gast)


Lesenswert?

Hallo Crazyhorse,
der Post von Kosmos sagt das dies nicht technisch funktioniert.
Deswegen habe ich mich gewundert das hier alle diese Konstalation 
betreiben.
Ich wäre ja froh wenn es bei mir auch klappt.
Ich habe jetzt die ACAN2515 Lib. getestet und die ersten Versuche 
scheinen mit 10KBS zu funktionieren.
Welche Libary benutzt du denn?

Viele Grüße

Michael

von Peter (Gast)


Lesenswert?

Hallo,

es muss mit MCP-Can funktionieren, sollte sogar mit CAN FD klappen 
(lesen).

Peter

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,
ich bin ratlos.

Mein Code zum Senden:
/——————————————————————————————————————————————————————————————————————— 
———————
//  ACAN2515 Demo in loopback mode
//—————————————————————————————————————————————————————————————————————— 
————————

#include <ACAN2515.h>

//—————————————————————————————————————————————————————————————————————— 
————————
//  MCP2515 connections:
//    - standard SPI pins for SCK, MOSI and MISO
//    - a digital output for CS
//    - interrupt input pin for INT
//—————————————————————————————————————————————————————————————————————— 
————————
// If you use CAN-BUS shield 
(http://wiki.seeedstudio.com/CAN-BUS_Shield_V2.0/) with Arduino Uno,
// use B connections for MISO, MOSI, SCK, #9 or #10 for CS (as you 
want),
// #2 or #3 for INT (as you want).
//—————————————————————————————————————————————————————————————————————— 
————————
// Error codes and possible causes:
//    In case you see "Configuration error 0x1", the Arduino doesn't 
communicate
//       with the 2515. You will get this error if there is no CAN 
shield or if
//       the CS pin is incorrect.
//    In case you see succes up to "Sent: 17" and from then on "Send 
failure":
//       There is a problem with the interrupt. Check if correct pin is 
configured
//—————————————————————————————————————————————————————————————————————— 
————————

static const byte MCP2515_CS  = 5 ; // CS input of MCP2515 (adapt to 
your design)
static const byte MCP2515_INT =  26 ; // INT output of MCP2515 (adapt to 
your design)

//—————————————————————————————————————————————————————————————————————— 
————————
//  MCP2515 Driver object
//—————————————————————————————————————————————————————————————————————— 
————————

ACAN2515 can (MCP2515_CS, SPI, MCP2515_INT) ;

//—————————————————————————————————————————————————————————————————————— 
————————
//  MCP2515 Quartz: adapt to your design
//—————————————————————————————————————————————————————————————————————— 
————————

//static const uint32_t QUARTZ_FREQUENCY = 8UL  1000UL  1000UL ; // 16 
MHz
static const uint32_t QUARTZ_FREQUENCY = 16UL  1000UL  1000UL ; // 16 
MHz

//—————————————————————————————————————————————————————————————————————— 
————————
//   SETUP
//—————————————————————————————————————————————————————————————————————— 
————————

void setup () {
//--- Switch on builtin led
  pinMode (LED_BUILTIN, OUTPUT) ;
  digitalWrite (LED_BUILTIN, HIGH) ;
//--- Start serial
  Serial.begin (115200) ;
//--- Wait for serial (blink led at 10 Hz during waiting)
  while (!Serial) {
    delay (50) ;
    digitalWrite (LED_BUILTIN, !digitalRead (LED_BUILTIN)) ;
  }
//--- Begin SPI
  SPI.begin () ;
//--- Configure ACAN2515
  delay(500);
  Serial.println ("Configure ACAN2515") ;
  //ACAN2515Settings settings (QUARTZ_FREQUENCY, 125UL * 1000UL) ; // 
CAN bit rate 125 kb/s
  ACAN2515Settings settings (QUARTZ_FREQUENCY, 10UL * 1000UL) ; // CAN 
bit rate 125 kb/s

  settings.mRequestedMode = ACAN2515Settings::NormalMode ; // Select 
loopback mode
  //settings.mRequestedMode = ACAN2515Settings::LoopBackMode ; // Select 
loopback mode
  const uint16_t errorCode = can.begin (settings, [] { can.isr () ; }) ;
  if (errorCode == 0) {
    Serial.print ("Bit Rate prescaler: ") ;
    Serial.println (settings.mBitRatePrescaler) ;
    Serial.print ("Propagation Segment: ") ;
    Serial.println (settings.mPropagationSegment) ;
    Serial.print ("Phase segment 1: ") ;
    Serial.println (settings.mPhaseSegment1) ;
    Serial.print ("Phase segment 2: ") ;
    Serial.println (settings.mPhaseSegment2) ;
    Serial.print ("SJW: ") ;
    Serial.println (settings.mSJW) ;
    Serial.print ("Triple Sampling: ") ;
    Serial.println (settings.mTripleSampling ? "yes" : "no") ;
    Serial.print ("Actual bit rate: ") ;
    Serial.print (settings.actualBitRate ()) ;
    Serial.println (" bit/s") ;
    Serial.print ("Exact bit rate ? ") ;
    Serial.println (settings.exactBitRate () ? "yes" : "no") ;
    Serial.print ("Sample point: ") ;
    Serial.print (settings.samplePointFromBitStart ()) ;
    Serial.println ("%") ;
  }else{
    Serial.print ("Configuration error 0x") ;
    Serial.println (errorCode, HEX) ;
  }
}

//---------------------------------------------------------------------- 
------------------------------------------------

static uint32_t gBlinkLedDate = 0 ;
static uint32_t gReceivedFrameCount = 0 ;
static uint32_t gSentFrameCount = 0 ;

//—————————————————————————————————————————————————————————————————————— 
————————

void loop ()
{
  CANMessage frame ;
  if (gBlinkLedDate < millis ())
  {
    gBlinkLedDate += 2000 ;
    digitalWrite (LED_BUILTIN, !digitalRead (LED_BUILTIN)) ;
    frame.ext = true ;
    frame.id = 0x10101010 ;
    frame.len = 8 ;
    frame.data [0] = 0x11 ;
    frame.data [1] = 0x22 ;
    frame.data [2] = 0x33 ;
    frame.data [3] = 0x44 ;
    frame.data [4] = 0x55 ;
    frame.data [5] = 0x66 ;
    frame.data [6] = 0x77 ;
    frame.data [7] = 0x88 ;
    const bool ok = can.tryToSend (frame) ;
    if (ok)
    {
      gSentFrameCount += 1 ;
      Serial.print ("Sent: ") ;
      Serial.println (gSentFrameCount) ;
    }
    else
    {
      Serial.println ("Send failure") ;
    }
  }

}

Mein Code zum Empfangen:

//—————————————————————————————————————————————————————————————————————— 
————————
//  ACAN2515 Demo in loopback mode
//—————————————————————————————————————————————————————————————————————— 
————————

#include <ACAN2515.h>

//—————————————————————————————————————————————————————————————————————— 
————————
//  MCP2515 connections:
//    - standard SPI pins for SCK, MOSI and MISO
//    - a digital output for CS
//    - interrupt input pin for INT
//—————————————————————————————————————————————————————————————————————— 
————————
// If you use CAN-BUS shield 
(http://wiki.seeedstudio.com/CAN-BUS_Shield_V2.0/) with Arduino Uno,
// use B connections for MISO, MOSI, SCK, #9 or #10 for CS (as you 
want),
// #2 or #3 for INT (as you want).
//—————————————————————————————————————————————————————————————————————— 
————————
// Error codes and possible causes:
//    In case you see "Configuration error 0x1", the Arduino doesn't 
communicate
//       with the 2515. You will get this error if there is no CAN 
shield or if
//       the CS pin is incorrect.
//    In case you see succes up to "Sent: 17" and from then on "Send 
failure":
//       There is a problem with the interrupt. Check if correct pin is 
configured
//—————————————————————————————————————————————————————————————————————— 
————————

static const byte MCP2515_CS  = 5 ; // CS input of MCP2515 (adapt to 
your design)
static const byte MCP2515_INT =  26 ; // INT output of MCP2515 (adapt to 
your design)

//—————————————————————————————————————————————————————————————————————— 
————————
//  MCP2515 Driver object
//—————————————————————————————————————————————————————————————————————— 
————————

ACAN2515 can (MCP2515_CS, SPI, MCP2515_INT) ;

//—————————————————————————————————————————————————————————————————————— 
————————
//  MCP2515 Quartz: adapt to your design
//—————————————————————————————————————————————————————————————————————— 
————————

//static const uint32_t QUARTZ_FREQUENCY = 8UL  1000UL  1000UL ; // 16 
MHz
static const uint32_t QUARTZ_FREQUENCY = 16UL  1000UL  1000UL ; // 16 
MHz

//—————————————————————————————————————————————————————————————————————— 
————————
//   SETUP
//—————————————————————————————————————————————————————————————————————— 
————————

void setup () {
//--- Switch on builtin led
  pinMode (LED_BUILTIN, OUTPUT) ;
  digitalWrite (LED_BUILTIN, HIGH) ;
//--- Start serial
  Serial.begin (115200) ;
//--- Wait for serial (blink led at 10 Hz during waiting)
  while (!Serial) {
    delay (50) ;
    digitalWrite (LED_BUILTIN, !digitalRead (LED_BUILTIN)) ;
  }
//--- Begin SPI
  SPI.begin () ;
//--- Configure ACAN2515
  delay(500);
  Serial.println ("Configure ACAN2515") ;
  //ACAN2515Settings settings (QUARTZ_FREQUENCY, 125UL * 1000UL) ; // 
CAN bit rate 125 kb/s
  ACAN2515Settings settings (QUARTZ_FREQUENCY, 10UL * 1000UL) ; // CAN 
bit rate 125 kb/s

  settings.mRequestedMode = ACAN2515Settings::NormalMode ; // Select 
loopback mode
  //settings.mRequestedMode = ACAN2515Settings::LoopBackMode ; // Select 
loopback mode
  const uint16_t errorCode = can.begin (settings, [] { can.isr () ; }) ;
  if (errorCode == 0) {
    Serial.print ("Bit Rate prescaler: ") ;
    Serial.println (settings.mBitRatePrescaler) ;
    Serial.print ("Propagation Segment: ") ;
    Serial.println (settings.mPropagationSegment) ;
    Serial.print ("Phase segment 1: ") ;
    Serial.println (settings.mPhaseSegment1) ;
    Serial.print ("Phase segment 2: ") ;
    Serial.println (settings.mPhaseSegment2) ;
    Serial.print ("SJW: ") ;
    Serial.println (settings.mSJW) ;
    Serial.print ("Triple Sampling: ") ;
    Serial.println (settings.mTripleSampling ? "yes" : "no") ;
    Serial.print ("Actual bit rate: ") ;
    Serial.print (settings.actualBitRate ()) ;
    Serial.println (" bit/s") ;
    Serial.print ("Exact bit rate ? ") ;
    Serial.println (settings.exactBitRate () ? "yes" : "no") ;
    Serial.print ("Sample point: ") ;
    Serial.print (settings.samplePointFromBitStart ()) ;
    Serial.println ("%") ;
  }else{
    Serial.print ("Configuration error 0x") ;
    Serial.println (errorCode, HEX) ;
  }
}

//---------------------------------------------------------------------- 
------------------------------------------------

static uint32_t gBlinkLedDate = 0 ;
static uint32_t gReceivedFrameCount = 0 ;
static uint32_t gSentFrameCount = 0 ;

//—————————————————————————————————————————————————————————————————————— 
————————

void loop ()
{
    CANMessage frame ;

    if (can.receive (frame))
    {
      gReceivedFrameCount ++ ;
      Serial.print ("  id: ");Serial.println (frame.id,HEX);
      Serial.print ("  ext: ");Serial.println (frame.ext);
      Serial.print ("  rtr: ");Serial.println (frame.rtr);
      Serial.print ("  len: ");Serial.println (frame.len);
      Serial.print ("  data: ");
      for(int x=0;x<frame.len;x++)
      {
        Serial.print (frame.data[x],HEX); Serial.print(":");
      }
      Serial.println ("");
      Serial.print ("Received: ") ;
      Serial.println (gReceivedFrameCount) ;
  }
}

2 x ESP32 Mini und 2 x MCP2515 mit TJA1050

Mit 125KBs geht es, wenn ich auf 10KBs umstelle kann ich nichts mehr 
empfangen.
Ich glaube es gibt unterschiedliche Module mit dem MCP2515. Bei mir auf 
dem Osci steht D0695629C.
Hat noch jemand einen Lösungsvorschlag? Bitte nicht müsste gehen. 
Eventuell hat ja jemand einen Democode für mich.
Viele Grüße Michael

von Peter (Gast)


Lesenswert?

Morgen,

mir sind die Can_Module nur als 8MHz bekannt!? Kauf als xx MHz?

Die Datei hätte gereicht, sehr unübersichtlich "//..." !?

Welche Fehler treten auf!? Die Code gibt Fehler aus!?

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Bitte sei so nett und formatiere deinen code entsprechend mit den code 
tags oder hänge die Datei an (noch besser). Das ist so schwer bis 
absolut nicht lesbar.

Mal ganz allgemein:
- Da die Oszis keine Angabe haben würde ich vermuten, dass diese mit 
8MHz ausgeliefert wurden. Google spuckt ja auch nix zu aus. Schade. 
Dementsprechend, wenn du mit 16MHz anrückst, klappt das nur bis zu einer 
gewissen Bitrate aber kommst dann irgendwann nicht mehr tiefer.
- Prüfe auf der Konsolenausgabe ob die Initialisierung überhaupt 
funktioniert. Ich wette das tut sie nämlich nicht.

Was zu prüfen ist:
- Initialisiere mit 8MHz und 10Kbit:
1
static const uint32_t QUARTZ_FREQUENCY = 8UL * 1000UL * 1000UL;
2
ACAN2515Settings settings(QUARTZ_FREQUENCY, 10UL * 1000UL); // CAN bit rate 10 kb/s

Dann prüfe ob die Initialisierung überhaupt funktioniert:
1
SPI.begin(MCP2515_SCK, MCP2515_MISO, MCP2515_MOSI); //SPI Pin Config ohne Interrupt
2
const uint16_t errorCode = can.begin(settings, [] { can.isr(); });
3
  if (errorCode == 0)
4
  {
5
    Serial.print("Bit Rate prescaler: ");
6
    Serial.println(settings.mBitRatePrescaler);
7
    Serial.print("Propagation Segment: ");
8
    Serial.println(settings.mPropagationSegment);
9
    Serial.print("Phase segment 1: ");
10
    Serial.println(settings.mPhaseSegment1);
11
    Serial.print("Phase segment 2: ");
12
    Serial.println(settings.mPhaseSegment2);
13
    Serial.print("SJW: ");
14
    Serial.println(settings.mSJW);
15
    Serial.print("Triple Sampling: ");
16
    Serial.println(settings.mTripleSampling ? "yes" : "no");
17
    Serial.print("Actual bit rate: ");
18
    Serial.print(settings.actualBitRate());
19
    Serial.println(" bit/s");
20
    Serial.print("Exact bit rate ? ");
21
    Serial.println(settings.exactBitRate() ? "yes" : "no");
22
    Serial.print("Sample point: ");
23
    Serial.print(settings.samplePointFromBitStart());
24
    Serial.println("%");
25
  }
26
  else
27
  {
28
    Serial.print("Configuration error 0x");
29
    Serial.println(errorCode, HEX);
30
  }


Wenn die Initialisierung fehlschlägt, dann hat es sehr wahrscheinlich 
was mit dem Oszi zu tun. SPI sieht jedenfalls gut aus. Da das Teil nicht 
gelabelt ist und man nicht weiß wie viel er nun hat, würde ich pauschal 
einfach diese durch einen Austauschen von dem man den Wert kennt ;)

In dem Codebeispiel von mir verzichte ich gezielt auf Interrupt und gehe 
über den Buffer. Um Nachrichten auszulesen liest man jeden Zyklus über 
den Buffer, prüft ob es was gibt und verarbeitet dann:
1
CANMessage Message;
2
  if (can.receive(Message))
3
  {
4
    //Schau, was in "Message" drin ist.
5
  }

Wenn das dann klappen sollte kannst du weiter deinen code benutzen...


Aber wie gesagt: Es steht und fällt mit dem verbauten Oszi. Gibt man 
Grütze dann beim Initialisieren an, kommt auch Grütze raus ;)

von Michael (Gast)



Lesenswert?

Hallo Dave,
danke für die konstruktive Hilfe.
Ich habe die beiden Files angehängt.
Die initialisierung klappt.

Hier die Augabe auf der Console:
Empfänger:
11:01:24.692 -> Configure ACAN2515
11:01:24.692 -> Bit Rate prescaler: 16
11:01:24.692 -> Propagation Segment: 8
11:01:24.692 -> Phase segment 1: 8
11:01:24.739 -> Phase segment 2: 8
11:01:24.739 -> SJW: 4
11:01:24.739 -> Triple Sampling: yes
11:01:24.739 -> Actual bit rate: 10000 bit/s
11:01:24.739 -> Exact bit rate ? yes
11:01:24.739 -> Sample point: 64%

Sender:
Configure ACAN2515
Bit Rate prescaler: 16
Propagation Segment: 8
Phase segment 1: 8
Phase segment 2: 8
SJW: 4
Triple Sampling: yes
Actual bit rate: 10000 bit/s
Exact bit rate ? yes
Sample point: 64%
Sent: 1
Sent: 2

Sobald ich die Bit Rate auf 125KBs stelle empfange ich etwas.
Ich hatte noch 2 MCP2515 mit TJA1050 Modulen wo auf dem Osci 8MHz steht. 
Auch hier das gleicher Ergebnis.
Ich bin ratlos.
Viele Grüße
Michael

von Peter (Gast)


Lesenswert?

Hallo,
vergesse nicht den Pullup_Widerstand. sowohl Cs als erst recht wenn Du 
mit INT arbeitest. // [INT] total überflüssig!!

Habe auch den SPI, wie auch beschrieben gehändelt!! ESP32 ACAN2515.... 
hier CAN-Bus FD beschrieben.
Warum nicht so wie es Pierre beschreibt??

//---------------------------------------------------------------------- 
------
static const byte MCP2517_SCK  = 18 ; // SCK input of MCP2517
static const byte MCP2517_MOSI = 23 ; // SDI input of MCP2517
static const byte MCP2517_MISO = 19 ; // SDO output of MCP2517
static const byte MCP2517_CS  = 5 ;   // CS input of MCP2517

static const byte MCP2517_INT = 27 ;  // INT output of MCP2517

ACAN2517FD can (MCP2517_CS, SPI, MCP2517_INT) ;

von Peter (Gast)


Lesenswert?

Zur Info:

SHK Fragen

Schaut mal rein, ist nicht schlecht.

http://www.bosy-online.de/

Peter

von Peter (Gast)


Lesenswert?

Hallo,

versuch es bitte mal mit einer anderen ID (11 Bit) bzw. lade Dir die 
neue SW herunter von ACAN2515 falls Du sie nicht innerhalb der letzten 6 
Tage heruntergeladen hast.

2.1.0 : fixed extended frame reception

Michael schrieb:
> Sobald ich die Bit Rate auf 125KBs stelle empfange ich "etwas".
Frage "etwas", das was Du sendest?? ist der Empfang korrekt.

Vielleicht auch mal einen Schritt zurückgehen und wieder die loopback 
mode ausprobieren.(beide Module)

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Aloha,

ich habe auf den Bildern gesehen, dass der Bus auf beiden Seiten 
terminiert ist. Entferne mal die Terminierung auf der einen Seite. Laut 
Spezi ist es nur vorgesehen am "Ende" zu Terminieren.

Das wird vermutlich das Problem mit der niedrigen Bitrate nicht beheben 
aber ein sauberes Fundament ist wichtig ;)

Ich meine mich zu erinnern, dass manche ESP32s stark vereinfacht 
ausgedrückt nicht in der Lage sind die Frequenz so niedrig zu drücken, 
dass es für 10kbit/s reicht. Ich habe grundsätzlich nur Wroom32 Module 
im Einsatz mit Devkit 4 Layout (diese haben eine stabilere 
Spannungsversorgung, die nicht gleich bei jedem Spike in die Knie geht). 
Mit denen funktioniert es. Habe einen dieser im Auto verbaut für 
100kbit/s und einen an der Heizung mit 10kbit/s. Leider sehe ich auf den 
Bildern das exakte Modell deiner Chips nicht.

Außerdem betreibe ich die Module ausschließlich ohne Interrupt, da das 
sonst MQTT oder andere Peripherie zum "laggen" bringen kann (meine 
Beobachtung - "Your milage may vary").


Kleine große Randnotiz: Wenn man nach Möglichkeiten sucht CAN-Bus mit 
dem ESP32 zu verwenden, stößt man unweigerlich auch auf einen 
Transceiver (SN65HVD230), den man direkt an die CAN-Fähigen Pins des 
ESPs anklemmen kann. Finger weg davon, denn damit kommt man auch nicht 
auf 10kbit/s und meine Tests mit 100kbit/s am Auto verliefen auch 
fruchtlos und dabei sei gesagt, dass der CAN-Bus im Auto außerordentlich 
stabil und Fehlertolerant läuft. Auch das Nachbauen des Moduls auf eine 
Platine hat nie wirklich funktioniert. Auch wenn die beiden Platinen 
miteinander kommunizieren konnten funktionierte das weder an der Heizung 
noch am Auto. Dabei waren die Komponenten 1:1 identisch mit dem 
gekauften Modul. Es gibt also anscheinend dramatische Unterschiede bei 
den Chips die dazu führen, dass etwas nicht sauber funktioniert.
Ich habe auch hierzu mal einen Controller aus dem Auto auseinander 
genommen und gecheckt, was der Hersteller da gemacht hat und 
festgestellt, dass auch hier der MCP2515 und TJA1050 zum Einsatz kommen.
Ferner gibt es auch noch dramatische Unterschiede zwischen den 
Frameworks. Ich benutze nun das "offizielle" ESP32 Framework zum 
kompilieren, statt das was extra für das AZ-Delivery Ding bereitgestellt 
wurde. Vorher gab es nämlich dabei auch Probleme. Ich habs mir leider 
nicht notiert aber ich erinnere mich damit auch das Sendeproblem behoben 
zu haben, was mit den älteren Wroom32 aufgetreten war (Das Devkit, wo 
die Antenne nicht über das Board herausragt)

Zusammengefasst:
Wroom32[U] + "NiRen" gelabeltes CAN-Modul mit 16MHz Oszi funktioniert in 
meinen Umgebungen tadellos mit dem exakten Code der in meinem Repo drin 
ist sowie des Beispielcodes von ACAN2515.

von Michael (Gast)


Lesenswert?

Hallo Dave,
ich habe mir gerade genau dein Setup bestellt.
Danke für die Unterstützung.

Ich gebe Rückmeldung sobald die HW da ist.
In der Zwischenzeit teset ich mit der vorhandenen HW weiter.

Viele Grüße

Michael

von Peter (Gast)


Lesenswert?

Hallo,

nun hatte mir gestern ebenfalls die Bilder nochmals angeschaut, aber 
hatte eher an den nicht gesetzten Abschluss geglaubt bzw. gehofft.

Ein !Can-Bus! hat zwei Enden und zwei Abschlüsse zu je ~120 Ohm (bzw. 
insgesamt !! ~60 Ohm Belastung). Das ist die Vorgabe, habe gerade im 
Automotiv_Bereich Geräte gesehen, die hier eingestellt werden konnten 
(>2).

Halte Micheals  Einstellung, in diesem Fall ohne BM1, aber für richtig 
und notwendig.

Mir ist aber aufgefallen das eine Masseverbindung zwischen den 
Teilnehmern, wohl vorhanden war, aber nicht angeschlossen wurde (sw 
Leitung). Muss nicht, aber kann zum Fehler führen. Weiterhin existiert 
so eine gewisse Sicherheit. Ein späterer Masseversatz zum BM1 kann sehr 
teuer werden.

Was bitte hat die Can-bus Bitrate mit der SPI Frequenz zu tun? Der 
MCP2515 ist ein eigenständiger Controller. Nun in wie weit die SW von 
Pierre die HW bei der Installation wirklich kontrolliert, ist mir nicht 
bekannt. Aber die hat doch geklappt. "No error"  ... oder? beide.

Michael schrieb:
> }else{
>     Serial.print ("Configuration error 0x") ;
>     Serial.println (errorCode, HEX) ;

Daraus folgt doch, das mit der HW Unsicherheit des Can-Bus Moduls, nur 
noch 3 Punkte existieren die zum Fehler führen.

Der Interrupt von der ACAN_SW hat mich nie überzeugt. Ich sehe bei 
Michael auch keine Widerstände verbaut!! noch hat er darauf geantwortet.

Das gleich gilt für CS.

Der 5V Voltanschluss ist vielleicht nicht korrekt bzw. Teil 
geschrottet....

2 mal wurde gesendet "Sent" oder? Kein Antwort...?

Funktionieren denn beide Modul noch in der loopback Mode, keine Aussage! 
nicht kontrolliert!??

Wie schon mal erwähnt habe ich ein andere Can-bus Module verwendet. Das 
Can-Modul lief bis auf einen Massefehler, der das Can-Modul geschrottet 
hat, mit UNO, STM32, ESP8266 d1 bzw.(R2) und ESP32 (von bis-irgendwas) 
problemlos.

Das auf dem Markt die Qualität der Module sehr unterschiedlich, ja sogar 
teilweise unmöglich ist, kann ich nur bestätigen, aber.. Michael hat wie 
er schrieben hat doch die Can Module schon ausgetauscht. Doch, sehr 
unwahrscheinlich .

Qualität:

Nun bevor ich allerdings ein Texas Bauteile anzweifele würde ich eher 
auf MCP und ESP tippen, hier werden Daten erhoben die einfach nicht 
vorhanden sind oder nicht stimmen. Der MCP2515 hat jahrelang im 
Datenblatt Einstellungen aufgeführt, die gar nicht funktionierten.

Habe 20 Jahre im Automotiv gearbeitet und habe nicht einmal mit MCP 
Can-Controller zutun gehabt, außer in der Can-Bus Karte der Firma zur 
Steuerung des Testsystems. Beurteilung lasse ich hier lieber.

Mein Ratschlag an Michael:

Vereinheitliche deine Installation Sender Empfänger mit 8MHz
kein INT,
CS mit 10 K Widerstand an 3,3V.
5 Volt Anschluss Kontrolle,
Module mit Loopback Mode testen.
Dann auf Normalmode Can Bus richtig anschließen. evtl. messen.
GND1 an GND2.

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Peter, ich weiß dein Wissen in dem Bereich zu teilen wirklich sehr zu 
schätzen. Natürlich hast du Recht mit der Terminierung. Ich habe hier 
was mit meinem Auto verwechselt, wo ich mich ja einfach nur anflansche 
und der Bus ja bereits durch die vorhandene Infrastruktur korrekt 
terminiert ist.

Jedoch gibt es Hinweise drauf, dass der ESP32 nicht in der Lage ist den 
Can-Controller richtig zu initialisieren, wenn die interne Taktung da 
nicht passt. Den genauen technischen Hintergrund weiß ich gerade auch 
nicht mehr, hat aber sicher was mit der SPI Schnittstelle zu tun und wie 
die internen Oszis geschaltet sind. Ich erinnere mich dass es da sogar 
Konflikte gab, wenn Wifi noch mit angesteuert wurde und dass da eine 
gewisse Chiprevision nicht mit klar kam.

Meine Tests wie gesagt haben ergeben, dass nicht nur der Controller 
manchmal in Schieflage gerät, obwohl die Konfigurationsregister korrekt 
angenommen werden, sondern auch das verwendete Framework zum Kompilieren 
erheblichen Einfluss auf die Sende- und Empfangsstabilität nimmt. Mit 
dem "falschen" Framework musste ich teils eine Seite neu starten, damit 
die Kommunikation wieder funktioniert. Wir sind hier natürlich eindeutig 
in der Domäne des ESPs und dessen SPI Interface und ich denke hier liegt 
auch ultimativ der Hund begraben. Diese "Wemos" ähnlichen Module sind 
anscheinend nicht wirklich zuverlässig. Aus einem anderen Fall weiß ich, 
dass diese nicht zuverlässig funktionieren. Ich vermute hier wurden alte 
Revisionen mit Firmware Bugs verbaut. Das würde dann auch den teils sehr 
niedrigen Preis erklären.

Was ich allerdings sicher mittlerweile weiß ist, dass es massive 
Unterschiede gibt bei den ESP "Wroom32" Modellen und deren zickigkeit in 
Bezug auf Peripherie - und natürlich wie die Module bestückt worden 
sind. Das führt dann auch zu unerklärlichen Phänomenen. Deswegen beziehe 
ich mich da einfach auf meine Konfigurationen, die reibungslos 
funktionieren und benutze diese als "Richtwert".

Ich vermute mal ganz stark, dass beide ESPs im Fall von Michael über USB 
mit dem Rechner verbunden wurden. Damit teilen sich beide das gleiche 
Potenzial, sofern die am gleichen Hub hängen oder der PC Hersteller faul 
war ;)

von Peter (Gast)


Lesenswert?

Hi,

danke, aber wir sind in dieser Problematik da weitgehend 
übereinstimmend.
Ich glaube, das die fehlenden HW Timer im ESP viel ausmachen.

Allerdings,.. das Michael in dieser Phase des Aufbaues schon solche 
Probleme hat lässt mich vermuten das er das Mitlesen der Daten (Heizung) 
vergessen kann. Weil ich hatte Probleme mit zu fahrlässigen Can-Bus 
Modulen und Arduino.

Vielleicht auch mal ein Versuch starten, mit einem Arduino 
Uno/Mega/Due...u.a.(!!5V) falls die oder einer vorhanden ist. Als 
Ersatz, WLan ist noch nicht gefragt oder?

Ansonsten sollte man nach der Stromhalm der Methode gehen. Vielleicht...

Mal eine Frage an Dich, Du arbeitest doch mit den neueren ELV 
Ventilsteller. Ermittelst Du die Ventilwerte selbst oder aus anderen 
Programmen. Hast Du hier Einblick auf die 868MHz Telegramme, Aufbau usw.
Meine sind schon einige Jahre alt und ich werde sie irgendwann mal 
wechseln müssen. Es wird diesbezüglich nichts mehr veröffentlicht noch 
glaube ich das die Telegramme identisch sind mit den alten FHT 
Telegrammen oder FS20.

Danke

Peter

von Michael (Gast)


Lesenswert?

Hallo Zusammen,
hier ein kurzes Update.
Beide Modulen laufen im Loop-Modus.
Inzwischen habe ich auch die Kommunikation zwischen zwei ESP´s 
hinbekommen.
Ich hatte noch ein paar 16MhZ Quarze. Nachdem ich diese auf die Module 
gelötet habe und den IRQ deaktivuert habe klappte auch die Kommunikation 
zwischen zwei ESP´s bei 10KBs. Was ich aber nicht verstehe, ist der 
Loop- Modus. Wenn der Loop-Modus ohne Modifikation funktioniert kan es 
nur noch am TJA1050 liegen, den der wird im Loop-Modus nicht benutzt. Da 
ich inzwischen fast 10 Module hier liegen habe kann ich einen defekt 
ausschliessen.
Eine stabile 5V Verbindung zum TJA1050 besteht.
Was ich auch merkwürdig finde, ist das die Kommunikation nur klappt wenn 
ich die Frequenz auf 8Mhz im Code setze. Wenn ich auf 16Mhz stelle 
klappt es wieder nicht.
Die beiden ESP´s hängen nicht an einem Hub. Der eine hängt am Desktop PC 
und der andere an einem Notebook wo ich mich per RDP verbinde. Das hat 
für mich den Vorteil, dass ich bei beiden ESP´s ein logging sehe. Die 
offene Masseverbindung stammt aus den Tests.

Ich werde weiter testen und berichten.

Vielen Dank für die Unterstützung.

von Peter (Gast)


Lesenswert?

Hallo,

ich habe weder einen vollständigen Schaltplan von deinem CAN Modul 
gefunden noch habe ich ein Wechsel des Quarz je in Betracht gezogen, 
weil zu unsicher und wer hat schon die notwendigen Geräte zu Hause. Der 
Wechsel des Quarz beinhaltet auch den Wechsel der Kondensatoren, normal. 
Es gab mal eine SW, Excelliste oder so, die weiter helfen könnte.

Aber was willst Du damit erreichen 8MHz funktioniert, schreibst Du und 
ACAN2515 beinhaltet soweit ich weis diesen Quarz und die Einstellungen 
der Register!! Datenblatt(ab S.39.) und 10 Kbit!.. passt. Glaube kaum, 
das das die spätere  SW stört.

Nimm was funktioniert.

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Peter schrieb:

>
> Mal eine Frage an Dich, Du arbeitest doch mit den neueren ELV
> Ventilsteller. Ermittelst Du die Ventilwerte selbst oder aus anderen
> Programmen. Hast Du hier Einblick auf die 868MHz Telegramme, Aufbau usw.
> Meine sind schon einige Jahre alt und ich werde sie irgendwann mal
> wechseln müssen. Es wird diesbezüglich nichts mehr veröffentlicht noch
> glaube ich das die Telegramme identisch sind mit den alten FHT
> Telegrammen oder FS20.

Ich habe die hmip-etrv-2 an Raspberrymatic laufen (als Addon in Home 
Assistant) und ziehe darüber die Ventilstellung und andere Parameter 
über MQTT auf den ESP.
Als OCCU Variante finde ich den Kram richtig gut aber als Cloud-geraffel 
überhaupt nicht. Ständig ist der Rotz offline...

von Peter (Gast)


Lesenswert?

@Michael
Retour,
habe ich falsch verstanden. :-(

Nee dat verstehe ich auch nicht mehr... wie geht Das. Die Wert cfg1-3 
können doch nicht stimmen!

@ Dave
die alte Variante funktioniert.

Ich beziehe über ein ELV Empfänger alle Ventilwerte fast immer komplett, 
von 3 mindestens 1 Sendung. Leider sieht ein Regelverlauf doch etwas 
anders aus und die Tage sind gezählt.

Danke Dave

Peter

von Peter (Gast)


Lesenswert?

Hallo,
Michael habe tatsächlich ein NIREN Modul bei mir gefunden.
Habe es an meine BM1 Simulation (10K) angeschlossen mit einem Uno bzw. 
MCP_Can Programm betrieben. Kein Problem, funktioniert auch mit Int.

Allerdings mit einer kleinen Änderung in der Lib. 
CAN.begin(CAN_10KBPS,MCP_8MHz) bzw. in der mcp_can.h byte begin(byte 
speedset, const byte clockset);     -->// init can, alt =MCP_16MHz oder 
MCP_8Mhz schreiben.

Auch "ohne" Abschluss an beiden Modulen, vielleicht etwas schlechter~.

Nun die Module funktionieren somit auch mit 10k. Werde keine HW_Änderung 
vornehmen 3,3V bzw. 5V, aber auf ACAN 2515 wechseln vielleicht morgen.
Nehme an Du hast die VCC_Leistung (3,3V) gekappt auf der Platine!?

Vielleicht liegt es am Programm bzw. auch an einer unnötigen Festlegung.

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

Ich habe mit esp und acan2515 mit int null Erfolg im Auto aber an der 
bm1 klappt es sowohl mit 8 als auch 16mhz. Mcp_can bereitete mir nur 
Probleme aber das hing wohl mit der falschen Plattform zusammen. 
Esp32!=Esp32 sag ich nur...

Canbus ist dann wohl doch sehr unterschiedlich obwohl es ja Standards 
gibt...

von Peter (Gast)


Lesenswert?

hallo,

der Test vom Interrupt, noch der fehlende Anschlusses war geplant, halt
 ein einfaches Prog. Aber durch den Interrupt kannst Du mit Filter 
schneller gezielt mit Body_Id auf die Platine im Verbund zugreifen.

Nun mit der ACAN2515_Sw habe ich nie wirklich gearbeitet immer mit 
MCP_Can, aber mit ACAN2517 schon und der Interrupt hat mich dabei 
überhaupt nicht überzeugt.

Nehme aber an, das Du den ESP int_Unterschied kennst. Das ist wieder so 
eine Frickelei, die "~Ankündigung" des Int durch void IRAM_ATTR 
RTCISR(); z.B.

Der Standard existiert, er muss nur eingehalten werden, oder würdest Du 
mit 6 bis 8KV auf deine Eingänge schießen können. Man sieht kaum 
irgendwelchen Schutz und fingert ständig an den Platinen herum ohne 
ESDschutz.

Peter

von Peter (Gast)


Lesenswert?

Hi,
wie angesagt..ACAN2515 gleicher aufbau

16:17:36.411 -> Bit Rate prescaler: 16

16:17:36.457 -> Propagation Segment: 8

16:17:36.457 -> Phase segment 1: 8

16:17:36.457 -> Phase segment 2: 8

16:17:36.457 -> SJW: 4

16:17:36.457 -> Triple Sampling: yes

16:17:36.457 -> Actual bit rate: 10000 bit/s

16:17:36.457 -> Exact bit rate ? yes

16:17:36.457 -> Sample point: 64%

......Auszug

16:17:36.785 ->   id:0x 202

16:27:34.827 ->   id:0x 204  ext: 0  rtr: 0  len: 1  data: :0x45 Rec.: 
145

16:27:34.827 ->   id:0x 206  ext: 0  rtr: 0  len: 1  data: :0x0 Rec.: 
146

16:27:35.483 ->   id:0x 207  ext: 0  rtr: 0  len: 2  data: :0x3:0xF8 
Rec.: 147

Testaufbau: BM1_Simulation über Canbus an Arduino Uno NiRen mit ACAN2515 
mit Interrupt (Funktion nicht überprüft).

Funktioniert. ok?

Abschließend folgt: ESP32 D2 mit ACAN2515 an Can-Bus Modul Watterott V2 
(3V3 mit 5V)

Peter

von Michael (Gast)


Lesenswert?

Hallo Peter,
danke für die Tests. Ich werde es ausprobieren.
Leider bin ich zur Zeit etwas frustiert, dass nichts klappt.
Werde mich aber in den nächsten Tagen wieder dransetzten.

Viele Grüße

Michael

von Peter (Gast)


Lesenswert?

Hallo,

leider muss ich den letzten Test verschieben.

Bei mir lässt sich kein ESP32 mehr installieren es fehlen angeblich 2 
Datei, die aber vorhanden sind. Scheint bekannt zu sein, ändert sich 
aber nichts??

Aber mein Problem hat nichts mit Michaels zu tun.

Da Dave und Crazyhorse langjährige Erfahrung mit dem Aufbau dargelegt 
haben bestätigt dies meine Versuche das es funktionieren muss, sowohl 
von der Sw
als auch von der HW.

Ich halte allerdings den Treiber TJA1050 für veraltet. Alle Bauteile 
sind beständig mit einander, aber das heißt nicht das der 
Potenzialunterschied zwischen MCP2515 und TJA sich nicht vereinzelt 
bemerkbar macht. Der MCP2562 ist hier besser geeignet, aber ist meine 
Meinung.
Genau so würde ich keinen Quarz für diese Aufbau wechseln halte ich auch 
für unnötig bei 10K.

Bleibt eine eventuelle Schädigung deiner Module. Es sieht so aus als ob 
Du die 5V_Leitung auf der Bottom_seite gelötet hast, warum nicht am IC 
direkt ?
Da hast Du mehr Platz.

Peter

von Peter (Gast)


Angehängte Dateien:

Lesenswert?

So,
erledigt. ESP 32 Neuinstalliert

Wenn ich es richtig eingestellt habe waren es 240Mhz ESP 2core und 10K 
Can-Bus.

Funktioniert wie die anderen auch, zu mindestens für den Zeitraum des 
Testes.
ok

Zur Info. Die Kabel am Aufbau sind erforderlich weil der Can-Bus über 
ICSP (SPI) normal gesteuert wird der ist nicht vorhanden beim ESP.

Inzwischen hat Pierre ACAN2515(17) scheinbar über SW den Pin CS und Int 
mit Pullup belegt.

Es sollten somit keine Gründe geben, das Michael nicht bald seine 
Heizung mal untersuchen kann.

Frieden!

Peter

von Peter (Gast)


Lesenswert?

Hi,
noch ein kleiner Nachtrag zur SW der ACAN2515

Da die Setting Infos auch beim fehlenden SCLK_Anschlusses des SPI 
angezeigt werden ist davon auszugehen, das diese unabhängig von der 
Hardware berechnet werden und nicht über die HW ermittelt werden. 
Entscheidend ist hier also anscheinend nur der Error Code, leide hier 
ohne Text.

Der Interrupt funktioniert auch und die Impulsbreite ist ~ok sie bewegt 
sich zwischen 40 und 70µS.(?)

@Michael

Ein Ratschlag von mir.

Alles einfach mal auseinander Ruppen und ein anderes Programme 
aufspielen z.B.
WiFiScan oder so.. und danach erneut mit Ruhe und Sorgfalt 
aufbauen...ESP !SPI!

Auch hier... ein Gedanke mit Abscheu an den Verbrecher Putin!

Peter

von Michael (Gast)


Lesenswert?

Hallo Zusammen,
es klappt bei mir.

Ich habe mir einen Can-Bus Analyzer von Seed bestellt und diesen an die 
Heizung geklemmt und Daten mitgeschnitten.
Dann habe ich diese Daten mit dem Seed Analyzer als Test an den ESP32 
mit MCP2515 gesendet. Und was soll ich sagen, es klappt.
Danach habe ich den ESP 32 an die Heizung geklemmt und es geht auch.

Ich kann leider nicht sagen warum es die ganze Zeit nicht geklappt hat.
Ich kann nur vermuten das bei meinen Tests ein Rien Modul defekt ist, 
oder das die Kombination von zwei Modulen als Sender und Empfänger nicht 
geht.

Ich werde weiter berichten.

Danke an alle die mich Unterstützt haben.

Viele Grüße

Michael

von Jörg R. (rejoe2)


Lesenswert?

Hallo zusammen,

klinke mich auch mal hier ein, nachdem gestern die Junkers das erste Mal 
per MQTT einen "mach aus"-Befehl akzeptiert hat (und evtl. die Uhr 
gestellt?!?).

Vorab mal ein fettes Dankeschön an alle, die hier (und an anderer 
Stelle) mit daran gearbeitet haben, dass es auch für Hobbyisten wie mich 
möglich ist, Zugriff auf die Therme zu bekommen - speziell auch an Dave 
G., dessen Beiträge hier (und Doku zu seiner Firmware) mich sehr 
ermutigt haben, nochmal in der "Grabbelkiste" zu suchen, was denn nicht 
schon alles an verwertbaren Bauteilen da ist...

Junkers-Setup hier:
- ZBS 7-22 MR A 23 (Jahrgang ca. 2003)
- BM2 (!*) (eingebaut statt TA 211 E)
- TA250

Can2Automation
- (No-Name-) ESP32 mit der Firmware von Dave G.
- "NiRen" mit 8.000-er Quartz (via 3.3V-Anschluss vom ESP-Board 
versorgt)

Heim-Automatisierung
- FHEM
- Thermostate (Homematic HM-CC-RT-DN und Z-Wave (Spirit Z)) liefern 
(gewichtbare) Infos zum aktuellen Öffnungsgrad aus praktisch allen 
Räumen.
- Diverse Temperaturen werden bereits auf anderem Weg an FHEM gesendet, 
insbes. außen, am Kesselausgang, WW- und Heizung je Vor- und Rücklauf, 
alle Wohnräume, etc.

TA250 und BM2* sind erst die Tage (aus der Bucht) eingetroffen, und 
gestern abend war dann Gelegenheit, beides mal an die Therme 
anzuschließen. Ein passender Stecker für das BM2 lag auch noch rum - und 
siehe da, die Therme meckert nicht darüber, dass es keinen Teilnehmer 
mit BM1 am Bus gibt, sondern ist mit dem daran angeschlossenen 
Außenfühler und dem TA250 bereits rundherum glücklich. Das BM2 gab es - 
im Unterschied zu BM1 - in der Bucht zu einem akzeptablen Preis. 
"Leider" habe ich erst gekauft und dann in die Doku geschaut, und da 
steht, man würde unbedingt ein BM1 benötigen. Optisch kann man 
jedenfalls auf den im Web zu findenden Bildern beide aber (bis auf den 
Stecker) nicht unterscheiden, v.a. (offene) Lötpunkte für einen 
Abschluss-Widerstand habe ich auch nicht gefunden.
Sieht irgendwie so aus, als wäre "alles dasselbe" und würde dann eben 
seine Funktionalität schlicht danach annehmen, welchen Widerstandswert 
es an AF vorfindet?

Werde das jedenfalls jetzt erst mal ohne den ESP ein paar Tage so vor 
sich hintuckern lassen, nicht, dass eines der Junkers-Teile einen Hau 
hat oder doch ein BM1 oder ein R à 120 Ohm vermißt wird...

Fragen bis dahin:
- Aus 
https://github.com/Neuroquila-n8fall/JunkersControl#automatic-controller-detection 
ergibt sich, dass der TA250 "eigentlich" gar nicht zwingend benötigt 
wird, sondern eventuell eher "stört" bzw. sinvollerweise nur für den 
Notfall bereit gehalten werden müßte. Soweit korrekt?
Davon dürfte nämlich im wesentlichen abhängen, wo das alles seinen Platz 
findet. Wenn man den TA250 eigentlich nicht braucht, würde ich den (bzw. 
die Konsole davon) nämlich einfach neben der Therme installieren und 
überlegen, ob es ggf. sinnvoll ist, noch einen NTC in den "Leitraum" zu 
führen...

- Sonst würde ich eben Kabel verlegen, das Teil direkt dort verbauen, 
den ESP in eine größere Hohlraumdose hinter den TA250 setzen und aus der 
24V-Leitung via DC-DC-Konverter mit versorgen. Unabhängig vom Ort des 
Verbaus: Hat das mit der Versorgung schon mal jemand gemacht, oder sind 
da Probleme zu erwarten?
- An sich wäre ich gerne "mutig" und direkt "alles" über den ESP in 
Richtung Heatronic schicken. In 
https://github.com/Neuroquila-n8fall/JunkersControl#external-temperature-sensors 
ist zu finden, dass externe Sensoren genutzt werden. Ist das zwingend? 
Oder könnte man das (vorläufig) auch über den "parameters"-Topic lösen? 
Jedenfalls manche Werte lassen sich doch über diesen Weg einspeisen, 
oder?
Gibt es sonst was, was "zwingend" erforderlich ist, damit das läuft?

Bis hierhin erst mal,

Jörg R.

von Peter* (Gast)


Lesenswert?

Hallo,

Du kannst über die Servicefunktion, lass mich nicht Lügen ~1.9 das Gerät 
grob ermitteln welches angeschlossen, besser erkannt wird. [3]

BM2
Hier ist scheinbar die FD ausschlaggebend, bis ab. Ansonsten habe ich 
"oder" gelesen. Wird identisch zu BM1 sein.

Glaube das bei vielen, einschließlich meiner Person, nach dem 
anschließen Probleme auftauchten. Evtl. wird der Eingang genauer 
vermessen und Bosch unterbindet dann die Kommunikation mit Fremdgeräten.

Die Preise sind teilweise unverschämt, die sind nicht einmal komplett. 
TAxxx.

Nun wie ich schon öfters angemerkt habe das TA250...TAxxx ist in der 
einfachsten Form ein Bedien- und Informationsteil und weiterführend 
benutzt man den CAN-Bus.

Kann mich an keine Telegramme verrinnen die eine besondere Absprache 
zwischen BM1 und TA250 beinhalteten. Allerdings waren meine Versuche. 
Schreibtisch-versuche ohne Heizung. Der weiterführende Bus ist über RAM, 
I2C....Somit es vom Programm abhängig ob alle Daten im RAM hinterlegt 
wurden.

Probiere es vor dem Winter aus und Du ja sollst sowieso Gas sparen. :-)

von Peter* (Gast)


Lesenswert?


von Dave G. (neuroquila-n8fall)


Lesenswert?

Du kannst den ESP mit der 24v Leitung von der Therme betreiben. Achte 
aber drauf, dass der Spannungsregler von der Therme nicht gleichzeitig 
TAxxx und ESP in der Bootphase versorgen kann. ESPs (32er) sind leider 
sehr hungrig beim Start...

Ansonsten sind die Temperaturfühler, die ich mit eingebaut hatte, nur 
dazu da um auf dem Dashboard von HA oder FHEM oder wie auch immer noch 
zusätzlich Temperaturen anzuzeigen, die sonst nicht zur Verfügung stehen 
würden bzw. nicht in der Granularität. Einfach Ignorieren, falls nicht 
benötigt. Allerdings braucht "meine" Steuerung eine Idee was als Vorlauf 
eingestellt werden soll und das kommt dann von deinem "Leitsystem" also 
FHEM, oder HA oder was auch immer :)





Übrigens hat meine Hauptplatine den Geist aufgegeben. Die sendet nur 
noch Müll über den Bus. Oftmals 50 Mal hintereinander die 
Vorlauftemperatur. Sie fährt auch nicht mehr runter, weckt sich 
selbstständig auf und haut die VLT in den Begrenzer. Ich muss jetzt 
erstmal ein neues Board besorgen und jemanden finden, der mir das 
verbaut und ggf. anlernt...

Wenn ich überhaupt diesen Winter angesichts der Gaspreise die Heizung 
einschalten werde....

Beitrag #7156105 wurde vom Autor gelöscht.
von Jörg R. (rejoe2)


Lesenswert?

Vorab mal Danke für eure Rückmeldungen!

(Irgendwie muss ich mich erst an diese Foren-SW gewöhnen, die macht 
gefühlt komische Sachen).

Peter* schrieb:
> Probiere es vor dem Winter aus und Du ja sollst sowieso Gas sparen. :-)
Das war der Plan, wobei das Einsparpotential vermutlich nicht mehr soooo 
groß ist, wir sind durch andere Maßnahmen schon recht "ok" (und die 
letzten 20% und so...).

Dave G. schrieb:
> Du kannst den ESP mit der 24v Leitung von der Therme betreiben. Achte
> aber drauf, dass der Spannungsregler von der Therme nicht gleichzeitig
> TAxxx und ESP in der Bootphase versorgen kann. ESPs (32er) sind leider
> sehr hungrig beim Start...
DANEK! Sowas hatte ich schon vermutet...

> Ansonsten sind die Temperaturfühler, die ich mit eingebaut hatte, nur
> dazu da um auf dem Dashboard von HA oder FHEM oder wie auch immer noch
> zusätzlich Temperaturen anzuzeigen, die sonst nicht zur Verfügung stehen
> würden bzw. nicht in der Granularität. Einfach Ignorieren, falls nicht
> benötigt.
Wie gesagt: Die Temperaturen an sich sind da, aber dann deaktiviere ich 
den 1-wire-Teil erst mal.

> Allerdings braucht "meine" Steuerung eine Idee was als Vorlauf
> eingestellt werden soll und das kommt dann von deinem "Leitsystem" also
> FHEM, oder HA oder was auch immer :)
Dass das der "kitzelige" Punkt ist, ist soweit klar. Wenn ich es richtig 
verstanden habe, hast du auch mehr oder weniger ausschließlich normale 
Heizkörper mit elektronischen Thermostaten, die die Ventilstellung 
preisgeben, und bei dir ist das "meistgeöffnete" Ventil (neben der 
Wunschtemperatur) die eigentliche Stellgröße.
Ich plane im ersten Schritt mal, mit einer Art "gewichteten 
Durchschnittsgröße" zu arbeiten, eventuell noch mit der (zu 
interpretierenden) Tendenz als Hilfsgröße. In FHEM gibt es dazu "schon 
ewig" ein Hilfstool, das dann auch z.B. immer die "letzten 4" ignorieren 
kann usw..

> Übrigens hat meine Hauptplatine den Geist aufgegeben. Die sendet nur
> noch Müll über den Bus.
Das klingt nicht lustig, hoffe, du bekommst Ersatz und mußt nicht 
frieren, falls uns nicht sowieso das Gas abgedreht wird.... (Sorry for 
OT).

von Jörg R. (rejoe2)


Lesenswert?

Jörg R. schrieb:
> Werde das jedenfalls jetzt erst mal ohne den ESP ein paar Tage so vor
> sich hintuckern lassen, nicht, dass eines der Junkers-Teile einen Hau
> hat oder doch ein BM1 oder ein R à 120 Ohm vermißt wird..

So, mal ein aktueller Zwischenstand:
- TA250 und BM2 verstehen sich prächtig, ist jetzt einige Wochen ohne 
den ESP ohne "Mucken" gelaufen.
- Die Wiederinbetriebnahme des ESP32-NiRen-Gespannes war dagegen 
zunächst recht ernüchternd - ich hatte "ordnungsgemäß" auf 3.3V 
umgestellt, was dazu geführt hatte, dass schlicht keine Daten vom Bus 
mehr kamen und wohl auch nichts mehr geschrieben wurde... Erst überlegt, 
was man alles tun könnte, aber da der ESP ggf. eh' hinüber gewesen wäre, 
ging's halt einfach zurück auf 5V und es kamen wieder Daten rein.

Mittelfristig will ich den ESP sowieso gegen ein Modell mit externer 
Antenne tauschen (miese WLAN-Verbindung im Keller), stellt sich die 
Frage, ob dann ein Spannungsteiler vor MISO Sinnvoll wäre? (Bisher war 
die Versorgung noch via Laptop-USB, jetzt hängt ein Steckernetzteil vor 
dem ESP und es geht immer noch).

Jetzt Wird erst mal eine Weile mitgelauscht, was da so über den Bus 
geht.In dem Zuge werde ich wohl mal versuchen zu verstehen, wie wohl die 
Datenpunkte aus den subscriptions zu den übermittelten Daten vom Bus 
passen könnten und hau mal eine Weile per MQTT die gemessene Temperatur 
aus meinem "Leitraum" auf den Bus (?). Der TA250 darf einstweilen im 
Keller bleiben, ich habe aber Zweifel, ob sich der für diese 
Temperatur-Info interessiert (falls sie denn überhaupt auf dem Bus 
ankommt und nicht nur dem ESP helfen würde; ein TW2 lag hier zwar noch 
rum, aber das taugt nicht wirklich als Temperaturfühler für den 
TA250)...

Vielleicht noch interessant: auf dem NiRen ist ein R120 verbaut, der per 
J1 zugeschaltet werden kann. Aktiviert man den, geht der TA250 auf 
Busfehler 2, aktiviert man ihn ohne angeschlossenes TA250, zeigt die 
Therme irgendwann einen Busfehler an (bei letzterem Punkt bin ich aber 
noch nicht sicher, ob das eine zutreffende Interpretation ist, oder ob 
dem ESP Daten/Vorgaben fehlen und der deswegen einfach zu inaktiv ist).

von Jörg R. (rejoe2)


Lesenswert?

Nachdem die ersten paar tausend Zeilen durch minicom gerauscht waren, 
habe ich beschlossen, ein Kabel von der Therme ins Wohnzimmer zu ziehen.
Tendenziell wird wohl erst mal ein Parallelbetrieb stattfinden müssen, 
schon alleine deswegen, weil der ESP32 mit JunkersControl bislang 
ausschließlich den Heizungssteuerungsteil abdeckt, und der Plan 
eigentlich auch gewesen war, die Warmwasserbevorratung zu optimieren 
(und z.B. mit PV-Überschussstrom elektrisch zuzuheizen, um Brennerstarts 
zu sparen).
Die erste Aktion für die Firmware war daher, die Bauchwassertemperatur 
per MQTT zu versenden. Soweit so gut, aber mir kommen nun gewisse 
Zweifel, ob ich zur "intended autience" 
(https://github.com/Neuroquila-n8fall/JunkersControl#intended-audience) 
gehöre... Dass m.E. standardisierte und "essenzielle" Dinge nachzurüsten 
sind, entspricht nicht ganz meinen Erwartungen.

Wie dem auch sei, dabei ist mir jedenfalls aufgefallen, dass das 
spreadsheet bzgl. 0x253 für meine Hardware nicht ganz paßt:
Dave schrieb:
> Um etwas Ordnung in das Konvolut zu bringen habe ich die folgende
> Tabelle erstellt, an der sich jeder frei beteiligen kann:
> 
https://docs.google.com/spreadsheets/d/1JzmhEbFY_GSk0Dl_e5pb2zmsy9EPlQU7bUpb9bXKxCM/edit?usp=sharing
Da kam bei mir bisher nur "01", und das dürfte ein boolscher Wert 
(an/aus) sein? Bisher ist es mir aber noch nicht gelungen, den TA250 
dazu zu bewegen, den auf "0" zu setzen...

Generell wundert es mich, dass das zum einen relativ wenige Adressen 
sind, die da aufgeführt werden, und, dass es "nirgendwo" eine 
vollständige Liste zu geben scheint (?). Denn eigentlich ist diese 
CAN-Variante ja auch "nur" eine ganz bestimmte Option, wie die Daten 
physisch übertragen werden, die dann wohl irgendwann mitte der 2000er 
durch den "ems-bus" (? oder ebus?) abgelöst worden ist. Die 
Adressen/Adressräume scheinen aber im großen und ganzen doch konstant 
geblieben zu sein? Das war zumindest mein Eindruck zu dem, was ich mir 
im Lauf der Zeit zu diesen Themen so angelesen habe.
Wenn das stimmt, sollten ggf. auch weitere "anfragbare" Adressen in 
Projekten wie https://github.com/norberts1/hometop_HT3 und 
https://github.com/emsesp/EMS-ESP32 zu finden sein.

bzgl:
Dave G. schrieb:
> Allerdings braucht "meine" Steuerung eine Idee was als Vorlauf
> eingestellt werden soll und das kommt dann von deinem "Leitsystem" also
> FHEM, oder HA oder was auch immer :)
Hast du auf die Schnelle eine Idee, welche Infos der ESP mindestens 
braucht, um eine "Idee" zu haben? Reichen Solltemperatur und ein 
Ventil-Öffnungswert?

Denn vor diesem Hintergrund
> Du kannst den ESP mit der 24v Leitung von der Therme betreiben. Achte
> aber drauf, dass der Spannungsregler von der Therme nicht gleichzeitig
> TAxxx und ESP in der Bootphase versorgen kann.
muss ich entscheiden, ob ich doch relativ schnell den Versuch 
unternehme, den TA250 zu deaktivieren und nur via 
(weiterzuentwickelndem) ESP zu steuern, oder ob das parallel laufen 
muss.

Wenn parallel, stellt sich die Frage nach der optimalen Verbindung - der 
ESP braucht dann eine externe Versorgung, und das mit der gemeinsamen 
Masse wird dann schwierig (oder übersehe ich da was?!?).

*@all*: Was mich interessieren würde: lest ihr nur mit, was da so auf 
dem Bus abgeht, oder greift ihr aktiv in die Steuerung ein? Wie verträgt 
sich das mit der TA250 (oä)? Oder werden die Werte in den Speicher der 
TA250 übernommen, wenn "jemand" was auf den Bus schreibt? Braucht es 
dazu die "richtige" Adresse, oder ist das einfach die, unter der die 
selbst die Telegramme abschickt?
Sorry, bestimmt hat das schon irgendjemand irgendwo geschrieben, und ich 
habe es nur nicht gefunden...?

von Peter* (Gast)


Lesenswert?

Hallo,

schönes Projekt hatte die gleichen Gedanken für die Zukunft. 
Pufferspeicher mit elektrischer Heizung bzw. Warmwasserheizstab durch 
PV-Anlage, aber etwas verschoben ins nächste Jahr da momentan die Preise 
explodieren.

Nun eine öffentliche Junkers oder Bosch-Liste mit sämtlichen verfügbaren 
Adressen wird es ganz sicher nicht geben. Ob die bekannten Adressen 
evtl.  mehrfach vergeben wurden ist aber auch nicht auszuschließen. Der 
Aufbau der Heizung ist hier entscheidend. Hast Du einen Mischer werden 
hier weitere Adressen freigeschaltet.

HT3 ist eine ganz andere Generation von Heizung.

Scan dein Can-Bus auf vorhandene Adressen und rufe die einzelnen 
möglichen Befehle auf bzw. schau im Service_Handbuch für Fachleute oder 
Servicefunktionen-Kompass nach, was an Planung noch möglich war. Dadurch 
hast Du noch ein Überblick über die Heizung.

"Leitsystem", hatte das so verstanden das der Außenfühler nach wie vor 
seine Arbeit erledigt und somit gar nicht die Frage gestellt wird, wo 
fange ich an. Sondern nur die Optimierung durch die Ventilstellung 
[Last] erbracht wird.

Achtung!
Bei mir ist es so, dass jeder Raum seine Temperatur einhält, aber die 
Heizung (22kw-->~10kW) taktet mir zu schnell, deshalb auch der 
Pufferspeicher in der Zukunft, ein muss.

Nun dein Problem mit der Versorgung, --> ein Steckernetzteil GND 
verbinden. Can.-Bus immer 3adrig.

Ja, die Schreibtischtests habe ich hier auch veröffentlicht ohne 
Heizung.

Du schreibst die gleichen Telegramme[ID's] wie auch der TAxxx, aber der 
Ta schreibt seine auch, aber in einem längerem Zyklus.
Ja, nicht optimal.

Bin aber überzeugt das wenige Telegramme über CAN-Bus ausreichen um den 
TA zu ersetzen. Ich kann mich aber nicht daran erinnern das ein 
Telegramm vom TA übernommen wurde. Bei mir war aber ein defekt vom BM1 
nicht auszuschließen und habe vor kurzem erst ein TA270 komplett 
bekommen.

von Jörg R. (rejoe2)


Lesenswert?

Peter* schrieb:
> Hallo,
>
> schönes Projekt hatte die gleichen Gedanken für die Zukunft.
> Pufferspeicher mit elektrischer Heizung bzw. Warmwasserheizstab durch
> PV-Anlage, aber etwas verschoben ins nächste Jahr da momentan die Preise
> explodieren.
Na ja, ich habe eher begrenzte PV-Kapazität und dachte vorrangig daran, 
den (eher kleinen) Brauchwasserspeicher ggf. tagsüber so nachzuheizen, 
dass laufende Verluste über die Zirkulation oder kleine Entnahmen 
kompensiert werden. Für einen "großen" Puffer, der den Namen verdient, 
ist eigentlich kein Platz da...

> Nun eine öffentliche Junkers oder Bosch-Liste mit sämtlichen verfügbaren
> Adressen wird es ganz sicher nicht geben. Ob die bekannten Adressen
> evtl.  mehrfach vergeben wurden ist aber auch nicht auszuschließen. Der
> Aufbau der Heizung ist hier entscheidend. Hast Du einen Mischer werden
> hier weitere Adressen freigeschaltet.
Soweit so klar. Wenn ich den Code aus EMS-ESP32 richtig interpretiere, 
ist es aber schon so, dass die Adressen (mehr oder weniger allgemein) 
bekannt sind und nur von "Generation zu Generation" ggf. einem Wandel 
unterworfen sind.

> HT3 ist eine ganz andere Generation von Heizung.
Jein. In der Vergangenheit bin ich auch mehrfach durcheinandergekommen, 
weil in meinem Handbuch explizit steht, dass die Heizung eine "Heatronic 
3" hätte. Man kann jetzt darüber streiten, was das genau bedeuten soll, 
eine Bus-Schnittstelle hatte ich jedenfalls vor dem Einbau des BM2 nicht 
gefunden...
Irgendwo hier in diesem Forum gab es auch ein paar "Aha"-Beiträge in 
manchen Threads zum Thema, welche Codeteile bei der Auswertung der 
Telegramme diverser Bus-Varianten diverser Hersteller 
überraschenderweise doch irgendwie kompatibel zu sein scheinen.


Letztlich ist das aber egal, ich will ja nur eine funktionierende 
Variante haben und eine gewisse Sicherheit, dass ich in 3 Jahren wieder 
Ersatz hinbekomme, falls der ESP aussteigt oder ich mal das 
WLAN-Kennwort ändern muss...

> Scan dein Can-Bus auf vorhandene Adressen und rufe die einzelnen
> möglichen Befehle auf bzw. schau im Service_Handbuch für Fachleute oder
> Servicefunktionen-Kompass nach, was an Planung noch möglich war. Dadurch
> hast Du noch ein Überblick über die Heizung.
Der EMS-ESP32-Code scheint genau das zu machen und erst mal 
nachzuschauen, welche ihm bekannten Baugruppen da sind. Mir ist das im 
Prinzip egal, weil ich nur "den Ofen" steuern will, wofür die paar 
bekannten Adressen ja reichen (wie Dave G. gezeigt hat).

Was ich ggf. sonst noch brauche (z.B. die Zuheizung am Puffer), läuft 
sowieso extern, es muss nur sichergestellt sein, dass sich das nicht in 
die Quere kommt....

> "Leitsystem", hatte das so verstanden das der Außenfühler nach wie vor
> seine Arbeit erledigt und somit gar nicht die Frage gestellt wird, wo
> fange ich an. Sondern nur die Optimierung durch die Ventilstellung
> [Last] erbracht wird.
Jein. Wenn ich das richtig verstanden habe, gibt der ESP die 
Vorlauftemperatur vor, und berücksichtigt dabei neben der 
Außentemperatur (die er ggf. vom BM1/2 bekommt) nur noch die 
Ventilöffnung als (alleinigen?) Indikator für die Wärmeanforderung. Da 
die Pumpe nur 3 hart einzustellende Stufen kennt, ist die einzige 
Variable auf der Seite des Ofens dann die Brennerleistung, und es ist 
dann bestenfalls möglich, die schneller nach unten zu nehmen, als der 
Ofen das autonom täte. Oder eben erst etwas länger zu warten, bis wieder 
eingeschaltet wird (und ggf. länger umwälzen, um die im Wasser 
vorhandene Restwärme (ohne zusätzlichen Puffer) besser zu verteilen?).


> Nun dein Problem mit der Versorgung, --> ein Steckernetzteil GND
> verbinden. Can.-Bus immer 3adrig.
Bisher ging das mit dem Lesen auch mit nur 2 Adern, der ESP hing am 
Laptop, und da war es mir zu "heiß" auszutesten, wo ggf. 
Potentialunterschiede landen...

> Bin aber überzeugt das wenige Telegramme über CAN-Bus ausreichen um den
> TA zu ersetzen.
Werde jetzt aber doch vermutlich versuchen, die ESP-only-Variante zum 
Laufen zu bringen, nachdem das mit den doppelt genutzten Adressen klar 
ist. Dann hängt der ESP eh' auf der 24V-Leitung der Therme und GND ist 
gemeinsam.

Beides kommt dann ins Wohnzimmer, der ESP hinter den TA250, und dazu 
einen Umschalter, der "entweder oder" mit der Versorgungsspannung 
verbindet. Dann bekommt der ESP mal ein paar Daten und darf lostuckern, 
und das mit der Wasserbereitungssteuerung kann eigentlich auch nicht 
allzu schwer sein...

von Peter* (Gast)


Lesenswert?

Nun,

dann sind ja alle Zweifel von Dir beantwortet.

viel Erfolg.

von Jörg R. (rejoe2)


Lesenswert?

Peter* schrieb:
> Nun,
>
> dann sind ja alle Zweifel von Dir beantwortet.
>
> viel Erfolg.

Du bist lustig... Ist eher erst mal ein Startpunkt, lach.

Hier wäre die nächste - zum Code:
In SetFeedTemperature() in can_processor.cpp wird eine can-Message 
vorbereitet, ein abschließendes "can.tryToSend(msg);" fehlt aber. Soll 
das so?

Überhaupt: Wenn die Initialisierung des Can-Moduls via SPI fehlschlägt, 
bekommt man zwar direkt nach dem Start sehr schnell einen Satz Infos 
dazu, aber an der Konsole sieht es später so aus, als würde brav 
gesendet. Ist natürlich kein Problem, wenn die Verbindung ok ist, lenkt 
aber beim debuggen ab, wenn man in das Thema einsteigt...

von Dave G. (neuroquila-n8fall)


Lesenswert?

Die Nachricht wird vorbereitet und dann in der Schrittkette gesendet um 
nicht den Bus zu fluten.
Wir können gerne mal ne Telco machen und die ganzen offenen Fragen 
klären.

von Jörg R. (rejoe2)


Lesenswert?

Danke sowohl für die Klarstellung wie auch das Angebot!

Das mit der Telco wäre super, vielleicht am WE?

Ansonsten habe ich vor einigen Minuten mal im laufenden Betrieb den 
TA250 abgeklemmt - die Therme läuft ohne "A8"-Meldung weiter. Schreiben 
auf den Bus (nur 2 Adern angeschlossen, J1 am NiRen offen) klappt 
demnach auch freu
(wenn ich jetzt wüßte, ob die Therme so Warmwasser bereitstellt, würde 
ich das glatt erst mal so weiterlaufen lassen, aber jetzt darf der TA250 
wieder).

Der hat übrigens die Taktung schon positiv beeinflusst: "Früher" heizte 
die Therme alle Stunde einmal hoch - warum auch immer (DS18B20-Messung). 
Jetzt nur noch ca. alle 3h.

von Dave G. (neuroquila-n8fall)


Lesenswert?

Sehr gut. Die Therme wird sich niemals beschweren, solange im 
regelmäßigen Abstand bestimmte Nachrichten ausgetauscht werden. Sie wird 
erst zickig, wenn für einen gewissen Zeitraum zum Beispiel keine Daten 
angefordert wurden.

Es gibt auch Nachrichten, die die Warmwassertemperatur setzen. Das 
können wir gerne dann gemeinsam mal durchgehen. Ich denke da kommen auch 
noch interessante Infos bei raus die dem Projekt helfen ;)

Ich bin grundsätzlich zeitlich sehr flexibel und bevorzuge Discord, bin 
da aber auch flexibel.
Meine ID: Dave aka FntX#5439

von Jörg R. (rejoe2)


Lesenswert?

Habe dann doch das Risiko in Kauf genommen, dass heute morgen vielleicht 
kein WW bereitgestellt ist (und dann eben sehr kurz geduscht...): Das 
Ding lief stressfrei durch ohne TA250, und bis der Rest auf den Beinen 
war, war wohl auch wieder Wasser verfügbar (zumindest keine Klagen 
bisher).

Dave G. schrieb:
> Es gibt auch Nachrichten, die die Warmwassertemperatur setzen. Das
> können wir gerne dann gemeinsam mal durchgehen.
Die Nachrichtentype(n) für's Lesen und Setzen sind in der Liste drin, 
lesend wird der Wert auch schon per MQTT an FHEM versandt.
Soweit ich das überflogen habe, gibt es auch hart vercodete Zeiten auf 
dem ESP, mir hatte nur die Zeit nicht gereicht, auch die subscription 
noch zu ergänzen, um das von FHEM aus zu machen und auch nicht klar, 
inwieweit sich das ggf. mit dem Zeitplan beißt. War vermutlich ganz gut, 
denn wenn die Logik ähnlich ist wie beim soll-Wert für die 
Vorlauftemperatur, wird das ja nur einfach zwischengespeichert und dann 
einfach im Rahmen des "Stufenplans" abgearbeitet (?).

> Ich denke da kommen auch
> noch interessante Infos bei raus die dem Projekt helfen ;)
An grundlegende neue Infos glaube ich  grade nicht recht, es wird 
bestenfalls eben "noch einer", der Erfahrung mit dieser Art der 
Steuerung beitragen kann. Aber es reicht ja, wenn wir ggf. das ganze 
soweit bringen können, dass jemand einfach ein binary runterlädt, das 
flasht und dann nur seine WiFi-Daten und MQTT-Spezifika eintragen 
muss...
Und vielleicht findet sich dann auch jemand, der einen Webserver 
integrieren will, mit dem man das Ding autonom als verbesserten 
TA250+-Klon betreiben kann, ganz ohne Heimautomatisierungslösung 
dahinter ("morgen ist Feiertag", oder Ferienmodus etc.). (Das ist nicht 
meine persönliche Zielrichtung oder Kompetenz).

> Ich bin grundsätzlich zeitlich sehr flexibel und bevorzuge Discord, bin
> da aber auch flexibel.
> Meine ID: Dave aka FntX#5439
Ja nun, bisher habe ich nicht mal einen Account da. Braucht man wohl, 
heutzutage, oder?

von Dave G. (neuroquila-n8fall)


Lesenswert?

Jörg R. schrieb:

> Ja nun, bisher habe ich nicht mal einen Account da. Braucht man wohl,
> heutzutage, oder?

...ja..leider...wie überall wo es kein Geld kostet :(

von Jörg R. (rejoe2)


Angehängte Dateien:

Lesenswert?

So, meine Schnittstelle ist soweit jedenfalls hardwaremäßig fertig, Bild 
anbei. Per Steckpfostenleiste kann man umstellen zwischen TA-Betrieb + 
Sniffen (nur die beiden CAN-Adern gehen an die Schnittstelle), oder 
ESP-only-Betrieb, bei dem dann der TA komplett weg ist und der ESP etc. 
über einen Step-Down versorgt wird. Das ganze kann dann mittelfristig im 
Regal hinter die Kulissen, und wenn es Probleme gäbe, kann man ohne 
große Probleme umjumpern.

Jetzt geht's dann erst mal wieder an die Software-Seite, der Betrieb mit 
einem WW-Speicher war in der firmware bisher nicht vorgesehen. Da müssen 
wir also nochmal etwas rumtüfteln, das dürfte etwas dauern.

von Peter* (Gast)


Lesenswert?

Hallo,

naja, wenn es funktioniert!

Solltest Du "längere Wege" zur Therme haben!

Das Can-Bus Kabel wird (ist) grundsätzlich verdrillt, auch bei 10k, wenn 
Du schon kein Potenzialausgleich mit verlegen willst.

Eine weitere mögliche Fehlerquelle.

von Jörg R. (rejoe2)


Lesenswert?

Bis dato funktioniert es, ja.

Das Haupt-Kabel ist <10m und in der Tat verdrillt, wenn auch nicht so 
extrem wie bei Ethernet-Verlegekabeln üblich. Nur zwei Adern sind nur 
dann verbunden, wenn der ESP im Sniffer-Betrieb läuft, was die Ausnahme 
sein sollte. (Nur) dann gibt es eine Verbindung zu dem kurzen 4-Adrigen 
(unverdrillt, ja...), das zum TA250 weitergeht.

PS: Während der ersten Tests waren die Kabel nur 4-Adrig, nicht 
verdrillt und deutlich länger - wobei der nach dem TA250 (Busende?) 
angeschlossene ESP auch da die ganzen Tests über nur mit 2 Adern am Bus 
war... Sicher nicht automotive-konform, aber ich will ja auch keine 
Zertifizierung dafür beantragen.

von Bernd R. (Gast)


Lesenswert?

Hallo zusammen.
Ich wollte mich auch mal wieder zu Wort melden.

Mittlerweile habe ich mir ein RaspberryPI zugelegt und lasse dort den 
HomeAssistant laufen. Da ich diesen aufgrund der Räumlichen Anordnung 
leider nicht an mein CANUSB-Interface anschließen kann, habe ich bis 
dato eine andere Variante etabliert.

Ich habe eine kleine Windows-Maschine, an der das CANUSB-Interface 
angeschlossen ist. Dort logge ich den CAN-BUS-Stream mit der Software 
CAN-Hacker und speichere diesen Log alle fünf Minuten in eine Textdatei.
Über meinen Homeserver (eine Synology DS) führt ein cronjob ebenfalls 
alle fünf Minuten ein PHP-Script aus, das die Daten aus dem Log in eine 
SQL-Datenbank und an meinen Mosquitto-Broker im HomeAssistant.

Das funktioniert zwar ganz gut, aber der Delay, der durch das 
Zwischenspeichern entsteht, geht mir etwas auf den Keks.

Auf der Suche nach einer Lösung, den CANBUS-Datenstrom in Echtzeit an 
meinen Mosquitto-Broker zu senden, bin ich auf 
"c3re/can2mqtt"(https://github.com/c3re/can2mqtt) gestoßen.

Hat jemand Erfahrung mit diesem Paket (oder vielleicht etwas anderem, 
das den gleichen Zweck erfüllt und unter Windows läuft) und mag mir bei 
der Umsetzung etwas Hilfestellung geben?

Liebe Grüße,
Bernd

von Dave G. (neuroquila-n8fall)


Lesenswert?

Damit hatte ich vor einiger Zeit auch geliebäugelt aber im Rahmen von 
einem Projekt am Auto aber habe es dann als zu kompliziert verworfen. 
Ich muss jetzt daher eine ketzerische Frage stellen und zwar warum du 
einen "Fat Client" für das Lesen und Übermitteln der Daten verwendest. 
Ich habe bereits eine fertige Lösung zum Loggen und Setzen von 
Parametern der Heizung, die genau das macht. Allerdings läuft das Ganze 
auf einem ESP32 mit einem CAN-Modul.

Kontext: Beitrag "Re: Junkers CAN-Bus Protokoll"

Ich kann dir gerne zeigen wie das funktioniert, was du brauchst und 
sogar wie du danach deine Heizung mit HomeAssistant lenken kannst. Alles 
in allem eine Sache von wenigen Minuten - und das dank dem Input und 
Denkanstößen von Jörg auch ganz ohne Codeanpassungen.

von Bernd R. (Gast)


Lesenswert?

Dave G. schrieb:
> warum du
> einen "Fat Client" für das Lesen und Übermitteln der Daten verwendest

Nun, ich will schlicht und ergreifend keine neue Hardware kaufen.
Der "Fat Client" ist ein Z83-II Mini-PC, der mit meinem vorhandenem 
LAWICEL-CANUSB alle notwendigen Schnittstellen mitbringt.

von Jörg R. (rejoe2)


Lesenswert?

Bernd R. schrieb:
> Nun, ich will schlicht und ergreifend keine neue Hardware kaufen.
Na ja, einerseits verständlich, andererseits ist der Invest jetzt nicht 
umwerfend. Ein USB-Netzteil vorausgesetzt sind das um die 10 Euro, die 
die Bauteile in Fernost kosten...

von Dave G. (neuroquila-n8fall)


Lesenswert?

@Peter: Du hattest doch mal versucht den I2C auseinander zu nehmen. Hast 
du die Pinbelegung? Ich würde wegen anhaltender Frustration wegen nicht 
sauber funktionierenden CAN-Modulen gerne eine Ebene tiefer gehen mit 
dem Projekt und mich einfach mal dranheften und mitlesen während alles 
an der Therme hängt und in Betrieb ist.

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo Dave,

ja, hatte ich über das Speicher IC PCF8570 versucht. Allerdings im 
Schreibtischtest, "ohne" Heizung selbst.
Einige Daten konnte ich wiedersehen, aber nicht an einer Adresse 
festmachen.

Der I2c Bus ist nur an den Steckern zur Hauptplatine vorhanden. Weißer 
Stecker zu schwarzem Kabel. Pin Belegung, leider bei mir nicht mehr 
aufgebaut.(!)

BM1 -Stecker
Pin1 VCC, Pin2 NC, Pin3 GND, Pin4 "5Volt", Pin5 "SDA", Pin6 "SCL"

Kontrolliere bitte die letzten drei Pin's und denke an die Pindrehung an 
der Hauptplatine Pin1 wird zu Pin6 usw. Da ist der Abgriff möglich.

Der Can ist sicherer als der I2C, lesen ja, aber.... (!)

von Bernd Rehlinger (Gast)


Lesenswert?

@Jörg:
Jetzt bin ich doch etwas neugierig geworden...

von Bernd Rehlinger (Gast)


Lesenswert?

@Davr:
Jetzt bin ich doch etwas neugierig geworden...

von Dave G. (neuroquila-n8fall)


Lesenswert?

Besten Dank, Peter. Ich werde mal was basteln und einfach scannen und 
sniffen und das mit den Werten vom Can vergleichen.

Habe mittlerweile das Board getauscht und alles läuft wieder super. 
Jetzt bin ich mal mutig und hefte mich direkt im laufenden Betrieb an 
den I2c.

Bei vielen Can-Modulen gibt es gerade das Problem, dass das Senden nicht 
funktioniert. Ich habe nur ein Modul mit 16Mhz wo es wunderbar klappt. 
Selbst die selbstgebauten Varianten empfangen nur aber senden nicht. 
Meiner Meinung nach ist das alles zu unsicher und wenig reproduzierbar 
oder es ist einfach nur Pech.
Also es funktioniert zwar aber irgendwie nicht, wenn die Planeten gerade 
ungünstig stehen oder sowas....

Jetzt ist es glaube ich an der Zeit die letzte Quelle der Unsicherheit 
zu entfernen und direkt ans Board zu gehen.

@Bernd:
Mit etwas Geduld gibt's bald fertige Boards, wo man einfach einen esp 
aufsteckt und das einfach nur an die Therme pappt. Momentan ist das aber 
mit dem can interface so eine Unschärfe...

von Jörg R. (rejoe2)


Lesenswert?

Bernd Rehlinger schrieb:
> @Jörg:
> Jetzt bin ich doch etwas neugierig geworden...
Na ja, wenn du Glück hast, brauchst du nur ein "NiRen" 
Arduino-CAN-Modul, einen ESP32 und ein paar Kabel und Widerstände.
So war es bei mir. Ich hatte noch zwei NiRen aus Altbeständen rumliegen 
und
habe die einfach direkt an den ESP32 gehängt. Mit ein paar kleineren 
Änderungen am Code von Dave G. war die Verbindung da.

So kann es laufen, wenn es gut läuft....

Ich habe dann ein paar Fehler gemacht, angefangen damit, alles 1:1 auf 
eine Platine zu verdrahten und einen Spannungswandler davor zu hängen, 
der aus den 24V die (knapp unter) 5V gemacht hat, die für den Betrieb 
erforderlich sind. Das klappte dann auch soweit.
Dann bin ich auf den "development"-Zweig von Dave's Code gegangen, habe 
aber nicht beachtet, dass die PIN-Belegung etwas anders ist als in 
meinem geänderten Code => keine Verbindung. Was ich bis dato nicht 
wußte: Bei fehlender Verbindung setzt die Therme die Spannung hoch 
(32V). Daraus hat dann der verbaute DC-DC-Konverter etwas mehr gemacht 
als nur 5V, was für die beiden NiRen-Module nicht gut war.

Habe dann Ersatz in Fernost bestellt und auch ein Modul in D. Damit war 
dann aber (im Unterschied zu den teilzerstörten NiRen) keine Verbindung 
über SPI möglich, so dass ich grade darauf warte, funktionierende Module 
zu bekommen.
Ich hatte aber scheinbar sehr viel Glück, gleich zwei unmittelbar 
funktionierende Module in der Hand zu haben: die Erfahrungen scheinen 
insgesamt eher gemischt zu sein, und es ist überhauot nicht transparent, 
warum manche Module funktionieren und andere nicht, obwohl eigentlich 
"nichts" auf diesen Modulen verbaut ist....

Wir hatten auch schon überlegt, eine eigene Platine zu designen, aber 
die bei Dave G. vorhandenen "alten" Versuche funktionieren aus 
unerfindlichen Gründen leider auch nicht zufriedenstellend.

Falls du jetzt also einsteigen wolltest, benötigst du die o.g. Bauteile 
und kannst versuchen, ob das klappt!

: Bearbeitet durch User
von Bernd Rehlinger (Gast)


Lesenswert?

@Jörg und Dave:
Das klingt für mich alles wie chinesisch, sorry.
Bleibe dann wohl erst einmal bei der MiniPC Lösung.

seufz

von Jörg R. (rejoe2)


Lesenswert?

Wegen des I2C-Ansatzes: Wenn meine bescheidenen Kenntnisse mich nicht 
täuschen, ist das doch eine Master-Slave-Geschichte, bei der auch wieder 
alle TN am selben Bus hängen? Welcher TN ist denn dann der Master? Die 
Therme oder das BM1/2?
Würde auf die Therme tippen. Dann sollte es doch möglich sein 
rauszufinden, was für Anfragen über I2C kommen und wie die beantwortet 
werden. Wir düften doch noch eine zweite Schnittstelle am Board haben, 
über die man das rausbekommen könnte: Die "doofe Uhr" (in der Regel 
rechts vom BMx verbaut und bei BM1-Nutzung abzustöpseln) kommuniziert 
doch auch irgendwie mit dem Mainboard...
Oder ist das zu einfach gedacht?

: Bearbeitet durch User
von Dave G. (neuroquila-n8fall)


Lesenswert?

Jörg R. schrieb:
> [...] ist das doch eine Master-Slave-Geschichte, bei der auch wieder
> alle TN am selben Bus hängen? Welcher TN ist denn dann der Master? Die
> Therme oder das BM1/2?
Genau und wenn Junkers sich an die Architektur gehalten hat, dann ist 
die Therme der Master. "Plug-In" Module sollten immer Slaves sein.
> [...] Die "doofe Uhr" (in der Regel
> rechts vom BMx verbaut und bei BM1-Nutzung abzustöpseln) kommuniziert
> doch auch irgendwie mit dem Mainboard...
Das denke ich auch ... Ich tippe mal auf papierraschel I2C! :)

Übrigens verstehe ich das nicht mit dem Uhr abstöpseln. In der Anleitung 
steht man solle das Textdisplay entfernen, das BM1 einbauen und das 
Textdisplay dann wieder einbauen. Wie soll man auch ansonsten die 
Parameter der Heizung einstellen. Das geht nämlich nicht über die TA.


@Bernd: Bevor du dir auch noch den Frust daran holst, versuchen wir doch 
besser eine Lösung zu bauen, die mit wenig Aufwand überall funktioniert. 
Ich denke wir sind der Lösung sehr, sehr nahe. Irgend ein dummer Fehler 
muss es sein, der uns den Erfolg verwehrt.

Ich habe noch einen Test im Raum stehen aber je länger ich über der 
Sache sitze, desto mehr habe ich Lust den blöden CAN-Bus zu umgehen, 
zumal das BM1/2 ja auch wieder ein Fehlerfaktor ist. Ein kostspieliger 
dazu. Die niedrige Übertragungsrate macht die Sache nicht einfacher.

von Peter* (Gast)


Lesenswert?

Hallo,

@Bernd lass Dich nicht abschrecken, die meisten Fehler sind 
eigenproduziert...

Aber.. was nimmt dein Mini Pc auf. Habe in der Nacht fast 100W momentan 
an Kleinkram und das stört mich schon gewaltig.

Ein paar Info's noch zum I2C, hatte ~30KHz festgestellt:

         TWBR =65;                // 0 TWBR Bitrate Teiler 65
         TWSR|=bit(TWPS0);        // 0 Prescaler TWSS0 gesetz 4
Das RAM hat eine Adresse von 0x50, bin gespannt ob sich dann der BM1 
nochmals meldet mit einer anderen Adresse.

Eine Anregung: Vielleicht den Can Bus parallel zum I2C scannen.

von Jörg R. (rejoe2)


Lesenswert?

Peter* schrieb:
> @Bernd lass Dich nicht abschrecken, die meisten Fehler sind
> eigenproduziert..
...sehe ich ähnlich - in beiden Aspekten!

Dave G. schrieb:
> Übrigens verstehe ich das nicht mit dem Uhr abstöpseln. In der Anleitung
> steht man solle das Textdisplay entfernen, das BM1 einbauen und das
> Textdisplay dann wieder einbauen. Wie soll man auch ansonsten die
> Parameter der Heizung einstellen. Das geht nämlich nicht über die TA.
Das verstehe nun ich wieder nicht. In meinen Unterlagen wird das Bauteil 
"422" als "Digitaluhr" bezeichnet, und soweit ich mich entsinne, kann 
man darüber nur Wochenprogramme einstellen für WW-Bereitung und Heizen, 
also genau das, was die TA250 auch kann.
"Abklemmen" nur für die Montage? Das wäre dann nur eine Vorsorgemaßnahme 
für elektrostatische Effekte, oder? Macht für mich eher Sinn in der 
Interpretation: Man braucht keine Digitaluhr (in der TA-Anleitung 
"Textdisplay" genannt) mehr...
Bisher hat sich meine Therme auch nicht beschwert (im reinen 
TA-Betrieb), dass ihr irgendwelche Parameter fehlen würden.

PS: Habe mir die ausgebaute TA 211 E mal angesehen, über die vorher die 
Parameter zur Heizkurve eingestellt wurden. Da sind 2 von den 6 PINs 
ohne Widerstand zum Stecker 1-3-4-A-F, (die PINs 2 und 3, wenn man von 
der Seite ohne die Verpolungssicherungsnippel her zählt). Die 24V werden 
also erwartungsgemäß nur durchgeschleift, der Rest scheint mit Bauteilen 
auf der TA 211 E verbunden zu sein.

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo,

meine Heizung hat kein "Textdisplay", also eine ältere Version, hierbei 
stellst Du mit den beiden "Poti's" (Heizung & Warmwasser) und den 
Bedientasten einige Grundparameter ein.
Die Uhr ist soweit ich festgestellt habe kein I2C sondern hat zwei 
Ports, sie werden nur abgefragt. Wird der CAN-Bus installiert muss sie 
entfernt werden. Hier existiert eine Gerätekodierung, wahrscheinlich 
durch die 5Volt auf Pin4.

Hast ein Textdisplay ist das alles etwas einfach 
Kundenfreundlicher.(Vermutung)

Nun TA211 hat die Parameter die Du nur brauchst. Genau so ist der Ta250 
und TA xx ein Bedienteil, wie die Uhr.

Meine Heizung hat eine I2C Schnittstelle nur den Stecker bekommst Du 
nicht.

TA211: wenn ich mich recht erinnere werden hier die beiden i2C Pinne 
benutzt um die sequentielle Übertragung der U/F Umsetzung der 8Kanäle zu 
realisieren.

von Jörg R. (rejoe2)


Lesenswert?

Peter* schrieb:
> stellst Du mit den beiden "Poti's" (Heizung & Warmwasser) und den
> Bedientasten einige Grundparameter ein.
Die großen Potis sind wohl bei allen Geräten dieser Klasse da. Fragt 
sich nur, wie die sich auswirken, wenn die Vorgaben digital kommen (also 
erst mal über CAN/TA250/TA270). Dann scheint es eher sowas wie eine Art 
Notfallvorgabe zu sein, wobei es wohl dann auch noch einen Unterschied 
macht, ob man für WW ein Durchlauferhitzersystem hat oder einen 
Vorratsbehälter.
> Die Uhr ist soweit ich festgestellt habe kein I2C sondern hat zwei
> Ports, sie werden nur abgefragt.
Das klingt auch plausibel, zumal die intern nur Zeitpunkte für "CH1" und 
"CH2" kennt...
> Wird der CAN-Bus installiert muss sie entfernt werden.
Für mich klingt auch das logisch. Sicherheitshalber für unsere 
Skeptiker: gibt es dafür eine "offizielle" Quelle/Doku?

Wenn es wirklich nur 2x an/aus ist, stellt sich die Frage, warum man 
überhaupt eine Uhrzeit auf den Bus schreiben sollte, wie es die TA250 
scheinbar hin und wieder macht. (Na ja, es mag durchaus denkbar sein, 
dass sich doch in bestimmten Konfigurationen irgendein Bauteil für eine 
aktuelle Uhrzeit interessiert).

> Hier existiert eine Gerätekodierung, wahrscheinlich
> durch die 5Volt auf Pin4.
Klingt nach einem wichtigen Punkt.

> Hast ein Textdisplay ist das alles etwas einfach
> Kundenfreundlicher.(Vermutung)
Na ja, ich fand das Ding immer schon hoffnungslos antiquiert (und dazu 
noch ärgerlich ungenau), aber ja, es ist komfortabler wie Drehknöpfe 
oder was analoges... Im Prinzip ist es genauso "komfortabel" wie die 
Eingabe der Schaltzeitpunkte im TA250, nur dass man bei der nicht auch 
noch im kalten Keller davor in die Hocke gehen muss...
> Nun TA211 hat die Parameter die Du nur brauchst. Genau so ist der Ta250
> und TA xx ein Bedienteil, wie die Uhr.
Der TA211 hat (v.a. iVm. einem TW2) wohl hinsichtlich des Heizungsteils 
dieselben Infos für die Therme zu bieten wie der TA250 (+BMx für die 
Außentemperatur), und er scheint auch einen der beiden Kanäle des 
"Textdisplays" abzugreifen (jedenfalls bei mittlerer Stellung des 
Drehknopfs für den Heizungsmodus).

> Meine Heizung hat eine I2C Schnittstelle nur den Stecker bekommst Du
> nicht.
Na ja, eine extra Schnittstelle mit eigenem Stecker wäre zwar 
wünschenswert, aber wenn wir sowieso simulieren müssen, dass ein BMx 
angestöpselt ist, muss man eh an diese Schnittstelle ran, und da hat man 
ja ein Kabel, das man aus dem TA 211 E wegstöpseln kann. Beide Enden 
sind im wesentlichen gleich gestaltet und dafür gedacht, sie über ein 
etwas dickeres PCB zu schieben. Abgesehen vom fehlenden Verpolungsschutz 
(wünschenswert, ja), kommt man so zumindest an die Schnittstelle ran, 
ohne an den Kabeln direkt rumzuschnitzen.
> TA211: wenn ich mich recht erinnere werden hier die beiden i2C Pinne
> benutzt um die sequentielle Übertragung der U/F Umsetzung der 8Kanäle zu
> realisieren.
Über diesen Satz muss ich vermutlich noch eine Weile nachdenken, bis mir 
klar ist, was mit "U/F Umsetzung der 8Kanäle" genau gemeint sein könnte.

: Bearbeitet durch User
von Dave G. (neuroquila-n8fall)


Lesenswert?

(ahhh... Ich glaube hier muss man grundsätzlich zwischen Zeitschaltuhr 
und Textdisplay unterscheiden, dann macht das auf einmal auch Sinn 😉)

von Peter* (Gast)


Lesenswert?

Hallo,

Jörg R. schrieb:
> Über diesen Satz muss ich vermutlich noch eine Weile nachdenken, bis mir
> klar ist, was mit "U/F Umsetzung der 8Kanäle" genau gemeint sein könnte.

Nun, ein Spannungsfrequenz/ Frequenz_umsetzer (U/F) mit 8 Kanal wird 
Serial über eine Leitung versendet. Die einzelne Frequenz entspricht der 
Einstellung an den einzeln Messpunkten:

char* Messpunkt[]={" 01 UB-5V           [ V]:",
                   " 02 Grenztemperatur [°C]:",
                   " 03 Fußpunkt        [°C]:",
                   " 04 Absenkung N     [°C]:",
                   " 05 Punkt 4         [ x]:",
                   " 06 Fernbedienung   [°C]:",
                   " 07 Betriebsarten   [Sw]:",
                   " 08 Außentemperatur [°C]:"};

"!schon etwas älter"

i2C Schnittstelle: Sehe hier evtl. zwei verschiedene Ausgänge der I2C 
Schnittstelle, evtl. intern bzw. extern, auch zweckentfremdet (TA211).
Müsste untersucht werden.

von Martin R. (zmaier)


Angehängte Dateien:

Lesenswert?

Eine Frage zur Therme selbst, vielleicht habt ihr einen Tipp. Ich 
beobachte seit ein paar Wochen folgendes:

Die Solltemperatur der Therme wird nicht immer auf Anhieb sauber 
eingeregelt, sondern die Therme tacket einige Male bis sie sich fängt 
und dann die Temp sauber hält.
Habt ihr eine Idee was da sein könnte?

von Jörg R. (rejoe2)


Lesenswert?

Dave G. schrieb:
> (ahhh... Ich glaube hier muss man grundsätzlich zwischen Zeitschaltuhr
> und Textdisplay unterscheiden, dann macht das auf einmal auch Sinn 😉)
Weiß nicht recht. In dem Handbuch zur Therme ist das Bauteil "422" eben 
als "Digitaluhr" bezeichnet, die Abbildung ist aber 1:1 die, die in der 
Einbauanleitung zum BM2 als "Textdisplay" bezeichnet wird. Hätte daraus 
geschlossen, dass es keinen Unterschied gibt, v.a. dann nicht, wenn die 
Schnittstelle keine "Datenschnittstelle" ist, sondern nur an/aus auf 2 
Kanälen hinten rauskommt...

Peter* schrieb:
> Nun, ein Spannungsfrequenz/ Frequenz_umsetzer (U/F) mit 8 Kanal wird
> Serial über eine Leitung versendet. Die einzelne Frequenz entspricht der
> Einstellung an den einzeln Messpunkten:
> [...]
> "!schon etwas älter"
Danke für die Erhellung. Klingt danach, als wäre das nicht so einfach 
mit einem "simplen Mikrocontroller" umzusetzen, zumindest müßte man 
wissen, wie die einzelnen Abschnitte dann aussehen müßten.

> i2C Schnittstelle: Sehe hier evtl. zwei verschiedene Ausgänge der I2C
> Schnittstelle, evtl. intern bzw. extern, auch zweckentfremdet (TA211).
> Müsste untersucht werden.
"Viel Steine gab's, und wenig Brot"... Vielleicht ist der CAN-Weg dann 
für den Moment doch der, der am ehesten umsetzbar ist...

Martin R. schrieb:
> Eine Frage zur Therme selbst, vielleicht habt ihr einen Tipp.
Kann es sein, dass die Flamme zwischendurch erlischt und die Therme dann 
nochmal starten muss? Hatte sowas irgendwann auch mal, da mußte - soweit 
ich mich entsinne - die Brennkammer gesäubert werden.
Kann aber natürlich auch ganz was anderes sein...

von Jörg R. (rejoe2)


Lesenswert?

Jörg R. schrieb:
> Klingt danach, als wäre das nicht so einfach
> mit einem "simplen Mikrocontroller" umzusetzen, zumindest müßte man
> wissen, wie die einzelnen Abschnitte dann aussehen müßten.

(OK, sorry, wir brauchen ja das auch gar nicht, sondern wollen die 
"echte" I2C-Funktionalität nachbilden, wie sie (hoffentlich) in BM1/2 
implementiert ist).

von Martin R. (zmaier)


Lesenswert?

Jörg R. schrieb:
> n es sein, dass die Flamme zwischendurch erlischt und die Therme dann
> nochmal starten muss?

Lässt sich das irgendwie kontrollieren? Sieht man die Flamme, oder wie 
könnte ich das überprüfen?

von Jörg R. (rejoe2)


Lesenswert?

Martin R. schrieb:
> Lässt sich das irgendwie kontrollieren? Sieht man die Flamme, oder wie
> könnte ich das überprüfen?
Es müßte ein Sichtfenster geben, wenn die äußere Abdeckung weg ist. Das 
Problem dürfte aber sein, da zum richtigen Zeitpunkt reinzuschauen...
Nachtrag: Aber es sollte auch ohne Flamme erkennbar sein, wenn der 
Brennraum verschmutzt ist.

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo,

Martin R. schrieb:
> Die Solltemperatur der Therme wird nicht immer auf Anhieb sauber...

Verstehe Deine Sollkurve überhaupt nicht, bei Nachtabsenkung 10° oder 
Frostschutz?

Jörg R. schrieb:
> Spannungsfrequenz/ Frequenz_umsetzer (U/F) sorry heißt Spannungs/ 
Frequenz_Umsetzer;
Einige CPU's können das, halt billiger damals.

Jörg R. schrieb:
> wie die einzelnen Abschnitte dann aussehen müssten.

Unterschiedlichen Frequenzen je nach Messwert(~100 bis ~500Hz) werden 
hart im Takt zusammen gefügt.

Warte doch Dave's Messungen ab, heißt doch noch Garnichts. Hier ist doch 
dadurch eine weitere Möglichkeit gegeben im Notfall (Ausfall der eigenen 
Elektronik) auf TA211 oder auf TAxxx umzuschalten.

Jörg R. schrieb:
> dass die Flamme zwischendurch erlischt

Habe dies mal in einem anderen Zusammenhang (Gaskontrolle durch die 
Versorger bzw. Brennwertermittlung) im Netz gelesen. Dort wurde ein 
Gerücht dargelegt, dass die Versorger Fremdgas bzw. Luft einblasen 
könnten oder tun und da dann die Flamme evtl. erlöscht. "??!!!"

Martin R. schrieb:
> Lässt sich das irgendwie kontrollieren? Sieht man die Flamme, oder wie
> könnte ich das überprüfen?

Ein Ionenstrom fließt über die Flamme bzw. Du könntest über eine 
Fotodiode
dies nochmals für dich registrieren bzw. es kommt eine Fehlermeldung.
Also Ofen oder evtl. Can-Bus.

von Peter* (Gast)


Lesenswert?

Hallo,

möchte den CAN-Bus nochmals ins Gespräch bringen.

Hat jemand schon mal den HSM bzw. den HMM protokolliert und kann den 
Telegrammkatalog erweitern.

Weiterhin habe ich den TF20 überflogen, ab TA270 bzw. <TAxxx ist 
scheinbar bei einer Codierung "0" die Übernahme (&Löschung) der größeren 
Daten ins TAxxx möglich.

Hintergrund: evtl. nur Änderungsprogrammierung des TAxxx über schein 
TF20 und danach nur Lesen.

&Martin
Wenn ich das richtig deute kannst Du beide SOLL10 Gradpunkte verbinden 
ohne Temperaturverlust, ohne zu heizen.

Die Abkühlung sieht doch identisch aus!? Hier fehlt was, stehende Wärme 
(WW).

Nimm mal ein Zyklus auf.

von Martin R. (zmaier)


Lesenswert?

Hallo,

Danke für die vielen Antworten. Ich werde mir die Flamme mal anschauen, 
hoffe ich sehe da was. Hab auch einen Termin mit dem Installateur, weil 
die letzte Wartung is auch schon wieder a Zeitl aus. Er meinte auch, 
dass die Elektroden sich abnutzen und das dann schon sein kann das die 
Flamme irgendwie ausgeht.

Ich habe HSM und HMM protokoliert und weiß aber leider nicht mehr 
NAchrichten.

Wenn ich Heizen will, dann überschreibe ich die Solltemperaturen der 
Therme und des Mischkreises. Mischkreis mach ich immer 5K kleiner als 
Thermentemperaturen. (weiß eigentlich nicht warum, aber soweit 
funktionierts :) ) und aktiviere die Mischerpumpe.

Ansonsten schreibe ich auf die Sollwerte 10°C und schalte die Pumpe aus. 
(deshalb die langsame Abkühlung der Ist-Temperatur).

@Peter : Ich verstehe deine Frage leider nicht ganz. Kannst du mir das 
bitte nochmal erklären, dann kann ich alle Daten bereitstellen :)

von Peter* (Gast)


Lesenswert?

Hallo Martin,

bin mit nicht sicher welche Frage Du meintest.

Wenn Du den TF20 hast, möchte ich Dich nicht ins Unglück stürzen, in dem 
Du die Codierung auf "0" änderst. Vielleicht kann dein Installateur dazu 
was sagen.

Es währe interessant, wie sich der TF20 meldet um den Ta270 zu 
programmieren. Dieses Telegramm könnte man dann über Can-Bus senden und 
somit ist kein Stress mehr auf dem Bus mit abweichenden Daten.
anders:

Die Daten des Junkers_System werden indirekt geändert (Pseudo_TF20) und 
es werden nicht zusätzlich ständig Eigene_Daten auf den Bus gesetzt.

Auf dem Bus ist somit dann Ruhe.

Mit HSM bzw. HMM Telegrammen könnte man dann auch diese ersetzen.

von Dave G. (neuroquila-n8fall)


Angehängte Dateien:

Lesenswert?

Kleines Entwicklungs- und Erkenntnisupdate:
Diese "NiRen"-ähnlichen Module sind ziemlich fleckig was Zuverlässigkeit 
angeht.
Ich hatte jetzt großen Erfolg mit einem Modul von "Joy-It" wo als 
Transceiver nicht der TJA1050 sondern der MCP2562 eingesetzt wird. 
Darauf basierend werde ich jetzt wohl auch entsprechend PCBs designen...

Dazu habe ich große Anstrengungen unternommen das Projekt so einfach wie 
möglich für alle zu gestalten. Herausgekommen ist nebst der 
Konfiguration über eine Datei nun auch die Möglichkeit das Projekt über 
einen integrierten Webserver zu konfigurieren.

Damit ist es nun möglich ohne Programmierkenntnisse einen ESP32 zu 
bespielen und an die eigenen Bedürfnisse anzupassen.

Um den Fortschritt am Reverse-Engineering der Adressen und Daten zu 
beschleunigen habe ich eine erste Version eines Analysetools mit 
integriert, dass es zunächst auf rudimentäre Art erlaubt die Nachrichten 
und deren Veränderung visuell zu verfolgen.

Siehe: https://github.com/Neuroquila-n8fall/JunkersControl

Ich freue mich wie immer über Kommentare, Verbesserungsvorschläge und 
evtl. auch Beteiligung am Projekt!

von Bernd R. (Gast)


Lesenswert?

Hallo Experten

Ich habe heute mal alle über den CAN-Bus kommenden Signale meiner 
Junkers-ZSB betrachtet und da ist mir einer aufgefallen, den ich so 
vorher noch nicht auf dem Schirm hatte.

0x222 liefert drei Zustände:
#0100
#0110
#0111

Da bei Signal #0110 auch der Brenner an ist, vermute ich die 
Speicherladung.

Hat jemand von euch ähnliche Beobachtungen gemacht?

Gruß,
Bernd

von Peter* (Gast)


Lesenswert?

Hallo,

ZSB??

nun ein Can-Bus und eine Junkers müsste ZBS sein, die ZSB sollte HT3 
oder höher~~ sein.

Ich hatte damals die Adresse nicht mal gescannt. Es könnte ein Mischer 
Telegramm sein HSM oder HMM.

Glaub Dave hatte mal eine DOC ins Leben gerufen. Vielleicht kannst Du 
sie erweitern.

https://docs.google.com/spreadsheets/d/1JzmhEbFY_GSk0Dl_e5pb2zmsy9EPlQU7bUpb9bXKxCM/edit?usp=sharing

von Martin R. (zmaier)


Angehängte Dateien:

Lesenswert?

Hallo,

inzwischen war der Heizungservice da, jedoch hat der keinen 
Hardwaremangel gefunden, laut seiner Aussage tut die Therme was sie soll 
und funktioniert auch.
Ich habs dann versucht ihm zu erklären, dass die Soll-Temperatur nicht 
eingeregelt wird, der Brenner immer abstellt etc. Aber da stieß ich auf 
taube Ohren, er hat die Taste mit dem Schornsteinfeger gedrückt, die 
Therme lief los und somit war dann für ihn alles ok. Er sagt die 
Elektroden etc. da ist alles ok.

Ich habe jetzt meine Sollwertvorgabe deaktiviert, es ist nur die TA270 
dran.
Die Therme kann die Vorlauftemperatur nicht einregeln (so bei Uhrzeit 
5:40). Man hört auch das Gebläse kaum.
Drücke ich jetzt die Schornsteintaste dreht das Gebläse hoch, jetzt hört 
man schon, dass die Therme Leistung liefert. Nach 5Sekunden kann ich 
dann nochmal drücken, ab diesen Zeitpunkt regelt die Therme die 
Temperatur wie zu erwarten ein.

Also es braucht initial diesen Impuls von der Schornsteintaste?
Ich kanns schwer erklären, und verstehen tu ich es sowieso nicht :)
Aber was könnte da los sein?
Ich bin schon kurz davor die Schornsteintaste auch remote "schaltbar" zu 
machen, also ein Relais parallel zu schalten. Würde das Problem aber 
vorher schon gerne verstehen.

Irgendwelche Ideen?

: Bearbeitet durch User
von Dave G. (neuroquila-n8fall)


Lesenswert?

Nach den vollkommen unerklärbaren Phänomenen die ich bis jetzt an diesen 
Heizungen erlebt habe kann ich auch hier eventuell nur auf das Mainboard 
tippen, was einen weg hat. Die "Schornsteinfegertaste" ist ja die Taste, 
die u.A. das Kennfeld auf Emissionsprüfung stellt. Kein Wunder, dass es 
damit richtig anläuft.

von Peter* (Gast)


Lesenswert?

Hallo Martin,

in der Aufzeichnung wird wohl die Pumpe aktiv erwähnt, aber nicht 
gezeichnet?

Hast Du die Pumpen_Aufzeichnung deaktiviert. Oder hörst Du die Pumpe?

Hast Du evtl. zwei Pumpen, Mischer?

Ohne Pumpe arbeite die ganze Regelung mehr als schlecht.

Die Zeiten der "Schwerkraftheizung" sind vorbei.

von Martin R. (zmaier)


Angehängte Dateien:

Lesenswert?

Hallo,

die Werte für die Pumpen habe ich ausgeblendet, sorry für die 
Verwirrung. Beide Pumpen (Heizung und Mischerkreis) laufen.

Heute hatte ich auch wieder was Interessantes gesehen.
Wieder das übliche Takten und dann wurde Warmwasser gemacht und danach 
wurde die VL-Temperatur erfolgreich eingeregelt.

Die Therme treibt mich noch in den Wahnsinn, diese Saison sollte sie 
noch durchhalten, dann kommt was neues.
Falls jemand ein gebrauchtes Mainboard herumliegen hat, ich würds nehmen 
und mit dem probieren :)


sG
Martin

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo,

Martin R. schrieb:
> ...Wieder das übliche Takten und dann wurde Warmwasser gemacht und danach
> wurde die VL-Temperatur erfolgreich eingeregelt.

Takten heißt nach meiner Erfahrung Wärme wird nicht abführt.

Warmwasser hat mit dem Dreiwegeventil zu tun, vielleicht funktioniert 
das Ventil nicht einwandfrei und klemmt.

Seltsam ist das die Takt_Temperatur immer unterhalb der Solltemperatur 
ist, somit dürfte er doch gar nicht Takten. Die Taktung findet ja, wenn 
ich es richtig sehe, zwischen 25 und 35 Grad statt.

Ich glaube nicht das dein Board defekt ist, leider nur ein Gefühl.

von Martin R. (zmaier)


Lesenswert?

Hi,
takten ist vermutlich der falsche Ausdruck, die Solltemperatur wird 
nicht eingeregelt weil der Brenner vor erreichen der Solltemperatur 
schon abstellt.
Warum auch immer?

von Peter* (Gast)


Lesenswert?

Nun,
wird allgemein als "Takten" bezeichnet und zwar aufgrund des letzten 
Bildes sogar ein sehr schnelles Takten.

Deine Bilder zeigen hierbei ein konstantes Temperaturverhalten.

Eine Regelung findet nur zwischen den beiden Temperaturwerten statt. 
Scheinbar ungeachtet des Sollwertes, bis zur Unterbrechung.

Vermutung, evtl. sind hier im Hintergrund Heizung spezifische Werte im 
Eingriff bzw. Grenzwerte werden verletzt.

Habe ich richtig verstanden das Du HSM und HMM, also mindestens 2 evtl. 
sogar 3  Kreise(WW) hast.

von Martin R. (zmaier)


Lesenswert?

Hallo,

es sind ein gemischter Kreis, der Mischerkreis geht direkt zur 
Fußbodenheizung. Der heizkreis ist über eine hydraulische Weiche an den 
Mischer gehängt, dort wird sonst keine Energie abgeführt.
Wurde vom Vorbesitzer so gemacht, vermutlich wegen zu kleinem 
Volumenstrom der Therme.

sG
Martin

von Martin R. (zmaier)


Lesenswert?

Ich hab noch ein wenig im Internet gesucht, im HTD-Forum hab ich 
folgendes gefunden :
https://www.haustechnikdialog.de/Forum/t/173576/Junkers-ZSBR-7-25-A23-Probleme-mit-Regelung

"
Was war nun der Fehler?
Nach der Reinigung des Wärmetauschers hat mein erster Heizungsexperte 
die Abgasmessung durchgeführt und festgestellt, dass der CO2-Wert zu 
hoch war und die Gasmenge an der Gasarmatur CE 427 verändert. Er hatte 
Schwierigkeiten den CO2-Gehalt unter 10 % zu bekommen. Da er auch den 
quietschenden Lüfter hörte hätte er den Fehler eigentlich erkennen 
müssen. Er sagte nur, "Der Lüfter muss mal ausgetauscht werden".
Durch die geringere Brennluft (defekter Lüfter) und der demzufolge 
angepassten Gasmenge war die Kleinlast in die der Brennwertkessel ZSBR 
7-25 A23 durch Modulation fährt so klein, dass der minimale 
Ionisationsstrom von ca. 1 µA unterschritten wurde und der Brenner ohne 
Fehlermeldung abschaltete. Dass der Ionisationsstrom den Brenner 
abschaltet, war bei der Messung des Ionisationsstroms nicht direkt 
ersichtlich, da der Vorgang sehr schnell abläuft.
Nach der Reparatur des Lüfters und der damit höheren Brennluft war der 
Fehler nicht weg, da die Gasmenge weiterhin klein war. Erst als ich als 
Heizungsleihe verbotenerweise die Gasmenge um zwei Schraubendrehungen 
erhöht habe war der Fehler behoben und der Kessel arbeitet nun wieder 
ohne ewiges Takten.
"


Ich verstehe zwar den Zusammenhang nicht ganz, aber die Symptome waren 
exakt wie bei mir, denke da muss nochmal der Installateur zu mir kommen.
Vor 2 Monaten wurde bei mir auch der defekte Lüfter durch einen 
neuwertig (aber gebrauchten) getauscht, vielleicht hängt das alles 
zusammen?

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo Martin,

muss noch mal auf deine Anordnung deiner Hydraulischen Weiche zurück 
kommen.

Den Einbauort verstehe ich nicht ganz. Ist dieser identisch mit dem in 
der HMM Doc beschreibenden Beispiel. Hört sich seltsam an.

Es muss auch eine separate Pumpe im aktiven Mischerkreis vorhanden. Dazu 
findest Du eine gute Beschreibung unter

bosy-online.de/hydraulische_weiche.htm.

Vielleicht liegen hier deine Probleme.

von Thomas (Gast)


Lesenswert?

Hallo,

wie haben hier eine gut 20 Jahre alte Cerapur (ZSBR 3-16 A 21) im 
Keller. Die würde ich gern mit meinem HomeAssistant bekannt machen.

Langt für den CAN-Bus ein Junkers BM2 oder muss es ein BM1 sein? Von da 
über einen NiRen an den D1 mini, richtig? Oder brauchts auch noch eine 
Steuereinheit/Fernbedienung? Wenn ja (glaub gelesen zu haben, ohne ist 
nicht alles steuerbar): wäre eine TA 271 passend?

Danke für die Hilfe und nebenbei auch Respekt für eure Arbeit und das 
erarbeitete Know-How!

Thomas

von Peter* (Gast)


Lesenswert?

Hallo,

die Frage kommt mir bekannt vor? ...vielleicht etwas mehr lesen.

Nun Du benötigst ein HT_Board, nach meiner neusten Erkenntnis hat auch 
dein Ofen dies.
BM1 und BM2 ist (soll &Jörg) weitgehend identisch sein.

Wenn Du nicht "der" Softwerker bist, solltest Du als Zugang zu deinem 
System noch ein TA250 oder TA27x haben.

!kein Ta211 oder Uhr im Ofen.

NiRen und D1 Mini (warum nicht D1 R3 R32) sollte gehen, aber NiRen neee 
.... CANdiy-Shield V2 -Watterott zur Zeit verfügbar.

von Martin R. (zmaier)


Lesenswert?

@Peter:
Ja, hydraulisch schaut das genauso aus wie in der Doku, eine zusätzliche 
Pumpe für den gemischten Kreis ist vorhanden.

Das System hat letztes Jahr ohne Probleme funktioniert.
Aber aktuell tut sich die Therme schwer die VL Temp zu erreichen.
Der Installateur meinte, die Steuerplatine ist defekt und muss getauscht 
werden, kostet 600€ ohne MwSt und Einbau :)

Ich mach jetzt folgendes, extrem quick&dirty, aber die Therme muss 
diesen Winter noch durchhalten, nächstes Jahr kommt eine LWWP.

Wenn die VL-Temperatur nach 15 Minuten nach einschalten des Heizbetriebs 
nicht erreicht wurde, dann wird  die Schornstein-Taste gedrückt, 
10Sekunden gewartet und dann wieder gedrückt. "Drücken" erfolgt mittels 
Relais, parallel zum Taster. Damit klappts soweit problemlos, wenn auch 
sehr sehr "hingebastelt" :)

von Peter* (Gast)


Lesenswert?

Hallo Martin,

nun, Du bist vor Ort und kannst das sicher besser beurteilen...???

Aber bei eBay und...Kleinanzeigen sind momentan ein paar Heizungen 
günstiger als !600 Euro +++! zu haben. Handeln, kaufen...Sommer abwarten 
und evtl. einbauen oder lassen und in der Zwischenzeit weiter suchen.

Weil,...ich glaub nicht an einen so großen Fehler.

von Dave G. (neuroquila-n8fall)


Lesenswert?

Tja, wie bei mir. Ich habe kurzerhand einfach die Platine ausgebaut, die 
exakte Teilenummer notiert und habe dann nach dieser Teilenummer ein 
Ersatzboard gekauft. Damit lief dann wieder alles wie gewohnt und die 
Taktung steht jetzt mit durchschnittlich 5 mal die Stunde auch voll im 
Bereich des Vertretbaren.

Das Board auszutauschen ist echt einfach aber man muss natürlich vorher 
die Therme komplett spannungsfrei schalten. Für absolute Sicherheit noch 
den Gashahn zudrehen. Danach ist prinzipiell sämtliches Risiko 
ausgeschlossen. Wenn man sich das nicht zutraut, dann steht's halt doch 
leider bei den mehreren hundert € für eine Reparatur.

Für den Tausch habe ich übrigens ca 10 Minuten gebraucht und das neue, 
gebrauchte Board kostet um die 100€.

von Thomas (campino)


Lesenswert?

Hab mich auf das Abenteuer eingelassen ;-)

In der Cerapur steckt jetzt ein BM2, daran erstmal nur die TA 271 (bevor 
ich einen ESP dazwischenhänge, wollte ich erstmal die Standardfunktion 
sehen).

Klappt so enigermaßen: die beiden rechten PINs am Busmodul brauchts zur 
Kodierung per Widerstand (ohne kommt der Fehler CC, läuft jetzt also als 
"Modul 2").

Damit habe ich aber nicht nur ein kosmetisches Problem (Anzeige "Modul 1 
fehlt"), sondern auch keinen Außentemperaturfühler mehr.
Der war (bzw. ist noch immer) direkt an der Cerapur angeschlossen; wenn 
ich das richtig verstehe, sollte er eigentlich "umziehen" auf das 
Busmodul - allerdings sind die Anschlüsse da ja vom Kodierwiderstand 
belegt.

Jetzt also dauerhaft -20°C und entsprechend fehlende Regelung.
Was tun (und sagt jetzt bitte nicht: BM1 kaufen)?

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo,

Thomas schrieb:
> Klappt so enigermaßen: die beiden rechten PINs am Busmodul brauchts zur
> Kodierung per Widerstand (ohne kommt der Fehler CC, läuft jetzt also als
> "Modul 2").

Woher hast Du diese Weisheit? Steht da zufällig AF drauf. Wie 
Außenfühler.

Fehler CC:
CC blinkt.
Außentemperatur-NTC nicht erkannt.
(Heizgerät heizt entsprechend Außentemperatur von -20°C.)

Da scheint der Außenfühler nicht richtig kontakt zu haben.

Thomas schrieb:
> Der war (bzw. ist noch immer) direkt an der Cerapur angeschlossen; wenn
> ich das richtig verstehe, sollte er eigentlich "umziehen" auf das
> Busmodul - allerdings sind die Anschlüsse da ja vom Kodierwiderstand
> belegt.

Wo war der Außenfühler angeschlossen, doch am TA211 oder?

von Peter* (Gast)


Lesenswert?

Hallo,

wie alt ist deine Heizung und hast Du ein Textdisplay?
Passt alles irgendwie nicht.

von Thomas (campino)


Lesenswert?

Hallo und vielen Dank für die Unterstützung!

Die Cerapur ist vom Typ ZSBR 3-16 A 21, installiert 2001; sie hat ein 
Textdisplay, der Außenfühler ist "unten rechts" angeschlossen 
(Beschriftung A/F) und wird erkannt solange kein Busmodul mitspielt.

Die Klemmen A/F am Busmodul sind laut Anleitung/Serviceheft beim BM1 zum 
Anschluss des Außenfühlers, beim BM2 aber für den Kodierwiderstand.
Wenn ich A/F am BM2 offen lasse oder da den Außenfühler anschließe, 
kommt der Fehler CC - ist genau so dokumentiert.
Mit dem richtigen Kodierwiderstand wird das BM2 als Modul Nummer 2 
erkannt und prinzipiell funktioniert der CAN-Bus inkl. TA 271, nur wird 
halt angezeigt "Busmodul 1 fehlt" und es gibt natürlich keinerlei Daten 
vom Heizkreis 1 - und auch keine Außentemperatur.

Demnach fürchte ich, der Gedanke "egal ob BM1 oder BM2, die sind eh 
baugleich" ist nicht so ganz richtig ...

von Peter* (Gast)


Lesenswert?

Hallo,

muss Dir leider Recht geben. Habe gestern noch BM2 Doku (6720610043.pdf) 
heruntergeladen, hier steht eindeutig:

https://www.bosch-thermotechnology.com/de/de/wohngebaeude/service-und-support/dokumente/bedienungsanleitungen/

Zitat BM2:
Das BM 2 ist nur bei Kaskadenschaltung von
mehreren Heizgeräten mit busfähiger Bosch
Heatronic zu verwenden.

Hier werden auch die Widerstände aufgelistet als Beipack.

Kodierwiderstand Ω

BM 2/2 7870
BM 2/3 10000
BM 2/4 14700
BM 2/5 30100


Es ist seltsam, das diesbezüglich noch keine Info kam, es wurde doch 
schon BM2 verbaut.

Vielleicht kannst Du über eine andere Stelle die Außentemperatur 
einpflegen oder das Manko auf andere Weise beseitigen.

von Peter* (Gast)


Lesenswert?

Hallo Thomas,

ein Gedankenspiel von mir, vielleicht hast Du sogar eine bessere 
Variante mit dem BM2.

Dadurch das Bosch hier ein CAN-Bus_System zum Master/Slave System 
degradiert hat. Hast Du evtl. den Vorteil Dich als Master (!der ja 
fehlt) auszugeben. Ein ESP_Can könnte diese Aufgabe evtl. einfacher 
übernehmen als in der herkömmlichen Vorgehensweise, immer wieder 
dazwischen funken. Die Werte des Slave's werden zum Ist-Wert Master.

Ich kenne die Telegramme zwischen Master und Slave nicht, aber die 
könntest Du ja scannen.

Die "fehlende" Außentemperatur könnte trotzdem vorhanden sein, nur nicht 
ausgewertet werden. Da im Service Pkt. 1.9 die BM1/BM2 die gleiche 
Kennung hat, sollte sie andere Karten (Textdisplay-AF) trennen. 
Vielleicht einfach mal ursprünglichen Steckplatz mit Fühler messen. 
Sollte so unter 5V bzw. evtl. <24V liegen. Auswerten!

nur ein Gedanke.

von Jörg R. (rejoe2)


Lesenswert?

Das mit dem BM2 ist strange...

Es gibt jedenfalls mind. 2 Generationen von BM1 bzw. BM2, einmal recht 
schlank bestückt, und einmal mit einem "großen" CAN-Transceiver, der 
auch fehlertolerant ausgelegt ist (würde letzteres mal als V2 
bezeichnen). Bei mir hat jedenfalls die "neue" Variante von BM2 erst mal 
funktioniert, allerdings sind dann die Spannungen irgendwann in Regionen 
verschoben worden, in denen dann erst mal nichts mehr ging (mit dem 
ESP+Transceiver). Daher habe ich auch ein BM1 daliegen, das aber auch 
nicht funktioniert.
Bin grade noch an ein paar anderen Themen dran (und mit dem einigermaßen 
einverstanden, was die TA250 grade so vorgibt), daher die derzeit etwas 
spärliche Rückmeldung.
Seltsamerweise machen beide Module aus der von der Therme kommenden 
Spannung von 24V was anderes außerhalb der Spec, nämlich einmal knapp 
15V (BM1, alt) und einmal knapp 30V (BM2 neu, aber nach Verschiebung, 
das hatte erst saubere 24V geliefert!). Die TA funktioniert mit 
beiden...

Nachtrag: Am BM2 habe/hatte ich "ganz normal" den Außentempfühler 
angeschlossen, keinen Kodierwiderstand...

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo,

kann ich auf ganz Linie bestätigen, kenne schon alleine zwei BM1 
Bestückungsvarianten ohne jemals etwas darüber gelesen zu haben, warum 
weshalb hier Unterschiede gemacht wurden. Vermute allerdings, das die 
Änderung zur Stabilität des CAN-Bus führen sollte oder zur Erkennung von 
Fremdgeräten.

Allerdings habe ich auch Zweifel, das alle BM2 bei ebay auch BM2 sind. 
Ein BM2 benötigt (so PDF) keinen LM317 (To-220) für die Stromquelle des 
Außenfühlers und sind währen somit identisch mit BM1!??

Hier liegt evtl. auch eine zu knappe Stromversorgung im BM1, gewollt??

Die Probleme mit dem CAN-Bus hat wohl jeder schon erfahren und mein BM1 
hat damals 14,40V und Dave's 17V. Diese Unterschied sprechen schon für 
sich. Entweder ist fast jedes Modul defekt oder einfach schlechte 
Hardware.

In deinem Zusammenhangt mit der Benutzung des TA250 und BM2 fiel mir 
ein, das TA 250 nur einen Kreis steuern kann und dies auch nur 
vorgesehen ist. TA270/271 bzw. 300/301 ist vorgesehen für Kaskaden und 
mehrere Heizkreis (mit TF20, HSM und HMM). Somit hast Du scheinbar eine 
Benutzung (TA250) ohne Fehler, aber auch kein AF oder ?

Nun, kommt es für Thomas noch schlimmer TA271! War für mich halt nur 
eine Weiterentwicklung, aber!

TA271. pdf

Dieses Zubehör kann nur an ein
Heizgerät CERAPUR MAXX angeschlossen werden.
Für Kaskaden sind Heizgeräte ab
Fertigungsdatum FD 584 zu verwenden!

zu lesen in der TA271 Beschreibung.

von Thomas (campino)


Lesenswert?

Dann hab ich wohl gleich an mehreren Stellen Probleme ... und falsche 
Hardware.

Mein BM2 ist tatsächlich mit dem kleinen Chip bestückt; ich halte das 
allerdings eher für das neuere Modell, günstigere Bauteile, dafür evtl. 
eingeschränkter Funktionsumfang (z.B. nicht kompatibel mit BM1?).
Die TA271 hat übrigens keine Probleme bereitet - abgesehen vom fehlenden 
"System 1".

Da die Heizung nach dem Tausch der Hauptplatine (bzw. der gesamten 
Bedieneinheit) jetzt aber auch bei mir zufriedenstellend funktioniert 
(bis auf die fehlende nächtliche Pumpenabschaltung, aber das ist wohl 
ein anderes Thema), werde ich meine Bemühungen diebezüglich auch erst 
mal einstellen.

Ich hab aber mal die Spannung am AF gemessen - bei 0..3°C waren das 
1,80..1,76 V , vielleicht hilft es jemandem.

Nochmal vielen Dank euch allen und weiterhin viel Erfolg!

Thomas

von Peter* (Gast)


Lesenswert?

Hallo,

Schade..,

nun Du hast eine defekte Steuereinheit, die aber weitgehend 
funktioniert, Du hast ein CAN-Bus Adapter BM2 und ein Bedienteil TA271 
und siehst nicht die Möglichkeit dein Problem zu lösen!??

Gerade jetzt kann das Spiel beginnen. Na Gut, die Zeit..?? Die Zeit ist 
aber auch dein Vorteil die Du hast, deine Heizung läuft. Mein 
aufgezeigter Vorschlag mal ausprobieren.?? Vorsichtig am Pumpenausgang 
(Lampen montieren und an der Hochspannung (alte Elektroden montieren Zur 
Masse).....

@BM2
> eingeschränkter Funktionsumfang : nein, glaube ich nicht, die Größe der CPU: 
evtl. Möglichkeit die garantiert nicht genutzt werden. PORT's....usw. Aber ohne 
Schaltplan kann man nur Vermutungen tätigen.

@Pumpen
> bis auf die fehlende nächtliche Pumpenabschaltung: Warum??? evtl. Stromverbrauch 
ja/nein!!;

Hast Du ein isoliertes Haus,  wenn ja muss es sehr schlecht isoliert 
sein. Das Du die Heizung abschalten willst... Energie kontrolliert 
erhalten statt auskühlen. Ich gebe Dir Recht... hier gibt es Schwellen 
die berücksichtigt werden müssen und schwer bzw. nur langfristig zu 
ermitteln sind.

Was übrig bleibt ist der hohe Stromverbrauch unserer Pumpen. Junkers hat 
inzwischen eine Hocheffizienzpumpe als Ersatz UPMO 15-50 TTAO (130), 
alte Pumpen sind scheinbar nicht mehr zulässig. 350 Euro für 60W max,... 
besser Alpha2 15-60 (130) bzw. evtl. Wilo Stratos-PICO "-plus 15/1-6" 
oder so.
Natürlich kommt es auch auf die Anlage an.

@AF
Wenn Du mit CAN-Bus (BM2) gemessen hast, ist der Temperaturzweig doch 
bestromt. Somit kannst Du die Temperatur/Widerstandswerte (Beschreibung) 
als Stützpunkte zur Berechnung der Temperatur nutzen und interpolieren 
und per CAN_Bus unter 0x207 mitteilen.

von Thomas (campino)


Lesenswert?

Hallo,

ich les' hier schon noch mit, wahrscheinlich packt's mich doch 
irgendwann wieder ;-)

bzgl. Nachtabschaltung:
die verbaute Pumpe braucht halt um die 80 W, was nicht wenig ist, vor 
allem wenn keine Wärme zu verteilen ist.

Das Haus ist schon ganz ordentlich gedämmt und nachts wird - natürlich - 
eher nicht geheizt; aber die nicht smarten Thermostatventile (an den 
Raumkreisen der Fußbodenheizung) werden halt weiterhin fordern. Das war 
einer der Gründe, warum ich mich in die Steuerung einklinken wollte.

bzgl. BM2-Hardware(-Generation):
ich meinte nicht "kleiner = weniger Features", eher "kleiner weil neuer" 
(ganz früher gab's mal einzelne Transistoren), die Annahme (stimmt: 
Spekulation) war: es wurden beim Redesign Features weggelassen (evtl. 
noch nicht einmal bewusst), die nicht zwingend erforderlich waren ...

Gruß,
Thomas

von Jörg R. (rejoe2)


Angehängte Dateien:

Lesenswert?

Thomas schrieb:
> bzgl. BM2-Hardware(-Generation):
> ich meinte nicht "kleiner = weniger Features", eher "kleiner weil neuer"

Die Rechnung haut mAn. so nicht hin. Lt. FD-Nummer ist das "BM2" mit dem 
großen IC das neuere...
Das andere wurde als "BM1" verkauft. Wenn man in der Bucht sucht, findet 
man zu beidem auch beide Versionen.

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo,

nun BM2 (großer CPU) beinhaltet ein komplettes "80C51 System mit 
integriertem CAN-Bus" mit ROM (extern)und den Feinheiten der damaligen 
Zeit..16bit Adressbus usw. Beschreibungen des BM2 System liegen nur mit 
großem CPU vor.

Weiterhin wird BM2 als kompatibel zu BM1 angepriesen von Firmen die BM2 
ohne großen CPU verkaufen!?? Dies, stimmt wieder nicht mit der 
Beschreibung überein. Neuere Hardware sehe ich nicht.

Wie schon geschrieben währe dies interessant mal durchzutesten, aber 
wann ist HT3 (~2006-09) herausgekommen? Seit dem wird bei Bosch sicher 
auch keine Hardware HT2 weiterentwickelt.

Man kann sich freuen wenn es noch funktioniert.

von Dave G. (neuroquila-n8fall)


Lesenswert?

Nunja um da die letzten Zweifel auszuräumen hätte ich eine Idee.
Ich hätte ein funktionierendes BM1 zum Testen abzugeben, falls das 
Klarheit in die Probleme bringen könnte.

Falls gewünscht kann ich das dann auch stark vergünstigt überlassen.

von Peter* (Gast)


Lesenswert?

Hallo Dave,

Frage, hast Du mal deine Optimierung der Vorlauftemperatur über den 
Ventil_Status kontrolliert.

Ehrlicherweise habe ich ein Problem mit dem Prinzip aus deiner Formel 
heraus. Eine grafische Unterstützung währe hier vielleicht hilfreich.

Mein ähnliches bestreben den jeweiligen Ventilstatus zu nutzen die Last 
zu reduzieren erwies sich als Fehleinschätzung. Es kann nur daraus 
entschieden werden ob eine Reduzierung der Vorlauftemperatur im System 
möglich ist.
Die Reduzierung bringt aber nichts nennenswertes an Einsparung. Zu 
mindestens habe ich kein Unterschied festgestellt. Eine Einteilung in 3 
Zonen, zu heiß richtig, zu kalt sehe ich als zweckmäßig.

Hast ein Regelsystem am Heizkörper und stellst eine Temperatur ein, 
fängt er anfangs an zu Takten,  "an" "aus" mit kleinen Öffnungen (P). 
Reduzierst Du die Vorlauftemperatur mit gleicher Temperatureinstellung 
versucht er mit einer größeren Öffnung die fehlende Energie 
auszugleichen (Durchflusserhöhung). Einfach eine Verschiebung von 
Temperatur auf Masse, die Energie bleibt scheinbar gleich.. Bis es nicht 
mehr klappt " zu Kalt" (zur Temperatureinstellung).

von Joe Lucid (Gast)


Lesenswert?

Ich habe auf Ebay einen BM2 gekauft (mit kleinem chip). Habe keinen Can 
Bus Regler. Therme läuft nur mit Kodierwiderstand - sonst Fehler CC. 
Habe Gerät 2 eingestellt.

Scannen des Can Busses liefert die gleichen Updates von der Therme, die 
sonst unter 0x20x geschickt werden, aber statt dessen unter 0x23x. Das 
ergibt Sinn - in einer Kaskade müssen alle Thermen unterschiedliche IDs 
verwenden.

Mein Problem: die Therme reagiert nicht auf 0x25x oder 0xf9 und geht 
nach kurzer Zeit auf Error A8.

Meine Hypothese: Geräte die an einer BM2 hängen müssen genauso über 
einen anderen Id Bereich vom Regler gesteuert werden. Nur welcher? 
Einige Versuche liefern bisher keinen Erfolg.

Wahrscheinlich hat bisher keiner eine Kaskade belauscht, oder? Kann die 
Therme aus dem A8 Zustand wieder aufgeweckt werden durch Senden eines 
korrekten Codes? Falls ja könnte ich den ID Bereich einfach durchtesten.

von Joe Lucid (Gast)


Lesenswert?

Zum Thema BM2: es gibt offenbar zwei Klassen. Geräte der ersten lassen 
sich durch Anschluss des Aussenfühlers zu BM1 machen. Die anderen 
blockieren die Therme in diesem Fall mit Error CC. Für diesen 2. Fall 
ist es wichtig den BM2 mit anderen can bus Adressen zum laufen zu 
bekommen. Da der BM1 ja unbezahlbar ist.

von Peter* (Gast)


Lesenswert?

Hallo Joe,

nun nach den letzten Beiträgen über BM2 (hoffe doch gelesen) kann ich 
nur sagen deine freie Entscheidung.
Aber,... sollte man doch nutzen und wo sind die guten Bild von beiden 
Seiten BM2. :-).

Was heißt Du hast kein CAN-Bus Regler?

Joe Lucid schrieb:
> in einer Kaskade müssen alle Thermen unterschiedliche IDs
> verwenden.

Woraus leitest Du das ab?, ID heißt nicht unbedingt Gerät. Hier wird 
weitgehend mit einem Daten_Byte gearbeitet. Also stehen dir theoretisch 
7 byte zur Codierung der Routine zur Verfügung. Aber egal.

Joe Lucid schrieb:
> Mein Problem: die Therme reagiert nicht auf 0x25x oder 0xf9
Nun was sagen denn diese Routinen aus, 0xF9 war nach wie vor bei mir 
unbekannt, vielleicht ein Marker für xx.
0x25x sind Routinen die vom Ta250 versendet werden. Ein TA250 ist aber 
nicht fähig mit anderen Geräten zu arbeiten!! evtl. dein Error A8

Also musst Du, mindestens laut Bosch Junkers, einen TA270 oder > haben 
und dann werden sicher auch hier die Routinen ID's sich ändern.

Joe Lucid schrieb:
> Meine Hypothese:....

Dein TF20 und HMM im Kreis x: Scannen Im System?? wie gesagt deine 
Entscheidung BM2 viel Arbeit aber evtl. lösbar.

Joe Lucid schrieb:
> Zum Thema BM2: es gibt offenbar zwei Klassen. Geräte der ersten lassen
> sich durch Anschluss des Außenfühlers zu BM1 machen.

Bin sicher, hier werden einige auf den Beweis warten.

Joe Lucid schrieb:
> Für diesen 2. Fall
> ist es wichtig den BM2 mit anderen can bus Adressen zum laufen zu
> bekommen. Da der BM1 ja unbezahlbar ist

Verstehe ich nicht ganz,.. ersetze Therme 0 ! durch einen Arduino/Can 
oder so.. und mache Ihn zum Master der Kaskade. Kein BM1 kein Ta270... 
BM2 an deiner Therme. Alles erstmal Theorie!!! Winter ist kalt.

Master gibt Slave vor, in der Kaskade.

von Dave G. (neuroquila-n8fall)



Lesenswert?

Peter* schrieb:
> Hallo Dave,
>
> Frage, hast Du mal deine Optimierung der Vorlauftemperatur über den
> Ventil_Status kontrolliert.
>
> Ehrlicherweise habe ich ein Problem mit dem Prinzip aus deiner Formel
> heraus. Eine grafische Unterstützung währe hier vielleicht hilfreich.
>
> Mein ähnliches bestreben den jeweiligen Ventilstatus zu nutzen die Last
> zu reduzieren erwies sich als Fehleinschätzung. Es kann nur daraus
> entschieden werden ob eine Reduzierung der Vorlauftemperatur im System
> möglich ist.
> Die Reduzierung bringt aber nichts nennenswertes an Einsparung. Zu
> mindestens habe ich kein Unterschied festgestellt. Eine Einteilung in 3
> Zonen, zu heiß richtig, zu kalt sehe ich als zweckmäßig.
>
> Hast ein Regelsystem am Heizkörper und stellst eine Temperatur ein,
> fängt er anfangs an zu Takten,  "an" "aus" mit kleinen Öffnungen (P).
> Reduzierst Du die Vorlauftemperatur mit gleicher Temperatureinstellung
> versucht er mit einer größeren Öffnung die fehlende Energie
> auszugleichen (Durchflusserhöhung). Einfach eine Verschiebung von
> Temperatur auf Masse, die Energie bleibt scheinbar gleich.. Bis es nicht
> mehr klappt " zu Kalt" (zur Temperatureinstellung).

Benutzt werden daher bei mir Raumthermostate an der Wand und die geben 
auch die Leistung an, die benötigt wird. Ich setze ausschließlich 
Homematic IP ein und anscheinend sind die Teile lernfähig genug, wenn 
überhaupt, dass es wunderbar klappt. Das System balanciert sich relativ 
schnell ein. Ich habe dazu Bilder angehängt und erkläre die im folgenden 
Text.

Ich habe mittlerweile eine etwas komplexere Steuerung laufen. EG und OG 
werden prozentual gewichtet. Die resultierende 
Durchschnittsventilöffnung wird dann als Vorgabe für die maximale VLT 
benutzt.
Derzeit fahre ich zwischen 70/30 +/- 5: 70% Gewichtung EG gegen 30% 
Gewichtung OG.
Die VLT beträgt nun im Schnitt bei -5°C bis 0° ca 45°C, war vorher 
60-70°C. Vor dem Mainboardtausch taktete die Heizung auch fröhlich gegen 
85°, auch wenn ich nur 40° haben wollte. Der Durchschnitt machts. Dazu 
später mehr...

Da die Thermostate selbst schon mit Hysterese (3K meine ich) arbeiten 
und die Ventilöffnung daher schon selbst eine Toleranz mitbringt, sah 
ich das als sinnvollen Steuerwert an, musste aber sehen, dass zu viel 
Energie im OG angerechnet wird.

Da die Wärmeanforderung im EG größer ist als im OG, müsste daraus eine 
höhere VLT resultieren. In der Realität war die Taktung bei zu hoher VLT 
einfach zu groß. Es wurden kleine Schübe hoher Energie in die Heizkörper 
gepumpt.
Ich habe die Heizleistung meiner Therme auf das absolute Minimum 
reduziert, dadurch braucht diese auf Sparflamme deutlich länger um die 
Energie zuzuführen, benötigt aber eine deutlich geringere VLT um die 
Räume aufzuheizen, da jetzt ein konstanter(er) Energiestrom an den 
Heizflächen ankommt.

Ich sehe auf was du hinaus willst und ich verstehe auch die 
Problematiken eines so eng an einer Kennziffer geführten Systems. Man 
könnte argumentieren, dass eine höhere VLT effizienter ist, da nun nur 
ein mal kräftig Energie zugeführt wird und dann nur noch gering 
nachgeheizt werden muss. Das klappt aber nur in isolierten Häusern. Bei 
dem Bruchsteinmauerwerk hier von Anno 18xx klappt das nicht.

Ich habe mal eine Grafik angehängt von einem normalen, kalten Tag wie 
heute: Außentemperatur um 0°C +/- 5°. Gewichtung ist 75/25 aktuell.

Gestartet wird die Heizung um 5:30 und lasse sie schon auf 
Betriebstemperatur fahren. Wenn dann um 6:00 die Ventile sich öffnen, 
beginnt das eigentliche spektakel und das System regelt sich 
selbstständig ein.
Man sieht hier schön wie die Ventilöffnung die VLT regelt und es sich 
dann einpendelt. Alle Räume haben dann irgendwann im Verlauf des Morgens 
die nun hust *hust* verbotenen 21°C hust *hust*
Interessant ist hier auch auf die RLT zu schauen (Bild #3). Hier sieht 
man schön was der Delta-Wert in Kelvin zu bedeuten hat. Dieser steht bei 
mir auf 10K. Heizt man heißer, steigt auch die RLT selbstredend und wir 
wissen alle, dass hohe Temperatur gleich viel Energie bedeutet und jedes 
K weniger heißt auch eine Zugabe von weniger Energie. Also sparen wir 
hier den Sockelwert von sagen wir mal 10K VLT ein. Inwiefern das Kosten 
spart, kann ich leider erst nächstes Jahr bei der Abrechnung sagen.

Kleine Randnotiz dazu:
Eventuell verkaufe ich das Haus hier auch demnächst und mein nächstes 
Projekt wird dann wohl eine Ölheizung von 2016 werden, aber das steht 
noch in den Sternen... dementsprechend werde ich Fallabhängig keinerlei 
Aussagen mehr dazu treffen können. Wenn alles Spruchreif ist, würde ich 
mich freuen, wenn jemand das Projekt aktiv weiter betreuen könnte. Ich 
kann da dann nur noch beratend zur Seite stehen.
Wie gesagt, Zukunftsmusik.

von Peter* (Gast)


Lesenswert?

Hallo Dave,

wie immer beeindruckend.

> Benutzt werden daher bei mir Raumthermostate

Habe mir erst vor kurzen einen Temp /Feuchte Sensor gewünscht, so groß 
wie eine alte 10DM Münze selbstklebend 10 Jahre betriebsbereit usw..... 
aber mit Energiebedarfsangabe wauuu. Ja, ohne Wandsensor ist es mehr als 
schwer. Aber wir uns einig es kann nur ein Schätzwert sein. ELV?

EG und OG: bin ich mir nicht sicher, ob nicht eher der Raum als das 
System die Priorität erhalten sollte. In der momentanen Zeit ist es ganz 
sicher das System Sparsam.

> Heizleistung

Habe die gleiche Erfahrung gemacht, auch die Erfahrung das sich die 
Wärme ändert. Habe in einigen Bereichen des Haues Heizkörper mit glatter 
Oberfläche Design_heizkörper sie verlieren einfach ~Leistung, die 
angenehme Strahlungswärme.

Meine Heizleistung habe ich von 22KW auf 10 beschränkt, angeblich kann 
meine 7KW aber füllt dann ständig den Siphon auf?? Hatte den 
Hintergedanken die Taktung zu reduzieren. Von wegen, die blieb.
Nun ich habe wohl keine Fußbodenheizung, aber konnte ich bis 0°C noch 
fahren. Die Heizkörper hatte ich aber auch vor 15 Jahren auf 45 
ausgelegt, bis aufs Bad.

Nun 3 Grad Differenz,...ist viel, habe schon auf die alten ELV FHT 
geschimpft, die geben 0,5 Grad an sind aber auch mal 1,2°C und das merkt 
man.

> absolute Minimum
Ja genau, Türen schließen und selbst Lüften war ein Temperaturverlust.

> dass eine höhere VLT effizienter ist
Nein, verfechte ich auf keinen Fall, möglichst optimal heißt alle 
~Möglichkeiten abdecken.

> Gestartet wird die Heizung
Seltsam, bei mir werden die Heizkörper als erstes aktiviert, warum... 
weil ich die Wärme schnell abführen will. Ein geschlossener Heißkreis 
führt zur Taktung.(es ist kein Bypass_System vorhanden). Man sieht auch 
bei Dir das der Brenner sofort wieder abschaltet. Block!

>Bild 3
super, die Effiziens der Brennwerttechnik kommt zum tragen.

> Kleine Randnotiz dazu:
Hatte mich schon gewundert, das Du dein BM1 so einfach abgeben willst.

ÖL :-( --> Sanierung - Pflicht--> Wärmepumpe wird kommen. Nimm die 
Heizung lieber mit :-)..

Hier wird wohl bald jeder eine andere Heizung haben oder ergänzen. Hoffe 
die Preise sinken wieder. Meine Heizung sieht aus wie neu, wenigstens 
von außerhalb der Rohrleitung(WW Behälter?? meistens das Aus). Hybrid, 
Pufferspeicher(um die Taktung zu unterbinden) und Solar ist bei mir 
angesagt.

> wenn jemand das Projekt aktiv weiter betreuen könnte
?? Schade :-(

von Joe Lucid (Gast)


Lesenswert?

Peter* schrieb:
> Hallo Joe,
>
> nun nach den letzten Beiträgen über BM2 (hoffe doch gelesen) kann ich
> nur sagen deine freie Entscheidung.
> Aber,... sollte man doch nutzen und wo sind die guten Bild von beiden
> Seiten BM2. :-).

Ja - ich hab alles gelesen. Ich hatte den BM2 schon vor einiger Zeit 
gekauft, wo noch im wesentlichen Erfolgsmeldungen gepostet wurden.

>
> Was heißt Du hast kein CAN-Bus Regler?

Na - ich hab ursprünglich den TA 211 E als Regler, der ohne CAN bus 
arbeitet. Der BM2 ersetzt diesen. Von daher kann ich nicht auf Basis 
einer Paketaufzeichnung sehen, welche Kommandos die Therme erhalten 
muss. Es sind jedenfalls nicht die 0x25x ... - und den eigenen Status 
meldet die Therme auch unter 0x230 folgende.

>
> Joe Lucid schrieb:
>> in einer Kaskade müssen alle Thermen unterschiedliche IDs
>> verwenden.
>
> Woraus leitest Du das ab?, ID heißt nicht unbedingt Gerät. Hier wird
> weitgehend mit einem Daten_Byte gearbeitet. Also stehen dir theoretisch
> 7 byte zur Codierung der Routine zur Verfügung. Aber egal.

Na jedes Can Bus Paket hat ja eine ID und dann gegebenenfalls payload. 
Und ich habe beim Mitschnitt meiner die 0x230 und folgende als IDs 
gesehen. Die Therme reagierte nicht auf 0x250 folgende.

0x200 ist schon mehr als ein byte - ich glaube der Adressraum ist 16 
bit.

>
> Joe Lucid schrieb:
>> Mein Problem: die Therme reagiert nicht auf 0x25x oder 0xf9
> Nun was sagen denn diese Routinen aus, 0xF9 war nach wie vor bei mir
> unbekannt, vielleicht ein Marker für xx.
> 0x25x sind Routinen die vom Ta250 versendet werden. Ein TA250 ist aber
> nicht fähig mit anderen Geräten zu arbeiten!! evtl. dein Error A8
>
> Also musst Du, mindestens laut Bosch Junkers, einen TA270 oder > haben
> und dann werden sicher auch hier die Routinen ID's sich ändern.

Also TA xxx hab ich gar nicht. Ich möchte die Therme nur mit dem esp32 
fernsteuern statt der TA 211 E.

> Joe Lucid schrieb:
>> Für diesen 2. Fall
>> ist es wichtig den BM2 mit anderen can bus Adressen zum laufen zu
>> bekommen. Da der BM1 ja unbezahlbar ist
>
> Verstehe ich nicht ganz,.. ersetze Therme 0 ! durch einen Arduino/Can
> oder so.. und mache Ihn zum Master der Kaskade. Kein BM1 kein Ta270...
> BM2 an deiner Therme. Alles erstmal Theorie!!! Winter ist kalt.

Ich sende mit Dave's firmware das, was ein TAxxx sonst senden würde. 
Aber meine Therme geht eben sofort in A8 - auch wenn sie ihren eigenen 
Status a'la 0x200 folgende kommuniziert.

von Joe Lucid (Gast)


Lesenswert?

3k Hysterese ist natürlich katastrophal. Ich habe mir einen Satz HR20 
gekauft und bin ziemlich zufrieden damit. Werde aber eine neue Firmware 
dafür schreiben und die drahtlos machen - ähnlich wie OpenHR20.

(a) Für mich ist das konstante Regeln einer Zimmertemperatur die erste 
grosse Priorität. Wenn das schwankt wird es im Tiefpunkt zu kalt und man 
stellt wärmer -> höhere Durchschnittstemperatur.

(b) Die zweite Priorität ist, Zimmer so schnell wie möglich von einer 
niedrigen Abwesenheitstemperatur auf behaglich zu bekommen. Meistens 
stehen viele unserer Zimmer leer - wenn man das in 15 min warm bekäme 
könnte man alles auf 17 Grad lassen bis Wärme benötigt wird.

(c) Dritte Priorität ist minimale VL Temp damit die Basisheizleistung 
effizient erbracht wird.

Wenn man es durchspielt merkt man schnell wie sich die Punkte 
widersprechen: bringt man den VL auf maximale Temp um ein Zimmer zu 
boosten, so wird es überall sonst wärmer - bis die Thermostate merken 
dass der Vorlauf heiss geworden ist. Es müssen also die Thermostate die 
VL Temp kennen, um antizipierend gegenzusteuern.

Die Zeit ein Zimmer ohne überschiessen warm zu bekommen ist deutlich 
durch die Abkühlung des Heizkörpers limitiert. Man muss schon deutlich 
vor Zieltemperatur gegensteuern, damit es nicht zu warm wird.

Das Problem will ich so angehen, dass ich bei Zieltemperatur das Ventil 
des nächsten zu erwärmenden Raums öffne, die Soll VL Temp unterstelle 
und so den VL aktiv abkühle. Also als erstes die Küche warm, dann 
währende gefrühstückt wird, die Bäder hochziehen, dann die Büros usw.

Für a) ist es essenziell Abweichungen der Raumdynamik sofort zu 
bemerken. Ich denke das geht gut indem man die Differenz zwischen 
Heizkörper- und Raumtemperatur mit der Ableitung der Raumtemperatur 
vergleicht. So wird man eine Kerze, mehrere Personen oder 
Sonneneinstrahlung sehr schnell bemerken und kann entsprechend 
gegensteuern BEVOR die Temperatur überschiesst - ggf mit aktiver 
Heizkörperabkühlung wie oben. Ich denke der HR20 arbeitet im Rahmen 
seiner Möglichkeiten schon so. Da muss man nur in den Raum kommen da 
dreht der schon zu.

Mal sehen alles so klappt wie ich denke. Wird jedenfalls sicher ein 
interessantes Projekt - wenn ich denn je die Therme zu steuern schaffe 
:).

von Joe Lucid (Gast)


Lesenswert?

Je besser das Modell des Systems, desto weniger muss getaktet werden. 
Wenn ich weiss, dass ich die Küche von 16 auf 20 Grad bekomme indem ich 
den Heizkörper einmal auf 70 Grad bringe und ihn dann abkühlen lasse 
während das Zimmer aufheizt, so kann die Therme eine Weile durchgehend 
laufen und dann abschalten. Der Tod ist niedrige VL Temp zur Erwärmung 
eines einzelnen Raums. Das kann nicht ohne Takten gehen.

Leider habe ich bisher nirgendwo echte Daten zur Ineffizienz des Takten 
gesehen. Es ist alles nur Spekulation. Wenn man die Daten hätte könnte 
man weiter optimieren - zb. die leeren Zimmer mit mehr Hysterese fahren 
und damit Taktzyklen auf Kosten höherer Durchschnittstemperaturen 
einsparen.

von Peter* (Gast)


Lesenswert?

Hallo,

nur kurz
>Kommandos

nun hatte ich erst vor kurzem nochmals erwähnt. Dave hatte unter der 
Adresse

https://docs.google.com/spreadsheets/d/1JzmhEbFY_GSk0Dl_e5pb2zmsy9EPlQU7bUpb9bXKxCM/edit?usp=sharing

die "bekannten ID's" zusammengefasst. Bitte selektieren, was Du senden 
(TA250...) kannst und was Du empfängst (BM1). In Dave's Programm ist 
ganz sicher auch eine ID Liste.

Die ID'S sind dem System entsprechend unterschiedlich (s.BM2)..

Der gebräuchliche ID Bereich des CAN Bus 11 bit (0x7FF)
ext. Bereich ID ist 29 bit mit jeweils 1-8 Byte max. Es existieren aber 
auch Transportprotokolle die wesentlich mehr Bytes haben "scheinbar"....

CAN Bus Grundwissen auffrischen.

..next

von Joe Lucid (Gast)


Lesenswert?

Peter* schrieb:

> die "bekannten ID's" zusammengefasst. Bitte selektieren, was Du senden
> (TA250...) kannst und was Du empfängst (BM1). In Dave's Programm ist
> ganz sicher auch eine ID Liste.
>
> Die ID'S sind dem System entsprechend unterschiedlich (s.BM2)..

Ja schon klar -- das hab ich mir alles angeschaut. Nur bin ich offenbar 
der erste, der ein System nur mit BM2 und Kaskadengerät 2 versucht zu 
steuern. Das BM2 sendet alles, was im Spreadsheet unter 0x200 ... 0x20f 
beschrieben ist, allerdings mit um 0x30 erhöhten Ids, also 0x230 ... 
0x23f. Es reagiert leider nicht auf die Kommandos 0x250 ... 0x25f und 
geht statt dessen innerhalb von wenigen Minuten auf Fehler A8.

Es liegt nahe, dass weitere Kaskadengeräte dann unter 0x260 ..., 0x290 
..., 0x2c0 ... senden. Jedes Gerät braucht ja seinen eigenen 
Kommandobereich damit es separat zugeschaltet werden kann - insofern 
passt 0x250 ... etwas schräg in den Id Bereich. Aber es mag auch sein 
dass 0x250 ... für die Führungstherme ist und andere Kaskadengeräte 
anders gemapped sind. Jedenfalls funktioniert der naheliegende Bereich 
0x280 ... leider nicht.

Da ich den Fehlercode der Therme über den Can Bus auslesen kann, könnte 
ich den gesamten Adressraum automatisch testen, falls die Therme nach 
Empfang eines gültigen Befehls wieder aus A8 herauskommt. Mir wäre also 
sehr geholfen, wenn mir jemand sagen könnte ob die Therme aus A8 wieder 
herauskommt (ohne Neustart) und was das minimale Kommando ist um A8 zu 
verhindern.

Wie gesagt kann ich leider nicht den gültigen Kommandobereich 
aufzeichnen, da ich über keine TAxxx verfüge.

von Joe Lucid (Gast)


Lesenswert?

BTW - es ist möglich dass ein TA270 oder TA300 die Kaskadeninstanz 2 mit 
Kommandos versorgt die A8 verhindern, selbst wenn Kaskadeninstanz 1 
fehlt. Wenn also jemand einen BM2 erfolgreich mit Aussenfühler und TA270 
oder TA300 betreibt, könnte man durch Ersetzen des AF mit 
Kodierwiderstand 2/2 auf dem Can Bus möglicherweise sofort sehen, was 
der richtige Bereich ist.

Kann aber auch sein, dass auch in diesem Fall A8 auf dem Kaskadengerät 2 
angezeigt wird - weswegen ich mir für den Test ungern eine TAxxx kaufen 
möchte.

von Dave G. (neuroquila-n8fall)


Lesenswert?

Ich lasse die Heizung schon anspringen weil es immer einen Heizkörper 
gibt, der 100% geöffnet ist und das ist der in der Diele im EG. Da ist 
es bitterkalt aber das ist auch kein Wohnraum. Über diesen Heizkörper 
lasse ich überschüssige Energie abfließen, damit mir keine Eisbahn 
entsteht.
Diese halbe Stunde "vorglühen" sorgt auch dafür, dass es weniger 
Geräusche im Haus gibt. Die Vorbesitzer haben einfach die Rohre durch 
die Wand gequetscht. Das klackert und Tackert recht hübsch, wenn man 
morgens gleich auf Zieltemperatur heizt. Auf die Diskussionen mit meiner 
besseren Hälfte hatte ich dann einfach keine Lust mehr, warum wochenends 
man von der Heizung geweckt wird.

Mit Blick in die Zukunft:
Wenn das alles so klappt wie ich mir das vorgestellt habe, landet 
ohnehin umgehend Solar + PV auf dem Dach und dazu dann später eine 
Pumpe. Ich überlege sogar noch mehr Geld dann später in die Hand zu 
nehmen und auf Erdwärme zu gehen. Eine gut dimensionierte und effiziente 
Wärmepumpe kann nunmal bei arktischen Temperaturen nichts mehr 
ausrichten und kostet nicht deutlich weniger als eine Erdbohrung + 
Pumpentechnik etc. Ich habe mir sagen lassen, dass die gängigsten 
WP-Modelle bereits bei -10°C zu kämpfen haben. Finde ich nicht so toll.

Zum Thema raumgeführte Steuerung:
Das geht wirklich nur effizient mit Elektroheizkörpern oder Infrarot. 
Wasser ist zu träge dafür.

Zum Thema BM2, Kaskade, etc.:
Fakt ist wir brauchen hier eine TAxxx am Can-Bus. Ohne kriegen wir kein 
reverse engineering zustande. Das heißt dann wohl auch Umbaumaßnahmen 
bzw. Umrüstung an der Therme selbst.
Alternativ: In den sauren Apfel beißen und BM1 (das "echte") anschaffen, 
zusammen mit Ta270 oder so als Backup.

Das kostet Geld, was einem natürlich die, wie man es so schön nennt, 
"ROI" verhageln kann. Man gibt 100€ und mehr für Umrüstung aus und am 
Ende spart man nichts ein weil die Heizung bereits optimal eingestellt 
wurde. Das kann auch passieren! Habe jetzt zum Beispiel eine Nachzahlung 
von über 300€ anstehen, weil das Mainboard kaputt war und die Therme 90% 
der Zeit auf volle Pulle lief. Da half meine tolle Steuerung auch 
nichts... Shit in, Shit out!

von Joe Lucid (Gast)


Lesenswert?

Dave G. schrieb:
> Zum Thema BM2, Kaskade, etc.:
> Fakt ist wir brauchen hier eine TAxxx am Can-Bus. Ohne kriegen wir kein
> reverse engineering zustande. Das heißt dann wohl auch Umbaumaßnahmen
> bzw. Umrüstung an der Therme selbst.
> Alternativ: In den sauren Apfel beißen und BM1 (das "echte") anschaffen,
> zusammen mit Ta270 oder so als Backup.

Am Ende mag das das Ergebnis sein - aber nicht zwangsläufig. Angesichts 
der Tatsache dass die Statusmeldungen meiner Therme 1:1 mit denen mit 
einer BM1 übereinstimmen (bis auf die Verschiebung von 0x30) halte ich 
es für nicht unwahrscheinlich (auch im Sinne der Annahme einer möglichst 
einfachen Implementierung der Firmware im BM2) dass die Kommandos 
ebenfalls bis auf eine Verschiebung übereinstimmen.

Durchaus denkbar dass das automatische Abscannen funktioniert - wenn 
denn der A8 Code reversibel ist. Das muss doch einem von Euch schon 
aufgefallen sein, ob A8 einen Neustart der Therme erfordert oder einfach 
nach Senden von gültigen Kommandos wieder verschwindet, oder? Und welche 
Kommandos A8 unterdrücken.

In einem vorherigen Beitrag sagte jemand ein beliebiges Kommando mit 
gültiger ID ohne payload würde A8 verhindern. In dem Fall wäre das 
Scannen trivial und schnell von mir zu implementieren.

von Joe Lucid (Gast)


Lesenswert?

Um es kurz zu skizzieren - sagen wir eine gültige ID ohne payload ist 
genug um die Therme aus A8 rauszuholen. Dann würde ich einfach von 0x0 
bis 0x7ff0 in 0x10 Abständen ein Paket ohne payload senden und jeweils 
warten welchen Errorcode die Therme zurück liefert. Das sind ganz 128 
Versuche. Die Therme liefert nämlich selbst im A8 Zustand den Fehlercode 
auf 0x236.

Ich könnte es auch einfach so versuchen - aber bei den Temperaturen 
kommen schnell Beschwerden von den Mitbewohnern :). Und ich kann mir 
nicht sicher sein ob die Can Bus Kommunikation zu dem BM2 überhaupt 
funktioniert.

Wenn Ihr mal in Eurem Erfahrungsschatz sucht komme ich wahrscheinlich 
schneller zum Ziel. Meine Mitbewohner würden es Euch danken!

von Joe Lucid (Gast)


Lesenswert?

Joe Lucid schrieb:
> Meine Mitbewohner würden es Euch danken!

Und ich!

von Joe Lucid (Gast)


Lesenswert?

Dave G. schrieb:
> Zum Thema raumgeführte Steuerung:
> Das geht wirklich nur effizient mit Elektroheizkörpern oder Infrarot.
> Wasser ist zu träge dafür.

Ich habe ganz gute Erfahrungen mit PC Lüftern als Verstärker der 
Heizleistung traditioneller Heizkörper gemacht. Da kommt jede Menge mehr 
raus als bei natürlicher Konvektion.

Mit 88 Grad Vorlauf könnte man denke ich eine deutlich schnellere 
Erwärmung erreichen - mit oder ohne Lüfter. Und meine Therme ist 
deutlich überdimensioniert so dass die Erwärmung der Heizkörper sehr 
schnell erfolgen kann. In den Büros sind ausserdem die Schreibtische 
direkt an der Heizung - d.h. der Komfort steigt schneller als die 
Zimmertemperatur über Strahlungswärme (ähnlich wie Infrarot).

Das echte Trägheitsproblem ist ein mögliches Überschiessen der 
Zieltemperatur. Aber da bin ich optimistisch das mit feed forward 
Regelung und ggf aktiver Kühlung des Heizkörpers durch Mischen mit 
Wasser aus kalten Zimmern in den Griff zu bekommen.

Natürlich will man den Vorlauf nicht immer auf 88 Grad fahren, um die 
Effizienz passabel zu halten. Deswegen der Wunsch nach einer 
integrierten Steuerung der Therme und Ventile.

Am Ende wird man eine deutliche Verbesserung erreichen. Natürlich in 
Grenzen, die dann die praktisch nutzbare Absenktemperatur bei 
Nichtnutzung nach unten beschränken. Je nach Heizkörperausstattung und 
Voraussagbarkeit der Nutzung wird man die Absenktemperatur für jeden 
Raum individuell festlegen müssen - auch tageszeitabhängig.

von Joe Lucid (Gast)


Lesenswert?

Dave G. schrieb:
> Das kostet Geld, was einem natürlich die, wie man es so schön nennt,
> "ROI" verhageln kann. Man gibt 100€ und mehr für Umrüstung aus und am
> Ende spart man nichts ein weil die Heizung bereits optimal eingestellt
> wurde. Das kann auch passieren! Habe jetzt zum Beispiel eine Nachzahlung
> von über 300€ anstehen, weil das Mainboard kaputt war und die Therme 90%
> der Zeit auf volle Pulle lief. Da half meine tolle Steuerung auch
> nichts... Shit in, Shit out!

Na komm - das echte ROI ist der Spass an der Sache! Aber beim BM1 ist's 
wirklich vorbei mit dem Spass. Das Ding kostet gerne ca. 300 Euro zur 
Zeit. Versuche ständig ein günstiges Exemplar zu ergattern.

von Peter* (Gast)


Lesenswert?

Hallo Dave,

> Ich lasse die Heizung schon anspringen...
Einen kalten Raum besitze ich auch und gleiches Problem. Meine 
Heizkörpereinstellung ist da momentan die einfache Funktion 15,5°C ohne 
Programm. Auch hier steigt der Ventilstatus in der Nacht, aber keine 90% 
mehr.

Erdwärme hatte ich mal ein Angebot, als ich ein Musterhaus besichtigt 
hatte.
"Ein Angebot, das Sie nicht ausschlagen können 20000Euro...."ist auch 
fast 20 Jahre her. einfach zu teuer.

@Joe

Wenn Du die Information hast, das dein BM2 zum BM1 werden kann, wo bitte 
ist das Problem noch? Kleinanzeigen Ebay TA270 ~~45 bis 80Euro.

Du schreibst Du hast keine Kommunikation (A8), dann musst Du auch eine 
Kommunikation aufbauen. Das geht nicht ohne, die BM1 und TA250... 
Junkers Bosch geben ganz sicher keine Infos darüber heraus und erst 
Recht nicht was sich der Softwerker sich so gedacht hat.

Das nur ein herumstochern, ein Restbus zu entwickeln ohne zu wissen was 
gesendet werden soll!!!??

Währe schön wenn Du ein paar Bilder des BM2 senden könntest. danke

von Joe Lucid (Gast)


Angehängte Dateien:

Lesenswert?

Peter* schrieb:

> @Joe
>
> Wenn Du die Information hast, das dein BM2 zum BM1 werden kann, wo bitte
> ist das Problem noch? Kleinanzeigen Ebay TA270 ~~45 bis 80Euro.

Meiner kann es eben nicht - aber wenn Du die vorherigen Beiträge 
durchliest dann funktioniert es bei manchen indem einfach statt 
Kodierungswiderstand der Aussenfühler angehängt wird. Meine Therme 
startet dann nicht mit Fehler CC. Es gibt offenbar unterschiedliche 
Versionen.

> Du schreibst Du hast keine Kommunikation (A8), dann musst Du auch eine
> Kommunikation aufbauen. Das geht nicht ohne, die BM1 und TA250...
> Junkers Bosch geben ganz sicher keine Infos darüber heraus und erst
> Recht nicht was sich der Softwerker sich so gedacht hat.

Man kann den Regler (TAxxx) mit Dave's Software und einem esp32 
ersetzen. Das ist es, was ich machen möchte. Ich brauche nur den 
passenden ID Bereich.

> Das nur ein herumstochern, ein Restbus zu entwickeln ohne zu wissen was
> gesendet werden soll!!!??

Meine Hypothese ist, dass die Kommandos die gleichen sind wie bei dem 
BM1 - nur an einen anderen ID Bereich gemapped. Wenn das richtig ist, 
muss ich den nur finden und das wäre einfach wenn der Fehlercode A8 
reversibel ist.

> Währe schön wenn Du ein paar Bilder des BM2 senden könntest. danke

Siehe Anhänge

von Jörg R. (rejoe2)


Lesenswert?

Jedenfalls meine Therme kommt wieder aus "A8", wenn man "irgendwas" 
dranhängt, das (irgend?) eine gültige Info sendet, ich würde das 
vorrangig mit der Raumtemperatur versuchen.

Das "nicht funktionierende" BM2 scheint ein "altes" zu sein (mit kleiner 
Bestückung), und ich würde annehmen, dass ein "2." in einer Kaskade 
eigentlich schon "glücklich" ist, wenn es eine Außentemperatur sieht. 
Die kommt nach meinem Verständnis ausschließlich von einem BM1.
Es kann aber auch sein, dass die "Position" BM1 auch die eines Art 
"Busmaster" ist, der die Adressabfrage eintaktet, das müßte man dann in 
die firmware integrieren, aber dazu müßte man wissen, wie die 
betreffende Logik ist (also falls jemand das in einer echten Kaskade 
hat...?).

@Dave: Ich würde gerne dein überzähliges Interface nehmen und stelle 
gerne auch willigen Testern mein(e) überzählige(n) zur Verfügung, sobald 
ich selbst wieder aktiv an dem Thema dran bin und ggf. auch weiß, wie 
man die effektiv nutzen kann (das Spannungsproblem...). Meine derzeitige 
Prio liegt derzeit allerdings noch woanders, das wird vermutlich erst in 
ein paar Wochen weitergehen.

Würde auch den "Notfallmaintainer" für die Firmware machen, falls sich 
niemand findet mit besseren C/C++-Skills (ich bin eigentlich DAU...).

: Bearbeitet durch User
von Jörg R. (rejoe2)


Lesenswert?

Joe Lucid schrieb:
> Meiner kann es eben nicht - aber wenn Du die vorherigen Beiträge
> durchliest dann funktioniert es bei manchen indem einfach statt
> Kodierungswiderstand der Aussenfühler angehängt wird. Meine Therme
> startet dann nicht mit Fehler CC. Es gibt offenbar unterschiedliche
> Versionen.
Gibt es, siehe auch meine Bilder weiter oben. Du hast das alte mit der 
"kleinen" Bestückung.
Das kann offenbar die Außentemperatur nicht selbst ermitteln, von daher 
würde ich diese vom ESP her auf den Bus schieben, und zwar unter der 
Adresse, die in Dave's Spreadsheet zu finden ist (keine Verschiebung).

> Meine Hypothese ist, dass die Kommandos die gleichen sind wie bei dem
> BM1 - nur an einen anderen ID Bereich gemapped. Wenn das richtig ist,
> muss ich den nur finden und das wäre einfach wenn der Fehlercode A8
> reversibel ist.
Könnte sein, dass das mit dem Mapping hinhaut. Wie geschrieben: Bei 
meiner Therme reicht es, wenn irgendeine gültige Info kommt, und das war 
auch das, was Dave immer berichtet hatte (da war es lange die Uhrzeit?).

Nach dem was du schilderst, klingt es aber danach, als wäre der ESP 
nicht in der Lage, was auf den Bus zu schreiben. Kannst du mal die 
Spannungspegel ausmessen? Und/oder auch die Widerstandswerte (evtl. ist 
auf dem alten BM1 noch ein Abschlusswiderstand?).

von Joe Lucid (Gast)


Lesenswert?

Jörg R. schrieb:
> Jedenfalls meine Therme kommt wieder aus "A8", wenn man "irgendwas"
> dranhängt, das (irgend?) eine gültige Info sendet, ich würde das
> vorrangig mit der Raumtemperatur versuchen.

Super! Vielen Danke! Das hilft doch schon mal weiter.

Jörg R. schrieb:
> Das "nicht funktionierende" BM2 scheint ein "altes" zu sein (mit kleiner
> Bestückung), und ich würde annehmen, dass ein "2." in einer Kaskade
> eigentlich schon "glücklich" ist, wenn es eine Außentemperatur sieht.
> Die kommt nach meinem Verständnis ausschließlich von einem BM1.

Das ist keine schlechte Idee. Ich bin aber etwas skeptisch weil die BM? 
ja nicht regeln sondern nur die Kommandos der TA??? umsetzen. Also 
brauchen die gar keine Aussentemperatur.

> Es kann aber auch sein, dass die "Position" BM1 auch die eines Art
> "Busmaster" ist, der die Adressabfrage eintaktet, das müßte man dann in
> die firmware integrieren, aber dazu müßte man wissen, wie die
> betreffende Logik ist (also falls jemand das in einer echten Kaskade
> hat...?).

Wenn jemand eine Kaskade hätte wäre das natürlich perfekt. Ich denke der 
TA??? würde eher den Busmaster spielen. Falls das überhaupt notwendig 
ist. Der Can Bus ist ja so konzipiert dass Kollisionen erkannt werden 
können. Jedenfalls schickt mein BM2 brav alle Statuspakete ohne 
aufgefordert zu werden.

Man kann wohl mit hoher Wahrscheinlichkeit vermuten dass die 
Kommando-IDs der Geräte 2-5 auf andere IDs als 0x250 - 0x25f gemapped 
sind, damit der Regler sie einzeln kontrollieren kann.

Vielleicht noch an Dave: unterbindet beim BM1 nur 0xf9 den Fehler A8 
oder reichen Pakete an andere gültige Adressen?

von Joe Lucid (Gast)


Lesenswert?

Jörg R. schrieb:

> Gibt es, siehe auch meine Bilder weiter oben. Du hast das alte mit der
> "kleinen" Bestückung.
> Das kann offenbar die Außentemperatur nicht selbst ermitteln, von daher
> würde ich diese vom ESP her auf den Bus schieben, und zwar unter der
> Adresse, die in Dave's Spreadsheet zu finden ist (keine Verschiebung).

Funktioniert der BM2 mit grossem Chip immer? Die gibt es einigermassen 
günstig - das wäre noch eine Alternative.

>
>> Meine Hypothese ist, dass die Kommandos die gleichen sind wie bei dem
>> BM1 - nur an einen anderen ID Bereich gemapped. Wenn das richtig ist,
>> muss ich den nur finden und das wäre einfach wenn der Fehlercode A8
>> reversibel ist.
> Könnte sein, dass das mit dem Mapping hinhaut. Wie geschrieben: Bei
> meiner Therme reicht es, wenn irgendeine gültige Info kommt, und das war
> auch das, was Dave immer berichtet hatte (da war es lange die Uhrzeit?).

Sehr cool. Dann mach ichs mit der Uhrzeit!

> Nach dem was du schilderst, klingt es aber danach, als wäre der ESP
> nicht in der Lage, was auf den Bus zu schreiben. Kannst du mal die
> Spannungspegel ausmessen? Und/oder auch die Widerstandswerte (evtl. ist
> auf dem alten BM1 noch ein Abschlusswiderstand?).

Die Pegel sehen ok aus und die Therme sendet auch das Ack bit wenn ich 
was schicke. Aber gerade durchgemessen: keine Seite terminiert den Bus. 
Das könnte also in der Tat Teil des Problems sein. Das teste ich beim 
nächsten Versuch durch.

Wie ist die Terminierung bei BM1/TA??? aus? 120 Ohm auf beiden Seiten?

von Jörg R. (rejoe2)


Lesenswert?

Joe Lucid schrieb:
> Das ist keine schlechte Idee. Ich bin aber etwas skeptisch weil die BM?
> ja nicht regeln sondern nur die Kommandos der TA??? umsetzen. Also
> brauchen die gar keine Aussentemperatur.
Der BMx braucht die Außentemperatur auch nicht, aber die Therme. Hatten 
wir hier weiter oben schon nette Diskussionen darüber, wie man "TA" und 
Therme jeweils "einordnen" soll. Fakt ist afaik: Die Therme läuft los, 
sobald sie eine Außentemperatur hat. Ganz egal, ob die vom "211" kommt 
oder vom physischen Außenfühler via BM1 "alt" oder BM2 "neu". Von daher 
wäre es nur logisch, dass die "alten" BM2 halt über den Bus diese 
essentielle Info beziehen, und "gut ist".

> Wenn jemand eine Kaskade hätte wäre das natürlich perfekt. Ich denke der
> TA??? würde eher den Busmaster spielen. Falls das überhaupt notwendig
> ist. Der Can Bus ist ja so konzipiert dass Kollisionen erkannt werden
> können. Jedenfalls schickt mein BM2 brav alle Statuspakete ohne
> aufgefordert zu werden.
Na ja, die Umsetzung des Bus-Konzepts in diesen Thermen ist jedenfalls 
einigermaßen "speziell", von daher erlebt man immer wieder 
Überraschungen...

Und die Thermen nehmen die übermittelten Vorgaben nicht sklavisch an, 
sondern verarbeiten die. Kommt was "zu komisches" raus, geht die Therme 
in eine Art "Notbetrieb" und regelt autonom.

> Man kann wohl mit hoher Wahrscheinlichkeit vermuten dass die
> Kommando-IDs der Geräte 2-5 auf andere IDs als 0x250 - 0x25f gemapped
> sind, damit der Regler sie einzeln kontrollieren kann.
Jeder Teilnehmer ein eigener Adressbereich (bzw. eine eigene 
"Normalverschiebung" klingt für mich logisch. Wir hatten eine Lücke 
zwischen 0x25x und 0x300. Würde also für einen 2. TN dann mal auf 0x26x 
tippen.

> Vielleicht noch an Dave: unterbindet beim BM1 nur 0xf9 den Fehler A8
> oder reichen Pakete an andere gültige Adressen?
Aus den Diskussionen mit ihm hatte ich im Hinterkopf mitgenommen, dass 
einfach überhaupt nur eine passende Adresse kommen muss, auch leere 
Payloads reichen aus, um die Therme aus dem Fehlerzustand zu holen.

von Jörg R. (rejoe2)


Lesenswert?

Joe Lucid schrieb:
> Funktioniert der BM2 mit grossem Chip immer? Die gibt es einigermassen
> günstig - das wäre noch eine Alternative.
Das kann ich nicht sagen, weil meiner nach den ersten Tests dann nicht 
mehr mit dem ESP kommunizieren wollte (da ist die Versorgungsspannung 
plötzlich auf ca. 30V hoch).
Mit der TA250 funktioniert der BM2 aber problemlos (in der Funktion als 
BM1).

> Sehr cool. Dann mach ichs mit der Uhrzeit!
Nimm' aus den genannten Gründen die Außentemperatur. Damit sollte auch 
die Therme ordnungegemäß laufen, wenn dieser Wert immer ok ist!

> Die Pegel sehen ok aus und die Therme sendet auch das Ack bit wenn ich
> was schicke. Aber gerade durchgemessen: keine Seite terminiert den Bus.
> Das könnte also in der Tat Teil des Problems sein. Das teste ich beim
> nächsten Versuch durch.
>
> Wie ist die Terminierung bei BM1/TA??? aus? 120 Ohm auf beiden Seiten?
Jedenfalls ich war nicht in der Lage, da sinnvoll was zu messen. Die 
Widerstandswerte schwanken zwischen spannungslos und in Betrieb 
gemessen... Wenn du das Ack siehst, dürfte alles ok sein.
Wir sehen mehr, wenn du erst mal was passendes auf dem Bus geschrieben 
hast.

von gradius-v (Gast)


Lesenswert?

Ich habe an meinem BM1

Joe Lucid schrieb:
> Meiner kann es eben nicht - aber wenn Du die vorherigen Beiträge
> durchliest dann funktioniert es bei manchen indem einfach statt
> Kodierungswiderstand der Aussenfühler angehängt wird. Meine Therme
> startet dann nicht mit Fehler CC. Es gibt offenbar unterschiedliche
> Versionen.

Ich betreibe mein BM1 ohne Außenfühler mit diesem branch von Daves 
Firmware: 
https://github.com/Neuroquila-n8fall/JunkersControl/tree/feature-outside-temp
Der Fehler CC läßt sich bei mir folgendermaßen unterdrücken:
In main.cpp hier msg.data[0] = 1 in msg.data[0] = 0 ändern.
1
      // Temperature regulation mode
2
      //  1 = Weather guided | 0 = Room Temperature Guided
3
      case 1:
4
        msg = PrepareMessage(configuration.CanAddresses.Heating.Mode, 1);
5
        msg.data[0] = 0;
6
        break;

Vielleicht hilft das auch in deiner Konstellation.

von Jörg R. (rejoe2)


Lesenswert?

gradius-v schrieb:
> Vielleicht hilft das auch in deiner Konstellation.

Coole Idee! Damit sollte sich rausfinden lassen, unter welcher Adresse 
der 2. TN diese Angabe erwartet, oder habe ich das Prinzip 
missverstanden?

von Joe Lucid (Gast)


Lesenswert?

Jörg R. schrieb:
> Der BMx braucht die Außentemperatur auch nicht, aber die Therme. Hatten
> wir hier weiter oben schon nette Diskussionen darüber, wie man "TA" und
> Therme jeweils "einordnen" soll. Fakt ist afaik: Die Therme läuft los,
> sobald sie eine Außentemperatur hat. Ganz egal, ob die vom "211" kommt
> oder vom physischen Außenfühler via BM1 "alt" oder BM2 "neu". Von daher
> wäre es nur logisch, dass die "alten" BM2 halt über den Bus diese
> essentielle Info beziehen, und "gut ist".

Ah ok - danke.

> Jeder Teilnehmer ein eigener Adressbereich (bzw. eine eigene
> "Normalverschiebung" klingt für mich logisch. Wir hatten eine Lücke
> zwischen 0x25x und 0x300. Würde also für einen 2. TN dann mal auf 0x26x
> tippen.

Ich werde die Therme beim nächsten Mal auf Gerät 3 kodieren. Mal sehen 
wo sie dann sendet. Man würde erwarten 0x260 - mal sehen.

> Aus den Diskussionen mit ihm hatte ich im Hinterkopf mitgenommen, dass
> einfach überhaupt nur eine passende Adresse kommen muss, auch leere
> Payloads reichen aus, um die Therme aus dem Fehlerzustand zu holen.

Ja so erinnere ich es auch.

von Joe Lucid (Gast)


Lesenswert?

gradius-v schrieb:
> Vielleicht hilft das auch in deiner Konstellation.

Hervorragende Idee! Vor allem weil es im Adressbereich der 
Regler->Therme Kommandos liegt (im Gegensatz zu Aussentemperatur). Damit 
werde ich es probieren.

von Joe Lucid (Gast)


Lesenswert?

gradius-v schrieb:
> Der Fehler CC läßt sich bei mir folgendermaßen unterdrücken

Meinst Du A8 oder wirklich CC? Das ist ja sonst noch ein ganz neuer 
Ansatz: BM2 ohne Kodierwiderstand und damit CC unterbinden. Vielleicht 
präsentiert sie sich dann ganz normal an 0x20x.

von Peter* (Gast)


Lesenswert?

Hallo,

Joe Lucid schrieb:
> Es reagiert leider nicht auf die Kommandos 0x250 ... 0x25f und
> geht statt dessen innerhalb von wenigen Minuten auf Fehler A8

das darf er auch nicht!!, weil er nicht BM1/TA270 ist, durch die 
Codierung hat er seine Aufgabe bekommen und die heißt, mit timeout der 
Masterheizung "bei bedarf" zu folgen (VLT).

A8 keine Kommunikation zum Bediengerät.

BM1/Ta270 muss ersetzt werden und was Heizung 2 mitgeteilt bekommt oder 
wie er es weiter sendet steht erstmal in den Sternen, weil du kein 
fehlerfreies System hast. Kann.. muss nicht...

BM2 muss die Id Gruppe (Soll) 0x25x ignorieren.

!! Ich würde vorsichtig sein.. mit Abschlusswiderständen 120Ohm die 
werden nicht einmal erwähnt. Überlastung Zerstörung !!

von Dave G. (neuroquila-n8fall)


Lesenswert?

Sobald die Therme ein Paket vom TA-Bereich sieht, springt sie 
eigenständig aus A8 wieder raus.

Man sieht schon vorher ob Kommunikation funktioniert, wenn der 
Außentemperaturfühler angeschlossen ist und die Temperatur im 
Infodisplay angezeigt wird. Verschwindet die Temperatur nun, ist die 
Kommunikation hinüber, kurz darauf kommt A8. Ich empfehle so oder so 
diesen Fühler anzubringen, falls noch nicht vorhanden. Dadurch hat man 
die Option auf einen guten Notbetrieb, wenn der ESP mal kaputt geht und 
grad keine Lösung bereit liegt. Ohne Fühler läuft das Gerät einfach 
ineffizient.

Sobald die Kommunikation wieder steht, taucht die Außentemperatur wieder 
auf und es bleibt nur der Eintrag im Fehlerspeicher übrig.

Ich habe sehr viele schlechte Erfahrungen gemacht mit diesem Thema. Am 
Ende vom Tag, und entschuldigt wenn ich das Gebetsmühlenartig 
wiederhole, kann auch wenn alles perfekt aussieht einfach das Mainboard 
von der Therme kaputt sein. Ich habe hier so viele Konstrukte 
ausprobiert die alle den A8 geschmissen haben zuletzt, dass ich bald 
wahnsinnig geworden bin.

von Joe Lucid (Gast)


Lesenswert?

Dave G. schrieb:
> Man sieht schon vorher ob Kommunikation funktioniert, wenn der
> Außentemperaturfühler angeschlossen ist und die Temperatur im
> Infodisplay angezeigt wird.

Meine ZWR - 18/5 hat gar kein Infodisplay. Du meinst an der Therme, 
richtig? Denn für diese Tests ist der TA??? ja gar nicht verbunden.

Dave G. schrieb:
> Sobald die Therme ein Paket vom TA-Bereich sieht, springt sie
> eigenständig aus A8 wieder raus.

Dave G. schrieb:
> Ich habe hier so viele Konstrukte
> ausprobiert die alle den A8 geschmissen haben zuletzt, dass ich bald
> wahnsinnig geworden bin.

Wie passen diese beiden Sätze zusammen? Wenn jedes Paket vom TA-Bereich 
A8 verhindert, warum bist Du dann immer wieder dort gelandet?

von Dave G. (neuroquila-n8fall)


Lesenswert?

Wenn man Nachrichten schickt aber die Therme trotzdem auf A8 springt und 
das CAN Modul nachweislich in Senderichtung funktioniert, dann muss das 
nicht heißen, dass man etwas falsches schickt. Es kann auch bedeuten, 
dass das Mainboard der Therme oder das Busmodul einen Schaden hat.

Die Raumregler kommen mit solchen Diskrepanzen wunderbar klar.

von Joe Lucid (Gast)


Lesenswert?

Peter* schrieb:
> BM1/Ta270 muss ersetzt werden und was Heizung 2 mitgeteilt bekommt oder
> wie er es weiter sendet steht erstmal in den Sternen, weil du kein
> fehlerfreies System hast. Kann.. muss nicht...

Ich denke es ist wahrscheinlich dass die TA??? die Steuerung im 
wesentlichen übernimmt. Du siehst es daran dass die TA270 3 Geräte und 
eine feste Führungstherme unterstützt, während der TA300 5 Geräte regelt 
und die Führungstherme konfigurierbar ist.

Kann natürlich sein dass das Folgen der untergeordneten Geräte fest im 
bm? kodiert ist und die einzelnen Thermen nicht separat gesteuert 
werden. Dann würde die Steuerung nur die Rollen zuweisen.

So hätte ich das allerdings nicht gelöst, um Flexibilität für zukünftige 
Steuerungen zu erhalten.

von Joe Lucid (Gast)


Lesenswert?

Dave G. schrieb:
> Wenn man Nachrichten schickt aber die Therme trotzdem auf A8
> springt und
> das CAN Modul nachweislich in Senderichtung funktioniert, dann muss das
> nicht heißen, dass man etwas falsches schickt. Es kann auch bedeuten,
> dass das Mainboard der Therme oder das Busmodul einen Schaden hat.
>
> Die Raumregler kommen mit solchen Diskrepanzen wunderbar klar.

Ein Alptraum - vor allem wenn die Raumregler damit klarkommen. Da muss 
ja doch noch irgendetwas instabil sein in unserem Ansatz.

von gradius-v (Gast)


Lesenswert?

Joe Lucid schrieb:
> Meinst Du A8 oder wirklich CC? Das ist ja sonst noch ein ganz neuer
> Ansatz: BM2 ohne Kodierwiderstand und damit CC unterbinden. Vielleicht
> präsentiert sie sich dann ganz normal an 0x20x.

Wirklich CC. Und die Message 0x258 = 0 unterdrückt den Fehler.
Ich habe auch einen TA300, der sendet 0x258 = 1 und die Therme geht ohne 
Außenfühler am BM1 sofort auf CC. Man kann am TA300 auch einen 
Raumfühler anschließen, ich schätze dann würde er auch 0x258 = 0 senden 
(nicht getstet!).

von Peter* (Gast)


Lesenswert?

Hallo,

Joe Lucid schrieb:
> Ich denke es ist wahrscheinlich dass die TA??? die Steuerung

Es ist schon so wie ich geschrieben (BM1/TA...)habe und vielleicht noch 
wesentlich komplexer. TA270<... ist nur ein "Bedienteil" (Soll) aber 
(Ist) ist BM1 bzw. evtl. Regelungsparameter der Thermen mit BM2.

Die normale Heizung mit BM2 ist ausgeblendet, sie wird geführt.

Ich verstehe nicht, das Du in deiner geschilderten Situation (Mieter mit 
Bewohner.) dich auf eine solche Erkundung wagst.

Schon mal überlegt, statt ein Außenfühler einen Widerstand anzuschließen 
evtl. ist das Hardwareproblem (Erkennung AF) gelöst und dann per SW 
selektieren. Der AF muss doch vorhanden sein (TA211E oder?).... aber 
nicht einen HW Fehler ignorieren.

...oder einfach überlegen... eine BM1/Ta270 zuzulegen. Man kann BM2 noch 
verkaufen noch.

Habe mir erst im Sommer eine alte Heizung ZBS22 gekauft für 150Euro bis 
vor die Tür kam der freundliche Mann.

verstehe ich nicht, Euer drumherum reden.

von Joe Lucid (Gast)


Lesenswert?

So - neue Erkenntnisse:

- Bm2 ohne Kodierwiderstand und mit 0x238 = 0 oder 0x208 = 0 bringt die 
Therme nicht aus dem CC Error raus.


- Mit Kodierwiderstand hab ich mir die logs nochmal im Detail angesehen 
und festgestellt dass ein zusätzliches byte für jedes update von der 
Therme gesendet wird - nämlich die Instanz die man mit dem Widerstand 
eingestellt hat.

Das ist natürlich sinnvoll - so passt alles auf einen Satz IDs.

Leider gelingt es mir nach wie vor nicht auch nur ein einzelnes Paket 
erfolgreich an die Therme zu schicken. Ich bekomme Acks aber komme die 
aus A8 raus. So kann das Problem immernoch auf der Id Seite oder der 
hardware Seite liegen.

von Joe Lucid (Gast)


Lesenswert?

Peter* schrieb:
> Hallo,
>
> Joe Lucid schrieb:
>> Ich denke es ist wahrscheinlich dass die TA??? die Steuerung
>
> Es ist schon so wie ich geschrieben (BM1/TA...)habe und vielleicht noch
> wesentlich komplexer. TA270<... ist nur ein "Bedienteil" (Soll) aber
> (Ist) ist BM1 bzw. evtl. Regelungsparameter der Thermen mit BM2.

Ich glaub wir haben da keinen Konflikt. Der TA??? regelt die 
Solltemperatur, und der BM? zusammen mit der Therme implementiert das, 
was natürlich auch eine Regelleistung ist.

TA??? implementiert selber Heizkurve, Timer, Raumgeführte Steuerung usw 
usf.

> Die normale Heizung mit BM2 ist ausgeblendet, sie wird geführt.

Der TA300 kann jede Maschine in der Kaskade zur Führungstherme machen. 
Ist halt die Frage wie das implementiert ist. Gibt es einen Befehl zur 
Zuordnung der Führungsrolle - oder schaltet der TA??? einfach manuell 
eine Therme primär an und dann wenn der Vorlauf 3K unter soll hinkt eine 
weitere?

Hast Du da spezifische Einsichten?

>
> Ich verstehe nicht, das Du in deiner geschilderten Situation (Mieter mit
> Bewohner.) dich auf eine solche Erkundung wagst.

Naja die Mitbewohner sind meine Familie. Und ich bin nicht besonders 
ängstlich.

>
> Schon mal überlegt, statt ein Außenfühler einen Widerstand anzuschließen
> evtl. ist das Hardwareproblem (Erkennung AF) gelöst und dann per SW
> selektieren. Der AF muss doch vorhanden sein (TA211E oder?).... aber
> nicht einen HW Fehler ignorieren.

Ja das mach ich doch die ganze Zeit so weil der Aussenfühler sofort zu 
CC führt.

von Joe Lucid (Gast)


Lesenswert?

Wäre natürlich wirklich möglich, dass die geführten Geräte auf Vorlauf 
Soll und Ist des Masters schauen und selbständig einspringen. Aber das 
erscheint mir unflexibel und beschränkt und deswegen die weniger 
wahrscheinliche Implementierung.

von Peter* (Gast)


Lesenswert?

Hallo,

es gäbe unter den vielen Möglichkeiten (Spielereien) der Sonderfunktion 
"Kaskade" auch evtl. die Möglichkeit die Masterheizung nur als 
Sollformation TA... zu nutzen und die Heizung x nur in der SW 
umzuschalten und seine Werte selbst zu berechnen. Deshalb vielleicht 
erst BM2. ("nur entgegengesetzte Spinnereien")

Zur Info: TA270 ... wird auch so mit BM10 und BM20 benutzt unter HT3.

Hast Du denn schon mal die erst Heizung BM1/TAxxx simuliert(ESP/Can) 
(mit AF Id) in dem Du alle IDs auf den Bus legst zeitlich korrekt.

von gradius-v (Gast)


Lesenswert?

Joe Lucid schrieb:
> - Bm2 ohne Kodierwiderstand und mit 0x238 = 0 oder 0x208 = 0 bringt die
> Therme nicht aus dem CC Error raus.

Und mit 0x258 = 0 ?

von Joe Lucid (Gast)


Angehängte Dateien:

Lesenswert?

gradius-v schrieb:
> Joe Lucid schrieb:
>> - Bm2 ohne Kodierwiderstand und mit 0x238 = 0 oder 0x208 = 0 bringt die
>> Therme nicht aus dem CC Error raus.
>
> Und mit 0x258 = 0 ?

Geht auch nicht. Das hab ich als erstes probiert, weil es schon in 
Dave's Code drin ist und ich nur den Parameter auf 1 setzen musste.

Habe inzwischen noch eine weitere Theorie: seht Euch mal den Anhang an. 
Alle Kaskaden benötigen einen HSM um die gemeinsame Vorlauftemperatur zu 
bestimmen.

Ich könnte mir gut vorstellen, dass Therme 1 anhand des Vorhandenseins 
der vom HSM gemeldeten VL Temp selber auf Kaskadengerät umschaltet (dh 
dann auch auf 0x23? meldet mit erstem payload byte 1). Und dass dann die 
einzelnen Thermen auf 0x28? (0x25? + 0x30, gleicher Offset wie 23? ggü 
20?) wieder mit führendem payload byte als Kaskadenadresse 
konfigurierbar sind.

Das wäre ein flexibler Ansatz. Es würde dem TA300 ermöglichen, das 
Führungsgerät einfach dadurch zu wählen, dass es als erstes aktiviert 
wird. Und er könnte so auch die zugeschalteten Thermen zufällig 
auswählen um Abnutzung zu verteilen (wie das die TA300 kann).

Fragt sich nur unter welcher Id der HSM die Vorlauftemperatur meldet.

von Joe Lucid (Gast)



Lesenswert?

Auch interessant (siehe Anhang):

Im TA300 lassen sich die Infos der einzelnen Kaskadengeräte auslesen und 
zusätzlich globale Parameter:

- Aussentemperatur
- Gemeinsamer Vorlauf Soll
- Gemeinsamer Vorlauf Ist
- Nachlauf Offset

Möglich dass einfach 0x20? für diese Parameter bei Kaskadenschaltung 
benutzt wird und die Therme 1 anhand einer auf 0x20? gesendeten 
Vorlauftemperatur auf Kaskadenmodus umschaltet. Aber das ist alles 
Spekulation.

Zweiter Anhang zeigt die flexiblen Kaskadenparameter der TA300 die es 
mir wahrscheinlich erscheinen lassen dass die TA300 selber die Kaskade 
implementiert.

von Joe Lucid (Gast)


Lesenswert?

Joe Lucid schrieb:

> Fragt sich nur unter welcher Id der HSM die Vorlauftemperatur meldet.

Ich glaub ich habs gefunden: 
Beitrag "Re: Junkers CAN-Bus Protokoll"

0x25a/0x220.

von Peter* (Gast)


Lesenswert?

Hallo,

vielleicht interessant für Dich:

habe hier noch ein Schreibtischaufbau (BM1/TA250/AF/Netzteil). Es juckt 
überhaupt nicht ob AF angeschlossen ist oder nicht (-20).

Sicher kann der Fehler noch unbemerkt über I2C der Heizung mit geteilt 
werden.
~~Vielleicht hilft es aber den Bereich einzugrenzen.

Wird BM2 im Gerät erkannt? Service in deiner Heizung.

von Joe Lucid (Gast)


Lesenswert?

Jörg R. schrieb:
> Thomas schrieb:
>> bzgl. BM2-Hardware(-Generation):
>> ich meinte nicht "kleiner = weniger Features", eher "kleiner weil neuer"
>
> Die Rechnung haut mAn. so nicht hin. Lt. FD-Nummer ist das "BM2" mit dem
> großen IC das neuere...
> Das andere wurde als "BM1" verkauft. Wenn man in der Bucht sucht, findet
> man zu beidem auch beide Versionen.

Habe gerade mal etwas recherchiert - mir scheint das sind beides BM1.

Produktnummern für BM1: 8744501086, 8748300289, 87472071490, 8748300370 
(kleiner chip)
BM2: 8748300379, 8748300347

Das würde ja dann auch dazu passen dass nicht alle BM2 funktionieren. 
Nur die, die in Wirklichkeit BM1 sind.

von Thomas (campino)


Lesenswert?

mein BM2 (mit kleinem Chip) war ein 8748300379, also demnach nur 
eingeschränkte Funktion, würde passen

von Peter* (Gast)


Lesenswert?

Hallo,

Zweifel hatte ich ja schon geäußert.

HW: wo für braucht ein BM2 eine Stromquelle LM317 to220 und die andere 
nicht; Beschreibung sind nur mit großen Aufbau.

Ich besitze zwei BM1 mit gleichen Junkers Bosch Nr....370 und gleichen 
"Front_Nr. ....227" die aber unterschiedlich in der HW sind.

Zwei weitere Nr. sind aufgefallen 0002 zu 0019 (~Layout_Nr.)und neben 
dem Strecke SK1 (~Versions_Nr.)im Kreis 0.2 zu 0.3.

Ich kenne solch eine Kennzeichnung nicht.

Aber was hilf Dir das alles, dann müsste doch dein BMx funktionieren.

von Peter* (Gast)


Lesenswert?

Hallo,

> eingeschränkte Funktion

woher kommt diese Aussage?

von Jörg R. (rejoe2)


Lesenswert?

Joe Lucid schrieb:
> Habe gerade mal etwas recherchiert - mir scheint das sind beides BM1.
>
> Produktnummern für BM1: 8744501086, 8748300289, 87472071490, 8748300370
> (kleiner chip)
> BM2: 8748300379, 8748300347
>
> Das würde ja dann auch dazu passen dass nicht alle BM2 funktionieren.
> Nur die, die in Wirklichkeit BM1 sind.
Das halte ich nicht für korrekt. Zum einen: Warum sollte jemand ein BM1 
als BM2 verkaufen, wenn er für ein BM1 mehr erlösen könnte? (OK, Fehler 
passieren; ist aber nicht unbedingt die Regel).

Zum anderen: Die beiliegende Bedienungsanleitung war für BM2, und die 
Abbildungen passen...
Würde behaupten, dass da jemand schlicht und ergreifend gemerkt hat, 
dass das Design von BMx alt nicht optimal war, eine neue HW-Revision 
gemacht hat und dann eben einen ausreichend potenten Chip genommen hat, 
der beides abdecken kann. Dann wurde nach und nach die SW so angepaßt, 
dass die selbständig erkennen kann, welche Funktion gewünscht ist... Bei 
der Bestückung hat man dann halt "Einheitsware" aufgebaut, warum auch 
immer, vielleicht, um die intern vorhandenen Spannungspegel besser im 
Griff zu haben.
(Es ist aber nach wie vor komisch, dass mein MBx-alt nur ca. 15V 
liefert, und das BMx neu eben neuerdings 30V. Beides außerhalb der 
spec...

von Joe Lucid (Gast)


Lesenswert?

Es gibt aber BM2 mit grossem Chip auch mit den BM2'er Produktnummern - 
z.b. https://www.ebay.de/itm/185128652217. Ich denke es ist möglich dass 
die HW identisch ist aber die Funktion über spezielle Firmware 
selektiert wird. Man siehts an den firmware Sockeln und den aufgeklebten 
letzten drei Ziffern der Produktnummer.

Solange wir kein Beispiel eines BM2 mit großem Chip und BM2 
Produktnummer haben, welcher nachgewiesenerweise als BM1 funktioniert, 
würde ich auch die boards mit grossem Chip nur mit den BM1 
Produktnummern kaufen.

Hab mir gestern einen 8748300289 mit grossem Chip gekauft (BM1 oder 2 
nicht näher bestimmt). Bei dem bin ich relativ optimistisch.

Mein Eindruck ist dass der 8748300289 mit grossem Chip derjenige ist der 
am häufigsten ohne nähere Kennzeichnung als BM1 oder 2 verkauft wird. 
Möglicherweise ists eine Spezialität dessen FW dass er in beiden 
Funktionen verwendet werden kann.

von Joe Lucid (Gast)


Lesenswert?

Jörg R. schrieb:
> (Es ist aber nach wie vor komisch, dass mein MBx-alt nur ca. 15V
> liefert, und das BMx neu eben neuerdings 30V. Beides außerhalb der
> spec...

Ich hab in irgendeiner Junkers Anleitung gelesen dass man das Bus Modul 
ersetzen soll wenn die gelieferte Spannung nicht im Referenzbereich ist. 
Scheint also ein häufiges Problem zu sein. Leider finde ich die Quelle 
gerade nicht mehr.

von Joe Lucid (Gast)


Lesenswert?

Joe Lucid schrieb:
> Jörg R. schrieb:
>> (Es ist aber nach wie vor komisch, dass mein MBx-alt nur ca. 15V
>> liefert, und das BMx neu eben neuerdings 30V. Beides außerhalb der
>> spec...
>
> Ich hab in irgendeiner Junkers Anleitung gelesen dass man das Bus Modul
> ersetzen soll wenn die gelieferte Spannung nicht im Referenzbereich ist.
> Scheint also ein häufiges Problem zu sein. Leider finde ich die Quelle
> gerade nicht mehr.

Hier: 
https://www.heizungfehlermeldung.de/fehler.php?merk=6&ketel=89&storing=2471&subcode=0

von Peter* (Gast)


Lesenswert?

Hallo,

angesteckt von diesen ganzen Spekulationen, die hier neuerdings 
vertreten werden, habe ich mir mal "ein" !!Verkäuferbild BM2 (kleine 
Bestückung)!! genauer angeschaut.

Alle Bezeichnungen auf dieser Platine waren identisch mit meiner BM1 nur 
der Klebestreifen war halt BM2. Ich habe nicht ein BOSCH Junkers 
Verzeichnis, Dokument gefunden das mehr als 2 Platinen darlegt für beide 
Versionen.

Man kann am "sichersten" davon ausgehen das Bosch oder Auftragsfirmen 
auch vor 20 Jahren den Entwicklungsstandard eingehalten hat und nicht so 
ein durcheinander produziert haben.

Letztlich nochmals auf den HW_Stand des angeblichen "BM2 (kleine 
Bestückung)". Warum sollte ein Kaskaden_Modul mit einer Versorgung des 
TAxxx versehenen werden und Led's weggelassen werden, vielleicht so 
verständlich.

Es geht in der Entwicklung, Herstellung und dem Verkauf nicht um 100te 
von Euros sondern um Cent Beträge oder damals Pfennige.

@Versorgungsspannung am BM1 liegt bei max. 24V die Versorgung des TAxxx 
hingegen bei 17-24V (Ta250; an gesteckt) dies liegt an der Stromquelle 
(eine Art Sicherung) auf dem BM1 (LM317).

30V....eine höhere Spannung als 24V beinhaltet doch automatisch das vor 
dem Stecker SK1 der defekt liegt. --> Spannungsversorgung auf der 
Hauptplatine.
evtl. mal den Wechselstromanteil messen /belastet/unbelastet/??.

@Joe
warum Du noch immer nicht einfachsten Weg gehen willst...?????? Du 
verrennst Dich.

von Joe Lucid (Gast)


Lesenswert?

Peter* schrieb:
> warum Du noch immer nicht einfachsten Weg gehen willst...?????? Du
> verrennst Dich.

Na mach ich doch. Deswegen habe ich ja jetzt den 8748300289 gekauft. 
Einen Versuch war es wert mit dem BM2 mit kleinem Chip. Aber bei diesen 
Temperaturen kann ich einfach nicht längere Tests fahren ohne mir hier 
eine Ehekrise einzufahren.

von Peter* (Gast)


Lesenswert?

Hallo,

kleine Korrektur,

Peter* schrieb:
> 30V....eine höhere Spannung als 24V beinhaltet doch automatisch das vor
> dem Stecker SK1 der defekt liegt. --> Spannungsversorgung auf der
> Hauptplatine.

es muss natürlich ST1 heißen.

von Joe Lucid (Gast)


Lesenswert?

Joe Lucid schrieb:
> Wenn man es durchspielt merkt man schnell wie sich die Punkte
> widersprechen: bringt man den VL auf maximale Temp um ein Zimmer zu
> boosten, so wird es überall sonst wärmer - bis die Thermostate merken
> dass der Vorlauf heiss geworden ist. Es müssen also die Thermostate die
> VL Temp kennen, um antizipierend gegenzusteuern.

Hab heute nacht mal gemessen wie gross dieses Problem ist. 
Heizkörperventile sind nachts auf 16 C gestellt, VL Temp Absenkung von 
20 C nachts. Temperatur fällt schön auf 16 C - kein Problem. Aber wenn 
die Heizung wieder anspringt überschiesst die Zimmertemperatur auf 18.3 
C - miserable Regelleistung.

Wenn die Ventilregelung nicht die VL Temp kennt ist es nicht möglich 
eine konstante Temperatur einzuregeln.

Das zweite Problem mit der Nachtabsenkung ist die Temperatur der Möbel, 
Fussboden etc im Raum. Die folgt der Zimmertemperatur mit Verzögerung 
und morgens fühlt es sich deswegen kälter an die Lufttemperatur. Eine 
gute Steuerung würde das kompensieren, indem es die aktuelle Temperatur 
der trägen Massen im Zimmer modelliert und eine konstante gefühlte 
Temperatur liefert, indem die Lufttemperatur erhöht wird, bis die trägen 
Massen auf Zieltemperatur aufgeheizt sind.

Das bedeutet natürlich wiederum mehr Energie als sonst, so dass die 
Ersparnisse der Nachtabsenkung teilweise aufgehoben werden. Es folgt, 
dass die eigentlichen Ersparnisse der Nachtabsenkung zu den Zeiten 
eingefahren werden, wenn die Zielabsenkungstemperatur erreicht ist und 
konstant gehalten wird.

Hab gestern um 19:00 mein Büro auf 16 C gestellt und der Fall von 20 auf 
16C dauerte ca 5h - schon die Grössenordnung der Nachtabsenkung von 
23:30 - 5:30. Man kann ableiten, dass komplette Absenkung mit Heizen bei 
Bedarf viel, viel mehr bringt als Nachabsenkung, die hier wahrscheinlich 
nur auf ca 18 grad erfolgen dürfte um überhaupt was zu sparen - 
jedenfalls bei gleichem Komfort über Ausgleich der subjektiven Kühlung 
über träge Massen durch höhere Lufttemperaturen.

von Joe Lucid (Gast)


Lesenswert?

Das coole an einer integrierten Steuerung wird sein, dass die träge 
Masse jeden Raumes automatisch bestimmt werden kann, sowie die 
durchschnittlichen Nutzungsintervalle. Damit kann die optimale 
Absenktemperatur automatisch gewählt werden.

Hier spielt natürlich auch die Aussentemperatur zur Abwesenheit eine 
grosse Rolle: ist es z.b. nachts 10 C kälter als tagsüber, so spart die 
Absenkung nachts deutlich mehr ein als bei konstanten 
Aussentemperaturen. Auch das kann man über Wettervorhersage voraussehen 
und bei der Wahl der Absenktemperatur berücksichtigen.

von Joe Lucid (Gast)


Angehängte Dateien:

Lesenswert?

Wenn man sich diesen Chart ansieht, wird klar dass die Aussentemperatur 
natürlich der Sonneneinstrahlung folgt. Die grössten 
Einsparungspotentiale liegen also in den frühen Morgenstunden. Das 
Wohnzimmer nur von Mittags bis Mitternacht zu heizen sollte eine massive 
Einsparung bedeuten. Und zumindest in der Woche sollte man vor mittags 
auch nicht "wohnen" :).

von Joe Lucid (Gast)


Lesenswert?

Dave G. schrieb:
> Ich habe die Heizleistung meiner Therme auf das absolute Minimum
> reduziert, dadurch braucht diese auf Sparflamme deutlich länger um die
> Energie zuzuführen, benötigt aber eine deutlich geringere VLT um die
> Räume aufzuheizen, da jetzt ein konstanter(er) Energiestrom an den
> Heizflächen ankommt.

Da ich ja auf die Lieferung meines BM warte, habe ich mir dieses 
Wochenende mal angeschaut, was die Therme so macht. Ich hatte einen 
relativ hohen Vorlauf um on demand hochheizen zu können und das Ding 
taktete in einem durch.

Dein Kommentar deckt sich mit meinen Erfahrungen, wenn es auch auf den 
ersten Blick absurd erscheint: eine höhere durchschnittliche VL Temp 
sollte natürlich zu besserem Heizen führen, tut es aber nicht unbedingt. 
Die Therme springt nur wild an und aus.

Ich denke der Hintergrund ist folgender: bei höherer VL Temp stellen 
sich die Ventile weitgehend zu und so zirkuliert nur wenig Wasser durch 
den Heizung/Therme Kreislauf. Das meiste Volumen zirkuliert durch den 
internen Bypass in der Therme. Letzteres heizt sich natürlich schnell 
massiv auf, was die Therme dann ausschaltet - bevor die Heizkörper viel 
von dem warmen Wasser sehen.

Daher sollte die Steuerung die Vorlauftemperatur so steuern, dass die 
Ventile möglichst weit offen sind. Mit der Heizkurve lässt sich einiges 
machen, aber der Clou auf den ich gekommen um das Problem ohne eigene 
Steuerung anzugehen ist in Zimmern mit zwei Heizkörpern ein Ventil 
komplett offen zu stellen und das andere alleine steuern zu lassen. So 
ist auch in Zeiten in denen die Thermostate die Heizkörper zu machen 
wollen zumindest ein guter Grundkreislauf gegeben.

Habe also dazu die Heizkurve sehr weit runtergedreht und habe jetzt ein 
viel, viel gutmütigeres Verhalten.

Nach der Erkenntnis, dass die gefühlte Temperatur (Strahlungstemp + 
Lufttemp) / 2 ist und ich (noch) keine Steuerung habe, die das 
berücksichtigt, hab ich die Nachtabsenkung mal ganz raus genommen.

Es ist erstaunlich wie viel besser sich das anfühlt. Hab die 
Zieltemperatur jetzt auf 19 C runtergefahren und egal ob das Thermometer 
auf Möbeln steht oder in der Luft hängt - ich bekomme 19 C. Und es fühlt 
sich viel wärmer und angenehmer an als 20 C vorher.

Einsparpotential ist allerdings schon vorhanden. Die Wärmeleitung nach 
draussen ist durch die durchschnittliche Aussenflächentemperatur 
bestimmt. Und wenn man nachts (oder bei Nichtnutzung) absenkt ist diese 
natürlich deutlich geringer selbst wenn die gleiche gefühlte Temperatur 
durch höhere Lufttemperatur eingestellt wird.

Zu viel in der Richtung kann man aber nicht machen, weil der Komfort 
darunter leidet.

von Jörg R. (rejoe2)


Lesenswert?

Peter* schrieb:
> @Versorgungsspannung am BM1 liegt bei max. 24V die Versorgung des TAxxx
> hingegen bei 17-24V (Ta250; an gesteckt) dies liegt an der Stromquelle
> (eine Art Sicherung) auf dem BM1 (LM317).
>
> 30V....eine höhere Spannung als 24V beinhaltet doch automatisch das vor
> dem Stecker SK1 der defekt liegt. --> Spannungsversorgung auf der
> Hauptplatine.
> evtl. mal den Wechselstromanteil messen /belastet/unbelastet/??.

Danke für den Hinweis. Hatte bisher immer nur ohne laufendes BMx am 
Stecker gemessen, und da lagen dann auch tatsächlich die 24V an. Das 
schaute also OK aus, ABER: Mit angestecktem BM2 liegt auch an diesem 
Stecker dann deutlich mehr an als die Spec sagt (um die 28V), und der 
Versuch, die Wechselspannung dort zu messen zeigte um die 58V an. Weiß 
zwar nicht, wie genau diese Messung ist (billiges Multimeter), aber 
vermutlich ist es in der Tat so, dass der Fehler doch auf der 
Hauptplatine zu suchen ist.

Stellt sich die Frage, wie am besten weiter machen. Mal (bei moderateren 
Außentemperaturen) das MB rausholen und die Nummer abpinnen ist sicher 
eine gute Idee, vielleicht bekomme ich ja was passendes gebrauchtes 
(stellt sich dann nur die Frage, ob das besser ist).
Aber immerhin könnte man dann ggf. einen Reparaturversuch starten. 
Vielleicht ist es auch "nur" ein ausgetrockneter Kondensator... (Falls 
jemand eine Idee hat beim Blicken auf eine ausgebaute Hauptplatine: 
Gerne her damit, ich bin fachlich nicht qualifiziert...).

von Peter* (Gast)


Lesenswert?

Hallo,

in der Tat solltest Du ein Messgerät verwenden das auch richtig misst!!

Wenn am Stecker ST1 bzw. ST9 eine Spannung von 24 V anliegt ist das ok, 
aber die Logik verfällst Dich wenn bei aufgestecktem Stecker BM2 die 
Spannung steigt.

Woher soll die Spannung kommen, leitest Du die über CAN-Bus ein. (3te 
Leitung GND--->  Masseversatz)

Die Spannungsversorgung auf der Platine regelt hier maximal die 5,0 V 
Versorgung und BM1 TAxxx auch ~BM2 (!! besitze kein BM2, keines der 
angeblichen beiden Bestückungsvarianten und werde mir auch keins kaufen 
!!) .

28V werden die 78L05 noch verkraften können, aber ~58V ganz sicher 
nicht!! hier würde nichts mehr laufen.

Mein Vorschlag, ein besseres Messgerät leihen und die richtigen 
Messpunkte suchen ST1(1,3 VB<->GND) oder ST9(Spiegelverkehr) und 
nochmals messen. "Vorsichtig"

Deine Therme läuft doch scheinbar... sonst gar nichts, Sommer abwarten 
immer besser.

Vor eineinhalb Jahren hatte ich die Platine TA211 vermessen und habe 
beim schalten der Gasarmatur erhebliche Störspitzen gemessen.

Ich glaube das dies der Killer der Hauptplatinen ist, aber nur eine 
Vermutung.

Denke an deine Eigenverantwortung!!

von Dave G. (neuroquila-n8fall)


Lesenswert?

Ich bin mir bei dem Thema Nachtabsenkung auch noch nicht vollends einig. 
Ich denke es ist besser die Thermostate per Zeitplan auf 17° 
einzustellen und die Heizung entsprechend laufen zu lassen, statt 
komplett abzuschalten. So wird auch noch die Restwärme im Kreislauf für 
eine gewisse Zeit benutzt. Hätt ich nur eine gute Möglichkeit den 
Gaszähler dabei zu betrachten... aber geht bei mir leider so garnicht.

Mit meiner Steuerung sollte das absenken auf 17° bewirken, dass eine VLT 
von vielleicht maximal 30° resultiert und verhindert, dass das Delta zum 
morgentlichen aufheizen zu groß wird. Ich weiß nur nicht, ob man dadurch 
etwas spart oder das Gegenteil bewirkt.

//EDIT: Ich deaktiviere das einfach mal für eine Nacht und schaue, was 
so passiert.

: Bearbeitet durch User
von Joe Lucid (Gast)


Lesenswert?

Inzwischen ist meine Meinung wie gesagt dass die potentielle Ersparnis 
bei echter Nachtabsenkung komplett aus der Reduzierung der 
durchschnittlichen Temperatur der Wände, Decken, Böden etc resultiert. 
Dem gegenüber steht der Mehrverbrauch durch höhere Vorlauftemperatur 
beim Aufheizen.

Da die Aussenflächen und Möbel mit Nachtabsenkung durchschnittlich 
kälter sind als ohne, fühlt sich eine feste Zimmertemperatur kälter an. 
Der Körper erfährt nicht nur die Abkühlung durch die Luft, sondern 
zusätzlich die Wärmestrahlung von Aussenflächen und Möbeln - und wenn 
diese kälter sind als die Luft so wird dem Körper zusätzlich Wärme 
entzogen.

Deswegen ist sicher ein signifikanter Teil der Einsparung bei 
traditioneller Nachtabsenkung einfach in der niedrigeren operativen 
Temperatur (= 1/2 * (Strahlungstemp + Lufttemp) gegeben. Man toleriert 
über den Tag, aber besonders morgens, eine kältere operative Temperatur. 
Das ist natürlich gemogelt. Ich denke man müsste die eingeregelte 
Temperatur entsprechend kompensieren.

Je grösser die Absenkung desto mehr können sich Flächen und Möbel 
entsprechend ihrer thermischen Masse und ihrer Wärmeleitung 
unterschiedlich stark abkühlen. Das hab ich bei mir stark beobachtet - 
es ist nicht angenehm und Teile des Zimmers werden unangenehm kalt.

Hier möchte ich aber noch mehr experimentieren. Wir haben einen riesigen 
Wohnbereich, der am teuersten zu heizen ist, aber eigentlich erst an 
Nachmittag gebraucht wird. Man könnte den komplett auskühlen lasst und 
dann ab Mittag deutlich wärmer als Zieltemperatur aufheizen, so dass 
sich  Kaltflächen aufwärmen können. Und dann ab 14:00 normal weiter 
heizen, mit  etwas erhöhter Temperatur wg immer noch kühlerer Flächen 
und Möbel. Ob dass aber dann noch was spart - wer weiss.

Bei Deinen Charts oben fiel mir auf wie häufig die Therme taktet (ca 
alle 6 Minuten?) - so wie das bei mir war. Nachdem ich jetzt viele 
Ventile annähern komplett offen habe, die Taktsperre ausgeschaltet und 
statt dessen 30 C Schaltdifferenz eingestellt habe, taktet mein Therme 
ca alle 11 Minuten. Dabei sieht man, dass sie am unteren Ende auf ein 
echtes Abkühlen des Nachlaufs wartet und sie heizt längere Zeit am 
oberen Ende. Insgesamt scheint mir das positiv zu sein.

von Joe lucid (Gast)


Lesenswert?

Ich denke man muss die Vorlauftemperatur als Steuergrösse nehmen und als 
Steuerziel die Ventile möglichst weit zu öffnen - dabei von Deinem 
Flurventil abgesehen.

Die 10kw minimale Leistung die diese Thermen erzeugen brauchen einfach 
eine Menge Durchfluss um bei Erhitzung des Nachlaufs abzuschalten (statt 
der internen Soße).

von Joe lucid (Gast)


Lesenswert?

Gut wäre auch den hydraulischen Abgleich über die Ventile zu machen - so 
dass man auch mit nur einem geöffneten Ventil guten Durchfluss bekommt. 
Falls das geht.

Für das Boosten eines Raumes ist das wohl die einzige Möglichkeit ein 
Takten der Therme zu vermeiden.

von Dave G. (neuroquila-n8fall)


Lesenswert?

Das mit der Taktsperre und Delta muss ich auch mal ausprobieren. Vorher 
taktete die Heizung übrigens auf jeden Fall alle 3 Minuten, blieb der 
Brenner für ein paar Sekunden an und ging dann wieder aus.

von Joe lucid (Gast)


Lesenswert?

3 Minuten ist die voreingestellte Taktsperre. Da warst Du also am Limit.

von Peter* (Gast)


Lesenswert?

Hallo,

...ernsthaft?

Man sollte sich doch noch in der Realität bewegen, wenn schon nicht mehr 
im Thema..?

Verschachtelte Regelkreise, der dynamischer Abgleich über 
Thermostatventile mit einer Heizung die vielleicht 10-20 Jahre hinter 
sich hat. Vorlauftemperaturreduzierung und gleichzeitige 
Taktzeiterhöhung und das soll noch funktionieren.

Dave's Gedanken und dessen Gebäude kann ich noch in Einklang bringen, 
aber...

Sorry, ist nicht böse gemeint.

Aber ich denke auch an Leute die mitlesen oder die vielleicht den 
Schritt ebenfalls wagen mit Ihrer alten Heizung zu kommunizieren und von 
solchen nicht nachvollziehbaren Gedankenspielereien abgeschreckt werden.

Danke

von Dave G. (neuroquila-n8fall)


Lesenswert?

Naja gut irgendwann wird der Thread hier sowieso so lang werden, dass 
Informationen unweigerlich verloren gehen, weil niemand Lust hat sich 
hunderte Beiträge durchzulesen. Daher würde ich auch gerne irgendwie die 
Erkenntnisse (also die fundierten zumindest) in ein Wiki auf Github oder 
so schreiben, damit erstens nichts verloren geht und zweitens Struktur 
drin ist.

Was haltet ihr davon?

von Peter* (Gast)


Lesenswert?

Hallo Dave,

super

Danke

von Dave G. (neuroquila-n8fall)


Angehängte Dateien:

Lesenswert?

Hier sind übrigens noch meine Erkenntnisse von gestern auf heute bzgl. 
Nachtabsenkung an/aus.

Ich lass das einfach mal kommentarlos stehen und frage euch nach eurer 
unverfälschten Meinung dazu.

von Peter* (Gast)


Lesenswert?

Hallo,

was ich sehe, eine 3/4 Stunde weniger aufheizen zu ~16 kurze Starts in 
der Nacht.

Nehme an im ersten oberen Bild ist die Pumpe auch nicht aktiv.
Der Gaszähler könnte natürlich hier das wirkliche Ergebnis erbringen.

Für dein Gebäude finde ich sieht es gut aus mit aktiver Heizung.

Lese auch noch am Morgen zur gleichen Zeit immer den Zählerstand ab.
Projekt Gaszähler mit Mouse_Sensor liegt noch auf Eis, keine Zeit.

von Joe Lucid (Gast)


Lesenswert?

Dave G. schrieb:
> Hier sind übrigens noch meine Erkenntnisse von gestern auf heute
> bzgl.
> Nachtabsenkung an/aus.

Man kann sehen, dass der Raum tiefer auskühlt mit Nachtabsenkung - die 
Therme läuft noch mittags wesentlich länger, da nicht nur der 
Wärmeverlust sondern auch das Wiederaufheizen der trägen Massen erfolgt 
-> sollte sich heute weniger kalt angefühlt haben. Aber so gross ist der 
Unterschied nicht, da Du ja über die Ventile indirekt absenkst. Ich 
heize zur Zeit mit einer konstanten Zimmertemperatur durch - aber BM 
heute angekommen. Leider bin ich jetzt erstmal mit anderem Kram 
beschäftigt. Bäh.

von Joe Lucid (Gast)


Lesenswert?

Dave G. schrieb:
> Was haltet ihr davon?

Gute Idee.

von Joe Lucid (Gast)


Lesenswert?

Peter* schrieb:
> Aber ich denke auch an Leute die mitlesen oder die vielleicht den
> Schritt ebenfalls wagen mit Ihrer alten Heizung zu kommunizieren und von
> solchen nicht nachvollziehbaren Gedankenspielereien abgeschreckt werden.

Ach was, da mach Dir mal keine Sorge. Ein bisschen Brain-Storming 
inspiriert oft! Und wo Du so häufig sagtest: "warum so kompliziert, häng 
doch einfach eine TA 270 dran" - das ist der Grund: Wenn ich mir die 
Mühe mache, meine Heizung neu zu steuern dann möchte ich auch die 
Grenzen austesten.

Ich finde die haustechnikdialog.de Foren unterhaltsam. Da prallen Welten 
aufeinander - Heizungstechniker und Tech-Menschen. Und zwar genau weil 
das übliche Setup von überdimensionierter Therme und abwürgenden 
Digital-Thermostaten (wie bei Dave und mir) ein prinzipielles Problem 
darstellt. Die haben sogar einem Namen für die Konstellation: 
http://www.bosy-online.de/Kuhschwanzheizung.htm.

Das ist schade - denn im Prinzip könnte man viele spezielle Probleme 
dieser Konstellation mit Digital-Thermostaten viel besser lösen. Also 
offen bleiben.

von Joe lucid (Gast)


Lesenswert?

Die Idee ist immer mindestens einen Heizkörper als Pufferspeicher zu 
benutzen indem jegliche Drosselung bei angeschaltetem Brenner 
rausgenommen wird.

von Dave G. (neuroquila-n8fall)


Lesenswert?

Das mit dem Kuhschwanz kenne ich sogar. Wenn man versucht nur durch 
digitale Raumthermostate das System einzuregeln, dabei aber nicht den 
Kessel an die Gegebenheiten einstellt, dann geht das schief. Da wir hier 
versuchen eine total alte aber immernoch perfekt funktionierende 
Regeltechnik ins moderne Zeitalter des Smarthomes zu heben, entstehen da 
sicher tolle Situationen. Die meisten Heizungstechniker werden das was 
wir hier machen als totalen Quatsch abstempeln aber ich habe bereits 
eine Einsparung erfahren, also ist das was ich hier mache besser als das 
was die Heizung bis dato alleine gemacht hatte.

Meiner Einschätzung nach macht es allerdings kaum einen Unterschied die 
Nachtabsenkung abzuschalten. Die Temperaturdifferenz kommt ganz klar von 
der Außentemperatur, die nun weit über 0° liegt. Ich werde das nun 
weiter beobachten. Wenn die Temperaturen wieder ins negative fallen, 
werde ich weitere Vergleichsdiagramme ziehen.

Übrigens wurde ich auf einen Bug aufmerksam gemacht. Irgendwo beim 
Refactoring ist da ein INT zu einem UINT geworden. Die Außentemperatur 
ist jetzt stets positiv. Das werde ich noch fix beheben.

von Joe Lucid (Gast)


Lesenswert?

Dave G. schrieb:
> Meiner Einschätzung nach macht es allerdings kaum einen Unterschied die
> Nachtabsenkung abzuschalten. Die Temperaturdifferenz kommt ganz klar von
> der Außentemperatur, die nun weit über 0° liegt. Ich werde das nun
> weiter beobachten. Wenn die Temperaturen wieder ins negative fallen,
> werde ich weitere Vergleichsdiagramme ziehen.

Ich habe eine Wochenendhütte, die ich diesen Sommer mit Solar und einer 
Klimaanlage ausgestattet habe. Habe da eine Gastherme aber kann die 
Klimaanlage auch zum heizen verwenden. In der Woche heize ich nicht - 
Temperatur geht also vielleicht 10 C runter.

Folgendes ist mir aufgefallen: Die Klimaanlage läuft auf 100% und die 
Temperatur steigt sehr langsam - über viele Stunden. Aber Sonntag, wenn 
die Hütte aufgeheizt ist, fängt sie an zu Takten wenn sie nur noch die 
Temperatur hält. Und die AC kann auf 25% drosseln.

Mit anderen Worten: das Aufheizen der trägen Massen kostet viel mehr, 
als ein Haus bei konstanter Hitze als Verlust an die Aussenwelt abgibt.

Du kannst es Dir auch an Deinem Haus klarmachen: bei tiefen Temperaturen 
macht für den Energieaustausch nach draussen keinen so grossen 
Unterschied ob die Innentemperatur bei 21 oder 17 C liegt. Wenn Du 8h 
die Heizung aus hast dann musst Du am nächsten Tag zusätzlich zum 
normalen heizen die Energie zuführen um die Massen wieder aufzuheizen. 
Und wir wissen wieviel das ist: Die normale Heizlast über 8h, die Du 
unterdrückt hast. Also zb fahre die Heizung doppelt sich stark wie sonst 
für 8h.

Aber die gute Nachricht ist - das ist nicht nötig. Man kann weniger 
heizen und die Massen bei tieferen Durchschnittstemperaturen lassen 
solange die Luft warm genug ist. Und da der Energietausch mit der 
Aussenwelt proportional zur Differenz zwischen Aussentemperatur und 
Temperatur der Wände, Decken usw ist reduziert das die Heizlast.

von Joe Lucid (Gast)


Lesenswert?

Gute Nachrichten: bin endlich dazu gekommen den BM? (8748300289) mit 
Dave's Firmware zu installieren und alles läuft tadellos!

Also ein weiterer Beleg für die Hypothese dass Bus Module mit der 
Produktnummer 8748300289 unabhängig von der Kennzeichnung als BM1 mit 
analogem Aussentemperaturfühler an AF funktionieren.

von Joe Lucid (Gast)


Lesenswert?

Hab noch eine neue Idee für Installationen, die (wie ich noch) keine 
drahtlosen Heizkörperthermostate habe: regele die Vorlauftemperatur so 
dass sich die Taktungsfrequenz auf einem vernünftigen Niveau einstellt.

Insoweit die Taktungsfrequenz als Indikator für die Ventilstellung 
gesehen werden kann, könnte das vernünftige Resultate bringen - 
jedenfalls ohne Nachtabsenkung.

von Joe Lucid (Gast)


Lesenswert?

Tja - nur ignoriert die Therme die Vorlauftemperatur, die ich ihr sende. 
Ich bekomme keinen A8 - aber sie taktet immer um die manuell 
eingestellte maximal VT. Ideen?

von Joe Lucid (Gast)


Lesenswert?

So - jetzt funktioniert es. Hab noch 0x250 = 1 zu den zyklisch 
gesendeten Werten dazugefügt. Das scheint den Erfolg gebracht zu haben.

Vorlauf temp optimierte Taktperiode von 10 Minuten scheint auch ganz gut 
hinzuhauen. Aber jetzt dann mal auf zur ernsthaften Steuerung.

von Joe Lucid (Gast)


Angehängte Dateien:

Lesenswert?

Angehängt ist die erste Nacht Probelauf meiner raumgeführten 
Vorlauftemperatursteuerung für den Wohnbereich. Ich benutze zwei 
Thermometer - eins auf dem Couchtisch was sehr träge reagiert und eins 
hängt in der Luft und reagiert schneller. Orange ist der Mittelwert 
zwischen beiden, der die gefühlte Temperatur annähert. Blau ist die 
Vorlauftemperatur. Beide Heizkörperventile sind komplett offen.

Maximalabweichung über die Nacht: 0.05 C. Durchschnittliche Taktperiode 
ist ca 15 Minuten. So hatte ich mir das ganze vorgestellt.

von Bernd R. (bernd_r860)


Lesenswert?

Hallo Leute,

heute ist mein Mini-PC, mit dem ich mittels eines Lawicel CANUSB am BUS 
meiner Heizungsanlage gehorcht und per MQTT an meinen HomeAssistant 
geschickt habe, bedauernswerterweise abgeraucht.

Hier (Beitrag "Re: Junkers CAN-Bus Protokoll") wurde 
erwähnt, dass dies einfacher mit einem Arduino und noch ein paar anderen 
Komponenten einfacher und stromsparender geht.

Wärt ihr bitte so freundlich und würdet mir erklären, was ich genau 
brauche
und wie ich es machen muss?

Ich habe z.B. keine Ahnung was ein NiRen ist. :-/

Das wäre super nett von euch.

Gruß,
Bernd R

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo,

fangen wir hinten an "NiRen". Hier ein Link.

https://www.electronicshub.org/arduino-mcp2515-can-bus-tutorial/

wie immer mein Rat:
a) CANdiy-Shield-V2-CAN-Bus-Shield --Watterott

nun das zweite Problem ist, wie bindest Du diese Information in dein 
bestehendes System ein.

dann wirst Du evtl. den Arduino durch den ESP32 oder ESP8266 ersetzen 
mit geringer SW oder HW Anpassungen.

b) ESP32 NodeMCU D1 R32 WLAN Entwicklungsboard mit CH340G und WiFi + 
Bluetooth IoT mit Mikro USB kompatibel mit Arduino; Anpassung des SPI an 
CANdiy Shield evtl. über ICSP.

Probleme sind hier beschrieben; kein Abschluss CAN auf der Platine, muss 
gehen.

von Bernd R. (bernd_r860)


Lesenswert?

@Peter

Okay, ich kaufe also das hier 
(https://shop.watterott.com/CANdiy-Shield-V2-CAN-Bus-Shield) und das 
hier https://www.az-delivery.de/products/esp32-d1-r32-board.

Was bedeutet "Anpassung des SPI an CANdiy Shield evtl. über ICSP"

...und wie geht es dann weiter?

Gruß,
Bernd

von Peter* (Gast)


Lesenswert?

Hallo,

nun das sollte deine Entscheidung sein, was Du kaufst, es ist nur ein 
Rat von mir. Was halt bei Dir passt.

Die SW Anpassung, nun ...die wirst Du nur alleine bewältigen können.

Von ESP32 (WLAN...) auf MQTT bzw. dein System bzw. Dave's Programm.

Die Can-Bus Platine ist für Arduino Uno bis Due vorgesehen die Anbindung 
setzt die ICSP Schnittstelle voraus.

Die ESP32 Platine hat die nicht, Du musst über die ESP SPI_Pinne gehen 
an CAN_Bus_ICSP. Löten oder stecken, lass mich nicht lügen, glaube nur 3 
Leitungen.

SW für Can-bus ist hier oder bei Dave behandelt worden.

von Bernd R. (bernd_r860)


Lesenswert?

Also, ich folge gerne deinem Rat, weil ich nämlich keinen Plan habe was 
ich sonst machen soll und habe die beiden genannten Komponenten jetzt 
gekauft.

Peter* schrieb:
> Du musst über die ESP SPI_Pinne gehen an CAN_Bus_ICSP. Löten oder
> stecken, lass mich nicht lügen, glaube nur 3 Leitungen.

Gibt es dazu irgendwo eine bebilderte Anleitung, bzw. geht es ein 
bisschen genauer für Idioten wie mich.  ;-)

Wie geht es dann weiter.

Ich brauche eine Anleitung.

LG,
Bernd

von Peter* (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

oh Mann..., hoffe Du hast ein Lötkolben oder kennst ein mit Lötkolben.

Platine CAN-Bus Draufsicht Lan Stecker links:

Level_Jumper mit SMD_Brücke von 5 V auf 3V3 um löten. Es ist etwas 
Feinmotorig gefragt.

Einlöten der Jumper JP1...JP3.

Arduino Steckerleisten einlöten,

wenn Du die Platine nicht noch für andere "Arduino" versuche benutzen 
willst...(Bild), brauchst Du den ICSP_Stecker nur einlöten, wenn Du 
keine separaten 3 Pinhead's (SPI-Schnittstelle) hast und "dann" auf der 
Bestückungsseite statt auf der Bottom_Seite.
Als letztes wird "der" oder die Lan_Stecker aufgelötet.(Bild) Man 
braucht normal nur ein aber...

Halbdefektes Lan-Kabel defekten Stecker abschneiden und...
Kabelbelegung(GND nicht vergessen)) findest Du bei Watterott.

Solltest Du das anständig machen wollen kannst die nachfolgenden 
Leitungen auch auf der Can-Bus Platine, schön mit Draht verlöten.

!! ICSP Leitungen auf Can-Bus Platine: (Bild)

SPI_Schnittstelle:

Pin_SCK an PIN13 (braun);

Pin_MOSI an Pin11(rot);

Pin_MISO an Pin12(blau),

Achtung!! Pin11...13 sind abhängig von der Wahl der Schnittstelle in der 
SW

Natürlich alles ohne Gewähr!! Eigenverantwortung usw.

von Bernd R. (bernd_r860)


Lesenswert?

Hallo und ich danke dir sehr für die Anleitung.

Peter* schrieb:
> oh Mann..., hoffe Du hast ein Lötkolben oder kennst ein mit Lötkolben.

Selbstverständlich bin ich nicht ganz unbeleckt, was 
Elektronikbastelleien und Löten angeht, aber mit Arduino, bzw. dessen 
Derivate habe ich mich bisher noch nicht auseinandergesetzt.

Peter* schrieb:
> Level_Jumper mit SMD_Brücke von 5 V auf 3V3 um löten. Es ist etwas
> Feinmotorig gefragt.
Kein Problem, ich hoffe nur, dass ich die besagte Brücke erkenne, wenn 
das Board vor mir liegt. ;-)

Peter* schrieb:
> Halbdefektes Lan-Kabel defekten Stecker abschneiden und...
> Kabelbelegung(GND nicht vergessen)) findest Du bei Watterott.
Nicht nötig, ich crimpe einfach einen RJ45 Stecker auf die vorhandene 
Busleitung.  ;-)

Peter* schrieb:
> Achtung!! Pin11...13 sind abhängig von der Wahl der Schnittstelle in der
> SW
SW heißt vermutlich Software...

Wobei wir beim Thema wären:
Wie geht es dann mit der SW weiter?
Gibt es irgendwo ein Tutorial?
Welche SW benötige ich?
Bitte bedenke, dass ich vorrangig das Ding zum Laufen bekommen möchte 
und keinen Grundlagenkurs im Umgang mit Arduinos brauche.
Das ist etwas womit ich mich vielleicht im Nachgang beschäftige.

Peter* schrieb:
> Natürlich alles ohne Gewähr!! Eigenverantwortung usw.
Ist klar, dennoch bin ich bester Hoffnung, dass deine Anleitung korrekt 
ist.

LG,
Bernd

von Peter* (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Link
https://github.com/watterott/CANdiy-Shield/blob/master/hardware/CANdiy-Shield_v21.pdf

dort findest Du auch Logic_Level_JP. Bild etwas unscharf.

SW [nur CAN-Bus Kommunikation] findest Du dort auch.
ACAN2515 und MCP_Can ist das was an einfachsten funktioniert.

Dave's Programm findest Du hier unter Github.

Netzteilspannung sollte nicht höher als 9V sein. GND ist wichtig!! nicht 
vergessen auch bei CAN-Bus.

Lesen vorletztes und letztes Jahr wichtig!!!

Habe gesehen inzwischen gibt es die V2.1 Version, hoffe Du hast die 
bestellt.

Hinweis: !!BM1!! und BM2! sind sehr teuer, unverschämt teuer.

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> Lesen vorletztes und letztes Jahr wichtig!!!
>
Irgendwas spezielles was du meinst?
Lese eigentlich immer mit.

> Habe gesehen inzwischen gibt es die V2.1 Version, hoffe Du hast die
> bestellt.
Bestellt v2, bekommen v2.1
Wo ist der Unterschied?
Was muss ich beachten?

> Hinweis: !!BM1!! und BM2! sind sehr teuer, unverschämt teuer.
Ist klar.
Verstehe den Hinweis nicht.

Gruß,
Bernd

von Peter* (Gast)


Lesenswert?

Hallo,

mit lesen ist immer gut.... das wurde schon mal behandelt.

Ich meine der Treiber [FD] vom CAN-Bus wurde gewechselt, hat aber keine 
Auswirkung direkt bei 10k.

Nun..., für 15 Jahre alte Hardware Unsummen zu bezahlen ist ein Unding. 
...Du hast mitgelesen.... dann ist Dir das Problem doch bekannt. Fast 
jeder hat hier schon Probleme gehabt und durch eigene Fehler oder ???? 
die BM1 gewechselt.
Einmal Überspannung , Masseversatz.....

Noch ein kleiner Hinweis zur Verkabelung (bzw. der Software) die SPI_Pin 
Nr. sind nicht die Pin's des ESP_Platine bzw. zur Software.

static const byte MCP2515_SCK  = 18 ; // SCK input of MCP2515

static const byte MCP2515_MOSI = 23 ; // SDI input of MCP2515

static const byte MCP2515_MISO = 19 ; // SDO output of MCP2515

static const byte MCP2515_CS  = 5 ;   // CS

Wie mitgeteilt zum erwähnten Aufbau.

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> Noch ein kleiner Hinweis zur Verkabelung (bzw. der Software) die SPI_Pin
> Nr. sind nicht die Pin's des ESP_Platine bzw. zur Software.
>
> static const byte MCP2515_SCK  = 18 ; // SCK input of MCP2515
>
> static const byte MCP2515_MOSI = 23 ; // SDI input of MCP2515
>
> static const byte MCP2515_MISO = 19 ; // SDO output of MCP2515
>
> static const byte MCP2515_CS  = 5 ;   // CS

Sondern?

Sorry, aber das klingt wie chinesisch für mich.

von Peter* (Gast)


Lesenswert?

Hallo,

hast Du schon mal mit einem Arduino oder einem ESP32 herumgespielt??

Wenn nicht, dann solltest Du schnellstens damit anfangen ohne diese 
Kenntnisse wirst Du hiermit scheitern

.... wie hast Du mit MQTT gearbeitet.

Wichtig für die SW:

Das ist ein Auszug aus der Definition vom ESP32 mit der SW ACAN2515.

Die Deklaration der SPI Schnittstelle zur Hardware. Pin 18,23,19,5 wird 
bei diesem Aufbau benutzt.

Vielleicht meldet sich noch ein SW Spez. zur Hilfe.

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> hast Du schon mal mit einem Arduino oder einem ESP32 herumgespielt??
Nein
> Wenn nicht, dann solltest Du schnellstens damit anfangen ohne diese Kenntnisse 
wirst Du hiermit scheitern
Wie gesagt, ich will das Ding jetzt primär erst einmal zum Laufen 
bringen und mich im Anschluss damit auseinandersetzen.

Da es hier, dich eingeschlossen, Leute gibt, die das erfolgreich zum 
Laufen gebracht haben, war und bin ich der Hoffnung, dass ich ordentlich 
angeleitet werde, ohne dabei meine Heizung zu schrotten.
> .... wie hast Du mit MQTT gearbeitet.
Ich habe, wie bereits hier im Thread mehrfach erwähnt, einen kleinen 
Linux-Rechner und lasse dort can2mqtt (https://github.com/c3re/can2mqtt) 
laufen.
Auf meinem HomeAssistant (PI4) läuft dann der MQTT-Broker

> Vielleicht meldet sich noch ein SW Spez. zur Hilfe.
Ich habe auch bereits Dave um Hilfe gebeten, der hat aber offensichtlich 
viel zu tun.

von Peter* (Gast)


Lesenswert?

Hallo,

sorry, sehe das bitte als konstruktive Kritik.

aber die Definition von Hilfestellung sieht in meinen Augen etwas anders 
aus, man muss es selber wollen und tun und nicht einfach einen Auftrag 
vergeben.

> ... dass "ich ordentlich angeleitet" werde, ohne dabei meine Heizung zu
> schrotten..... abgesehen von der Aussage des Satzes besteht die Gefahr immer.

Nun..., "Du" machst scheinbar keine Fehler mit Null_Wissen ! wenn Du nur 
ordentlich angeleitet wirst?

Wissen vor lernen, wie geht das.

Zum Lernen braucht man Zeit und die Zeit willst Du "Dir" erstmal gar 
nicht geben, sondern andere [wie gesagt Eigenverantwortung] sollen Dich 
blind leiten!! und diese Zeit für Dich investieren     "."



Löte die Can-Bus_Platine zusammen und mach Dich mit der Arduino IDE 
vertraut.

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> sorry, sehe das bitte als konstruktive Kritik.
damit kann ich umgehen.  ;-)
> aber die Definition von Hilfestellung sieht in meinen Augen etwas anders
> aus, man muss es selber wollen und tun und nicht einfach einen Auftrag
> vergeben.
offensichtlich hast du mich falsch verstanden.
Ich werde hier keine Fragen stellen, wie ich die Platine zusammen löten 
muss oder das Ding flashen muss. Das werde ich mir schon anlesen.
Wahrscheinlich werden sich mir dabei die einen oder anderen kryptischen 
Hinweise von dir erschließen.

Ich erwarte lediglich Hilfestellung dahingehend, dass ich hier poste wie 
weit ich bin und dann frage, was ich als nächstes tun muss, um das Ding 
erfolgreich in Betrieb zu nehmen ohne dabei meine Heizung zu schrotten.

Ich sehe nämlich keinen Sinn darin, Fehler, die bereits schon einmal von 
sonstwem gemacht wurden, noch einmal zu machen, nur damit ich es "selbst 
getan" habe.
Das ist in meinen Augen Schwachsinn.
>
> Nun..., "Du" machst scheinbar keine Fehler mit Null_Wissen ! wenn Du nur
> ordentlich angeleitet wirst?
>
> Wissen vor lernen, wie geht das.
Nun, es gibt Wissen und Wissen.
Ich brauche Wissen von denen, die genau das, was ich vorhabe und nicht 
weiß wie es geht, schon erfolgreich hin bekommmen haben.
Was ist daran verwerflich und falsch?
> Zum Lernen braucht man Zeit und die Zeit willst Du "Dir" erstmal gar
> nicht geben, sondern andere [wie gesagt Eigenverantwortung] sollen Dich
> blind leiten!!
Es leuchtet mir eben einfach nicht ein, warum ich Zeit für "Experimente" 
mit einem Arduino inverstieren soll, wenn ich doch genau weiß, was es am 
Ende tun soll und ich weiß, das genau dieses Wissen hier im Forum 
abzuschöpfen ist.
Zumal ich erst durch den Hinweis hier im Forum auf die Möglichkeit, das 
mit einem Arduino zu machen, hingewiesen wurde.
> Löte die Can-Bus_Platine zusammen und mach Dich mit der Arduino IDE
> vertraut.
Das werde ich tun.
Heute sind alle Teile mit der Post gekommen.

...und verstehe mich bitte nicht falsch:
Ich bin bereits sehr dankbar dafür, dass du dich überhaupt so weit mit 
mir befasst hast und ich habe die Hoffnung, dass du die Lust an mir 
nicht verlierst.
Ich verspreche auch ein gelehriger "Schüler" zu sein und keine Fragen zu 
stellen, die ich mir nicht auch durch etwas lesen selbst erarbeiten 
kann.

...aber gerade in der Hinsicht, dass die Junkers-Busmodule sehr fragil 
und teuer sind, wünsche ich mir absolute Sicherheit, bevor ich das Teil 
dann endgültig in Betrieb nehme.

In diesem Sinne melde ich mich wieder, wenn ich alles zusammengelötet, 
den Jumper auf 3,3V umgelötet, die Verkabelung nach deinen Bildern 
vorgenommen und Daves Software auf den Arduino geflasht habe.

Liebe Grüße,
Bernd

von Peter* (Gast)


Lesenswert?

Hallo,

der Punkt wurde von mir gesetzt und damit ist die Sache erledigt.

Soweit mir bekannt ist hat Dave ACAN2515 benutzt und hier würde ich 
raten nach der Fertigstellung einen Kommunikationstest auf unterster 
Ebene zu starten. Ob Daten empfangen oder gesendet werden können. Da 
gibt es Programme unter Github ACAN2515 und die Funktion vor dem 
Anschluss an deiner Heizung sicherstellen.

Bei Dave's Programm bin ich leider bin nicht die Hilfe.

von Bernd R. (bernd_r860)


Angehängte Dateien:

Lesenswert?

So, Platine ist zusammengelötet und gemäß deinen Anweisungen gejumpert 
und verdrahtet.

Ich habe ein wenig mit Arduino IDE herumgespielt, habe aber das Problem, 
dass ich mit den mitgelieferten Beispielen keinerlei Ausgaben bekomme.

Das Blinken der LED ging noch, aber beispielsweise der "WiFi-Scan" gibt 
nichts aus.

@Dave:
Ich werde leider aus deiner Software nicht ganz schlau.
Muss ich da jetzt tatsächlich noch in PlatformIO einarbeiten?

@Peter:
Du sprachst den Masseversatz an, den ich (man) vermeiden soll.
Wie gehe ich da bei der Verkabelung am besten vor?
Laut Wetterott liegt an der RJ45-Buchse des CANdiy-Shield an Pin 3 und 7 
jeweils Masse an.
Was kommt an Pin 8 (V+)

Muss ich beide benutzen?
Reicht einer?

Gruß,
Bernd

von Peter* (Gast)


Lesenswert?

Hallo,

muss mich zeitlich bedingt etwas kurz halten.

Zum Bild:

Du musst die JP 1-3 einlöten die brauchst Du!
Wenn Du Dir den Schaltplan in Pdf anschaust, siehst Du warum. Du kannst 
bzw. musst den GND Jumpern (JP3, Pin3,7)) bestücken

und wenn Du zufällig Vin (JP2, Pin8), ungefähr 9V Gleichstrom außerhalb 
hast, kannst Du die auch freigeben. Mach es nicht, nicht notwendig. 
Versorgung besser über Stecker oder USB.

JP1 ist der Abschlusswiderstand vielleicht ist der nötig für Test's oder 
anderen Geräten außerhalb deiner Heizung.

Hast das Board "ESP32 DEV Module" eingestellt, richtige Port (COM)?

Welche Datei hast Du geladen.

von Peter* (Gast)


Lesenswert?

Hallo Bernd,

hast du inzwischen Erfolg gehabt?

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> hast du inzwischen Erfolg gehabt?

Konnte die Änderungen an der Platine noch nicht vornehmen.
Bin gerade beruflich etwas eingespannt.

Melde mich, wenn ich so weit bin.

Gruß,
Bernd

von Bernd R. (bernd_r860)


Angehängte Dateien:

Lesenswert?

Peter* schrieb:
> Hast das Board "ESP32 DEV Module" eingestellt, richtige Port (COM)?
Ich habe sowohl "ESP32 Dev Module", als auch "ESP32vn IoT Uno" 
(letzteres wird in der Anleitung von az-delivery.de verwendet) --> 
https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/d1-r32
Der Port stimmt, das Hochladen zum Board funktioniert einwandfrei und 
ohne Fehler.

Im Seriellen Monitor bekam ich zuerst nur kryptische Zeichen als 
Ausgabe.
Erst als ich an der Übertragungsrate herumgespielt und diese auf 115200 
baud eingestellt habe, bekam ich dann auch Klartext.

> Welche Datei hast Du geladen.
Was meinst du genau mit "Datei"?

Gruß,
Bernd

: Bearbeitet durch User
von Jörg R. (rejoe2)


Lesenswert?

Bernd R. schrieb:
> @Dave:
> Ich werde leider aus deiner Software nicht ganz schlau.
> Muss ich da jetzt tatsächlich noch in PlatformIO einarbeiten?
Eigentlich sollte das zwischenzeitlich auch ohne die PlatformIO gehen, 
indem man die beiden bin mit dem esptoolkit hochlädt wie unter 
https://github.com/Neuroquila-n8fall/JunkersControl#installation-quick-start 
beschrieben. Dann muss/kann man eben die Konfigurationsdaten (als JSON 
encodiert) über das web-Interface hochladen und vorher woanders 
editieren.

Wenn noch ein anderer "Controller" (TA2xx) im Spiel ist, lauscht der ESP 
prinzipiell nur mit.

von Peter* (Gast)


Lesenswert?

Hallo,

unter Datei meinte ich eigentlich, welches Textprogramm (ACAN2515) Du 
benutzt. Ja..., die Baudprobleme hatte ich mir schon gedacht.

Funktioniert jetzt das scannen?

Bei den Board_Einstellungen schreibt jeder etwas anders, es müssen aber 
auch alle Port's funktionieren und ich meine ESP32vn IoT Uno ist dies 
nicht der Fall.

Auf dem CAN-Bus Board sind zwei LED's, ich benutze die als Sende- bzw. 
Empfangs_Led die unabhängig vom Can-Controller arbeiten, leider, da 
funktionierten sie nicht.

Auszug Programm:

    uint8_t Tx  =  12;          // Sende_LED_D03
    uint8_t Rx  =  14;          // Empfangs_LED_D02

unter Setup:

    pinMode(Tx, OUTPUT); digitalWrite(Tx, HIGH); // Ausgang; Tx_Led out,
    pinMode(Rx, OUTPUT); digitalWrite(Rx, HIGH); // Ausgang; Rx_Led out,

Hast Du schon den Can-Bus bzw. Platine getestet?

Du schriebst Du hast noch einen USB Canbus zur Verfügung. Vielleicht 
nutzt Du diesen zum testen mit der Karte. Einer sendet der andere 
empfängt.

Als Start der Testreihe, würde ich anfangen mit 
\LoopBackDemoESP32\LoopBackDemoESP32.ino. Dafür musst ACAN2515 
"installieren".
Das ein Test mit sich Selbst, ACAN2515 zeigt schon an ob grob, alles ok 
ist.

Danach könntest Du auf "Normalmode" gehen und empfangen. Dafür gibt es 
allerdings kein Demo. Sicher kriegen wir das auch hin.

Das sind Tests, die würde ich vor Dave's Programm absolvieren!!

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> Hallo,
>
> unter Datei meinte ich eigentlich, welches Textprogramm (ACAN2515) Du
> benutzt. Ja..., die Baudprobleme hatte ich mir schon gedacht.
>
> Funktioniert jetzt das scannen?
Mit der angepassten Baudrate funktioniert es.

> Bei den Board_Einstellungen schreibt jeder etwas anders, es müssen aber
> auch alle Port's funktionieren und ich meine ESP32vn IoT Uno ist dies
> nicht der Fall.
Okay, das kann ich (noch) nicht beurteilen.
Du hast sicher Recht.

> Auf dem CAN-Bus Board sind zwei LED's, ich benutze die als Sende- bzw.
> Empfangs_Led die unabhängig vom Can-Controller arbeiten, leider, da
> funktionierten sie nicht.
>
> Auszug Programm:
>
>     uint8_t Tx  =  12;          // Sende_LED_D03
>     uint8_t Rx  =  14;          // Empfangs_LED_D02
>
> unter Setup:
>
>     pinMode(Tx, OUTPUT); digitalWrite(Tx, HIGH); // Ausgang; Tx_Led out,
>     pinMode(Rx, OUTPUT); digitalWrite(Rx, HIGH); // Ausgang; Rx_Led out,
>
Das sagt mir leider noch gar nichts. .-(

> Hast Du schon den Can-Bus bzw. Platine getestet?
Nein, weil ich nicht weiß wie.
Ich hatte gedacht, dass ich einfach das Teil an den vorhandenen BUS 
hänge und schaue was passiert.
Mut zur Lücke.  ;-)
Kann ich eigentlich unendlich viele Geräte an den BUS hängen?

> Du schriebst Du hast noch einen USB Canbus zur Verfügung. Vielleicht
> nutzt Du diesen zum testen mit der Karte. Einer sendet der andere
> empfängt.
Verbinde ich die einfach miteinander und tue dann was?

> Als Start der Testreihe, würde ich anfangen mit
> \LoopBackDemoESP32\LoopBackDemoESP32.ino. Dafür musst ACAN2515
> "installieren".
> Das ein Test mit sich Selbst, ACAN2515 zeigt schon an ob grob, alles ok
> ist.
ACAN2512 habe ich in Version 2.1.1 installiert
Die Installation der Demo scheitert leider daran, dass ich eine 
Fehlermeldung bekomme:
`error: 'LED_BUILTIN' was not declared in this scope`

> Danach könntest Du auf "Normalmode" gehen und empfangen. Dafür gibt es
> allerdings kein Demo. Sicher kriegen wir das auch hin.
ich bin guter Dinge

> Das sind Tests, die würde ich vor Dave's Programm absolvieren!!
Bin dabei! (y)

: Bearbeitet durch User
von Bernd R. (bernd_r860)


Angehängte Dateien:

Lesenswert?

Peter* schrieb:

> Noch ein kleiner Hinweis zur Verkabelung (bzw. der Software) die SPI_Pin
> Nr. sind nicht die Pin's des ESP_Platine bzw. zur Software.
>
> static const byte MCP2515_SCK  = 18 ; // SCK input of MCP2515
> static const byte MCP2515_MOSI = 23 ; // SDI input of MCP2515
> static const byte MCP2515_MISO = 19 ; // SDO output of MCP2515
> static const byte MCP2515_CS  = 5 ;   // CS
>
> Wie mitgeteilt zum erwähnten Aufbau.

Ich nehme an, dass wir jetzt an diesem Punkt angekommen sind.
Die vier Zeilen habe ich im LoopBackDemoESP32.ino (Zeilen 30-34) 
angepasst.
Was ist aber mit diesen hier?

static const byte MCP2515_INT = 23 ; // INT output of MCP2515 (adapt to 
your design)
static const byte MCP2515_RESET = 27 ; // RESET input of MCP2515 (adapt 
to your design)

23 ist doch offensichtlich MOSI und nicht gleichzeitig INT.
INT ist am MCP2515 an 13
RESET an 19
...oder sehe ich da irgendetwas falsch?
Ich bin verwirrt

von Peter* (Gast)


Lesenswert?

Hallo,

> Ich hatte gedacht, dass ich einfach das Teil an den vorhandenen BUS
> hänge und schaue was passiert.
> Mut zur Lücke.  ;-)

Neee..., Lücke zahlt sich nicht aus.

>>     pinMode(Tx, OUTPUT); digitalWrite(Tx, HIGH); // Ausgang; Tx_Led out,
>>     pinMode(Rx, OUTPUT); digitalWrite(Rx, HIGH); // Ausgang; Rx_Led out,


> Das sagt mir leider noch gar nichts. .-(
Das sind Feinheiten brauchen wir momentan noch nicht.

>> Du schriebst Du hast noch einen USB Canbus zur Verfügung. Vielleicht
>> nutzt Du diesen zum testen mit der Karte. Einer sendet der andere
>> empfängt.
> Verbinde ich die einfach miteinander und tue dann was?

Nein.

> Die Installation der Demo scheitert leider daran, dass ich eine
> Fehlermeldung bekomme:
> `error: 'LED_BUILTIN' was not declared in this scope`

Richtig, die Led ist nicht definiert

static const uint8_t LED_BUILTIN =2;
setze den Satz über Setup.

> static const byte MCP2515_INT = 23 ;
keine Ahnung warum der Skript ohne Interrupt plötzlich hier einen Port
für Interrupt bekommt.

static const byte MCP2515_INT = 26 ;

> static const byte MCP2515_RESET = 27 ; Es gibt kein bedienbaren Reset_Pin.

Würde diesen Befehl erstmal ausklammern.

// static const byte MCP2515_RESET = 27 ;

/*---

RESET MCP2515
  pinMode (MCP2515_RESET, OUTPUT) ;

  digitalWrite (MCP2515_RESET, LOW) ;

  delay (10) ;

  digitalWrite (MCP2515_RESET, HIGH) ;

*/

> Ich bin verwirrt..... das ist ESP!

Beitrag #7330449 wurde vom Autor gelöscht.
von Bernd R. (bernd_r860)


Angehängte Dateien:

Lesenswert?

Das hat offensichtlich funktioniert.  freu

Wie geht es nun weiter? ;-)

Gruß,
Bernd

von Peter* (Gast)


Lesenswert?

Hallo,

erstmal ein kleinen Schritt noch.

Du hast keine 20Mhz und die Datenrate von 125kbit/s! ist auch falsch.

static const uint32_t QUARTZ_FREQUENCY = 20UL  1000UL  1000UL ; // 20 
MHz

ist falsch! Du hast ein 16MHz Quarz auf der Can-bus Platine. Eintrag 
ersetzen durch.

static const uint32_t QUARTZ_FREQUENCY = 16UL  1000UL  1000UL ;

Weiterhin:

 ACAN2515Settings settings (QUARTZ_FREQUENCY, 125UL * 1000UL) ;

ersetzen durch:
ACAN2515Settings settings (QUARTZ_FREQUENCY, 10UL * 1000UL) ;

Dann sollte es klappen: Abspeichern unter anderen Namen.

von Bernd R. (bernd_r860)


Angehängte Dateien:

Lesenswert?

Erledigt.
In meinen Augen macht das Ding das gleiche wie vorher.
Es sendet und empfängt.  ;-)

von Peter* (Gast)


Lesenswert?

Hallo,
ja,... nur die werte haben sich geändert. Er sendet sich selbst~~.

Hast Du Möglichkeit mit mit dem USB Can was senden.?

von Peter* (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

der Anhang muss etwas verändert werden #include "ACAN2515.h" in #include 
<ACAN2515.h>, ich arbeite immer mit LIB

Der Skript arbeitet bei mir mit Vorgängerversion ACAN2515 2.1.0 sollte 
aber auch mit der Neusten funktionieren. Er empfängt nur.

Can_High mit Can_High

Can_Low mit Can_Low

GND mit GND (Jumper setzen)

10kbit/s

evtl. muss Du zum USB_Can Abschlüsse setzen. 120 Ohm.

Der Adressbereich ist momentan begrenzt auf Junkers_Ebene. 0xF9 bis 
0x55F
!!!
Bei Verwendung an der Therme rate ich Dir dich zwischen BM1 und TA250 
(oder höher), einzukoppeln (ohne Jumper). Dann sollte er alle Daten 
anzeigen.

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> Hast Du Möglichkeit mit mit dem USB Can was senden.?
Eigentlich nicht, zumindest wüsste ich nicht wie.
Das Ding lauscht nur.

> Bei Verwendung an der Therme rate ich Dir dich zwischen BM1 und TA250 (oder 
höher)
Mein Junkers-Bus sieht momentan so aus:
BM1-TA2x-HSM-HMM-CANUSB

Ich hatte jetzt vor, den ESP32 mit dem CANUSB zusammen an die Klemmen 
des HMM anzuschließen. Das sollte doch eigentlich kein Problem sein, 
oder?

Wenn das neue Teil dann läuft, nehme ich den CANUSB außer Betrieb.

von Peter* (Gast)


Lesenswert?

hallo,

> Das Ding lauscht nur

schlecht.

Ok, überspringen wir das.

Ist ok so.

Wenn es läuft sag bescheid, vielleicht scannen wir deinen Bus dann noch 
mal um die Protokolle zu vervollständigen.

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> Wenn es läuft sag bescheid, vielleicht scannen wir deinen Bus dann noch
> mal um die Protokolle zu vervollständigen.

Leider ist es mir aus platztechnischen Umständen heraus nicht möglich an 
die Ausgabe des Moduls zu kommen, wenn es am CAN-Bus angeschlossen ist.

Ich versuche daher direkt die Software von Dave zu verwenden, da diese 
dann per WiFi an den MQTT-Broker sendet und ich mir von dort aus die 
Ergebnisse anschauen kann.

Die Anpassung der SPI-Schnittstelle und der Frequenzen habe ich bereits 
mit Daves Hilfe anpassen können.
Die Software ist auch bereits auf dem Board und läuft.

Lediglich mit der Konfiguration des Webinterfaces habe ich noch 
Probleme, habe aber auch da bereits eine Anfrage an Dave laufen.

Ich melde mich, wenn ich Neuigkeiten habe.

Gruß,
Bernd

von Peter* (Gast)


Lesenswert?

Hallo,

> Leider ist es mir aus platztechnischen Umständen heraus nicht möglich an
> die Ausgabe des Moduls zu kommen, wenn es am CAN-Bus angeschlossen ist.

nun eine Arduino_Oberfläche hätte man auch mit einem Laptop gehabt.

> Ich versuche daher direkt die Software von Dave zu verwenden, da diese
> dann per WiFi an den MQTT-Broker sendet und ich mir von dort aus die
> Ergebnisse anschauen kann.

sind ja so weniger Hürden zu bewältigen um zu wissen ob der Aufbau 
wirklich funktioniert!!? ...nehme zwei Schritt und fall aufs M....

> Die Anpassung der SPI-Schnittstelle und der Frequenzen habe ich bereits
> mit Daves Hilfe anpassen können

Welche Abpassung der SPI Schnittstelle?, die funktioniert nur so wie ich 
sie Dir mitgeteilt habe?

> Die Software ist auch bereits auf dem Board und läuft.
...und wie siehst Du das???

.

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> nun eine Arduino_Oberfläche hätte man auch mit einem Laptop gehabt.

Auch wieder wahr.
Melde mich.  ;-)

> Welche Abpassung der SPI Schnittstelle?, die funktioniert nur so wie ich
sie Dir mitgeteilt habe?

Ja, genau so habe ich sie konfiguriert.
Hatte nicht gewusst, wo ich diese Einstellungen in Daves Software 
vornehmen muss.

> ...und wie siehst Du das???
Nun, sie wurde erfolgreich auf das Board übertragen und gibt das aus, 
was sie zu diesem Zeitpunkt ausgeben soll.

von Dave G. (neuroquila-n8fall)


Lesenswert?

Ich bin momentan etwas arg schwer beschäftigt und leiste daher 
Unterstützung via Discord, falls sich Leute wundern warum hier mein Name 
fällt aber keinerlei Reaktion erfolgt ;)
Viele projektspezifische Dinge kläre ich nun auch dort um diesen Thread 
hier nicht unnötig mit Troubleshooting von meinem Code zuzumüllen...

von Bernd R. (bernd_r860)


Angehängte Dateien:

Lesenswert?

@Peter:
In meinen Augen arbeitet alles wie es soll...
Was meinst du?

von Peter* (Gast)


Lesenswert?

Hallo,

sieht so aus.

Wenn Du noch deine Kommunikation einmal Scannen willst schicke ich Dir 
ein anders Programm. Das läuft einige Minuten und zeichnet innerhalb von 
3 Minuten (reicht immer) alle Telegramme auf. Sortiert sie nach der 
Adressen, löscht doppelte Anträge, zeigt die Zykluszeit an und jeweils 
ein Daten Paket pro Adresse, Momentaufnahme.

Diese Datei (*.txt) könntest Du dann hier hinterlegen mit deinem Anlagen 
(Ofen; Taxxx; BMx; HSM; HMM;...?) Hinweis.
Für die Allgemeininformation.

von Bernd R. (bernd_r860)


Lesenswert?

Peter* schrieb:
> Diese Datei (*.txt) könntest Du dann hier hinterlegen mit deinem Anlagen
> (Ofen; Taxxx; BMx; HSM; HMM;...?) Hinweis.
> Für die Allgemeininformation.

Klar, warum nicht.

Dann würde ich aber langfristig auf Daves Software umschwenken.
Habe die zwar schon draufgebügelt und seltsamerweise empfängt die rein 
garnichts, aber umprogrammiert ist das Teil ja schnell.  ;-)

Liebe Grüße,
Bernd

von Peter* (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
genau.

von Bernd R. (bernd_r860)


Angehängte Dateien:

Lesenswert?

Seit gestern Abend, so gegen 23:00 Uhr lauscht mein ESP32-Modul an 
meiner Heizung.

Erstaunlicherweise erscheinen jetzt an dem anderen Modul (Lawicel 
CANUSB), das parallel mithört und aktuell noch meinen HomeAssistant mit 
Daten versorgt, irgendwelche Störungen. (siehe Bild)

Was könnte die Ursache hierfür sein und wie Stelle ich das ab?

Gruß,
Bernd

von Bernd R. (bernd_r860)


Angehängte Dateien:

Lesenswert?

Peter* schrieb:
> Diese Datei (*.txt) könntest Du dann hier hinterlegen mit deinem Anlagen
> (Ofen; Taxxx; BMx; HSM; HMM;...?) Hinweis.
> Für die Allgemeininformation.

Hier übrigens meine Daten:
Junkers ZSB 3-16 A 23
TA270
BM1 (vermutlich)
HSM
HMM

von Peter* (Gast)


Lesenswert?

Hallo,

bin erstaunt, das bei Dir doch noch einige Adressen mehr auftauchen.

Vielleicht darf man hier mal eine Aufgabe / Anregung an alle Besitzer 
und interessierten vergeben zur Überprüfung der "Funktionen der 
Adressen" und Dave's Excels Datei zu erweitern und zu vervollständigen.

Hierzu noch eine Info: Habe festgestellt das sich je nach Anlage 
(HSM;HMM bzw. TF20, HKx) die Daten_Länge (Heizkreis_Info) ändern kann. 
Vielleicht eine eigene Seite mit Info hinzufügen. Wenn man einen kleinen 
Beitrag ;-) leisten möchte bzw. zurückgegeben will.

Habe inzwischen zwei Adressen im 0x600_Bereich ausgemacht.

@Bernd

bin etwas verwirrt, welche Fehler?... beschreibe diese doch etwas 
genauer. Für mich ist es schon ein Fehler ein Heizkreissoll von 10°C, 
das ist Frostschutz bzw. 90 °C ist wiederum max. VL oder WW_Zeitraum. 
Wahrscheinlich ist eher der rechte Raum im Bild zu bewerten?

von Bernd R. (bernd_r860)



Lesenswert?

Peter* schrieb:

> bin etwas verwirrt, welche Fehler?... beschreibe diese doch etwas
> genauer. Für mich ist es schon ein Fehler ein Heizkreissoll von 10°C,
> das ist Frostschutz bzw. 90 °C ist wiederum max. VL oder WW_Zeitraum.
> Wahrscheinlich ist eher der rechte Raum im Bild zu bewerten?

Man sieht, dass die übermittelten Werte ab ca. 23:00 Uhr anfangen zu 
"schmieren".
Für mich sieht das nach einer Störung im CANBUS-Protokoll aus.

Vorher kommen saubere Werte rein, keine Ausreißer

Um diese Zeit hatte ich Daves Software so weit, dass die Werte empfängt.
Es muss also irgendetwas damit zu tun haben.

Wie steuere ich nochmal alle eingebauten LED's auf diesen beiden Boards 
an?

Gruß,
Bernd

von Bernd R. (bernd_r860)


Lesenswert?

Eine der LED-Ausgaben von Daves Software zeigte auf GPIO 26.
Ich glaube, dass das das "Schmieren" verursacht hat.
GPIO 26 ist ja eigentlich INT

...oder täusche ich mich?

: Bearbeitet durch User
von Peter* (Gast)


Lesenswert?

Hallo,

nein.

Ihr solltet hier ein anderen LED Pin suchen bzw. benutzen( ~Pin17). Es 
ist der Ausgang vom MCP2515 Interrupt und ist direkt verbunden! INT wird 
doch benutzt. Vorsorglich nochmals durchsehen was Pierre über /INT 
schreibt evtl. R10K an 3,3V Pullup.

can_processor.cpp: was habt Ihr denn hier eingetragen? müsste doch 26 
sein und nicht 17.

von Peter* (Gast)


Angehängte Dateien:

Lesenswert?

vergessen

von Bernd R. (bernd_r860)


Angehängte Dateien:

Lesenswert?

Nachdem ich gegen 12:00 Uhr die Einstellungen für die LEDs verändert 
habe, ist das "Schmieren" zwar besser geworden, aber immernoch da.

Habe jetzt 2, 12, 14 und 25 in den LED Einstellungen der 
configuration.json stehen.

von Peter* (Gast)


Lesenswert?

Hallo,

wenn ich das richtige sehe ist es WiFi Led die hier angeschlossen war 
oder ist die gewechselt werden muss. Versuche nicht die Rx Tx Pin's zu 
belegen. Könnte ja mal gut sein für ein Display.

versuch der Analyse: Was sehen wir?

Alles Aufzeichnungen von deinem CANUSB und was sieht das Gerät:

alle Telegramme Hk_Soll auf dem Bus TA270/HMM (ausgewertete Adresse mir 
unbekannt) "und" die Vorgabe vom Programm.

Oberflächlich sieht das eher wie eine widersprechende Vorgabe aus. Mal 
einen kürzeren Zeitraum aufnehmen. Was sagt den Dave's Programm dazu.

von Peter* (Gast)


Lesenswert?

Hallo,

Löschungsmöglichkeit: Telegramme aufzeichnen

ESP_R32_REC_V01.ino ->

Telegramme auf Sollvorgabe (ID) beschränken:

und zwar diese Zeile if (frame.id>=0xF9 && frame.id<=0x55F) zu

        if (frame.id==0x252) // Sollwert Vorlauftemperatur

!! 0x252  Heizkreislauf  Sollwert Vorlauftemperatur

von Joe Lucid (Gast)



Lesenswert?

Kennt jemand den Error Code AC?

Meine Steuerung funktioniert inzwischen ziemlich gut. Zur Zeit steuere 
ich Raumtemperatur geführt und fahre die Taktung so, dass auf eine 
maximale Raumtemperaturschwankung hingesteuert wird um Taktungsverluste 
zu minimieren.

Gestern kam ich so ziemlich nah an einen Takt pro Stunde - sehr gute 
Ergebnisse.

Allerdings bekomme ich von Zeit zu Zeit nicht von mir veranlasste 
Brennerstarts, die die Vorlauftemperatur hochschnellen lassen und an der 
Therme mit Fehlercode AC angezeigt werden (laut Anleitung "Keine 
Signalerkennung zwischen TA 211 E bzw. RAM und Leiterplatte. Kabel 
prüfen". Siehe 20:10 zweite Graphik.

Kabel scheint soweit in Ordnung. Hat jemand das schon mal gesehen?

von Horst S. (h3aau)


Lesenswert?

moin,
mal ne frage an die profis. ich habe eine ksbr3-16a21 ohne busmodul. wie 
kann ich aus der daten abgreifen?

von Peter* (Gast)


Lesenswert?

Hallo,

Horst S. schrieb:
> moin,
> mal ne frage an die profis. ich habe eine ksbr3-16a21 ohne busmodul. wie
> kann ich aus der daten abgreifen?

Ohne Busmodul oder Schnittstelle dürfte Dir nur das Textmodul 
überbleiben.
Könnte mir aber vorstellen, dass das Textmodul über I2C kommuniziert.

BM1; TAxxx  sind auch hier für vorgesehen.

von Horst S. (h3aau)


Lesenswert?

moin peter,
danke für die antwort.
wo finde ich da infos zum "textmodul"?

von Peter* (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

versuche es erst ein mal bei Junkers selbst. Bedienanleitung, 
Installation selbst, möglichst bei den Fachmännern... genaue 
Suchvorgaben sind nötig.

https://www.bosch-thermotechnology.com/de/de/wohngebaeude/service-und-support/dokumente/bedienungsanleitungen/

Von Bosch selbst, wirst Du nichts bekommen.
viel Suchen; selber messen; Bauteile auf der Platine.....

der einfachere Weg ist Can-bus wie hier immer beschrieben.

von Peter* (Gast)


Lesenswert?

Hallo,

Joe Lucid schrieb:
> Kennt jemand den Error Code AC?

nun..., mit dem TA211 wird es ja wohl nichts zu tun haben... wenn Du 
weiter gelesen hast bzw. geprüft hast,.. steht als letztes Modul ... 
erneuern??

Als ich das erste mal deine Fehlermeldung gelesen habe, fiel mir der WW 
Heizprozess ein. Hier steigt bei mir auch die VL Temperatur extrem 
angeblich an. Das ist ein Fehler der Firma Junkers Bosch, das 3 
Wegeventil ist noch geschlossen und die Wärme kann nicht abfließen, wenn 
der HK_Strang geschlossen ist. Öffnet man einen Heizkörper in der Nähe 
passiert das nicht.

Kann dein Fehler sein,.. muss aber nicht... da wirst Du selber durch 
müssen.

von Joe Lucid (Gast)


Lesenswert?

Joe Lucid schrieb:
> Allerdings bekomme ich von Zeit zu Zeit nicht von mir veranlasste
> Brennerstarts

So - den Fehler an der Therme sehe ich inzwischen nicht mehr.

Scheint als wären die Spikes durch Fehler im Warmwasserspeicher Temp 
Sensor / Regelkreis begründet. Jedenfalls bekomme ich sie nicht, wenn 
ich die WW Soll Temp auf 0 setze.

So steuere ich jetzt auch die WW Temp dynamisch. Hat auch den Vorteil, 
dass ich am Ende jeden Heiztaktes die WW Temp checke und falls zu kühl 
WW aufheize ohne den Brenner dazwischen abzuschalten. Spart eine Zündung 
und ein Auskühlvorgang.

von Joe Lucid (Gast)


Lesenswert?

Joe Lucid schrieb:
> So - den Fehler an der Therme sehe ich inzwischen nicht mehr.

Alles zurückgenommen. Nach ein paar Stunden kamen die AC Fehler zurück. 
Dieses Auftreten in Clustern brachte mich dann auf den wahrscheinlichen 
Grund: Die Therme mag es nicht, wenn zu viele Pakete zu Unzeiten 
ankommen. Da Dave's Code in Mehrfachen von 1000ms sendet und die Therme 
ihre Sendeslots auf Mehrfachen von 100ms hat - und die Uhr der Therme 
driftet - kommt es zu Problemen, wenn die Sendeslots überlappen.

Ich habe jetzt die Periode zwischen Paketen auf 1013ms verlängert und 
ausserdem die Sendefrequenz untergedreht (zb nur Änderungen der Soll VL 
oder WW Temp alle 5s und sonst alle 15s) und bisher läufts den gesamten 
Tag ohne Spikes oder Error AC.

Hoffentlich war es dann jetzt auch wirklich.

Schöner wäre noch die esp32 Pakete genau zwischen den Paketen der Therme 
zu senden. Das versuche ich als nächstes falls wieder Probleme 
auftreten.

von Joe Lucid (Gast)


Lesenswert?

Peter* schrieb:
> Hier steigt bei mir auch die VL Temperatur extrem
> angeblich an. Das ist ein Fehler der Firma Junkers Bosch, das 3
> Wegeventil ist noch geschlossen und die Wärme kann nicht abfließen, wenn
> der HK_Strang geschlossen ist.

Meine Steuerung ist ja raumgeführt und insofern sind immer wenigstens 
zwei Heizkörper voll geöffnet. Trotzdem führt WW Bereitung zu Spikes 
-locker 20 C in 5 Sekunden. Viel mehr als die gleiche Leistung im 
Heizkreis bewirken würde.

Meine Hypothese: der WW Wärmetauscher braucht sehr hohe Temperaturen um 
effizient Wärme übertragen zu können. Deswegen kocht die Therme bewusst 
den Brenner hoch bis das Wasser >70C hat - und pumpt erst dann durch den 
Tauscher.

Auf jeden Fall stimmt, dass nach der WW Bereitung die Vorlauftemp im 
Heizkreis deutlich ansteigt - wahrscheinlich einfach durch den heissen 
Brenner. Wenn man hier keinen Abweg hätte, würde es wohl länger dauern 
bis die Vorlauftemp wieder notmal ist.

Beitrag #7354247 wurde von einem Moderator gelöscht.
von Joe Lucid (Gast)


Angehängte Dateien:

Lesenswert?

BTW - wollte Euch mal den Einfluss meiner PC Lüfter auf den Heizkörpern 
zeigen (siehe Screenshot). Schaut Euch die Vorlauftemp im Rechteck an. 
Während dieser Zeit hat meine Frau die Lüfter abgeschaltet. Frappierend 
wie viel höher die Vorlauftemperatur geregelt werden musste.

Grund für die Abschaltung ist dass der Luftzug als unangenehm empfunden 
wird, wenn die Lufttemperatur niedrig ist. So schalte ich die 
Ventilatoren seit heute nur noch an, wenn die Heizungstemp > 25.5 C ist.

von Bernd (Gast)


Lesenswert?

Joe Lucid schrieb:
> Ich habe jetzt die Periode zwischen Paketen auf 1013ms verlängert und
> ausserdem die Sendefrequenz untergedreht (zb nur Änderungen der Soll VL
> oder WW Temp alle 5s und sonst alle 15s) und bisher läufts den gesamten
> Tag ohne Spikes oder Error AC.

Wo genau hast du das verändert?

von Joe Lucid (Gast)



Lesenswert?

Bernd schrieb:
> Wo genau hast du das verändert?

Tja gestern Nacht ging's doch wieder los - und auch heute tagsüber 
wieder einer dabei (siehe Anhang).

Habs also noch verfeinert: greife im interrupt handler des can busses 
die Systemzeit ab und bilde einen laufenden Mittelwert deren Offset von 
der vorherigen 100ms Grenze. Das ist relativ stabil (siehe letzte Spalte 
zweiter Anhang, Einheit uS).

Pakete schicke ich etwa um 40ms versetzt (siehe Anhang 3, letzte Spalte 
in ms). Ausserdem halte ich mindestens 500ms nach Empfang eines Paketes 
Stille und lasse mindestens 450ms zwischen zwei Paketen die ich sende.

Ich sag Euch morgen ob das funktioniert.

von Peter* (Gast)


Lesenswert?

Hallo,

sorry, aber versteht das noch jemand?? ich leider nicht.

Du protokollierst Diagramme ohne Benennungen und ID'S die hier noch nie 
dargelegt wurden,... noch die der Therme zu zuordnen sind. WW ist TA...

Nochmals ein Hinweis (wurde schon mal besprochen), jedes Telegramm das 
Du verschickst steht einem System_Telegramm gegenüber mit einem anderen 
Dateninhalt. Fakt, je länger Du wartest nach dem System Telegramm um so 
stärker wirkt sich evtl. die Störung aus. (z.B: Relais xy: an/aus)

Wird während der Zykluszeit des System_Telegramms ( die zu 
berücksichtigen sind, 5s bis 60s) ein Feuerwerk an Telegrammen 
gestartet, um eine gewünschte Änderung zu erzielen, ist das nur eine 
unnötige Busbelastung und Störung des Bus's.

Zumal wahrscheinlich alle Daten im I2C Ram im BM1 oder auch 
TextDisplay(falls vorhanden) zwischengespeichert werden, auch als 
zeitliche Schnittstelle.

Die Überschreibung ist an sich schon ein Fehler, hier sollte eher eine 
Filterung stehen (Relais_Station); TA...trennung oder eine Fernbedienung 
evtl. TF20.

Bin überzeugt das eine Überschreibung nur synchron ablaufen darf.

von Joe Lucid (Gast)


Lesenswert?

Jedenfalls scheint das Paket Timing doch nichts mit Error AC zu tun zu 
haben. Ich sehe nach wie vor diese spontanen WW Bereitungen mit Error 
AC.

Während der Fehler angezeigt wird empfange ich weiterhin erfolgreich 
Pakete, allerdings nicht den Fehlercode AC auf dem CAN Bus. Also sieht 
es so aus dass Bus und BM1 in Ordnung sind, aber während der Störung die 
Therme nicht auf den BM1 zugreifen kann.

Vielleicht liegt es auf der elektrischen Seite? Vielleicht ist das 
Netzteil, welches den esp32 speist zu verrauscht und die GND Verbindung 
bringt das auf den BM1? Werde mal versuchen das ganze batteriegespeist 
zu betreiben.

von Peter* (Gast)


Lesenswert?

Hallo,

schlage Dir vor dein System mit einfachster Einstellung ein paar Tage 
laufen zu lassen und zwar ohne ESP32 Anbindung. Eine ganz normale 
Heizungs- und Warmwassereinstellung ohne null oder sonstige besonderen 
Parameter aber mit Außenfühler.

Auf dieser Grundlage kannst Du dann aufbauen.

Wenn dann noch immer ein Fehler auftritt hast Du ein Problem.

von Joe L. (joe_l626)



Lesenswert?

Ich glaub ich habs jetzt - warte jetzt bis 800 ms seit letztem Paket von 
der Therme vergangen sind. Bei meiner 18-5 habe ich dann immer 
mindestens 700 ms bis das nächste von der Therme kommt. In der Zeit kann 
ich locker alle Parameter schicken - also kein round robin oder 
definierter Sekunden Takt pro Paket Typ.

Schicke jetzt alle 5s alles. Und zumindest heute gab es keinen AC Fall 
mehr seit der Änderung.

von Peter* (nochgast)


Lesenswert?

Hallo,

zur Anmeldung gezwungen, Gründe Spam wer es glaubt!

Nun, was verstehst Du unter Paket?

Sieht man sich die Zykluszeiten der einzelnen Telegramme an kann der ESP 
schlafen gehen bei 10K.

Frage wieviel Telegramme willst Du denn eigentlich verändern??

Warum, nicht so, Filter setzen und  Interrupt oder halt per normaler SW 
:if Id==xx dann sende Meine_Daten, evtl. mit einer kleinen Verzögerung.

Statt den Bus zu blockieren und wieder AC (keine Verbindung -> evtl. 
Timeout) zu bekommen.

Joe L.
> Schicke jetzt alle 5s alles. Und zumindest heute gab es keinen AC Fall
> mehr seit der Änderung.

Das ist eine Bestätigung, Ihr füllt den Can-Bus mit Daten

von Joe L. (joe_l626)


Lesenswert?

War wieder mal eine Ente. 10h funktionierte es ohne Fehler AC - dann kam 
der wieder dazu. Scheint überhaupt nichts mit der Sendefrequenz der 
Telegramme zu tun zu haben.

Ich werde wohl nicht drum rum kommen mal den i2c Datenverkehr 
aufzuzeichnen. Vermutlich ist das als Multi-Master System ausgelegt und 
Therme sowie BM1 fungieren beide als Master. Vielleicht behandelt eine 
Seite Kollisionen nicht korrekt.

Ich habe hier noch ein paar Moteinos 
(https://lowpowerlab.com/shop/product/99) rumliegen. Den BM1 durch einen 
solchen zu ersetzen und dann über 433mhz kommunizieren - das wäre 
traumhaft.

Aber so wie ich sehe war bisher niemand erfolgreich beim reverse 
Engineering des i2c Austauschs, richtig?

von Peter* (nochgast)


Lesenswert?

Hallo,

Du weißt aber, das Du nur herumstocherst. Den Fehler finden heißt auch 
wirklich die Grenzen woher der Fehler kommt immer enger zu ziehen.
Und der erste Schritt währe nun, ob Du ein HW_Fehler wirklich vorliegt.

> Scheint überhaupt nichts mit der Sendefrequenz der
> Telegramme zu tun zu haben.

Woraus schließt Du das?

> Ich werde wohl nicht drum rum kommen mal den i2c Datenverkehr
> aufzuzeichnen. Vermutlich ist das als Multi-Master System ausgelegt und
> Therme sowie BM1 fungieren beide als Master. Vielleicht behandelt eine
> Seite Kollisionen nicht korrekt.

Ganz sicher nicht!

Die Therme ist der Master, fügst Du zum Textdisplay (i2C) ein BM1 hinzu 
bekommst Du keine Möglichkeit der Eingabe durch das Textdisplay. (so die 
Beschreibung, ..noch nicht nachgeprüft). Daten fließen dann zum BM1.

Therme <--> Bedienteil(TA...)

Dieser I2C hat etwa 25 bis 30KHz? (wird immer wieder von mir gemessen 
??) warum SCL auch nicht symmetrische ausgelegt ist auch noch eine 
offene Frage.

Würde Dir auch empfehlen nicht ohne optische Trennung I2C. (glaube bei 
Reichelt habe ich sie neulich gesehen)

Bin mir ganz sicher das Du hier mehr Fragen stellen wirst, die weder 
jemand beantworten kann, noch das man die Zeit hat dem nach zugehen. Die 
Übergabe dann an eine unsichere 433 MHz Kommunikation muss man dann,... 
erst mal verstehen.

Mein Stromzähler läuft auch über 2,4 MHz (Kanal 101) und mindestens 
einmal am Tag ist hier ein Fehler dabei, der nicht abgefangen wird. 
Ärgerlich...

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> Hallo,
>
> Du weißt aber, das Du nur herumstocherst. Den Fehler finden heißt auch
> wirklich die Grenzen woher der Fehler kommt immer enger zu ziehen.
> Und der erste Schritt währe nun, ob Du ein HW_Fehler wirklich vorliegt.

Meine Möglichkeiten sind da etwas beschränkt, weil ich kein Bedienteil 
TA??? habe. Es funktioniert ja alles prima bis auf die AC Fehler, die 
bedeuten dass die Therme sporadisch nicht auf das i2c ram zugreifen 
kann. Von daher sollte ich mir sowieso mal die i2c Signale anschauen. 
Kabel und Connector sind es nicht - Kabel hab ich getauscht und 
Connector gereinigt.

>
>> Scheint überhaupt nichts mit der Sendefrequenz der
>> Telegramme zu tun zu haben.
>
> Woraus schließt Du das?

Daraus dass die Fehler unabhängig von vielen unterschiedlichen 
Sendealgorithmen auftreten. Sie sind zb nicht häufiger wenn ich Datum, 
F9, WW temp, Vorlauf Soll, Heizbetrieb, Witterungssteuerung alle 
zusammen in 500ms sende. Und treten auch auf wenn ich den Rhythmus der 
TA??? verwende.

>
>> Ich werde wohl nicht drum rum kommen mal den i2c Datenverkehr
>> aufzuzeichnen. Vermutlich ist das als Multi-Master System ausgelegt und
>> Therme sowie BM1 fungieren beide als Master. Vielleicht behandelt eine
>> Seite Kollisionen nicht korrekt.
>
> Ganz sicher nicht!
>
> Die Therme ist der Master, fügst Du zum Textdisplay (i2C) ein BM1 hinzu
> bekommst Du keine Möglichkeit der Eingabe durch das Textdisplay. (so die
> Beschreibung, ..noch nicht nachgeprüft). Daten fließen dann zum BM1.
>
> Therme <--> Bedienteil(TA...)

Ich denke Therme und BM1 sind Master und das i2c ram ist der Slave. I2C 
unterstützt das und es ist die einzige vernünftige Möglichkeit die ich 
sehe ein geteiltes I2C Ram zu implementieren. Ich meine auch Du hast nur 
eine I2C Adresse gesehen - das passt auch, weil beide Master unter der 
gleichen Adresse auf das Ram zugreifen.


> Dieser I2C hat etwa 25 bis 30KHz? (wird immer wieder von mir gemessen
> ??) warum SCL auch nicht symmetrische ausgelegt ist auch noch eine
> offene Frage.

I2C bietet die Möglichkeit für Slaves, den Takt zu verlangsamen indem 
der Slave die untere Flanke verlängert. Das könnte der Grund sein. Zwei 
Master könnten mit unterschiedlichen Frequenzen arbeiten.

> Würde Dir auch empfehlen nicht ohne optische Trennung I2C. (glaube bei
> Reichelt habe ich sie neulich gesehen)

Ich würde das ganze von der Stromversorgung der Therme her betreiben um 
mit gleichem GND zu arbeiten. Aber als erstes kommt einfach mal mein 
logic analyzer dran.

> Bin mir ganz sicher das Du hier mehr Fragen stellen wirst, die weder
> jemand beantworten kann, noch das man die Zeit hat dem nach zugehen. Die
> Übergabe dann an eine unsichere 433 MHz Kommunikation muss man dann,...
> erst mal verstehen.

In meiner Wohnung ist leider 2.4mhz wifi super unzuverlässig und ich 
habe mit dem esp32 häufig Probleme damit. Setze 433 MHz für home 
automation mit sehr hoher Zuverlässigkeit ein. Z.b sind die Thermometer 
für die Raumsteuerung alle basiert auf dieser Technologie. Das ganze 
wird dann über einen esp8266 nach wifi geroutet.

Ich würde die Steuerung dann in diesen esp8266 mit einbauen. Damit wäre 
die Heizungssteuerung komplett unabhängig vom Internet/Wifi - ein 
grosses plus. Und die Heizungsventile können dann am gleichen 433mhz 
Netz teilnehmen.

von Joe L. (joe_l626)


Lesenswert?

Wahrscheinlich wäre es am einfachsten, den atmega 328p im Moteino 
einfach als i2c slave zu betreiben und das Ram zu simulieren. Der 
PCF8570 hat 256 byte RAM - das würde passen. 5V haben wir auch.

Es ist also im Bereich des Möglichen dass ein Moteino für ~10 Euro den 
BM1 vollwertig für unsere Zwecke ersetzen könnte.

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Peter* schrieb:
> warum SCL auch nicht symmetrische ausgelegt ist auch noch eine
> offene Frage.

Ich kann die CPU auf der Hauptleiterplatte leider nicht identifizieren - 
ausser dass sie von NEC ist (siehe foto). Auch möglich dass i2c per 
bitbang implementiert ist da nicht nativ unterstützt.

Das externe RAM vermutlich, da die CPUs so wenig Speicher haben. Die 
grosse auf dem BM1 hat 512 byte total.

von Marco (xanderzone)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe die Software von Dave auf den ESP32 geflascht (die beiden 
BIN-Files per ESPTool) und komme nicht auf den Access Point Cerasmarter 
192.168.4.1.
Mit dem Access Point kann ich mich verbinden aber wie komme ich auf das 
WebUI?
Hardware ist ESP32 mit CANdiy-Shield 2.1, Jumper 1-3 sind eigelötet, 
Jumper ist auf 3,3V umgelötet.
CAN-Bus wurde erfolgreich mit LoopBackDemoESP32 getestet.

VG
Xander

von Peter* (nochgast)


Lesenswert?

Hallo,

> Meine Möglichkeiten sind da etwas beschränkt,....

sorry, aber ich werde mir die einzelnen Aufbauten nicht merken können, 
auch wenn momentan nur noch Bernd ab und zu auftaucht. Das ist momentan 
hier nur "eben mal draufschauen". Die Zeit habe ich gar nicht zur 
Verfügung.

... das ändert doch die Problematik, Du hast keinen Mischer in der 
Anlage, also Pur und woher kommen dann die 500ter und sogar 600 Id's her 
in deiner Aufzeichnung die Du neulich dargelegt hast?

> Es funktioniert ja alles prima bis auf die AC Fehler,...
ja, genau deshalb.... dein System meldet Dir,...mir fehlt was oder es 
kommt nicht in der richtigen Reihenfolge oder nicht zum richtigen 
Zeitpunkt. Das ist auf dem Can-Bus durchaus üblich.

Du schickst ein Telegramm das evtl. die Anwesenheit eines HMM oder HSM 
meldet und dann sind sie nicht mehr da.

> dass die Therme sporadisch nicht auf das i2c ram zugreifen

Glaube mir, das hat nichts damit zutun, es ist jetzt ungefähr 1 1/2 
Jahre her das ich den i2C aufgegriffen habe und zeitlich war das ein 
Fass ohne Boden.

> Sendefrequenz

die Sendefrequenz ist 10k vom Can-Bus, du meinst die Zykluszeit der 
Telegramme

> Ich würde das ganze von der Stromversorgung der Therme her betreiben um
> mit gleichem GND zu arbeiten.

Am Stecker des zum BM1 sind 5 V vorhanden am Textdisplay nur 24V.

Ich rate Dir aber trotzdem ab, modifiziere lieber deine Anlage mit dem 
Can-Bus und vereinfache deine Kommunikation auf das nötige und zeitliche 
korrekte Telegramm. Simuliere hier das TA... das ist einfacher als Du 
glaubst vom zeitlichen und erst recht mit einem ESP32 (....240Mhz)

von Joe L. (joe_l626)


Lesenswert?

> ... das ändert doch die Problematik, Du hast keinen Mischer in der
> Anlage, also Pur und woher kommen dann die 500ter und sogar 600 Id's her
> in deiner Aufzeichnung die Du neulich dargelegt hast?

Das war mit dem BM2 - mit dem BM1 sieht alles genau so aus wie es soll.

> Ich rate Dir aber trotzdem ab, modifiziere lieber deine Anlage mit dem
> Can-Bus und vereinfache deine Kommunikation auf das nötige und zeitliche
> korrekte Telegramm. Simuliere hier das TA... das ist einfacher als Du
> glaubst vom zeitlichen und erst recht mit einem ESP32 (....240Mhz)

Na das habe ich jetzt bis ins Extreme getan. Ich habe genau wie die TA's 
gesendet und auf viele anderen Weisen. Das ist nicht das Problem.

> es ist jetzt ungefähr 1 1/2
> Jahre her das ich den i2C aufgegriffen habe und zeitlich war das ein
> Fass ohne Boden.

Du hast nur relativ wenig zu dem Thema hier geschrieben und das war 
nicht so recht klar (für mich). Hast Du den I2c Bus belauscht während 
die Hauptplatine mit BM1 verbunden war? Waren alle Daten auf dem 
BM1/Hauptplatine Bus I2c Packete an die Adresse 0x50 oder gab es noch 
anderen Austausch (möglicherweise direkt zwischen BM1 und Platine)?

Mir scheint die Architektur mit dem geteilten i2c RAM darauf 
hinzudeuten, dass die Prozessoren durch den asynchronen Austausch über 
das RAM entlastet werden sollten. Wenn das eine Motivation ist, würde 
man wohl alles darüber laufen lassen. Aber dann hätte ich erwartet, dass 
man Lese- und Schreizugriffe auf Adresse 0x50 sehen würde, die die 
Informationen auf dem Can Bus reflektieren.

Der Prozessor auf dem BM1 kann übrigens DMA von Can Bus direkt ins RAM - 
ein Grund zu spekulieren, dass das Timing der Can Bus Pakete keine Rolle 
spielt. Wie es sich in allen meinen Versuchen bisher gezeigt hat.

von Joe L. (joe_l626)


Lesenswert?

Auch interessant (https://www.nxp.com/docs/en/data-sheet/P8XC592.pdf):

The main differences between P8xC592 and P8xC552 are:
• 16 kbytes programmable ROM (P8xC552 has 8 kbytes) • Additional 256 
bytes RAM
• A CAN-controller instead of the I2C-serial interface.

Mit anderen Worten die I2C Implementierung auf dem BM1 erfolgt in 
Software. Wie oben erwähnt ist das wahrscheinlich der Grund für das von 
Dir beobachtete asymmetrische SCL.

von Peter* (nochgast)


Angehängte Dateien:

Lesenswert?

Hallo,


> Na das habe ich jetzt bis ins Extreme getan. Ich habe genau wie die TA's
> gesendet und auf viele anderen Weisen. Das ist nicht das Problem.

Hast du nicht geschrieben das Du alle Telegramme hintereinander 
verschickst?

Ich habe hier ein Programm hinterlegt das die Zykluszeiten ans Telegramm 
heftet. Baust Du Dir hieraus ein Array mit Struktur und sendest deine 
Telegramme zur Zykluszeit ist es richtig.

> Hast Du den I2c Bus belauscht...
Das war ein Schreibtischtest ohne Hauptplatine, eher TA250 <--> 
Speicher, des halb habe ich es auch nicht weiter veröffentlicht.

Meine Vermutung war das alle Daten (notwendige) vom TA.. in den Speicher 
geschrieben werden sowie Umgekehrt und das der Speicher als Bindeglied 
benutzt wird zur zeitlich Entkopplung. Das konnte ich nicht belegen, 
aber es gab besondere Zellen die wohl von der Platine als Daten gültig 
benutzt werden. Handshake. Vom BM1 oder Speicher gingen keine anderen 
Adressen ab.

> dass
> man Lese- und Schreizugriffe auf Adresse 0x50 sehen würde

Das ist auch der Fall, nur die Zellen ändern sich zum Teil? Der Versuch 
einer Analyse war mehr als schwierig. Hier mal ein Versuch Datei.

ohne Anspruch das es wirklich so war, im Schreibtischtest.

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

> Ich habe hier ein Programm hinterlegt das die Zykluszeiten ans Telegramm
> heftet. Baust Du Dir hieraus ein Array mit Struktur und sendest deine
> Telegramme zur Zykluszeit ist es richtig.

Das habe ich alles schon versucht. Dave's Timing, Timing nach Deiner 
Analyse, alles zusammen, sogar in zu festen Offsets in ms von 
empfangenen Paketen.

>> Hast Du den I2c Bus belauscht...
> Das war ein Schreibtischtest ohne Hauptplatine, eher TA250 <-->
> Speicher, des halb habe ich es auch nicht weiter veröffentlicht.
>
> Meine Vermutung war das alle Daten (notwendige) vom TA.. in den Speicher
> geschrieben werden sowie Umgekehrt und das der Speicher als Bindeglied
> benutzt wird zur zeitlich Entkopplung. Das konnte ich nicht belegen,
> aber es gab besondere Zellen die wohl von der Platine als Daten gültig
> benutzt werden. Handshake. Vom BM1 oder Speicher gingen keine anderen
> Adressen ab.
>
>> dass
>> man Lese- und Schreizugriffe auf Adresse 0x50 sehen würde
>
> Das ist auch der Fall, nur die Zellen ändern sich zum Teil? Der Versuch
> einer Analyse war mehr als schwierig. Hier mal ein Versuch Datei.

Ah ok, danke. Ich vermute man muss schon mit der Hauptplatine testen. 
Kann gut sein dass der BM1 sich beim Beschreiben des RAMs auf die Therme 
einstellen muss und deswegen drauf wartet eine Kennung der Therme im RAM 
zu finden.

Der BM1 mag Teile des RAMs für eigene Zwecke nutzen - dann würden die 
sich ändern aber ohne offensichtliche Relation zu Can Bus Paketen.

Naja wenn ich etwas Zeit habe probiere ich es mal aus. Funktioniert so 
auch schon gut genug aber die gelegentlichen Spikes stören mich gewaltig 
auch wenn die Energieverschwendung gering ist und mehr als 
überkompensiert wird durch mein ~45 minütiges Takten.

Ich habe ziemlich frappierende Einsparungen dieses Jahr - siehe Anhang. 
Da kann man zufrieden sein.

von Bernd R. (bernd_r860)


Lesenswert?

Marco schrieb:
> Hallo,
> ich habe die Software von Dave auf den ESP32 geflascht (die beiden
> BIN-Files per ESPTool) und komme nicht auf den Access Point Cerasmarter
> 192.168.4.1.
> Mit dem Access Point kann ich mich verbinden aber wie komme ich auf das
> WebUI?
> Hardware ist ESP32 mit CANdiy-Shield 2.1, Jumper 1-3 sind eigelötet,
> Jumper ist auf 3,3V umgelötet.
> CAN-Bus wurde erfolgreich mit LoopBackDemoESP32 getestet.

Hast du vorher auch ein Filesystem geflasht?

von Marco (xanderzone)


Lesenswert?

Welches filesystem? In der Anleitung steht nur die beiden bin files.

von Peter* (nochgast)


Lesenswert?

Hallo,

abschließend I2C.

Joe L.
> Der BM1 mag Teile des RAMs für eigene Zwecke nutzen - dann würden die
> sich ändern aber ohne offensichtliche Relation zu Can Bus Paketen.

nein, reine Kommunikation,...bei 256 Byte? die Excel_Datei zeigt ja das 
Soll Daten vom TA.. abgelegt wurden. Ist_Daten werden von der Therme... 
dort abgelegt.
So ist jeder zeitlich unabhängig im Rahmen der zyklischen Protokolle.

Könnte mir vorstellen das hier ein ALive_byte oder Bits existiert die 
hochgezählt werden und zum Fehler führen... Spekulation

Der Beitrag Junkers TA270 CAN-Fehler 1 von crazyhorse bestätigt die 
Annahme der Kommunikation.

> Ich habe ziemlich frappierende Einsparungen dieses Jahr - siehe Anhang
nun gewagte Durchschnittsberechnung. 365Tage?

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Peter* schrieb:
> Hallo,
>
> abschließend I2C.
>
> nein, reine Kommunikation,...bei 256 Byte? die Excel_Datei zeigt ja das
> Soll Daten vom TA.. abgelegt wurden. Ist_Daten werden von der Therme...
> dort abgelegt.
> So ist jeder zeitlich unabhängig im Rahmen der zyklischen Protokolle.

Na dann scheint doch alles ganz einfach zu sein - sorry hatte Dein 
spreadsheet nicht ganz richtig gelesen. Dann müssen wir doch lediglich 
ein i2c ram slave auf der Adresse 0x50 simulieren und unsere soll Werte 
an den richtigen Stellen ablegen uns sind fertig.

>
> Könnte mir vorstellen das hier ein ALive_byte oder Bits existiert die
> hochgezählt werden und zum Fehler führen... Spekulation

Da die Fehler so selten sind und in Clustern auftauchen vermute ich dass 
es sich um Kollisionen handelt. Multi Master i2c ist ja etwas tricky 
falls beide Master gleichzeitig auf den Slave zugreifen und gerade da 
der BM1 i2c offenbar in Software implementiert kann man sich leicht 
vorstellen dass dieser Spezialfall gelegentlich in die Hose geht. Dieses 
Problem wäre mit einem simulierten i2c RAM gelöst weil der BM1 Master 
wegfällt.

>
> Der Beitrag Junkers TA270 CAN-Fehler 1 von crazyhorse bestätigt die
> Annahme der Kommunikation.

Ja - danke für den Pointer.

>> Ich habe ziemlich frappierende Einsparungen dieses Jahr - siehe Anhang
> nun gewagte Durchschnittsberechnung. 365Tage?

Keine Ahnung wie die das schätzen. Ich denke das Resultat wird noch 
besser sein. Wenn wir aus der Heizsaison raus sind brauche ich nicht 
mehr als vielleicht 12 kWh pro Tag für WW. Jedesmal wenn ich einen neuen 
Zählerstand hoch lade sinkt die Schätzung.

Ich hatte den WW Speicher früher auf 60 C für das Baden. Jetzt halte ich 
den auf um die 37 C und habe ein Frontend über das sich Mitbewohner 45 C 
zum Duschen oder 60 C zum Baden anfordern können. Das spart locker 10 
kWh am Tag.

Und die raumgeführte Steuerung wird gerade jetzt in der Übergangszeit 
die Solargewinne (wir wohnen 4. Stock und Dachgeschoss) optimal nutzen. 
Du kannst es am heutigen Tag schön sehen (angehängt). Die Taktfrequenz 
zwischen 13 und 15 Uhr lag bei < 1 Takt pro Stunde und es gab so gut wie 
kein Ueberschiessen der Temperatur.

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Hier ein Mitschnitt von i2c bei laufender Therme. Es könnte simpler 
nicht sein. Wie vermutet ist es ein Multimaster setup - dh Therme und 
BM1 sind master und schreiben/lesen das RAM unter i2c Adresse 0x50. Es 
gib Lese- und Schreibzugriffe. Zum lesen wird erst in einem write an 
0x50 die RAM Adresse geschrieben und dann mit einem 2. read request an 
0x50 der Inhalt ausgelesen. Zum Schreiben ist es nur ein i2c write an 
0x50 mit einer folge von Bytes - erstes ist die RAM Adresse und dann 
folgen die Daten.

Die Therme schreibt an 0x20 ... und liest von 0x90 ... . An den Adressen 
0x10 und 0x11 wird handshake betrieben: 0x10 == 1 bedeutet es liegen 
Daten von der Therme für den BM1 vor. 0x11 = 1 bedeutet es liegen Daten 
vom BM1 für die Therme vor.

0x91 ist Vorlauf soll - mehr hab ich noch nicht abgeglichen.

Zusätzlich wird RAM Adresse 0xfe-0xff noch gelesen und beinhaltet immer 
0xfc 0x03. Habe nicht gesehen dass das je geschrieben würde. Keine 
Ahnung was das ist.

Pull-ups ziehen auf 5v. Zusätzlich zum Moteino braucht man also eine 
Level shifter. Ansonsten ist das ganze trivial.

von Joe L. (joe_l626)


Lesenswert?

Ok - Anfang der Kommunikation war abgeschnitten. 0xfe und noch ein paar 
andere werden am Anfang geschrieben. Muss ich nochmal im Detail 
anschauen.

von Peter* (nochgast)


Lesenswert?

Hallo,

na super!

Bestätigt ja sogar meine Excel_Liste 10/11 und 90 Adressen im Bereich 
TA... und Speicherende dazu hatte ich auch eine Ahnung, aber zu lange 
her und noch nix schriftlich.

Vielleicht parallel, noch das Can Bus Protokoll und direkt im 16ner 
block darlegen um feste Adressen zu bestätigen.

Habe leider keine Zeit hier mit fest einzusteigen, zumal mir nur ein 
Saleae logic Analyzer zur Verfügung steht. Ein Hauptplatine und ein 
Textdisplay liegen bei mir schon ein Jahr herum, um hier eine 
aussagefähige Lösungen zu finden.

> Ansonsten ist das ganze trivial..

Sorry, aber so würde ich es noch nicht sehen. Der Beitrag hier ist von 
2007 und eine optimale Lösung ist noch nicht auf dem Tisch, teils 
funktioniert es, dann gibt es wieder Probleme. Die Schnittstelle nutzen 
zu können heißt nicht das dein Problem gelöst ist, aber eine Kostenfrage 
währe gelöst, aber auch wieder gefährlich. Optische Trennung ist ein 
muss.

Vielleicht kann Marco jemand mit Dave's Programm weiterhelfen, einer 
mehr im Boot.

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> Optische Trennung ist ein
> muss.

Warum das denn? Pegelwandler auf die i2c Leitungen auf die 5V vom Board 
und Moteino mit den 5v vom Board betreiben. Dann ist das super safe. Was 
soll denn bei i2c passieren, wo der output aller pins immer aktiv 0 oder 
floating ist.

von Peter* (nochgast)


Lesenswert?

Hallo,

Sicher, es ist jeder selbst verantwortlich!

Aber man muss drauf hinweisen.

Die Hauptplatine kostet "noch(lieferbar)" 300 bis 500Euro plus, deine 
I2C Platine kostet ~10Euro. Ein HW defekt ist eher bei der I2C Platine 
möglich als bei der Hauptplatine unter der Einbaubedingung, aber 
zerstört evtl. auch die Hauptplatine.

Nimm ein Oszilloskop und messe mal an deiner Therme und Du wirst beim 
schalten der Ventil(Gas)usw. Spannungsspitzen sehen die sehr bedenklich 
sind. Viele haben hier schon HW ersetzt und hier war auch nur Can-Bus 
Aktivität vorhanden.

Natürlich geht es einfacher,

aber sicher ist sicher.

von Peter* (nochgast)


Lesenswert?

Hallo,

habe mir die Daten mal angeschaut.

Kannst Du die Beschriftung ändern in TA lesen /schreiben und Therme 
lesen/ schreiben währe einfacher und wie Du schon erwähntes die Start 
Sequenz ist sehr wichtig.

Währe einfacher zu analysieren.

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Kommt leider so aus Logic 2, was ich auch benutze. Hier ist eine andere 
Ansicht mit Startsequenz. Der ziemlich letzte Knackpunkt für mich ist 
das letzte Byte der Schreibsequenzen auf 0x90. Das ist eine Checksumme, 
die ich noch nicht erkenne.

Hatte gehofft dass wir der Therme vielleicht noch die Nachlauftemperatur 
entlocken können - aber so sieht es nicht aus. Dafür verändern sich 
einige flags wenn der Brenner anläuft. Ich schätze, Ventilation, Zündung 
und vielleicht sogar Zustand des 3-wege Ventil sind abgreifbar.

von Bernd R. (bernd_r860)


Lesenswert?

Marco ist mittlerweile bei Dave und mir auf Discord.

Ich kümmere mich um ihn.  ;-)

von Joe L. (joe_l626)


Lesenswert?

Joe L. schrieb:
> Das ist eine Checksumme,
> die ich noch nicht erkenne.

Done:

laux@macbook-14 reveng-3.0.5 % ./reveng -w 8 -s 
FF00100100010200000000000000FFEE FF02120100010200000000000000FF17 
FF04140100010200000000000000FF25 FF04140100010300000000000000FF35 
FFB4000100010200000000000000FF1D FFB4000100010300000000000000FF0D 
FFB4020100010200000000000000FF15 FFB4020100010300000000000000FF05 
FFB4040100010200000000000000FF0D FFB4040100010300000000000000FF1D 
FFB4060100010200000000000000FF05 FFB4080100010200000000000000FF3D 
FFB4080100010300000000000000FF2D FFB40A0100010200000000000000FF35 
FFB40A0100010300000000000000FF25 FFB40C0100010200000000000000FF2D 
FFB40C0100010300000000000000FF3D FFB40E0100010200000000000000FF25 
FFB40E0100010300000000000000FF35 FFB4060100010200000000000000FF05 
FFB4080100010200000000000000FF3D FFB40A0100010200000000000000FF35 
FFB40C0100010200000000000000FF2D FFB40E0100010200000000000000FF25 
FFB4100100010200000000000000FF5D FFB4120100010200000000000000FF55 
FFB4140100010200000000000000FF4D FFB4160100010200000000000000FF45 
FFB4160100010300000000000000FF55
width=8  poly=0x39  init=0x00  refin=false  refout=false  xorout=0x00 
check=0x8f  residue=0x00  name=(none)

von Peter* (nochgast)


Lesenswert?

Hallo,

nun so viele Daten benötigen wir erstmal nicht, es reichen die normalen 
Sequenzen zu interpretieren. Das sind zwei, die Start- und die Daten 
Austausch_Sequenz.(ohne TA... mit neue Daten)

die letzte Datei bringt wohl die Pause als auch eine i2C Adresse 49 aber 
ist eher ungeeignet.

Hast Du die Sw von der vorherigen Datei, müsste ja Arduino sein.

von Peter* (nochgast)


Lesenswert?

Hallo,

Joe L. schrieb:
> Hatte gehofft dass wir der Therme vielleicht noch die Nachlauftemperatur
> entlocken können - aber so sieht es nicht aus. Dafür verändern sich
> einige flags wenn der Brenner anläuft. Ich schätze, Ventilation, Zündung
> und vielleicht sogar Zustand des 3-wege Ventil sind abgreifbar.

Nachlauftemperatur? -->Rücklauftemperatur, woher soll die kommen meine 
Heizung hat kein Fühler hierfür.

Nun hatte in einer Information zum Textdisplay  gelesen das hier, auch 
die Einstellung und Service dargestellt wird.??

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> Hallo,
>
> nun so viele Daten benötigen wir erstmal nicht, es reichen die normalen
> Sequenzen zu interpretieren. Das sind zwei, die Start- und die Daten
> Austausch_Sequenz.(ohne TA... mit neue Daten)
>
> die letzte Datei bringt wohl die Pause als auch eine i2C Adresse 49 aber
> ist eher ungeeignet.

Die letzte Datei hat die start Sequenz und dann den laufenden traffic. 
Es ist eigentlich wirklich alles banal einfach. Am Anfang schreibt einer 
von beiden die zwei bytes an 0xfe und eine Sequenz an 0xe0 (die nie 
wieder gelesen wird). Dann läuft der Austausch wie vorher beschrieben. 
Dabei testet die Therme die zwei bytes an 0xfe ab bevor sie 
liest/schreibt.

Die Implementierung des neuen Adapters braucht nichts anderes zu tun als 
alle writes von der Therme zu speichern und bei Anfrage zurückzuliefern. 
Und periodisch den 0x90 ... Bereich intern (nicht über i2c) gemäss der 
Vorgaben der Steuerung updaten und die Handshake bytes checken/updaten. 
Ausserdem sendet sie einfach periodisch die Infos in 0x20 ... an die 
Steuerung.

Das ist wirklich nicht mehr als 50 Zeilen Code.

>
> Hast Du die Sw von der vorherigen Datei, müsste ja Arduino sein.

Das war auch Logic 2 Saleae mit i2c Analyzer. Aber da hatte ich aus dem 
Terminal output per cut&paste kopiert. Das sind leider nur die Daten der 
letzten paar Minuten.

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> Nachlauftemperatur? -->Rücklauftemperatur, woher soll die kommen meine
> Heizung hat kein Fühler hierfür.

Tomeito - Tomahto ja ich meinte Rücklauf. Hab gerade nochmal das Manual 
angeschaut und es gibt noch einen Brennertemp Fühler. Aber Du hast Recht 
es ist kein Rücklaufsensor drin.

>
> Nun hatte in einer Information zum Textdisplay  gelesen das hier, auch
> die Einstellung und Service dargestellt wird.??

Da bin ich aussen vor. Ich bin noch eine Generation vor Textdisplay 
(18-5).

von Dave G. (neuroquila-n8fall)


Lesenswert?

spannend...das sollte doch auch alles problemlos mit der integrierten 
Schnittstelle von den Arduinos und ESPs funktionieren...?

von Joe L. (joe_l626)


Lesenswert?

Letzte Hürde war die Checksumme - aber die hab ich ja nun geknackt.

von Joe L. (joe_l626)


Lesenswert?

Dave G. schrieb:
> spannend...das sollte doch auch alles problemlos mit der integrierten
> Schnittstelle von den Arduinos und ESPs funktionieren...?

Ja - Du brauchst nur einen Pegelwandler wie die hier: 
https://www.amazon.de/dp/B082F6BSB5?psc=1&ref=ppx_yo2ov_dt_b_product_details

von Peter* (nochgast)


Lesenswert?

Hallo,

ich dachte Du hast mit deiner Schaltung die SW ausgewertet. Es gibt kaum 
wirklich funktionierende SW für Arduino, zu langsam?

Nun, wenn Du SW hast zur Auswertung bitte ich Dich diese darzulegen.

> Ich bin noch eine Generation vor Textdisplay

Habe ich auch nicht, aber der Stecker passt auch dort. Uhrstecker hat 
mehrere Kodierungen und die Endabnahme von Bosch/Junkers wird sicher 
über I2C durchgeführt.

> Brennertemp Fühler
Ist ein Sicherungsschalter.

> Letzte Hürde war die Checksumme - aber die hab ich ja nun geknackt.
Habe ich leider nicht verstanden, noch gesehen.

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Am Anfang schreibt einer
> von beiden die zwei bytes an 0xfe und eine Sequenz an 0xe0 (die nie
> wieder gelesen wird).

Btw man kann an SCL sehen welcher Master schreibt. Die erste 
Initialisierung kommt vom BM1. BM1 ist daran erkennbar dass SCL 
asymmetrischer und unregelmässiger ist und die low Seite länger. All das 
liegt daran dass wie oben gesagt der BM1 keine i2c Funktionalität in HW 
hat und das in SW simulieren muss. Siehe Anhang.

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> Nun, wenn Du SW hast zur Auswertung bitte ich Dich diese darzulegen.

Ich habe das alles mit Saleae Logic 2 und einem Logic Pro 16 gemacht. 
Das Ding ist super - kann ich nur jedem empfehlen.

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> Habe ich leider nicht verstanden, noch gesehen.

Es ist ein 8 bit CRC mit folgenden Parametern:
width=8  poly=0x39  init=0x00  refin=false  refout=false  xorout=0x00
check=0x8f  residue=0x00

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> Nun, wenn Du SW hast zur Auswertung bitte ich Dich diese darzulegen.

Ich kann Dir die Logic Capture Datei schicken - Du hast doch auch Logic? 
Dann kannst Du das wie ich in der Applikation analysieren.

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Joe L. schrieb:
> BM1 ist daran erkennbar dass SCL
> asymmetrischer und unregelmässiger ist und die low Seite länger.

So sieht ein Zugriff von der Therme aus. Das ist im Gegensatz zum BM1 
i2c in HW.

von Joe L. (joe_l626)



Lesenswert?

Und hier sieht man mal wie lange der BM1 den I2C Bus belegt. Volle 80 ms 
- SCL bleibt zwischen den einzelnen Sequenzen low.

Zweiter screenshot zeigt die Kollision zwischen beiden Mastern. Das 
verursacht denke ich die Fehler AC. Und da es mit dem neuen Ansatz nur 
noch einen Master gibt wird das AC Problem wahrscheinlich gelöst sein.

von Joe L. (joe_l626)


Lesenswert?

Ach sieh an: 
https://www.qworqs.com/2021/05/19/are-the-esp32-and-esp8266-5v-tolerant-yes-they-officially-are/

Wir brauchen noch nicht einmal die Pegelwandler mit den Esps.

von Peter* (nochgast)


Lesenswert?

Hallo,

bin kein I2C Spezi, aber ich sehe kein CRC, aber erstmal egal.

Erstaunlicherweise ist in der letzten Datei I2C.csv, 3 Zeile 
Speicheradresse 0xE0 identisch mit meiner Excel_Liste 0xE0...0xE7.

Hier wird scheinbar etwas beschrieben, Aufbau...

> Zweiter screenshot zeigt die Kollision zwischen beiden Mastern. Das
> verursacht denke ich die Fehler AC. Und da es mit dem neuen Ansatz nur
> noch einen Master gibt wird das AC Problem wahrscheinlich gelöst sein.

?

willst auf den Speicher verzichten oder wie soll das funktionieren.

von Thorsten L. (joelucid)


Lesenswert?

Letztes Byte in der 0x90 … Sequenz ist ein CRC der vorangehenden Bytes.

Und ja klar - wozu ein RAM? Deswegen schreibe ich doch immer wir 
simulieren das RAM für die Therme auf dem Arduino.

von Peter* (nochgast)


Lesenswert?

Hallo,

na klar,

Bosch/Junker hat mal wieder übertrieben und baut mal eben einen Speicher 
ein, der ja gar nicht benötigt wird.

Da bist Du aber sehr weit von der Realität weg, auch wenn sich die 
Frequenz der Controller in laufe der Jahre geändert hat. Für ein 
Cent/Pfennig hätten die auch vor 20 Jahre das Bauteil gewechselt oder 
mit nc gekennzeichnet.

Und welche Aufgabe hatte der Speicher noch? und diese ist nicht mehr 
vorhanden?

Weitergedacht, ganz grob nach deiner Aufzeichnung hast Du etwa 20ms zeit 
deine anderen geplanten Aufgaben zu erfüllen.

Vorschlag, CRC über Tabelle ist schneller.

Hauptsache, der dein AC-Fehler ist nicht mehr da.

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> Da bist Du aber sehr weit von der Realität weg, auch wenn sich die
> Frequenz der Controller in laufe der Jahre geändert hat. Für ein
> Cent/Pfennig hätten die auch vor 20 Jahre das Bauteil gewechselt oder
> mit nc gekennzeichnet.
>
> Und welche Aufgabe hatte der Speicher noch? und diese ist nicht mehr
> vorhanden?
>
> Weitergedacht, ganz grob nach deiner Aufzeichnung hast Du etwa 20ms zeit
> deine anderen geplanten Aufgaben zu erfüllen.

Da sehe ich nicht das geringste Problem. Daten werden natürlich 
vorbereitet und CRC vorher berechnet. Am besten mit double buffering - 
d.h. die Bereiche im RAM die der BM1 schreibt gibt es zweimal: einmal 
aktuell zum Zugriff per i2c. Und ein 2. mal zur Aufbereitung der neuen 
Daten. Sind die Daten fertig und der Bus frei werden die Sektionen 
getauscht.

30khz is super lahm. So um die 0.3 ms per byte - das sind 2400 
Taktzyklen eines 8 MHz Arduino. In der Zeit schaffe ich es schon ein 
Byte vom RAM in den i2c buffer zu schreiben :-).

Sinn des Speichers ist es die alten langsamen Prozessoren vor exzessiver 
Kommunikation zu bewahren. Die Therme ist weiter bewahrt. Aber der 
Arduino muss davor nicht bewahrt werden.

von Joe L. (joe_l626)


Lesenswert?

Bedenke auch dass sich durch diesen Ansatz jegliches Schreiben der Soll 
Daten per I2C ins Ram erübrigt. Was der BM1 ja per software bitbang 
macht. Da Arduinos HW I2C haben muss nur der Buffer per interrupt 
byteweise gefüttert werden, den Rest erledigt der 328p (oder was auch 
immer). Und 3khz interrupt load traue ich dem 328p allemal zu.

Ansonsten könnte man beim Senden auch pollen - die 10 bytes oder so die 
maximal übertragen werden dauern 3ms. Kein Problem aber wahrscheinlich 
nicht notwendig da keine exzessive Interrupt load.

Und Can Bus fällt auch noch weg.

Wie gesagt - das ganze ist äusserst banal und simpel.

: Bearbeitet durch User
von Joe L. (joe_l626)


Lesenswert?

Joe L. schrieb:
> Für ein
>> Cent/Pfennig hätten die auch vor 20 Jahre das Bauteil gewechselt oder
>> mit nc gekennzeichnet.

Ich kann nur vermuten dass es damals keine Microcontroller mit 
integriertem Can bus und I2C gab. Jedenfalls - wenn ich mir die 
Kollisionen anschaue zweifle ich doch ein bisschen an der Expertise der 
damaligen Entwickler.

Möglicherweise ist genau das der Grund für die Aufgabe des Can Bus. Dass 
es keine HW gab die i2c & Can konnte und sie nicht in der Lage waren das 
ordentlich in SW hinzubekommen.

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo,

> Ich kann nur vermuten dass es damals keine Microcontroller mit
> integriertem Can bus und I2C gab.

suche,...so wirst Du finden und es gibt Leute in der Entwicklung die 
Schreiben Dir das in Maschinensprache und erst recht damals da gab es 
noch keine großartigen Speicher IC.

Du amputierst ein System und beschwerst Dich dann über Kollisionen...? 
Hast schon mal überlegt ob Du ohne eine Beschreibung der HW das System 
verstehst.
Simulieren heißt nicht vergewaltigen...

> Was der BM1 ja per software bitbang
> macht. Da Arduinos HW I2C haben muss nur der Buffer per interrupt
> byteweise gefüttert werden, den Rest erledigt der 328p

Das scheint immer in aller Munde zu sein um eine Abwertung der SW zu 
rechtfertigen. Sicher beim Arduino laden sich alle Register durch eine 
Ki. Die SW ist offengelegt.

> wenn ich mir die
> Kollisionen anschaue zweifle ich doch ein bisschen an der Expertise der
> damaligen Entwickler.

Es gibt sicher einige Unschönheiten, aber solche Aussagen sind ganz 
sicher nicht tragfähig...Dann müsste ich es besser können.

und ich lasse mich gerne überraschen und zieh mein Hut.

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> und ich lasse mich gerne überraschen und zieh mein Hut.

Prepare to be amazed ;-).

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Joe L. schrieb:
> Peter* schrieb:
>> und ich lasse mich gerne überraschen und zieh mein Hut.
>
> Prepare to be amazed ;-).

So - den esp32 konnte ich tatsächlich ohne Pegelwandler anschliessen und 
er hat auch empfangen. Allerdings hat der chip i2c-slave Limitationen, 
die ihn für unsere Zwecke untauglich machen. Jedenfalls so der Stand 
nach ein paar Stunden hacken.

Also hab ich den Moteino mit Pegelwandler angeschlossen und siehe da - 
funktioniert hervorragend. Angehängt ist ein Schreibvorgang der Therme 
auf 0x10 und 0x11 mit nachfolgendem Lesen.

Jetzt das ganze nur noch per 433mhz network zum esp8266 gateway 
schicken, dort die Steuerung machen und die Soll Daten zurückschicken.

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo,

nun...wie immer provokant und "über selbst bewusst" und nichts ist 
nachvollziehbar , schade..!

Joe L.
> Allerdings hat der chip i2c-slave Limitationen,
> die ihn für unsere Zwecke untauglich machen.

Und... die sind!!!

> ein paar Stunden hacken.

? Daten | im Garten

Das Ausspähen von Daten ist gemäß § 202a dem deutschen Strafgesetzbuch 
(StGB) ein Vergehen, welches mit Freiheitsstrafe bis zu drei Jahren oder 
Geldstrafe bestraft wird.

sorry.

> Also hab ich den Moteino mit Pegelwandler angeschlossen und siehe da -
> funktioniert hervorragend. Angehängt ist ein Schreibvorgang der Therme
> auf 0x10 und 0x11 mit nachfolgendem Lesen.

ohne SW, einfach so? Was hat denn funktioniert, der Pegel?

Zitatauszug Google: "In der Kommunikationswissenschaft wird 
Kommunikation als der Austausch von Informationen zwischen einem Sender 
und einem oder mehreren Empfängern bezeichnet"... und nicht deinem 
Scanner an der Therme!

Sorry, ich sehe hier nicht einmal... eine Vorbereitung zum 
Kommunikationsaustausch. Noch, die Antwort eines Empfängers wäre doch 
einfach gewesen.

Kommuniziere doch einfach erstmal mit dem BM1, !!Achtung 5V!! ISO1540 
bzw. AVUM1250 sind sowohl Pegelwandler als auch Isolatoren.

Vor allem würde mich interessieren, wie das zeitliche Problem (I2C) 
angeblich von Dir gelöst wurde ...? besonders beim ESP.

von Joe L. (joe_l626)


Lesenswert?

So - ich habs jetzt komplett am Laufen. Moteino (= Arduino mit rfm69hw 
433mhz transceiver) über Pegelwandler direkt am Thermenstecker. BM1 ist 
nicht mehr mit im Spiel.

Moteino simuliert das I2C RAM und schickt die Thermeninformationen (i2c 
Adresse 0x20 ...) über den rfm69hw weiter. Auf der Rückrichtung schickt 
die Steuerung wieder über 433mhz die Solldaten zurück und der Moteino 
schreibt sie ins RAM (i2c Adresse 0x90 ...). Weiterhin managed der 
Moteino das Handshaking mit der Therme über das i2c RAM (Adressen 0x10 - 
0x11).

Mal sehen ob damit die AC Fehler ausgemerzt sind.

Peter - sorry ich verstehe nicht ganz was Dein Problem ist. Ich hätte 
gedacht dass Du in der Lage bist ein i2c trace zu lesen - wo Du doch 
anscheinend seit Jahren da dran bist. Die Graphik zeigte einen 
erfolgreichen Schreib- und Lesevorgang der Therme auf den simulierten 
i2c Speicher.

Jedenfalls wäre jetzt in Tagen erreicht, was Du hier immer als unmöglich 
dargestellt hast weil Du Dir jahrelang die Zähne dran ausgebissen hast. 
Sei es drum - schönen Abend allerseits!

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Angehängt ist der Aufbau. Ignoriert das Steckbrett - das ist Teil des 
alten Can Bus Aufbaus. Es ist in der Tat nicht mehr als ein Arduino und 
ein Pegelwandler.

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
>> Allerdings hat der chip i2c-slave Limitationen,
>> die ihn für unsere Zwecke untauglich machen.
>
> Und... die sind!!!

Der esp32 unterstützt kein i2c clock stretching - dh wenn er als Slave 
betrieben wird, kann er den Master nicht drosseln während er Daten 
bearbeitet. Angeblich ist das bei neueren Versionen des esp32 gelöst.

Ich bin nicht ganz überzeugt, dass es nicht auch mit der ursprünglichen 
Version möglich ist, da ich vermute dass der Chip schnell genug ist, 
dass kein stretching erforderlich ist. Aber nach ein paar Stunden hatte 
ich keine Lust mehr - da ich sowieso den Moteino einsetzen wollte und 
die esp32 Arbeit nur für Dave's Projekt geplant hatte.

Das nervige an den esp???? Chips ist die schlechte Dokumentation. Ein 
atmega 328p ist zwar Grössenordnungen langsamer - aber immerhin weiss 
man was man hat und die Doku ist gut.

Auch mit dem Moteino hatte ich zunächst Probleme bei einem Lesevorgang, 
der i2c technisch durch ein Schreiben der Adresse mit folgendem Lesen 
der Daten realisiert wird. Beim Übergang zwischen dem Schreib- und 
Lesezugriff unterstützt die Therme kein Clock Stretching (genauer vor 
dem Start bit des Lesezugriffs). Deswegen muss ich für diesen Übergang 
im interrupt pollen.

Wer es nochmal mit esp32 probieren möchte: beste Chance ist ohne 
jeglichen Fifo, so dass die Datenaufbereitung byteweise erfolgt. Und 
möglicherweise auch hier pollen.

von Joe L. (joe_l626)


Lesenswert?

Was natürlich verloren geht ist das Aussenthermometer. Aber das ist 
ohnehin nicht sehr wichtig für meine Anwendung. Behelfsweise ziehe ich 
die aktuelle Temp von openweathermap.com.

Übrigens: die Therme weiss nichts von der aktuellen Zeit. Und die 
Aussentemperatur bekommt sie nur in ganzen C übermittelt. Soviel zum 
Thema die Therme steuert und die TA??? sind nur "Fernbedienungen".

von Peter* (nochgast)


Lesenswert?

Hallo,

Nun.. keine Zähne verloren, ich kann Dich beruhigen.

Vielleicht bleibst Du einfach mal bei der Wahrheit in allen Bezügen.

Wer bitte wird das hier nachbauen wollen, mehr Bauteile als vorher, wenn 
es funktionieren würde.

Danke

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Joe L. schrieb:
> Mal sehen ob damit die AC Fehler ausgemerzt sind.

Erste Nacht ohne jegliche Datenprobleme! Es scheint gelöst.

Ich hänge mal den source an falls jemand das auch probieren möchte. twi* 
sind aus der Wire library - modifiziert für das schnellere Timing und 
direktes Lesen/Schreiben ins RAM ohne callback. junkers.cpp hat die 
Logik - 182 Zeilen also waren 50 doch etwas untertrieben.

Die Radio calls müssen natürlich ersetzt werden - zb. mit Serial. Esp32 
+ Arduino + Pegelwandler wäre ein Ansatz, die Klippen des esp32 i2c zu 
umschiffen.

Schönen Sonntag!

von Joe L. (joe_l626)


Lesenswert?

Joe L. schrieb:
> 182 Zeilen also waren 50 doch etwas untertrieben

Es sind allerdings ein paar Zeilen Tiefpassfilter zum säubern der sehr 
verrauschten Daten aus der Therme drin:
1
                static uint16_t vlTempX;
2
                static uint16_t wwTempX;
3
                if (!vlTempX) vlTempX = pBoiler->vlTemp2 << 5;
4
                if (!wwTempX) wwTempX = pBoiler->wwTemp2 << 9;
5
                vlTempX -= (vlTempX + 16) >> 5;
6
                vlTempX += pBoiler->vlTemp2;
7
                wwTempX -= (wwTempX + 256) >> 9;
8
                wwTempX += pBoiler->wwTemp2;
9
                avgBoilerState = *pBoiler;
10
                avgBoilerState.vlTemp2 = (vlTempX + 16) >> 5;
11
                avgBoilerState.wwTemp2 = (wwTempX + 256) >> 9;

Also eher 171 Zeilen. Jedenfalls bis auf die kleine Timingproblematik 
wie vorhergesehen ein banales Projekt.

von Joe L. (joe_l626)


Lesenswert?

Peter* schrieb:
> Vielleicht bleibst Du einfach mal bei der Wahrheit in allen Bezügen.
>
> Wer bitte wird das hier nachbauen wollen, mehr Bauteile als vorher, wenn
> es funktionieren würde.

Darf ich Dich daran erinnern, dass dieser Ansatz genau Dein Ziel war? 
Bauteile: 1 Moteino für ca 12 Euro und ein Pegelwandler 
(https://www.amazon.de/dp/B082F6BSB5?psc=1&ref=ppx_yo2ov_dt_b_product_details) 
für 50c. Statt ein unzuverlässiger BM1 für > 100 Euro, ein CAN Bus 
Adapter und jede Menge Kopfschmerzen wegen Kommunikationsproblemen.

Wenn jemand sich die Zeit nimmt, das auf dem esp32 zum laufen zu 
bringen, braucht man nur noch den, da er bei Open Drain Konfiguration 5v 
tolerant ist.

von Joe L. (joe_l626)


Lesenswert?

Joe L. schrieb:
> Darf ich Dich daran erinnern, dass dieser Ansatz genau Dein Ziel war?

Übrigens: Credit where credit is due, Peter ohne Deine Pionierarbeit bei 
der Analyse der Funktionsweise des BM1 und insbesondere der Nutzung 
eines geteilten i2c Rams wäre ich nie auf die Idee gekommen, das zu 
implementieren. Danke für Deine Arbeit!

von Joe L. (joe_l626)


Angehängte Dateien:

Lesenswert?

Hier die fertige Montage klein und fein. Btw - nicht so stark auf das 
Plastik drücken. Unglaublich wie spröde das wird nach ein paar 
Jahrzehnten.

von Thorsten L. (joelucid)


Angehängte Dateien:

Lesenswert?

Angehängt ein Mitschnitt der Kommunikation zwischen Boiler und 
Steuerung.

Eine ganze Menge habe ich noch nicht entschlüsselt. Das 8. und die 
letzten beiden Bytes des Boilers (0x20 ...) enthalten Flags, die sich 
verändern, wenn der Brenner startet oder stoppt. Im vorletzten Byte kann 
man zb beim Zünden sehen, wie einzelne bits nacheinander angehen.

Ich vermute, dass man da noch Details wie Lüften, Zündung und evtl 
Zustand 3 Wege Ventil auslesen kann.

Die beiden 0xff am Anfang und Ende des Controller Pakets (0x90 ...) 
könnten den angeforderten Leistungslevel des Brenners bedeuten. Ich habe 
meine Therme auf das Minimum (ca 10kw) fürs Heizen beschränkt, da das 
auch bei -10 Grad mehr als genug ist. Warmwasser ist anders - wir haben 
einen Speicher so dass auch niedrigere Leistungen zum Duschen möglich 
wären. Zum Baden braucht man aber 100%.

50% Leistung sind deutlich effizienter als 100% zum Heizen. Zum 
Warmwasser bin ich mir allerdings nicht sicher, weil der Wärmetauscher 
viel besser bei hohen Temperaturen funktioniert.

Ich habe die 18-5 mit Warmwasserspeicher. Die Thermen mit 
Durchlauferhitzer benutzen scheinbar die bytes 3 und 4 des Boilers für 
max und ist Durchlauferhitzertemperatur. Mir ist noch nicht ganz klar, 
wie die Steuerung herausbekommt um welches System es sich handelt.

Als es noch zu Überschreibungen des RAMs durch nicht erkannte 
Lese/Schreibübergänge kam habe ich gesehen, dass die Therme dann anfing 
statt auf 0x20 ... auf 0x30 ... und 0x40 ... zu schreiben. Da hat sich 
wohl der Kaskadenmodus ausgelöst.

von Peter* (nochgast)


Lesenswert?

Hallo,

bin kein Sw_Werker, so das ich deine SW sofort verstehe noch möchte ich 
mich auf ein anderes System einschießen. Zumal ich den Speicher belassen 
möchte.

Deshalb passe ich erstmal, da mir einfach die Zeit in diesem Monat ganz 
sicher fehlt.

Was mir allerdings auffiel ist die fehlende CAN-Bus_karte BM1, na klar. 
Was wird denn als Gerät eingetragen, zu mal TA211 kein I2C mehr ist und 
die 5V evtl. auch als Kennung benutzt wird. ohne Gerät?

> 50% Leistung sind deutlich effizienter als 100% zum Heizen....

Der Wärmetauscher verkalkt mit der Zeit und muss gereinigt oder ersetzt 
werden.

> Ich habe die 18-5 mit Warmwasserspeicher

Der Aufbau ist doch anders, zu mindestens bei mir.(SW)

> dass die Therme dann anfing
> statt auf 0x20 ... auf 0x30 ... und 0x40 ... zu schreiben.
> Kaskadenmodus?

Ähnliches Verhalten habe ich beim Schreibtischtest BM1/TA250 
festgestellt? Dann müssten auch die Adresse 90 schwimmen.

Glaube eher das hier der regelmäßige Handshake evtl. nicht stimmt.10/11

Datenmitschnitt, ungeachtet des Inhaltes herrscht hier eine sehr große 
Unregelmäßigkeit?

von Thorsten L. (joelucid)


Lesenswert?

Peter* schrieb:
> Was mir allerdings auffiel ist die fehlende CAN-Bus_karte BM1, na klar.
> Was wird denn als Gerät eingetragen, zu mal TA211 kein I2C mehr ist und
> die 5V evtl. auch als Kennung benutzt wird. ohne Gerät?

Wenn die Therme anspringt dann probed sie auf den i2c Leitungen rum - 
erst versucht sie 0x48, dann 0x50. Und so wie sie da einen Speicher 
findet, der auf 0xfe - 0xff die richtigen Daten hat versucht sie den 
Handshake zu beginnen. Dann denkt die Therme sie hätte einen BM1 - auch 
wenn es statt dessen der Moteino ist.

Peter* schrieb:
> Datenmitschnitt, ungeachtet des Inhaltes herrscht hier eine sehr große
> Unregelmäßigkeit?

Ja - deswegen auch das Filtern: ich möchte nicht alle 200ms ein Paket 
senden, sondern nur wenn sich die Daten ändern. Also filtere ich die 
verrauschten Daten und sende nur wenn sich etwas ändert aber mindestens 
alle 30s. Die Unregelmässigkeit wird durch den schnellen Abfall des 
Vorlaufs nach ausschalten des Brenners verursacht (= häufige Pakete).

Übrigens habe ich gerade gemerkt dass der Moteino sogar mit 8mhz statt 
der üblichen 16mhz läuft. Man braucht wirklich nicht viel CPU um den i2c 
bus zu bedienen - jedenfalls mit clock stretching.

von Thorsten L. (joelucid)


Lesenswert?

Thorsten L. schrieb:
> Ich vermute, dass man da noch Details wie Lüften, Zündung und evtl
> Zustand 3 Wege Ventil auslesen kann.
1
19:09:40 - junkers/remote: FF 28 000100010000000000000000FF00 // VL Soll 20C
2
19:10:14 - junkers/boiler: 8C3E7400784400 28 01 00 01 42 07   // VL Soll 20C
3
19:10:31 - junkers/remote: FF B4 000100010000000000000000FF00 // VL Soll 90C
4
19:10:32 - junkers/boiler: 8C3E7400784400 8C 01 00 01 42 07 // VL Soll 70C (8C) nach Max VL Limitierung
5
19:10:32 - junkers/boiler: 8C3E7400784400 8C 01 00 01 62 07 // Gas?
6
19:10:32 - junkers/boiler: 8C3E7400784400 8C 01 00 01 63 07 // Zündung?
7
19:10:36 - junkers/boiler: 8C3E7400784400 8C 01 01 01 63 0F // Flamme

Hier ist diese Sequenz. Habe jetzt das 8. Byte raus - das ist VL Soll 
von der Therme zurückgeliefert nach Begrenzung auf das eingestellte 
Maximum. Danach gibt es 3 Schritte bis die Flamme brennt. Was immer die 
sein mögen.

: Bearbeitet durch User
von Thorsten L. (joelucid)


Lesenswert?

https://github.com/Winkelkatze/ESP32-Bare-Metal-AppCPU

Eine Core nur für i2c reservieren und dort die i2c Interrupt flags 
pollen statt mit der miserablen interrupt latency des standard 
frameworks zu arbeiten. Das könnte der 2x 240 MHz Core CPU helfen es mit 
einem alten atmega328p als i2c slave aufzunehmen.

von Thorsten L. (joelucid)


Angehängte Dateien:

Lesenswert?

So - also für mich sind mit dem i2c RAM Simulator tatsächlich alle 
Probleme behoben. Zur Feier des Tages habe ich mal eine schönere Graphik 
mit Legenden angefertigt (Anhang). Es gibt keine Spikes mehr und keine 
Fehler AC.

Die Steuerung fährt manuell das Takten der Therme indem sie den Boiler 
durch Anforderung einer Vorlauftemperatur von 90 bzw. 20 Grad an- bzw. 
ausschaltet. Dabei wird auf eine Abweichung der gefühlten Temperatur von 
+- 0.15 C gegenüber der Solltemperatur von 19 C hingesteuert um die 
Taktfrequenz und damit die Auskühlungsverluste zu senken.

Die Warmwasserbereitung wird ebenfalls manuell gesteuert: tagsüber wird 
die Temperatur um die 37 Grad gehalten. Dusch-/Badetemperaturen müssen 
über Handy angefordert werden.

Weicht die Wassertemperatur nicht zu stark von der gewünschten 
Temperatur ab, so erfolgt die Erwärmung direkt um Anschluss an einen 
Heiztakt ohne die Flamme erlöschen zu lassen. Ebenso wird nach jeder 
Warmwasserbereitung ein Heiztakt gefahren. Diese Massnahmen dienen der 
Minimierung der Auskühlzeiten des Kessels.

Ein Problem des Algorithmus ist, dass die Heizvorlauftemperatur während 
einer Warmwasserbereitung nicht gemessen werden kann. Hier wird die 
integrative Komponente der Steuerung pausiert, was zu Ungenauigkeiten 
führt. Das werde ich in Zukunft durch eine Modellierung der 
Vorlauftemperatur während der Warmwasserbereitung lösen.

Insgesamt bin ich jetzt ziemlich zufrieden mit dem System. Nächster 
Schritt: Einbindung der digitalen Thermostate und automatische Übernahme 
der Vorlauftemperatursteuerung vom Raum mit dem derzeit höchsten 
Heizbedarf. Dabei soll auch der hydraulische Abgleich komplett aus dem 
Heizsystem genommen werden und durch einen dynamischen hydraulischen 
Abgleich mithilfe der digitalen Thermostate ersetzt werden.

Leider kann die Heizleistung meiner Therme nicht direkt über i2c 
gesteuert werden. Das wäre von Vorteil für Schnellaufheizung selten 
genutzter Räume. Vielleicht ist das aber über die Sollvorlauftemperatur 
machbar.

von H.Joachim S. (crazyhorse)


Lesenswert?

Das Peterle eiert ja immer noch hier rum :-)

von Thorsten L. (joelucid)


Lesenswert?

H.Joachim S. schrieb:
> Das Peterle eiert ja immer noch hier rum :-)

Sonst leider wohl keiner mehr :). Naja die Thermen sind auch uralt. Das 
Plastik zerfällt zu Staub wenn man mal stärker drauf drückt.

von Peter* (nochgast)


Lesenswert?

Hallo,

oh Mann..., das verrückte Pferd, wie eh.. und jeh.., ohne soziale 
Kompetenz.

@Thorsten L.
> Plastik zerfällt zu Staub

kann ich nicht bestätigen.

> keine
> Fehler AC.

du hast doch auch kein Gerät angeschlossen, oder ist im Service ein 
Gerät eingetragen.

Übrigens, bitte nachlesen, in Deutschland nicht zulässig.

> Dabei soll auch der hydraulische Abgleich komplett aus dem
> Heizsystem genommen werden und durch einen dynamischen hydraulischen
> Abgleich mithilfe der digitalen Thermostate ersetzt werden.

Das, mit dem Hydraulischen Abgleich würde ich mir nochmals durchlesen.

> Leider kann die Heizleistung meiner Therme nicht direkt über i2c
> gesteuert werden.

Du musst auch die Neugier entwickeln, diese Möglichkeit zu finden.
Du hast die Adresse 0x48 gefunden, was steht da hinter???

Ein Textdisplay hat die Möglichkeit den Service einzustellen!!!
Es hat die I2C Adresse 0x51 und hat ein doppelt so großen Speicher.
!! Kennt deine Therme diese Adresse???

"Es gibt keine direkte Beschreibung des Textdisplay's, --->in Therme mit 
Display"

von Thorsten L. (joelucid)


Lesenswert?

Peter* schrieb:
>> keine
>> Fehler AC.
>
> du hast doch auch kein Gerät angeschlossen, oder ist im Service ein
> Gerät eingetragen.
>
> Übrigens, bitte nachlesen, in Deutschland nicht zulässig.

Häh? Mein Problem war doch dass ich periodisch diese Fehler AC mit VL 
Temp Spikes bekam wenn ich die Therme per CAN Bus gesteuert habe. Die 
18-5 kann einfach nicht zuverlässig mit meiner BM Version. Das ist jetzt 
gelöst mit dem I2C Ansatz.

Peter* schrieb:
> Das, mit dem Hydraulischen Abgleich würde ich mir nochmals durchlesen.

Nee - das Konzept ist schon hinreichend bekannt. Der statische 
hydraulische Abgleich stellt ja die Durchflussmengen so ein, dass bei 
maximaler Heizlast alle Zimmer genau die Wassermengen bekommen, die die 
Zielzimmertemperatur herstellt.

Das ist aber nicht das beste für den allgemeinen Fall. Sagen wir alle 
Zimmer sind abgeregelt und ich will nur mein Arbeitszimmer warm 
bekommen. Dann möchte ich den maximalen Wassertransport durch die 
Heizung dort damit die Therme ihre Wärme los wird (Stichwort 
Kuhschwanzheizung). Also muss die Drosselung überall raus und statt 
dessen über die Ventile gemacht werden.

Peter* schrieb:
> Du musst auch die Neugier entwickeln, diese Möglichkeit zu finden.
> Du hast die Adresse 0x48 gefunden, was steht da hinter???
>
> Ein Textdisplay hat die Möglichkeit den Service einzustellen!!!
> Es hat die I2C Adresse 0x51 und hat ein doppelt so großen Speicher.
> !! Kennt deine Therme diese Adresse???

Ich habe nur die i2c ram addressen 0x90 und 0x9e versucht. Die haben 
normalerweise 0xff und scheinen deshalb prädestiniert die Leistung zu 
übermitteln. Aber damit kann ich die Therme nicht regeln.

0x51 fordert meine Therme nicht an. 0x48 könnte natürlich was sein - 
aber ohne das Protokoll belauschen zu können habe ich da keine Chance.

von Peter* (nochgast)


Lesenswert?

Hallo,

es ist schon lange her das ich mich mit dem Hydraulischen Abgleich 
auseinandergesetzt habe und zwar bei der Plan meiner Heizung. Bei 
Inbetriebnahme brauchte ich keinen Heizkörper drosseln und zwar habe ich 
4 Stränge die alle druckgesteuert werden und bis heute fehlerfrei trotz 
Junkers Uraltpumpe funktionieren.

> Nee - das Konzept ist schon hinreichend bekannt. Der statische
> hydraulische Abgleich stellt ja die Durchflussmengen so ein, dass bei
> maximaler Heizlast alle Zimmer genau die Wassermengen bekommen, die die
> Zielzimmertemperatur herstellt.

Nein, Zielzimmer (?)... woher kommt das denn, es muss heißen, die der 
einzelne Raum benötigt. Hier steht das Gesamtobjekt im Mittelpunkt.

> Das ist aber nicht das beste für den allgemeinen Fall. Sagen wir alle
> Zimmer sind abgeregelt und ich will nur mein Arbeitszimmer warm
> bekommen.

Wenn der Abgleich richtig durchgeführt wurde wird dieser Raum warm, das 
ist doch das Paradebeispiel des Abgleichs. Aber,... deine alte 
Heizungspumpe wird Dir evtl. den Strich durch die Rechnung machen, weil 
sie damit nicht klar kommt. Habe ich schon mal erwähnt.., es wird (es 
muss) eine Hocheffiziente Pumpe (300+) eingebaut werden, im Fehlerfall.

Seit bei mir e_Ventile in den Heizkörpern verbaut sind findet auch bei 
mir eine ständige Taktung statt. Sowas kann man nur lösen mit 
Wassermenge und Mischkreis.

Die VL Temperatur soweit herunterfahren, das das Ventil die eingestellte 
Temperatur nie erreicht und somit nie schließt ist doch nicht 
zielführend.

Aber das haben wir schon mal durchgekaut.

Zurück auf die Heizleistung, natürlich ist hiermit die max. Heizleistung 
gemeint und nicht Möglichkeit Einflussnahme auf die Regelung der 
Leistung zu nehmen (PWM). gottseidank

Bei 10kW ist das nicht mehr FF, sondern evtl. max

von Thorsten L. (joelucid)


Lesenswert?

Peter* schrieb:
> Seit bei mir e_Ventile in den Heizkörpern verbaut sind findet auch bei
> mir eine ständige Taktung statt. Sowas kann man nur lösen mit
> Wassermenge und Mischkreis.

Ja das ist doch der Punkt. Du willst die Wassermenge bei Betrieb nur 
einer Heizung in einem Raum nicht auf das gleich Mass beschränken, was 
nötig ist um gleichmässige Erwärmung aller Zimmer beim Betrieb aller 
Heizungen zu erreichen.

Und mit digitalen Ventilen kann man das eben prinzipiell 
situationsabhängig steuern.

von Peter* (nochgast)


Lesenswert?

Hallo,

doch,.. wo liegt das Problem, meinen Heizungkörper eine halbstunde 
vorher zu starten. Es können mehrere m3/h Heizungswasser fließen.

Ich sehe nur meine Heizung, die Wassermenge ist der Pufferspeicher. 
Hiermit ist der kontinuierliche betrieb der Heizung gewährleistet und 
nicht das Takten. Das Mischen ist losgelöst vom erzeugen der Wärme. Je 
nach Größe des Puffers ist die Heizung dann 2mal in 24Stunden aktiv.~

Das ist kein Abgleich, sondern Du steuerst das Wasser in den 
Rohrleitungen. Der Hydraulische Abgleich ist der Versuch, der in Waage 
setzen.

von Thorsten L. (joelucid)


Lesenswert?

Peter* schrieb:
> Ich sehe nur meine Heizung, die Wassermenge ist der Pufferspeicher.
> Hiermit ist der kontinuierliche betrieb der Heizung gewährleistet und
> nicht das Takten. Das Mischen ist losgelöst vom erzeugen der Wärme. Je
> nach Größe des Puffers ist die Heizung dann 2mal in 24Stunden aktiv.~

Klar ein Pufferspeicher hilft - hat aber den Nachteil dass Du 
Auskühlverluste hast. Und das viele keinen haben. Wenn ich meinen 
Warmwasserspeicher auf 60 C stelle statt auf 37 C ist es im Bad (wo der 
steht) schön warm aber das kostet mich ca 12 kWh am Tag.

Die Frage ist was ist der beste Ansatz, wenn man wie viele keinen 
Speicher aber eine überdimensionierte Therme hat. Und ich denke die 
Lösung ist ein dynamischer hydraulischer Abgleich: so dass zum aktuellen 
Moment zum einen alle Zimmer die Wärmemenge bekommen, die sie gerade 
brauchen. Und das zweitens der Volumenstrom durch alle Heizungen bei 
Einhaltung dieses Gleichgewichts maximiert wird, so dass die 
Vorlauftemperatur und die Taktfrequenz minimiert werden kann.

Unter diesen Umständen kann die Heizung dann mit niedriger Frequenz 
Takten und die Heizungsventile brauchen während des Taktes nicht 
verstellt zu werden. Meine Heizung taktet zur Zeit ungefähr 1x pro 
Stunde mit meiner raumgesteuerten Regelung.

Peter* schrieb:
> Das ist kein Abgleich, sondern Du steuerst das Wasser in den
> Rohrleitungen. Der Hydraulische Abgleich ist der Versuch, der in Waage
> setzen.

Doch - es ist ein dynamischer Abgleich: die Waage halten unter den zur 
Zeit bestehenden Bedingungen.

von Peter* (nochgast)


Lesenswert?

Hallo,

Thorsten L
> Klar ein Pufferspeicher hilft...

ja, der Wärmeverlust [Energieeffizienz A...D] ist ein Thema des 
Geldbeutels und der Größe, aber bei weitem kein Grund der Ablehnung. 
Außerdem die Möglichkeit der Hybridheizung und die [wird] kommt ja.

> 60 C stelle statt auf 37 C...

es ist eine Einstellungssache [ECO...gewollte Hysterese] oder ein 
Sensorfehler

> schön warm aber das kostet mich ca 12 kWh am Tag...

Hoffe nicht der Verlust und Du kannst auch kalt duschen, baden... dann 
weißt Du was 12KW wert sind.:-). Wärme...Verluste hast Du dadurch nicht, 
warme Luft im Bad ist immer gut für eine hohe Aufnahme von Feuchtigkeit 
[sonst Betauung], Lüften weg. 12KW ~1m3/24h Gas. Wir 120l Sommer 0,3 bis 
0,5m3, Winter 0,7 bis 1m3, natürlich abhängig von der 
Wassermenge.[->Wärmerechner]

> eine überdimensionierte Therme hat...

Das ist das eigentliche Problem der alten Heizungen 10Kw ist bei mir 
Schluss. Ab da wird der Siphon ständige bewässert.--> also 
Pufferspeicher und dann aus. Auch in Wohnungen möglich.

> dynamischer hydraulischer Abgleich...

nun vielleicht nochmals wiki durchlesen. Was machst Du, wenn alle 
Heizkörper fordern? Dann ist dein System nicht abglichen! Wenn Räume 
Temperaturregelung benötigen. Dein Heizkörperventil ist doppelt belegt 
und woher bekommst du die Hydraulischen Werte zum Einstellen des 
Ventils. Hier geht es um Drücke Volumenströme und um Temperatur.

von Thorsten L. (joelucid)


Angehängte Dateien:

Lesenswert?

Peter* schrieb:
>> 60 C stelle statt auf 37 C...
>
> es ist eine Einstellungssache [ECO...gewollte Hysterese] oder ein
> Sensorfehler
>
>> schön warm aber das kostet mich ca 12 kWh am Tag...
>
> Hoffe nicht der Verlust und Du kannst auch kalt duschen, baden... dann
> weißt Du was 12KW wert sind.:-). Wärme...Verluste hast Du dadurch nicht,
> warme Luft im Bad ist immer gut für eine hohe Aufnahme von Feuchtigkeit
> [sonst Betauung], Lüften weg. 12KW ~1m3/24h Gas. Wir 120l Sommer 0,3 bis
> 0,5m3, Winter 0,7 bis 1m3, natürlich abhängig von der
> Wassermenge.[->Wärmerechner]

Na klar sind das Verluste. Mein Bad muss nicht den ganzen Tag >23 C warm 
sein. Und im Winter habe ich insgesamt eher zu wenig als zu viel 
Luftfeuchtigkeit.

Schau Dir den unteren Chart in der angehängten Graphik an - da kannst Du 
sehen wie schnell der Speicher auskühlt. Bei 60 C noch viel schneller.

> nun vielleicht nochmals wiki durchlesen. Was machst Du, wenn alle
> Heizkörper fordern? Dann ist dein System nicht abglichen! Wenn Räume
> Temperaturregelung benötigen. Dein Heizkörperventil ist doppelt belegt
> und woher bekommst du die Hydraulischen Werte zum Einstellen des
> Ventils. Hier geht es um Drücke Volumenströme und um Temperatur.

Irgendwie geht Dir scheinbar der Wille zum lesen/verstehen ab. Der 
Wärmebedarf in unterschiedlichen Zimmern ist nicht immer relativ 
konstant - deswegen ist ein statischer Abgleich nicht optimal. Andere 
sind auch schon auf die Idee gekommen. Lies Dir vielleicht mal 
https://www.danfoss.com/de-de/markets/buildings-commercial/dhs/hydronic-balancing-and-control/hydronic-balancing-static-dynamic-automatic/#tab-automatic 
durch.

von Thorsten L. (joelucid)


Lesenswert?

Peter* schrieb:
> Hoffe nicht der Verlust

Schau es Dir an. Das war der WW Verbrauch mit ww setpoint auf 60 C:

23-01-08,  30.89
23-01-09,  23.47
23-01-10,  46.38
23-01-11,  28.23
23-01-12,  43.25
23-01-13,  36.54

Angaben in kw.

Hier ist mit ww setpoint auf 37 C und 45 C on demand zum Duschen, 60 C 
zum baden:

23-03-04, 34.30
23-03-05, 9.43
23-03-06, 10.15
23-03-07, 14.45
23-03-08, 10.98

Der Unterschied ist schon frappierend.

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo,

nun, das die Heizung und der WW_Behälter nicht nur sehr teuer waren als 
auch schlecht isoliert waren bzw. sind, brauchen wir nicht zu 
diskutieren. Da stimme ich Dir voll zu.

> Irgendwie geht Dir scheinbar der Wille zum lesen/verstehen ab.

Ach...,

sorry, aber Blödsinn... "statischer" Abgleich mal weiterdenken und 
suchen.

meine Heizung ist 15+Jahre alt und ich habe von Danfoss das damalige 
"automatische" Strangregulierungssystem (diff-druck) eingebaut und 
eingestellt. Wenn Du mal etwas mehr lesen würdest außer die Werbung über 
das neue System, in dem alle anderen Systeme schlecht ja sogar falsch 
beschrieben werden. Dann würdest Du, die Beurteilung meines 
Nachfolge_Systems (gleicher Aufbau) finden mit "ausgezeichnet" und Du 
würdest auch finden den Hinweis das dein bevorzugtes System nicht ohne 
herkömmlichen Abgleich betrieb werden sollte und schaffe Dir alles 
Pumpen mit Kommunikation und Sensoren an, die Dir die Daten senden.

Ich muss es wohl gelesen als auch verstanden haben!!

von Thorsten L. (joelucid)


Lesenswert?

Ist auch egal - so werde ich es jedenfalls machen und die Ergebnisse 
werden dann wie bisher für sich sprechen.

von Peter* (nochgast)


Lesenswert?

Hallo,

wenn deine Heizung so unwirtschaftlich ist,

vielleicht solltest Du eher versuchen eine neuere Heizung (gebraucht) zu 
bekommen, die die
Leistungs_Modellierung auf 2-3 kW beherrscht. Statt viel Geld in eine 
neue Pumpe z.B.: zu investieren die Junkers nicht gestattet usw.

Aber Du hast recht, ist egal.

von Thorsten L. (joelucid)


Lesenswert?

Peter* schrieb:
> wenn deine Heizung so unwirtschaftlich ist

Die Therme ist super und nicht unwirtschaftlich. Habe gar keine Probleme 
damit. Klar könnte ich evtl ein paar Prozent mit einer stärker 
modulierenden sparen. Aber ich miete und allein die Einbaukosten wären 
immens.

Nee - es ist ideal: ich habe Probleme, die ein grosser Anteil von Leuten 
mit älteren (und auch teilweise neueren) Thermen haben. Neue Thermen 
dürfen bald nicht mehr eingebaut werden. Die Probleme lassen sich mit 
Software weitgehend lösen -> also für viele Leute interessant.

Wenn's so gut wird wie ich denke, gibts also auch einen Markt dafür, 
falls ich darauf Lust hab.

Übrigens: Wochenendhütte mit ATAG 5000 HR genau das gleiche Problem. 
Megaüberdimensioniert und taktet wie verrückt. 20kw und moduliert runter 
auf 6 meine ich. Aber startet immer auf voller Leistung und regelt dann 
runter - bei hohen Aussentemp zu spät und die Takte sind keine Minute 
lang. Die ist als nächstes dran.

von Peter* (nochgast)


Lesenswert?

Hallo,

> Aber startet immer auf voller Leistung und regelt dann
> runter

Ob es die volle Leistung ist, ist mir nicht bekannt, aber das Vorgehen 
ist durch aus logisch, um eine sichere Zündung zu gewährleisten.

> Neue Thermen
> dürfen bald nicht mehr eingebaut werden

Aber noch!, deshalb der Hinweis... und die Preise werden auch bei 
Klein... fallen.

Ein Ventil aus Systemdaten zusteuern sagt nichts über die machbare 
Funktionsweise aus. Ich sehe aber schon ein Problem, die 
Batteriesteuerung. Die können gar nicht jede  Betriebsänderung mit 
machen. Einmal im Monat Batteriewechsel?

Es gab auch mal, vor Jahren eine Zukunftsplanung, die besagte das sich 
jeder Raum die erforderlich Wärme durch Kleinpumpen sich selbst holt. 
Nie wieder davon was gehört.

Das wird auch nicht mein Thema.

von Jörg R. (rejoe2)


Lesenswert?

Thorsten L. schrieb:
> H.Joachim S. schrieb:
>> Das Peterle eiert ja immer noch hier rum :-)
>
> Sonst leider wohl keiner mehr :).

Doch doch, ich lese hier immer mal wieder interessiert mit, und die 
Therme via i2c anzusteuern klingt sehr interessant, v.a. nachdem es mit 
der (sw-) CAN-Lösung hakt, und ich sowieso vor dem "Problem" stehe, dass 
die Gesamtheizungsanlage demnächst noch ein paar Komponenten mehr hat 
wie nur die Therme (Pufferspeicher+Solarthermie, zwei Wärmetauscher für 
WW+Heizungsunterstützung und so weiter...).

Dauert nur noch etwas, bis ich dazu kommen werde, das intensiver zu 
beleuchten!

von Peter* (nochgast)


Lesenswert?

Hallo,

I2C ist eine Kommunikation über kurze Distanz. Über längere Distanz ist 
der Can-Bus um vieles besser.

HSM und HMM haben kein I2C, sind also nur über Can-Bus ansteuerbar. Ein 
System mit Pufferspeicher usw. mit I2C ist wohl ~ eher nicht umsetzbar, 
noch zweckmäßig.

Hier steht wohl noch die Suche nach dem direkten Einstieg ohne 
überschreiben der CAN-Bus Befehle im Vordergrund.

Man muss schon nicht mehr Heizungsanlage sagen sondern Hausanlage. 
Inzwischen kommt bei mir sogar ein Pufferspeicher außerhalb des Hauses 
in Frage.

Viel Arbeit und wenig Zeit.

von Thorsten L. (joelucid)


Angehängte Dateien:

Lesenswert?

Peter* schrieb:
> Ein Ventil aus Systemdaten zusteuern sagt nichts über die machbare
> Funktionsweise aus. Ich sehe aber schon ein Problem, die
> Batteriesteuerung. Die können gar nicht jede  Betriebsänderung mit
> machen. Einmal im Monat Batteriewechsel?

Na die hr20 stellen sich doch sowieso ständig aktiv ein. 
Batterielaufzeit soll trotzdem > 1 Jahr sein. Und mit dynamischem 
Abgleich wird es weniger: während des Taktens müssen die Ventile dann 
nicht geregelt werden - es sei denn der relative Wärmebedarf ändert 
sich.

Hab noch ein neues Feature: Abschalten der Pumpe während der Brenner aus 
ist. Siehe Anhang. Das wird vor allem in der Übergangszeit was bringen 
wenn die Takte längere Auszeiten haben.

von Thorsten L. (joelucid)


Lesenswert?

Peter* schrieb:
> HSM und HMM haben kein I2C, sind also nur über Can-Bus ansteuerbar. Ein
> System mit Pufferspeicher usw. mit I2C ist wohl ~ eher nicht umsetzbar,
> noch zweckmäßig.

Richtig. Wenn andere Can Bus Teilnehmer mitspielen wird der Can Bus 
benötigt. Man könnte trotzdem den BM1 ersetzen und i2c mit der Therme 
sprechen solange man zusätzlich ein Can Bus Modul am Mikrocontroller für 
Kommunikation mit der Peripherie hat. Aber dann ist es nicht mehr so 
schön simpel.

von Thorsten L. (joelucid)


Lesenswert?

Peter* schrieb:
> ja, der Wärmeverlust [Energieeffizienz A...D] ist ein Thema des
> Geldbeutels und der Größe, aber bei weitem kein Grund der Ablehnung.

Hast Du mal gemessen, wie gross die Bereitschaftsverluste Deines 
Speichers sind? Für die Wirtschaftlichkeit müsste man diese ja dem 
Auskühlverlust der Therme beim Takten gegenüberstellen (jedenfalls wenn 
der Speicher nicht sowieso zum Hybridheizen gebraucht wird).

Mein WW Speicher verliert schon sehr viel. Vielleicht sollte ich da mal 
bessere Isolierung anbringen. Jetzt im Winter mit der Bedarfsanforderung 
ist es kein Problem, da der Speicher einfach das Bad heizt. Aber im 
Sommer ist das reine Verschwendung.

: Bearbeitet durch User
von Thorsten L. (joelucid)


Lesenswert?

Btw was ich in diesem Zusammenhang richtig cool finde ist 
http://www.rio12.com/rio9/programme/Book_of_Proceedings/9_ST_Buchholz.pdf.

Mit chemischer Wärmespeicherung könnte man sogar Solarenergie vom Sommer 
in den Winter transportieren - ohne Verluste.

Und die Freigabe der Wärme bindet Feuchtigkeit. Dh ideal um im Winter 
die Wochenendhütte vor Einfrieren und Schimmel in einem schützen.

von Peter* (nochgast)


Angehängte Dateien:

Lesenswert?

Hallo,

> Na die hr20 stellen sich doch sowieso ständig aktiv ein.
> Batterielaufzeit soll trotzdem > 1 Jahr sein. Und mit dynamischem
> Abgleich wird es weniger: während des Taktens müssen die Ventile dann
> nicht geregelt werden - es sei denn der relative Wärmebedarf ändert
> sich.

Was ist denn HR20, nicht etwa der von Honeywell. Habe hier noch 5x HR40, 
nie eingebaut. Warum, weil sie die Temperatur (am | in der Nähe des 
Heizkörper) messen bzw. !sogar! über separates Messkabel (opt.) messen 
konnten.

Habe mich damals, weil günstig (gleichen Preis HR40) für die von ELV / 
Conrad bzw. schließlich von Lifetec  entschieden. 
Steuergerät/e-Ventil/Fenstersignal (20Euro) 868 MHz. heute Standard. 
Steuereinheit sendet alle 2 Minuten die Sollöffnung, aber bevor der 
Motor angesteuert wird vergehen (Diagramm 5->8%) z.B: 90min) natürlich 
je nach Temperatur und Raum (kältest beheizte Raum).

Da ist nichts ständig aktiv!!

> Abschalten der Pumpe während der Brenner aus
> ist.

Ja und... dein ganze System steht, die Zeit der Schwerkraftheizung kommt 
vielleicht wieder aber so nicht. Vielleicht sogar als grobfahrlässig 
einzustufen bei Schaden an der Heizung. -->Bosch/Junkers

> Man könnte trotzdem den BM1 ersetzen und i2c mit der Therme
> sprechen solange man zusätzlich ein Can Bus Modul am Mikrocontroller für
> Kommunikation mit der Peripherie hat.

Peter*
> eher nicht umsetzbar,
> noch zweckmäßig.


> Hast Du mal gemessen, wie groß die Bereitschaftsverluste Deines
> Speichers sind? Für die Wirtschaftlichkeit müsste man diese ja dem
> Auskühlverlust der Therme beim Takten gegenüberstellen (jedenfalls wenn
> der Speicher nicht sowieso zum Hybridheizen gebraucht wird).

Nun, erstmal ist das eine Planung, ich hoffe dies in diesem Jahr 
umsetzen zu können. (Preis, Lieferzeiten sehen aber hier sehr schlecht 
aus.)

Aber selbstverständlich, es kommt auf die Größe der Einheiten und die 
Isolierung an. Ein Beispiel Energie[B] 1000L ~90W/h; 300L [A] ~40-50W/h

Das brauche ich nicht gegenüberstellen, ich weis es einfach das es 
anders unwirtschaftlich ist!!

Es ist E-Solar als auch Wärmepumpe ... bzw. Hybrid in Zukunft geplant.

> Mit chemischer Wärmespeicherung könnte man sogar Solarenergie vom Sommer
> in den Winter transportieren - ohne Verluste

Sicher..., wer es glaubt ohne Verlust....

Es werden schon riesige Wasserspeicher gebaut die ähnlich genutzt werden 
sollen.

Es sollte auch mal eine Pipeline mit Flüssigkeit Metall errichtet 
werden...um Energie zu transportieren.

Kann ich alles nicht nutzen, habe Strom 49 Cent/kW und Gas 19,15 
Cent/KW.

von Thorsten L. (joelucid)


Lesenswert?

> Was ist denn HR20, nicht etwa der von Honeywell. Habe hier noch 5x HR40,
> nie eingebaut. Warum, weil sie die Temperatur (am | in der Nähe des
> Heizkörper) messen bzw. !sogar! über separates Messkabel (opt.) messen
> konnten.

Genau die von Honeywell ja. Und zwar hauptsächlich weil die bereits 
komplett reverse engineered sind (https://github.com/OpenHR20/OpenHR20).

Wie gesagt habe ich schon ein selbst entwickeltes Home automation System 
basierend auf dem atmega 328p mit rfm69 Radio. Komplett mit Wireless 
bootloader usw. Die hr20 benutzen den atmega 169p - da kommt dann ein 
rfm69 ran und ich kann dann meine Infrastruktur nutzen - wie auch schon 
beim BM1 Ersatz. Deswegen geht das dann bei mir alles so schnell.

Natürlich bekommt jeder größere Raum zwei Thermometer: eins für Lufttemp 
und eins für Strahlungstemp. Aber auch die eingebauten Thermometer 
funktionieren nicht schlecht - die Arbeiten mit einem Offset um die Nähe 
zum Heizkörper auszugleichen.

>
> Habe mich damals, weil günstig (gleichen Preis HR40) für die von ELV /
> Conrad bzw. schließlich von Lifetec  entschieden.
> Steuergerät/e-Ventil/Fenstersignal (20Euro) 868 MHz. heute Standard.
> Steuereinheit sendet alle 2 Minuten die Sollöffnung, aber bevor der
> Motor angesteuert wird vergehen (Diagramm 5->8%) z.B: 90min) natürlich
> je nach Temperatur und Raum (kältest beheizte Raum).
>
> Da ist nichts ständig aktiv!!

Genauso wird es bei mir auch funktionieren - aber besser: ich kenne ja 
die Vorlauftemperatur und das Taktverhalten und kann deswegen viel 
besser ansteuern. In meiner jetzigen Steuerung folgt die Lufttemperatur 
der Vorlauftemperatur mit vielleicht 4 Minuten Verzögerung. Es ist also 
viel zu spät wenn man es daran festmacht.

>
>> Abschalten der Pumpe während der Brenner aus
>> ist.
>
> Ja und... dein ganze System steht, die Zeit der Schwerkraftheizung kommt
> vielleicht wieder aber so nicht. Vielleicht sogar als grobfahrlässig
> einzustufen bei Schaden an der Heizung. -->Bosch/Junkers

Nee - ich zirkuliere noch 5 min nach dem ausschalten und hab dann 6 
Minuten aus, 3 an usw. Das machen einige kommerzielle Regelungen auch 
so. Das ist schon ok. Stelle es Dir einfach wie eine geregelte Pumpe vor 
und sei nicht immer so negativ.

>
>> Man könnte trotzdem den BM1 ersetzen und i2c mit der Therme
>> sprechen solange man zusätzlich ein Can Bus Modul am Mikrocontroller für
>> Kommunikation mit der Peripherie hat.
>
> Peter*
>> eher nicht umsetzbar,
>> noch zweckmäßig.

Umsetzbar: absolut ja. Zweckmäßig? Hängt eben davon ab ob der BM1 
korrekt mit der eigenen Therme funktioniert. Bei mir war das nicht der 
Fall deswegen musste ich ihn ersetzen.

> Aber selbstverständlich, es kommt auf die Größe der Einheiten und die
> Isolierung an. Ein Beispiel Energie[B] 1000L ~90W/h; 300L [A] ~40-50W/h
>
> Das brauche ich nicht gegenüberstellen, ich weis es einfach das es
> anders unwirtschaftlich ist!!
>
> Es ist E-Solar als auch Wärmepumpe ... bzw. Hybrid in Zukunft geplant.

Hängt natürlich auch noch mit der Temperatur zusammen. Und was dann die 
realen Verluste sind ggü. dem versprochenen. Wie gesagt mit hybrider 
Heizung - klar da macht es Sinn. Aber nur um das Takten zu verringern - 
20 Takte am Tag vs 2 mit Speicher plus Speicherverluste. Ich glaub nicht 
dass
man da besser mit Speicher fährt.

>
>> Mit chemischer Wärmespeicherung könnte man sogar Solarenergie vom Sommer
>> in den Winter transportieren - ohne Verluste
>
> Sicher..., wer es glaubt ohne Verlust....

Na das besondere ist dass die Speicherung chemisch durch die Entfernung 
von Wasser aus der Lösung passiert. Du hast also keine Abkühlverluste 
und kannst deutlich mehr pro Volumen speichern.

>
> Es werden schon riesige Wasserspeicher gebaut die ähnlich genutzt werden
> sollen.
>
> Es sollte auch mal eine Pipeline mit Flüssigkeit Metall errichtet
> werden...um Energie zu transportieren.

Mann - Du bist aber auch echt der typische Neinsager. Ist Dir schon mal 
aufgefallen dass Du überall nur Probleme siehst und keine Chancen? Alles 
was von anderen kommt ist für Dich nicht machbar, fahrlässig, idiotisch 
und lächerlich. Versuch doch mal etwas positiver ans Leben ranzugehen!

>
> Kann ich alles nicht nutzen, habe Strom 49 Cent/kW und Gas 19,15
> Cent/KW.

Ich empfehle neue Verträge abzuschließen. Habe gerade Gas mit 10.5 c/kWh 
auf zwei Jahre abgeschlossen.

von Thorsten L. (joelucid)


Lesenswert?

Thorsten L. schrieb:
> Warum, weil sie die Temperatur (am | in der Nähe des
>> Heizkörper) messen bzw. !sogar! über separates Messkabel (opt.) messen
>> konnten.

Btw - ich denke Raumtemperatursensoren kombiniert mit den Sensoren in 
der Nähe der Heizung sind eigentlich optimal: die Thermometer in der 
Nähe der Heizung geben schnell Information über die Richtung der 
Veränderung (muss nicht erst auf Konvektion zum Raumthermometer warten) 
und das Raumthermometer gibt die korrekte absolute Temperatur. Ich plane 
beides einzusetzen - plus Vorlauftemperatur.

Wenn alles so funktioniert wie ich plane dann wird an allen Ventilen der 
aktuell passende hydraulische Abgleich eingestellt und dann bei 
konstanter Ventilstellung getaktet. So hat man dann in allen Räumen die 
gleiche minimale Schwankung um das Ziel der gefühlten Zimmertemperatur.

von Thorsten L. (joelucid)


Lesenswert?

Das grösste Problem bei standalone Thermostaten ist die 
Schnellaufheizung eines Zimmers. Dafür muss die Vorlauftemperatur stark 
angehoben werden. Und wenn die Raum/Thermostatsensoren in den anderen 
Zimmern das merken ist es bereits zu spât.

Ich kann in einem Radiopaket neue Ventilstellungen gleichzeitig an alle 
Ventile schicken und die bereits richtig auf die neue Vorlauftemperatur 
einstellen bevor die Zimmertemperatur Überschiesst.

von Peter* (nochgast)


Lesenswert?

Hallo,

> Mann - Du bist aber auch echt der typische Neinsager. Ist Dir schon mal
> aufgefallen dass Du überall nur Probleme siehst und keine Chancen? Alles
> was von anderen kommt ist für Dich nicht machbar, fahrlässig, idiotisch
> und lächerlich. Versuch doch mal etwas positiver ans Leben ranzugehen!

Ach....wie war das neulich mit der Danksagung I2C noch...das war 
lächerlich.

Probleme wo Probleme sind und wo eine Möglichkeit existiert kann man sie 
auch erwähnen so lange sie einfach umsetzbar sind. Aber das Rad neu 
erfinden werde ich ganz sicher nicht. Auch zurück in 80er und hierum 
basteln obwohl es fertige Einzelteile zu kaufen sind, neee. Und ich bin 
noch jemand der Smart Home weit von sich schiebt bzw. geschoben hat!!

HR20 und die neusten e-Ventil kein Vergleich neee.

Ich habe fast 2 Jahrzehnte im Versuch bzw. der Produktvalidierung im 
Automotivbereich gearbeitet und ich glaube ein bisschen ist hängen 
geblieben. Und da wurde alles auf 15 Jahre getestet, sicher ist sicher.

Beleidigungen sind ganz sicher nicht erstmalig aus meiner Feder, aber 
Leute die glauben sie haben die Weisheit mit Löffeln zu sich genommen 
gibt es überall und konstruktive Kritik sollte hilfreich sein.

Aber ich denke dein Vorwurf ist unbegründet!!!

Aber ich bin ehrlich, bin wirklich gespannt ob ich das noch verstehe was 
Du da baust bzw. wie Danfoss das aufgebaut hat? Ich kenne nicht mal das 
Prinzip. Eine Hydraulik ohne zu messen?

von Jörg R. (rejoe2)


Lesenswert?

Wenn ich mal darauf zurückkommen darf:

Thorsten L. schrieb:
>>> Man könnte trotzdem den BM1 ersetzen und i2c mit der Therme
>>> sprechen solange man zusätzlich ein Can Bus Modul am Mikrocontroller für
>>> Kommunikation mit der Peripherie hat.
>>
>> Peter*
>>> eher nicht umsetzbar,
>>> noch zweckmäßig.
>
> Umsetzbar: absolut ja. Zweckmäßig? Hängt eben davon ab ob der BM1
> korrekt mit der eigenen Therme funktioniert. Bei mir war das nicht der
> Fall deswegen musste ich ihn ersetzen.

Der Gedanke, den BM1 zu ersetzen gefällt mir sehr gut. Meine BM1 (bzw. 
"2") funktionieren zwar, aber es gelingt mir nicht, die TA250 durch 
Dave's Code auf einem ESP32 zu ersetzen, _u.a._ weil die damit 
gelieferten Pegel nicht passen (evtl. ist was an der Hauptplatine 
kaputt).
Aber selbst wenn: Für einen "Notbetrieb" mit TA250 müßte man umstöpseln, 
und das ist für meinen Anwendungsfall der Haken bei der Sache, da nicht 
(Familien-Mit-) Userfreundlich.

Ein Setup, bei dem der TA250 für die "defaults" weiter aktiv bleibt, 
aber von einem BM1-Ersatz (befehlsmäßig) ignoriert wird, solange auf 
einer anderen Schnittstelle regelmäßig Anweisungen kommen, wäre mir im 
Moment sehr viel sympatischer. Das hätte auch den Vorteil, dass man ggf. 
unbekannte Telegramme "durchstellen" könnte. Der TA sollte zufrieden 
sein, wenn er regelmäßig Infos aus der Therme bekommt sowie eine 
Außentemperatur. Dafür einen DS18B20 vorzusehen, wäre aber wohl kein 
großes Ding, oder?

von Peter* (nochgast)


Lesenswert?

Hallo,

Jörg R. schrieb:
>>>
>>> Peter*
>>>> eher nicht umsetzbar,
>>>> noch zweckmäßig.

Hier, ist der "richtige" Zusammenhang und sicher ist es bei "nur" der 
Therme machbar, es ist ja aus meiner Feder und Thorsten hat sich die 
Arbeit gemacht und es umgesetzt.

Peter* schrieb:
> HSM und HMM haben keinen I2C, sind also nur über Can-Bus ansteuerbar. Ein
> System mit Pufferspeicher usw. mit I2C ist wohl ~ eher nicht umsetzbar,
> noch zweckmäßig.

ein bisschen mehr lesen.

> _u.a._ weil die damit
> gelieferten Pegel nicht passen

Nun, u.a ist ein weites Feld?...welcher Pegel?

> Aber selbst wenn: Für einen "Notbetrieb" mit TA250 müßte man umstöpseln,
> und das ist für meinen Anwendungsfall der Haken bei der Sache, da nicht
> (Familien-Mit-) Userfreundlich.

Dave's Programm fließt doch über den Can-Bus in das System ein und hebt 
den TA250 über die SW aus!
Schalte ein Relais (2.facher Wechsler Can High/Low) über die 
Schließerkontakte vor deinem Can-bus Anschluss ESP32 und schalte es ein 
per SW, im Notfall bleibt es aus. ---> TA... ist im Notfall aktiv!!


> Ein Setup, bei dem der TA250 für die "defaults" weiter aktiv bleibt,....

Sorry,
nicht nur TA... Befehle ignorieren dann auch noch verschiedene 
Schnittstellen. Bosch/Junkers macht es über Kartenwechsel. z.B.: Ta211 
/Ta250 /RAM.

Wenn Du eine Lösung findest ich höre Dir ganz sicher zu..., aber 
wahrscheinlich kommt erst der Weltfrieden, sorry,... konnte mir jetzt 
nicht verkneifen und den! können wir gebrauchen!

von Jörg R. (rejoe2)


Lesenswert?

Beim Weltfrieden sind wir uns einig, und zu meinen Pegeln hatte ich hier 
schon mal was geschrieben (Stichwort 30V statt 24V kommen von der 
Therme, den CAN-Teil spare ich mir, denn vermutlich ist einfach meine 
hauptplatine teilweise hinüber).

Und ja, mag sein, dass mein Verständnis zum Ganzen - nennen wir es 
verbesserungsfähig - ist.

Jedenfalls: Dave's firmware hatte mal bei mir funktioniert, aber wenn 
man da den CAN-Bus vom TA nicht wirklich wegschaltet, dominiert die TA 
und der ESP lauscht nur. Seit die 30V da sind, klappt es eben über 
(ESP-) CAN nicht mehr, mit der TA versteht sich die Hauptplatine weiter 
prächtig, warum auch immer.

Vor diesem Hintergrund wäre mir ein BM-"neu" auf open-source-MCU-Basis 
eben sympatisch, v.a., wenn das dann (mangels anderer zeitnaher 
Anweisungen von woanders her) dann automatisch einfach die Anweisungen 
vom TA entgegennehmen würde und wie ein BM1 in den Speicher schreiben 
könnte.

Mittelfristig wäre es dann wünschenswert, wenn ein BM-"neu" dann 
selbstredend "mit der ganzen Welt" reden könnte und die von HMS&Co 
kommenden Infos auch zutreffend in "Speicher-Aktionen" umschreiben 
könnte (also vermutlich dann auch Funktionen übernimmt, die heute 
eigentlich die TA übernimmt). Andererseits scheint mir der Bedarf dafür 
im Moment auch nicht eben groß zu sein... (im Unterschied zu einem 
gewissen Bedarf für BM1). 80/20 würde es für den Standardfall vermutlich 
ausreichen, wenn man das "übliche Duett" aus BM1 und TA250 durch was 
Intelligenteres ersetzen würde, das sich (über eine 2. MCU?) dann von 
einer Hausautomatisierungslösung fernsteuern ließe, und eben im Notfall 
auch im "Duett" BM-"neu"+TAxxx funktioniert...

Nicht mehr, aber auch nicht weniger.

von Peter* (nochgast)


Lesenswert?

Hallo,

Jörg R...
> und zu meinen Pegeln hatte ich hier
> schon mal was geschrieben (Stichwort 30V statt 24V kommen von der
> Therme, den CAN-Teil spare ich mir, denn vermutlich ist einfach meine
> hauptplatine teilweise hinüber).

Sorry, erinnere mich und gefunden.. zur Sicherheit, denke Du hast die 
Möglichkeit des Fehlers in der Messung ausgeschlossen und festgestellt 
das es auch kein Wechselspannungsanteil in den 30V vorhanden ist 
[Multimeter ->DC AC Messung]?! keine Mischspannung. { Vermutung: Schaden 
durch Überlastung; Kondensator, Diode...}

> Seit die 30V da sind, klappt es eben über
> (ESP-) CAN nicht mehr, mit der TA versteht sich die Hauptplatine weiter
> prächtig, warum auch immer.

Das ist evtl. logisch, da BM1 mit 5V arbeitet. Auf der Platine BM1 ist 
ein Stabi 5V, der scheinbar hierfür auch benutzt wird. Das dürfte aber 
dem Can-Bus nicht stören. Ab einen Masseversatz über 1V kann es 
Schwierigkeiten geben.

Messe mal beide Leitungen CAN-High und Can-Low zur Masse [GND].[0 bis 
5v]

Hast Du dein Can-Bus-Adapter mit GND vom BM1 verbunden?

Wie wird der ESP versorgt, evtl. Fremdversorgung, mit.. auf jeden Fall 
GND Anschluss an BM1.

> Mittelfristig wäre es dann wünschenswert...

Von meiner Seite her, werde ich Dir leider sagen müssen, die Zeit habe 
ich bei weitem nicht. I2C Version ist nicht mehr in meinem Fokus und ein 
defekt der etwas aus dem Rahmen fällt wird jeden demnächst zwingen über 
eine Neuanschaffung nach zudenken. Zwangssanierung steht schon lange im 
Raum.

I2C steht nur noch im Rahmen eines Textdisplay auf der Liste. 
Servicefunktionen.

Um die SW zu verfeinern zu können, wird wohl Dave kaum noch zeit haben 
und wollen.

Ich denke, das der Markt nicht mehr da ist und man kann sich evtl. bald 
mit Bm1 eindecken (gebrauchte) oder "f[w]indige Fachleute" werden die 
Preise hochhalten als Rarität.--- wie schon seit sehr lange Zeit.

von Thorsten L. (joelucid)


Lesenswert?

> Der Gedanke, den BM1 zu ersetzen gefällt mir sehr gut. Meine BM1 (bzw.
> "2") funktionieren zwar, aber es gelingt mir nicht, die TA250 durch
> Dave's Code auf einem ESP32 zu ersetzen, _u.a._ weil die damit
> gelieferten Pegel nicht passen (evtl. ist was an der Hauptplatine
> kaputt).
> Aber selbst wenn: Für einen "Notbetrieb" mit TA250 müßte man umstöpseln,
> und das ist für meinen Anwendungsfall der Haken bei der Sache, da nicht
> (Familien-Mit-) Userfreundlich.
>
> Ein Setup, bei dem der TA250 für die "defaults" weiter aktiv bleibt,
> aber von einem BM1-Ersatz (befehlsmäßig) ignoriert wird, solange auf
> einer anderen Schnittstelle regelmäßig Anweisungen kommen, wäre mir im
> Moment sehr viel sympatischer. Das hätte auch den Vorteil, dass man ggf.
> unbekannte Telegramme "durchstellen" könnte. Der TA sollte zufrieden
> sein, wenn er regelmäßig Infos aus der Therme bekommt sowie eine
> Außentemperatur. Dafür einen DS18B20 vorzusehen, wäre aber wohl kein
> großes Ding, oder?

Die Aussentemperatur hole ich mir inzwischen einfach von einem web 
service.

Im Prinzip ist das alles machbar. Du brauchst nur einen Microcontroller 
mit CAN Bus Interface, der mit dem TA und dem Mischer spricht. Und der 
dann ein i2c RAM als I2c Slave simuliert und die über den Can Bus 
empfangenen Informationen dort reinschreibt bzw von I2c auf den Can Bus 
bringt.

Da Dein Setup nicht identisch mit meinem ist, wirst Du einen I2c logic 
analyzer brauchen um mitzuprotokollieren, was im RAM landet. Jedenfalls 
ist das der einfachste Weg. Ich habe zum Glück diesen Saleae Analyzer, 
der wirklich gut ist, aber auch einiges kostet. Ich glaube man kann die 
Software (Logic 2) aber auch mit sehr billigen Clones verwenden (<50 
Euro wenn ich mich richtig erinnere). Vielleicht mal Googeln.

von Thorsten L. (joelucid)


Lesenswert?

Thorsten L. schrieb:
> Ich glaube man kann die
> Software (Logic 2) aber auch mit sehr billigen Clones verwenden (<50
> Euro wenn ich mich richtig erinnere). Vielleicht mal Googeln.

Sowas in der Art: 
https://www.amazon.de/KeeYees-Logic-Analyzer-Farben-Arduino/dp/B07K6G55WG/ref=sr_1_1?__mk_de_DE=ÅMÅŽÕÑ&crid=20PF408I3Q35H&keywords=saleae+clone&qid=1678917616&sprefix=saleae+clone%2Caps%2C99&sr=8-1

von H.Joachim S. (crazyhorse)


Lesenswert?

Thorsten L. schrieb:
> Mann - Du bist aber auch echt der typische Neinsager. Ist Dir schon mal
> aufgefallen dass Du überall nur Probleme siehst und keine Chancen? Alles
> was von anderen kommt ist für Dich nicht machbar, fahrlässig, idiotisch
> und lächerlich. Versuch doch mal etwas positiver ans Leben ranzugehen!

Psychoanalyse mit dem Skalpell, herrlich. Treffender geht's nicht.
Vielleicht machen wir noch mal einen trööt zu dem Thema ohne 
Peter*nochgast auf.
Aber wahrscheinlich hängt er sich dann in vermeintlicher Kompetenz auch 
wieder rein...

von Peter* (nochgast)


Lesenswert?

Hallo,

es gibt Leute die haben was zu sagen und dann kommen die Leute,

die !!nur rumpöbeln können.

Herzlich Willkommen

Verrücktes Pferd.

H.Joachim S.
> Vielleicht machen wir noch mal einen trööt zu dem Thema ohne
> Peter*nochgast auf.

Nicht reden machen!

von Thorsten L. (joelucid)


Lesenswert?

Jörg R. schrieb:
> Jedenfalls: Dave's firmware hatte mal bei mir funktioniert, aber wenn
> man da den CAN-Bus vom TA nicht wirklich wegschaltet, dominiert die TA
> und der ESP lauscht nur. Seit die 30V da sind, klappt es eben über
> (ESP-) CAN nicht mehr, mit der TA versteht sich die Hauptplatine weiter
> prächtig, warum auch immer.

Eine Sache die mir aufgefallen war ist dass esp32 + can bus adapter nur 
ohne Terminierungsbrücke mit der Therme sprechen konnte. Bin der Sache 
nicht gross weiter nachgegangen aber komisch ists schon. Als wenn das 
mit 3.3v betriebene can bus Modul der Therme nicht genug Differenz 
zwischen Can H und Can L auf die Leitung bringt.

Btw da schon zwei Leute ihre HW hier beim experimentieren zerlegt haben 
(oder die einem natürlichen Tod erlegen ist?): ich würde empfehlen den 
Mikrocontroller von der Therme mit Strom zu versorgen, damit GND auf 
gleichem Potential ist.

Man weiss ja in einer Altbauwohnung nie ganz genau was passiert, wenn 
man gnd aus zwei Steckdosen mit separaten Netzteilen verbindet.

von Peter* (nochgast)


Lesenswert?

Hallo,

Thorsten L.
> Im Prinzip ist das alles machbar...
Na Ja, nur den Fehler im CAN-Bus zu finden nicht.... man siehe unten

> Du brauchst nur einen Microcontroller
> mit CAN Bus Interface, der mit dem TA und dem Mischer spricht. Und der
> dann ein i2c RAM als I2c Slave simuliert und die über den Can Bus
> empfangenen Informationen dort reinschreibt bzw von I2c auf den Can Bus
> bringt.

Jörg, was funktioniert bei Dir nicht mehr? ... CAN-Bus?....

> Eine Sache die mir aufgefallen war ist dass esp32 + can bus adapter nur
> ohne Terminierungsbrücke mit der Therme sprechen konnte. Bin der Sache
> nicht gross weiter nachgegangen aber komisch ists schon. Als wenn das
> mit 3.3v betriebene can bus Modul der Therme nicht genug Differenz
> zwischen Can H und Can L auf die Leitung bringt.

Alle 3 -4 Monate kommt das Thema auf [warum liest das keiner oder 
informiert sich selbst!!], wir haben einen 5V Can-Bus und das ist in der 
Praxis fast immer der Fall, auch wenn der CAN Controller mit 3,3V 
gespeist wird. Eine bessere Schaltung z.B.: Watterott unterstützt das. 
Link: CAN-Bus Pegel

!!Ein Abschluss am CAN-Bus Adapter ist zu unterlassen!!, es wird nur an 
den Enden [TA2xx / BM1] terminiert, evtl. bei Stern neu berechnen, alle 
Abschlüsse. Es ist auch gängig ohne Abschluss zu arbeiten oder nur ein 
Abschluss zu setzen. Parameter sind immer hierbei Geschwindigkeit und 
Leitungslänge nur im Drill.

> Man weiss ja in einer Altbauwohnung nie ganz genau was passiert, wenn
> man gnd ""aus"" zwei Steckdosen mit separaten Netzteilen verbindet.

Achtung!!: PE ist nicht GND

Das ist der Anschluss der in Frage kommt.

• 4 = GND

Man schaue sich mal die "Aufgabe" des Moduls mit dem Namen RAM an und 
dann die kurzzeitige max. Belastung des ESP32 an.

negativ ist nur die Sichtweise und nicht verstehen. Wenn es hilft...+

von Thorsten L. (joelucid)


Lesenswert?

> Na Ja, nur den Fehler im CAN-Bus zu finden nicht.... man siehe unten

Du - mein Ansatz ist da einfach etwas anders: wenn jemand etwas machen 
möchte und nach Details fragt dann gebe ich die. Meine Mission im Leben 
ist es nicht anderen vorzuschreiben was sie zu tun oder lassen haben.

> !!Ein Abschluss am CAN-Bus Adapter ist zu unterlassen!!, es wird nur an
> den Enden [TA2xx / BM1] terminiert, evtl. bei Stern neu berechnen, alle
> Abschlüsse. Es ist auch gängig ohne Abschluss zu arbeiten oder nur ein
> Abschluss zu setzen. Parameter sind immer hierbei Geschwindigkeit und
> Leitungslänge nur im Drill.

Ich hatte ja gar keinen TA dran (zum 20. mal). Aber das Setup 
funktionierte nicht mit Terminierung. Das ist schon erstaunlich.

>> Man weiss ja in einer Altbauwohnung nie ganz genau was passiert, wenn
>> man gnd ""aus"" zwei Steckdosen mit separaten Netzteilen verbindet.
>
> Achtung!!: PE ist nicht GND

Ach nee.

>
> Das ist der Anschluss der in Frage kommt.
>
> • 4 = GND
>
> Man schaue sich mal die "Aufgabe" des Moduls mit dem Namen RAM an und
> dann die kurzzeitige max. Belastung des ESP32 an.
>
> negativ ist nur die Sichtweise und nicht verstehen. Wenn es hilft...+

In der Tat - diesen Absatz kann ich rein semantisch/grammatisch nicht 
verstehen. Ungeachtet der Polarität der Sichtweise.

von Horst S. (h3aau)


Lesenswert?

moin,
ich habe eine KSBR 3-16 a21 mit DT1 und TA211e im keller.
komme ich da auch ohne BM1 an die daten der heizung?
beim lesen habe ich was von i2c gesehen.
wo wäre der?
bisher loge ich mit ds18b20 und einem teensy4.1.
das läuft seit einigen jahren recht zufriedenstellend.

mfg horst

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo Horst,

Du hattest ja schon mal angefragt, eine witterungsgeführte Heizung ist 
dein Eigen und Du hast die gleichen Möglichkeiten des Ausbaues wie hier 
mehrfach schon beschrieben.

Ohne einen Schritt zu wagen wirst du nicht weiter kommen.

Durch den TA211E verlierst Du zu mindestens den i2C Anschluss an der 
"Vorderseite" (TA211E). Ob der multicodierter Stecker bei der Uhr, auch 
noch bei der  Installation des TA211E die I2C Funktion bei behält, ist 
mir nicht bekannt, noch ab wann das Textdisplay überhaupt möglich war.

Hier müsste mal ein Scan durchgeführt werden bzw. vielleicht hat ja ein 
Mitleser einen ähnlichen Aufbau mit Textdisplay. FD daten sind wichtig.

TA211E und Textdisplay eine Variante???

Die Frage was willst Du überhaupt mit lesen, Rechenleistung hast Du ja 
genug nur ob praktisch? Vom TA211E kannst Du nur die Einstelldaten und 
die Außentemperatur wandeln. Ich habe mich schon mal dazu geäußert, wie 
das funktioniert. ~Seiten[2]

: Bearbeitet durch User
von Horst S. (h3aau)


Lesenswert?

moin,
danke für die antwort.
wie ist die steckerbelegung am ta211e? wenn dort i2c drauf ist könnte 
ich doch dort mit einem sniffer die daten anbgreifen. da ich nicht 
steuern will würde mir das reichen.
liege ich da richtig?

von Jörg R. (rejoe2)


Lesenswert?

Thorsten L. schrieb:
> Du - mein Ansatz ist da einfach etwas anders: wenn jemand etwas machen
> möchte und nach Details fragt dann gebe ich die.

Danke! Hast du irgendwo ein Repo, auf dem dein Code für "Funk-to-i2c" zu 
finden ist? Bzw. du scheinst dich ja intensiver auch mit Dave 
ausgetauscht zu haben. Discord?

Wie bereits geschrieben, wird es noch etwas dauern, bis ich die Heizung 
dann wirklich mal auseinandernehme und dann auch mal versuchen will, ein 
paar aktuelle Messdaten zu meinen komischen Pegeln zu liefern. Im Moment 
läuft die  eben möglichst ungestört, damit ich mir ggf. nicht zum 
falschen Zeitpunkt ein zusätzliches Problem einfange. Ansonsten kenne 
ich das Risiko... Es ist meins!

Was diese ständige Gnd-Diskussion bei CAN angeht: Ich kenne das Thema, 
ja, und ich weiß v.a. auch, was passiert, wenn man was in die Richtung 
an der falschen Stelle versucht. Ob die Therme einen Hau davon hat, dass 
der ESP mal (mit verbundenem GND bzw. u.A. auch aus diesem Grund) über 
die Therme versorgt gewesen war - ich weiß es nicht, kann sein. Ist 
jedenfalls ein anderer Fehler auf dem Board, als das, was Dave hatte 
(wohl schon vor dem Kauf des Objekts!).

Ansonsten kenne ich mich auch nicht allzugut aus, aber soweit ich den 
TA211E vor meinem geistigen Auge hatte, sind da einfach ein paar 
verstellbare Widerstände drin. Ob das dann wirklich über die 
i2c-Schnittstelle abfragbar ist: keine Ahnung, für mich sieht das 
ziemlich analog aus.
Auch die Uhr scheint nur analoge Ein-/Aus-Infos zu liefern, so 
jedenfalls das, was mir aus der diesbezüglichen Diskussion (u.a.) mit 
Dave in Erinnerung geblieben ist (daher: alles ohne Gewähr).

Mein Schluss: Der "Ofen" braucht ein paar (wenige!) Eckdaten, dann tut 
er, was er soll. Um ihm diese zu geben, paßt für mich die 
"standalone-Eigenbau-" i2c-Schnittstelle (mit TA250-Fallback über CAN) 
nach jetzigem Kenntnisstand deutlich besser in mein künftiges 
Gesamt-Setup wie BM1. Von daher würde ich das gerne dann angehen und 
mich freuen, wenn mich joelucid da etwas "an der Hand" nehmen könnte, 
und ich bin auch gern bereit, das so zu machen, dass andere auch was 
davon haben (und z.B. per serieller Schnittstelle einen Arduino aus 
jedweder Heimautomatisierungslösung (oder von mir aus auch 
Tasmota-scripting) raus mit den notwendigen Soll- und ist-Daten füttern 
könnten.

von Peter* (nochgast)


Angehängte Dateien:

Lesenswert?

Hallo,

nochmals.. da Du deine Anlage so wie sie ist,... beibehalten willst!!!

Was bleibt Dir auch anders über.

Also mit Ta211E und DT2 sind diese beiden Leitungen (I2C ->BM1) vom 
TA211E benutzt!! Kein I2C mehr!!

Peter*
> Ich habe mich schon mal dazu geäußert, wie
> das funktioniert. ~Seiten 1[2]3

ja mehrfach--> suchen lesen!

Horst S.
> wenn dort i2c drauf ist könnte
> ich doch dort mit einem sniffer die daten anbgreifen

Ja...,aber nicht am TA211E Stecker, sondern evtl. am Hauptplatinen 
Stecker Umfeld DT2 und an einem evtl. Servicestecker neben den TA211E 
Stecker an Hauptplatine.

Meine Urteilung: Es besteht nur eine geringe Möglichkeit hier noch I2C 
zu finden, da Du nicht das richtige Gerät [~BM1] angeschlossen hast.

Selbst wenn, werden angeblich keine Datenwerte mehr geliefert sondern 
nur noch Text Info's.

Das Textdisplay ist eine "evtl." Sonderausstattung Premium und ersetzt 
!TA211 und DT2! Benutzung Baujahrabhängig!

Denke daran hier wird mit 24V gehandelt und jeder ist selbst 
verantwortlich!

Vielleicht helfen Dir die Bilder noch, ansonsten lasse die Finger weg.

von Peter* (nochgast)


Lesenswert?

Hallo,

Thorsten L. schrieb:
> Du - mein Ansatz ist da einfach etwas anders: wenn jemand etwas machen
> möchte und nach Details fragt dann gebe ich die.

> Meine Mission

wau!

> im Leben
> ist es nicht anderen vorzuschreiben was sie zu tun oder lassen haben.

Na super. Es wird immer seltsamer hier. Wer bitte hilft hier nicht? und 
ich verbreite hier kein Unsinn.

Wenn man hier auf Fehler hinweist und das dies schon so oft diskutiert 
wurde, wird behauptet man schreibt jemanden was vor.

... und plötzlich ist alles halb so schlimm und funktioniert wieder 
alles trotz des Fehlers???

Sorry...nee schau

von Horst S. (h3aau)


Lesenswert?

moin peter,
so recht verstehe ich das noch nicht. der 6polige stecker an dem der 
ta211e hängt ist doch der selbe wie für das bm1. wie redet den die 
hauptplatine mit dem bm1, geht das nicht per i2c?

ich lese mich gerade durch die listen.......
hut ab was ihr da schon alles gemacht habt.

gilt das noch?
BM1 -Stecker
Pin1 VCC, Pin2 NC, Pin3 GND, Pin4 "5Volt", Pin5 "SDA", Pin6 "SCL"
da könnte ich doch mit meinem sniffer ran gehen.

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo Horst,

weil Du es bist!

Ja und Nein, der I2C wird abgeschaltet, aufgrund des Gerätes TA211E.

Die Pinne 5 und 6 sind nun ein Takt/Freigabe_Signal [->] bzw. ein Daten 
Signal [<-] bestehend aus 8 Frequenzpakete hart umgeschaltet im Bereich 
von ~100 bis ~450Hz im Takt von wenigen Hz. Lass mich nicht Lügen 1 oder 
2Hz.

TA 211E ist nichts anders als ein VCO mit 8 Eingängen mit zyklischer 
codierter Umschaltung.

Das was die Heizung (& DT2) nur braucht!!

TA211E könnte man auch simulieren.

Hier werden die Ports anders verwendet, ob eine generelle I2C 
Schnittstelle  existiert ist mir noch nicht bekannt.

Textdisplay, evtl. Serviceschnittstelle sind evtl. ein Indiz. hierfür.

...EOF

von Horst S. (h3aau)


Lesenswert?

moin peter,
ok. verstanden. danke für die infos.

von Thorsten L. (joelucid)


Lesenswert?

Jörg R. schrieb:
> Danke! Hast du irgendwo ein Repo, auf dem dein Code für "Funk-to-i2c" zu
> finden ist? Bzw. du scheinst dich ja intensiver auch mit Dave
> ausgetauscht zu haben. Discord?

Ich hab meinen Code weiter oben gepostet. Mit Dave habe ich mich nicht 
weiter ausgetauscht als hier und in dem Forum seines Projekts.

Jörg R. schrieb:
> Mein Schluss: Der "Ofen" braucht ein paar (wenige!) Eckdaten, dann tut
> er, was er soll. Um ihm diese zu geben, paßt für mich die
> "standalone-Eigenbau-" i2c-Schnittstelle (mit TA250-Fallback über CAN)
> nach jetzigem Kenntnisstand deutlich besser in mein künftiges
> Gesamt-Setup wie BM1.

Genau so ist das. Im Grunde braucht die Therme nur Vorlauf soll, WW soll 
und Pumpe an/aus. Mehr ist da nicht einzustellen. Aber interessant ist 
natürlich das Auslesen der Infos der Therme. Sonst könntest Du es auch 
über die 1-2-4 Schnittstelle machen - da musst Du nur die passende 
Spannung für Vorlauf soll anlegen.

von Alex (asb)


Lesenswert?

Tag zusammen,

ich habe ein BM1 und einen TR220 (Raumtemperaturregler ohne 
Aussenfühler, ansonsten wie TA250), die Daten lese ich an einem 
Raspberry mit Can Modul mit.

Seit Jahren bis vor ein paar Wochen war das Heizgerät eine Junkers -6 
Therme, dabei kam es sehr selten zu falschen Werten, z.B. Hex 255 für 
den Parameter 209, also den Brennerstatus, wo ja nur 0 und 1 zulässige 
Werte sind.

Jetzt habe ich dasselbe TM1, denselben Regler, den selben Raspberry an 
einer anderen Therme (ZWR 18-5), mit anderer Verkabelung.

Nun bekomme ich häufig falsche Werte, entweder 255 oder ein Bruchteil 
davon, wie z.B. bei den Temperaturen 127.5, 65.5, 31.5. Der Großteil der 
Werte stimmt aber.

Ich filtere das derzeit mit einem Programm am RPi raus... das sieht dann 
so aus:

10:09:59 - Vorlauf Max:  Value 63.5, ignoring
10:13:34 - Vorlauf Ist:  Value 127.5 larger than 90, ignoring
10:14:16 - Vorlauf Ist:  Value 63.5, ignoring
10:18:01 - Brenner Ein:  Value 255 larger than 90, ignoring
10:19:37 - Heizung Ein:  Value 255 larger than 90, ignoring

Die Temperaturwerte sind dabei schon umgerechnet. Jetzt frage ich mich 
natürlich, was die Ursache ist. Liegt es an der Kommunikation zwischen 
TM1 und Therme, oder können solche Werte durch fehlerhafte Verkabelung 
kommen?

Es gibt keine Error-Frames auf dem Bus, nur eben regelmäßig falsche 
Werte. Hat jemand von Euch so etwas schon mal gesehen, oder eine Idee wo 
das herkommen könnte? Es betrifft ausschließlich Übertragungen vom BM1, 
die Werte vom TR220 sind 100% korrekt.

Danke & Gruß,
A.

von Alex (asb)


Lesenswert?

Hmmm, die Verkabelung noch einmal komplett überprüft, den Raspi 
testweise direkt am BM1 angeschlossen ==> selbes Problem.

BM1 erneuert (naja gegen eine ältere gebrauchte Version getauscht) ... 
selbes Problem.

Fraglich ob der TR220 auch die falschen Werte bekommt und darauf 
reagiert... ich werde es im Auge behalten.

Merkwürdig, sehr merkwürdig. Derselbe Aufbau hat an einer anderen Therme 
bislang fehlerfrei funktioniert...

Gruss,
A.

von Alex (asb)


Angehängte Dateien:

Lesenswert?

Ich bin am Verzeifeln. Ich dachte durch meinen Umbau hätte sich am 
Problem nichts geändert. In der Tat sind die regelmäßigen 255-Werte für 
20A und 209 (Status Pumpe & Brenner) unverändert, die filtere ich raus.

Zusätzlich habe ich jetzt noch mehr (quantitativ) und noch weniger 
vorauszusagende Ausreißer (qualitativ) bei den Werten für 200 und 201, 
also die Vorlauftemperaturen von Seiten der Therme.

Es ist also schlimmer geworden... ich füge mal ein Bild bei...

Für den Bus habe ich ein 2x2x0.25mm Datenkabel verwendet, verdrillte 
Adern, geschirmt. Durch das Ganze rumprobieren habe ich leider das 
ursprünglich verwendete BM1 (Junkers Version 0.3 mit FD von 2003) 
geschrottet, die 0.5A Feinsicherung der Therme war dann auch durch. 
Vermutlich einen Kurzschluss gebaut. Verdammt...

Das was ich jetzt in Benutzung habe ist hat die Version 0.2 mit FD Mitte 
2000.

Ich wäre für jeden Input dankbar.

A.

von Peter* (nochgast)


Lesenswert?

Hallo,

traurig, das Du scheinbar keinen Vorname hast!

Checke als erstes deine Heizung ohne zusätzlichen Can-Bus Anschlusses 
oder Versorgung deines Raspberry's über die Therme. Daten über den 
Service und dem Tr kontrollieren. Spannungen prüfen.
Wenn Du hier Fehler aufgezeigt bekommst hat sich die Sache hier 
erledigt.

Wie hast Du einen Kurzschluss verursacht mit einem Kabel mit codiertem 
Stecker.

von Alex (asb)


Lesenswert?

Hallo Peter,

der Name ist Alex... ich bin im Internet immer etwas vorsichtig...

Den Raspberry habe ich nie über den Bus mit 12V versorgt, er hat ein 
eigenes Netzteil, nur GND, Bus-High und Bus-Low sind angeschlossen.

Ohne den Raspberry sieht der Aufbau (nur BM1 un TR) erst einmal gut aus. 
Da die "Ausreisser" bei den Werten jedoch nicht ständig da sind, kann 
ich es ohne den Raspberry nicht gut überprüfen.

Was ich sagen kann ist dass ich (mit Raspberry dran) zweimal am TR 
kurzzeitig eine rote Lampe und "Fehler FF" angezeigt bekam, das 
entsprechende 206 Telegram konnte ich dann auch im Can-Log des Pi 
finden.

Die Therme "wusste" laut Service-Adresse .0 auch nichts von diesem 
Fehler, den es nach Liste auch nicht gibt.

Ich habe, um das Problem etwas einzugrenzen, ein gebrauchtes BM1 0.3 
bestellt, sowie ein neues PiCAN Board für den Raspberry. Anfang 
kommender Woche kann ich dann mehr sagen.

Das mit dem (Can-seitigen) Kurzschluss war nur eine Vermutung. Das alte 
(ursprüngliche und definitiv defekte) BM1 hat dann (in einem weiteren 
Test ohne can-seitige Verdrahtung) die Feinsicherung auf der 
Hauptplatine umgehend noch einmal geschmolzen.

Ich fürchte, dass durch diese Aktion die Hauptplatine einen Schaden 
haben könnte, auch wenn nach Sicherungstausch erst einmal alles gut 
aussieht. Die Therme läuft derzeit ohne Modul und TR.

Grüße,
Alex

von Peter* (nochgast)


Lesenswert?

Hallo Alex,

der Fehler kann momentan ja überall sein.

Die Wahrscheinlichkeit, das die Hauptplatine einen Schaden genommen hat 
ist leider sehr hoch. Auf der anderen Seite hast Du geschrieben das es 
schon früher zu vereinzelten Fehler kam, was ja auf die BM1 Karte bzw. 
dein Aufbau schon eher schließen lässt.

Wiederum, kann ich den defekt der Sicherung (313 5V) noch nicht richtig 
einordnen. Einfach wäre es mit einem Schaltplan und so weit, bin ich 
nicht mehr im Thema, glaube der Bm1 hat eine eigene 5V Versorgung aus 
24V (Bs7). Also woher kommt der Kurzschluss? ~~TA211 hat 5V.

!! weitere Tests mit defekten Teilen in deiner Therme solltest Du 
vielleicht einstellen!!

Falls die Möglichkeit besteht untersuche mal die defekte BM1 ohne 
Einbau.
Ohne das Du weist was zum Kurzschluss führte bzw. der CAN-Bus Fehler 
würde ich kein "neues" BM1 einsetzen. Fehlersuche ist angesagt.

Warum muss es ein Raspberry sein, ein Pi micro w würde ich noch 
verstehen aber.... je nach weiteren Einsatz ist Arduino, ESPxx angesagt 
und besser?

Aufbau, So einfach wie möglich halten!! ohne weitere Aufgaben.

von Alex (asb)


Lesenswert?

Hallo Peter,

Peter* schrieb:
> der Fehler kann momentan ja überall sein.

Ja, leider.

> Die Wahrscheinlichkeit, das die Hauptplatine einen Schaden genommen hat
> ist leider sehr hoch. Auf der anderen Seite hast Du geschrieben das es
> schon früher zu vereinzelten Fehler kam, was ja auf die BM1 Karte bzw.
> dein Aufbau schon eher schließen lässt.

Der Aufbau an sich hat bereits jahrelang so funktioniert, nur eben mit 
einer anderen Therme. Hier habe ich nach einem langen Tag (Can-Bus-Kabel 
quer durch die Wohnung neu verlegt, inkl. Entfernung von viel unschöner 
Altbau-Verkabelung und Renovierungsarbeiten) nicht mehr die nötige 
Sorgfalt walten lassen und alles schnell zusammengeklemmt. Soweit ich es 
noch nachvollziehen kann habe ich dabei 12V Versorgungsspannung von der 
Therme an GND vom Raspberry-Modul gelegt.

Das Modul hat nachher auf den ersten Blick noch funktioniert, so dass 
ich keinen Sachschaden vermutet habe. Deshalb der bestellte Ersatz für 
dieses Modul.

> Wiederum, kann ich den defekt der Sicherung (313 5V) noch nicht richtig
> einordnen. Einfach wäre es mit einem Schaltplan und so weit, bin ich
> nicht mehr im Thema, glaube der Bm1 hat eine eigene 5V Versorgung aus
> 24V (Bs7). Also woher kommt der Kurzschluss? ~~TA211 hat 5V.

Wie ich es geschafft habe, das BM1 zu zerstören, weiss ich wirklich 
nicht. Es ist klar, dass ich dieses Modul ganz gar keinesfalls wieder 
anschliesse. Ich habe einen Kurzschluss vermutet, deshalb die 
Can-Verkabelung entfernt und noch einmal ohne getestet. Vor dem 
Schmelzen der Feinsicherung fing das LED Display der Hauptplatine an zu 
flackern, vermutlich hängt es an derselben Versorgung. Schaltplan habe 
ich leider keinen.

> Falls die Möglichkeit besteht untersuche mal die defekte BM1 ohne
> Einbau.
> Ohne das Du weist was zum Kurzschluss führte bzw. der CAN-Bus Fehler
> würde ich kein "neues" BM1 einsetzen. Fehlersuche ist angesagt.

Leider fehlt mir zu so einer Fehlersuche (Messen sowohl des BM1 als auch 
insbesondere des Grundmoduls) sowohl die Messtechnik, als auch - ehrlich 
gesagt - das Fachwissen. Da eine neue Hauptplatine über 300 Euro kostet, 
bleibt mir eigentlich nur im Ausschlussverfahren die anderen Komponenten 
zu ersetzen und zu hoffen...

> Warum muss es ein Raspberry sein, ein Pi micro w würde ich noch
> verstehen aber.... je nach weiteren Einsatz ist Arduino, ESPxx angesagt
> und besser?

Naja, die Software darauf (selbstverbrochener canlogger und Volkszähler 
DB) hat sich seit Jahren für mich bewährt. Ich möchte da das Rad nicht 
noch einmal erfinden, zumal ich ja weiss dass es grundsätzlich 
funktioniert.

Ich habe das "neue" BM1 sowie das Raspberry Board frühestens kommende 
Woche beisammen und bin gerne offen für bessere Methoden der 
Fehlersuche...

Grüße,
Alex

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo Alex,

habe schon ähnliches vermutet.

Zwei Dinge solltest Du wissen, es gibt keine 12 V Versorgung an der 
Therme nur 24V. An der Verbindungsleitung Hauptplatine/ BM1 "kann" auch 
5V anliegen an einem PIN. GND Verbindungen ist auch bei Can-Bus ein 
muss, besser Pflicht.
Keine Belastung der Therme durch äußere Schaltungen, nur GND

Ein Schaltplan hat wohl keiner außerhalb von Bosch. Wünscht sich hier 
wohl jeder.
Den Can-Bus wie schon oft gesagt kein zusätzlicher Abschluss. Obwohl 
lange Querleitungen auch bei 10k evtl. Störungen auftauchen können. 
Evtl. Can-Busfehler CRC... abfragen falls möglich.

Nun gelegentlich kann man auch ein Hauptplatine als Schnäppchen für 
unter 100Euro bekommen.

Alex @ SW
> noch einmal erfinden, zumal ich ja weiss dass es grundsätzlich
> funktioniert.
Ja, aber evtl. auch nicht immer!!

Dann kann ich Dir vielleicht noch raten einen Kabelbaum herzustellen, 
den Du nicht verändern musst, der funktioniert.

von Alex (asb)


Lesenswert?

Peter* schrieb:
> Zwei Dinge solltest Du wissen, es gibt keine 12 V Versorgung an der
> Therme nur 24V.

Ja, da hast Du Recht... eigentlich wusste ich das, ist mir aber 
irgendwie abhanden gekommen. Das macht die mögliche Zerstörung des PiCan 
noch wahrscheinlicher...

> GND Verbindungen ist auch bei Can-Bus ein muss, besser Pflicht.
> Keine Belastung der Therme durch äußere Schaltungen, nur GND
[ ... ]
> Den Can-Bus wie schon oft gesagt kein zusätzlicher Abschluss.

Soweit klar. Eine Frage noch: Würdest Du die Abschirmung der 
Can-Leitungen

a) erden? (möglich bei mir entweder über die Gasleitung oder PE/N)

b) mit dem Bus/GND verbinden (habe ich gelesen fände ich aber riskant, 
da ja z.B. eine induktive Beeinflussung durch naheliegende 230V 
Leitungen stattfinden kann)

c) nichts von beidem (habe ich bislang so und hat in der letzten Wohnung 
auch funktioniert)

Ich glaube nicht dass das mit meinem Fehler zu tun hat, da ich ja 
testweise die Wohnungsverkabelung ausgelassen und alles vor Ort an der 
Therme angeschlossen habe...

Peter* schrieb:
> Alex @ SW
>> noch einmal erfinden, zumal ich ja weiss dass es grundsätzlich
>> funktioniert.
> Ja, aber evtl. auch nicht immer!!

Was die "Software" betrifft - es ist eigentlich nur ein Shellskript, das 
candump laufen lässt und in einer Dauerschleife die Pakete auswertet. Es 
ist nicht schön, aber funktional und seit 2019 - zum Umzug auch stabil 
...

Peter* schrieb:
> Dann kann ich Dir vielleicht noch raten einen Kabelbaum herzustellen,
> den Du nicht verändern musst, der funktioniert.

Werde ich so machen. Ich melde mich wenn sich Neues ergibt.

Grüße,
Alex

von Peter* (nochgast)


Lesenswert?

Hallo,

zur Stromversorgung älteren Junkers Thermen. Diese sind so ausgelegt, 
das sie nur die Therme versorgen. Wird mehr Strom benötigt werden hier 
spezielle Bausteine benötigt, selbst im analogen Bereich. Ein Pi gehört 
ganz sicher nicht an die Therme, dies bezüglich.

Abschirmung des Can-Bus ist gar nicht notwendig, eine gute Verdrillung 
(kurzer Schlag, wenige Zentimeter pro Schlag) beider Leitungen reicht 
vollkommen aus. Erst recht bei 10k, hat aber nichts mit der GND Leitung 
selbst zu tun, ein muss. Wenn aber der Schirm da ist würde ich ihn evtl. 
einseitig anschließen.

Auf keinen Fall an die PE Leitung. Wiederum würde ich ein mehradriges 
Kabel verlegen das alles beinhaltet, somit ein Netzwerkkabel bzw. 
Verlegekabel.

Netzwerkkabel: Wie schon öfters beschrieben halte ich die Watterott 
Can-Bus Platine für die Bessere, nicht das man sie nicht verbessern 
kann, aber vieles ist berücksichtigt.

Kommunikationsleitungen gehören nicht neben Wechselstromleitungen.

Vielleicht machst Du mal ein Foto von deinem Aufbau PI Can-Bus.

Gruß

von Alex (asb)


Lesenswert?

Hallo Peter,

mal wieder am verzweifeln... ich erzähle es jetzt einfach so wie es 
passiert ist, vielleicht übersehe ich hier irgendwas.

Am Wochenende habe ich meine Bus-Leitungen überprüft. Multimeter mit 
Widerstandsmessung. Alle Adern auf Durchgängigkeit und auch Kurzschlüsse 
überprüft. Alles in Ordnung befunden. Nochmal zur Vollständigkeit - ich 
habe ein Kabel mit zwei 0.25mm verdrillten Adernpaaren, eines für 
Can-High/Low, eines für GND und 24V, sowie eine Schirmung die nirgends 
angeschlossen ist. Diese Leitung kreuzt ein einer Stelle im 90 Grad 
Winkel eine darunterliegende 230V Leitung.

Heute dann mit "neuem" Busmodul (diesmal ein 0.4 mit dem großen IC 
drauf) sowie wirklich fabrikneuem PiCan 2 Board auf dem Raspberry. Der 
Raspberry wird nicht über den Bus versorgt. Am PiCan sind GND, 
Bus-High und Bus-Low angeschlossen.

Erstmal schien alles zu laufen. Da ich aber weiß, dass der Fehler auch 
erst nach ein paar Minuten auftreten kann, ging ich außer Haus, 
Einkaufen.

Als ich zurück kam: die üblichen Fehler in der Aufzeichnung (falsche 
Temperaturwerte, gelegentliche 255 für Brenner und Pumpe ein) sowie 
Fehlermeldung AC an der Therme (Fehler in der Kommunikation zwischen 
Leiterplatte und Busmodul). Aber das Busmodul sendete noch.

Mit dem Busmodul hatte ich auch einen TA250 bekommen. Um 
auszuschliessen, dass mein TR220 einen Fehler hat, den TR gegen der TA 
getauscht. Therme an. Nur Datagramme vom TA auf dem Bus, nicht vom BM1. 
TA gegen TR zurückgetauscht - nur Datagramme vom TR, nicht vom BM1.

Nochmal die Therme aus und eingeschaltet - Feinsicherung 0.5A wieder 
geschmolzen.

Ich bin mir sicher, dieses Mal keine Fehlverdrahtung, keinen Kurzschluss 
verursacht zu haben.

Also: Hauptplatine defekt? - oder übersehe ich hier irgendwas...

Grüße,
Alex

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo Alex,
schau erstmal hier, vielleicht Erste Hilfe

https://www.fehlerhelfen.de/category/heizung/junkers/cerastarzwr246ke/ac

mit deinem Service vergleichen

Gruß

von Peter* (nochgast)


Lesenswert?

Hallo,

nun... habe das Gefühl das Du die zweite oder sogar die dritte Runde 
eingeleitet hast und immer weniger vom Erfolg gekrönt bist.

Was bleibt Dir noch anders übrig als die Hauptplatine zu wechseln. 
Wiederum spricht der Kurzschluss nicht unbedingt für ein Fehler auf der 
Platine.

Das Schlimme, Du bist nicht ein Schritt weitergekommen, die neuen Teile 
sind alle nicht mehr vertrauenswürdig. Können geschädigt sein.

Ich erlaube mir mal zu fragen, warum alle Neuteile auf einmal?? Mit viel 
Zeit dazwischen, ein Schritt nach dem Anderen, in deiner Situation.

Ohne zu messen, wirst Du nicht weiter kommen, hol Dir direkte Hilfe.

Gruß

von Alex (asb)


Lesenswert?

Hallo Peter,

ja, ich sehe dass ich nicht weiterkomme! Ich habe Aufbau und Anwendung 
eigentlich nur (aus meiner letzten Wohnung) übernommen, die ich 2019 
auch mit Hilfe des Forums (damals habe ich als Gast unter dem Namen 
"trabant" geschrieben) zusammengestellt habe, und nachdem alles ein 
halbes Jahr stabil lief, auch via VZ-Wiki veröffentlicht habe.

Das war lang bevor es quasi fertige und hochentwickelte Anwendungen wie 
z.B. die von Dave hier im Forum gab. Und ich weiß, dass einige Leute 
genau meinen Aufbau nachgebaut haben und Erfolg damit hatten. Mir wurde 
nie etwas zurückgemeldet, was auf einen grundsätzlichen Fehler im Aufbau 
hätte schließen lassen. -- Was nicht heißt, dass es nicht doch einen 
geben könnte...

Ja, es ist die zweite oder dritte Runde. Das Raspberry Modul als 
Fehlerquelle schien mir wahrscheinlich, da ich es ja anfangs falsch 
angeschlossen hatte und nochmal ein Can-Modul anzuschließen, mit dem die 
Sicherung geschmolzen war, erschien mir fahrlässig.

Wo sollte ich externe Hilfe holen, wenn nicht durch Inputs aus dem 
Forum? Ich könnte den Junkers Werkskundendienst beauftragen, der dann 
auf Verdacht vermutlich alles tauscht. Am Ende habe ich dann keine 
Kontroll- und Aufzeichnungsmöglichkeit mehr und wäre vermutlich > 1000 € 
ärmer.

Ja, ich würde auf einen Fehler im Grundmodul tippen, aber ich sehe auch 
dass die geschmolzenen Sicherungen auf etwas Anderes deuten. Was könnte 
ich mit meinen beschränkten Möglichkeiten noch messen, will meinen mit 
Multimeter, kein Oszilloskop o.ä. vorhanden...?

Ich überlege, um eine kostenmäßige Explosion zu vermeiden, das Can-Kabel 
wieder rauszureissen und wieder 3x0.75mm für einen vorhandenen 
1-2-4-Regler (TR200) zu verlegen. Das wäre der Schritt zurück von der 
modernen Datenverarbeitung in die 70er Jahre. Und gäbe es 
regelungsttechnische Fehler aufgrund eines defekten Grundmoduls, würde 
ich sie nicht mehr sehen können.

Wie würdest Du weiter vorgehen?

Grüße,
Alex

von Peter* (nochgast)


Lesenswert?

Hallo,

was soll ich Dir noch raten, rette deine Heizung und schau ob sie noch 
funktioniert(das 2 mal!) und überprüfe nochmals bei der 
Deinstallation(can...) ob Du Fehler findest (nur registrieren).

Ich glaub das Du da einen Fehler ständig wiederholst. Anschlussbelegung 
prüfen, nur im Bereich der Heizung ein kurzes Kabel zum TR220(TR200) 
legen, es sind 4 bzw. 3 Kabel!! nicht blind nur nach Plan.

Es werden hier 2 Sicherungen zerstört, obwohl Du andere Teile benutzt 
hast.???

Die Grundfunktion der Heizung testen und sonst nichts. Kein Can, kein Pi 
kein Schnickschnack. Fertig.

Was ich machen würde? Ich habe nie an meiner Heizung herum gespielt, 
sondern immer an separaten Aufbauten (Schreibtischtest) getestet usw. 
...war nicht billig, aber billiger als eine defekte Heizung.

Ein Multimeter sollte jeder besitzen, es brauch kein super teil sein.

Ich finde deine Veröffentlichung in VZ-Wiki(?)nicht.

Gruß

von Alex (asb)


Lesenswert?

Hallo Peter,

ich habe mich da falsch ausgedrückt, ich habe ein Multimeter, jedoch 
kein Oszi... der Aufbau ist dieser...

https://wiki.volkszaehler.org/hardware/channels/heating_control/gastherme_junkers_can_bus

Ja ich werde mir mal die Zeit nehmen das was ich kann an der Heizung zu 
überprüfen.

Gruß,
Alex

von Peter* (nochgast)


Lesenswert?

Hallo,

ja,... hast eigentlich alles beschrieben damals. Die Pi_SW kann ich 
nicht beurteilen.

messe bitte mal die Versorgungsspannung der Therme 24V zu GND, falls BM1 
noch in der Therme ist an den Anschlussklemmen (24V Pin1--GND Pin4). 
Messe auch den Wechselspannungsanteil an den Punkten, die müssen null 
sein.

Gruß

von Alex (asb)


Lesenswert?

Peter* schrieb:
> messe bitte mal die Versorgungsspannung der Therme 24V zu GND, falls BM1
> noch in der Therme ist an den Anschlussklemmen (24V Pin1--GND Pin4).
> Messe auch den Wechselspannungsanteil an den Punkten, die müssen null
> sein.

Interessant. 24V zu GND am Anschluss für den Analogregler (1-2-4) sind 
24V. Am BM1 v.04 etwa 34V. Etwas früher im Thread habe ich etwas über 
abweichende Versorgungsspannungen gelesen... 
Beitrag "Re: Junkers CAN-Bus Protokoll" - wie 
würdest Du das einschätzen? Mögliche Fehlerquelle?

Wechselspannungsanteil in beiden Fällen knapp 2V, kann aber eine 
Ungenauigkeit meines Multimeters sein.

Dann habe ich noch in meiner abgeklemmten Can-Wohnungsverkabelung die 
nach einer möglichen Induktionsspannung gemessen (gegen Erde/Gasleitung) 
- Stichwort 230V. Über 30V im Schirm, unterschiedliche Werte (zwischen 
10 und 25V) in den einzelnen Adern. Nach Entfernung meiner einen 
Kreuzung (bzw. 230V Leitung stromlos gemacht) immer noch so. Nach 
Abschaltung der gesamten Stromversorgung war es weg.

Ich habe dann leider herausgefunden (Leitungsfinder), dass quasi überall 
kreuz und quer irgendwelche Leitungen verlaufen. Altbau, original mit 
Gasbeleuchtung, nachträglich elektrifiziert. Kann ich also nicht ganz 
vermeiden. Wenn ich den Schirm erde (an der Gasleitung) ist 
logischerweise die induzierten Spannungen auch in den einzelnen Adern 
weg.

Ob diese Induktionsspannung ursächlich sein kann, ggfs. auch was 
kaputtgemacht hat? Ich weiss nicht wie viel Strom in den Can-Bus Adern 
fließt, sprich was der "schlucken" kann...

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo,

Alex
> Interessant. 24V zu GND am Anschluss für den Analogregler (1-2-4) sind
> 24V. Am BM1 v.04 etwa 34V. Etwas früher im Thread habe ich etwas über
> abweichende Versorgungsspannungen gelesen...
> Beitrag "Re: Junkers CAN-Bus Protokoll" - wie
> würdest Du das einschätzen? Mögliche Fehlerquelle?

ja,..Das sollte ein und die selber Versorgung sein (unbelastet), also 
auch die Werte.~~

Am BM1_Stecker ST1 (Kabel vom BM1 zur HP) sollte Am Pin 1 (24V) bzw. Pin 
3(GND) 24V sein... auch an der HP vorhanden, allerdings vorsichtig 
spiegelbildlich, nicht Pin identisch.

Alex
> Wechselspannungsanteil in beiden Fällen knapp 2V, kann aber eine
> Ungenauigkeit meines Multimeters sein.
 habe kein gutes Gefühl bei 2V unbelastet.

Alex
> Dann habe ich noch in meiner abgeklemmten Can-Wohnungsverkabelung die
> nach einer möglichen Induktionsspannung gemessen (gegen Erde/Gasleitung)
> - Stichwort 230V. Über 30V im Schirm, unterschiedliche Werte (zwischen
> 10 und 25V) in den einzelnen Adern. Nach Entfernung meiner einen
> Kreuzung (bzw. 230V Leitung stromlos gemacht) immer noch so. Nach
> Abschaltung der gesamten Stromversorgung war es weg.

Das hört sich sehr abenteuerlich an, aber unbelastete Leitungen ist 
möglich.

Mach Dich nicht unglücklich, die Gasleitung sollte mit PE verbunden 
sein, aber nicht als PE_Leitung missbraucht werden.

Alex
> Ich habe dann leider herausgefunden (Leitungsfinder), dass quasi überall...

Sieht nach Jahresauftrag aus.

Alex
> Ob diese Induktionsspannung ursächlich sein kann, ggfs. auch was
> kaputtgemacht hat? Ich weiss nicht wie viel Strom in den Can-Bus Adern
> fließt, sprich was der "schlucken" kann..

Sicher ist das möglich ob es allerdings hier der Fall war...der CAN ist 
relative sicher. In den meisten CAN-Adaptern fehlen die 
Eingangssicherungsdioden hier.

Ich tippe eher auf die Versorgungsspannung bzw. auf die Mischspannung.

Alles nur wage Vermutungen, leider.

Schau ob deine Heizung fehlerfrei funktioniert.

Gruß

von Alex (asb)


Lesenswert?

Gestern noch habe ich den TR220 direkt ans Busmodul angeschlossen, mit 
kurzem Kabel, ohne Raspi, erstmal sah es ok aus.

WW hat an der Heizung immer funktioniert, dann habe ich noch ein paar 
Tests im Heizbetrieb gemacht. Prinzipiell läuft der auch. Kann 
modulieren, die Zieltemperatur erreichen, die Pumpe steuern.

Aus irgendeinem Grund ignoriert die Heatronic teilweise die von mir 
eingestellten Werte zur Taktsperre und Schaltdifferenz und schaltet zu 
früh den den Brenner wieder ein. Leider kann ich nicht sagen, ob die 
Therme das Problem schon früher hatte, ich hatte sie ja im letzten 
Winter noch nicht. Es ist eine der ersten -5 Geräte aus dem Jahr 1998.

Dann, gestern Abend noch Fehler AC an der Therme und heute morgen FF am 
TR - also ein fehlerhaftes 206 Datagramm.

Ich habe dann die Therme ausgeschaltet, das Kabel vom Busmodul 
abgesteckt, um die Spannung zu messen. Therme wieder an, ein lautes 
Klacken wie von einem Relais oder einem platzenden Kondensator, Fehler 
E0. Ich war da noch nirgends mit dem Multimeter auch nur in der Nähe.

Resetschalter gedrückt, Display dunkel. 0.5A Feinsicherung durch. 
Sicherung ersetzt, seitdem scheint es wieder zu laufen, zumindest ein 
paar Mal WW und ein kurzer Test im Heizbetrieb.

Ich fürchte, ich komme da um eine neue Hauptplatine nicht herum. Ich 
könnte noch testen, ob die Analogregelung mit dem TR200 noch 
funktioniert. Die Busschnittstelle rühre ich bei dieser Platine nicht 
mehr an...

Gruß,
Alex

von Peter* (nochgast)


Lesenswert?

hallo Alex
> Es ist eine der ersten -5 Geräte aus dem Jahr 1998...

Ganz ehrlich... 25 Jahre, schau mal das Du eine "neue" gebrauchte billig 
bei Klein... bekommst. Das würde sich eher lohnen als in deine alte noch 
Geld zu pumpen.

Gruß

von Alex (asb)


Lesenswert?

So, ich habe die Hauptplatine getauscht. Meine -5 ist in einem sehr 
guten, sauberen und gewarteten Zustand, so dass ich sie schon behalten 
will.

Ähm, beim Wechsel des Mainboards wurde der Grund für die dauernden 
Kurzschlüsse offensichtlich. Murks von meiner Seite. Da hatte sich eine 
Ader des Abschirmgeflechts der Can-Leitung unter den Modul-Anschluss 314 
verirrt. Und deshalb auch ohne BM1 die Sicherung fliegen lassen.

Ich traue mich jetzt nicht, eines meiner beiden BM1 an das neue Board 
anzuschliessen, auch wenn sie vielleicht noch gingen. Zumindest Busmodul 
werde nochmal eins besorgen.

Ich habe da jetzt also 2 Busmodule, einen TA250 (der mit einem Busmodul 
mitkam allerdings ziemliche Gebrauchsspuren aufweist) und 1 PiCan übrig. 
Theoretisch auch noch die alte Hauptplatine.

@Peter - Kannst Du mit irgendwas davon was anfangen? Z.B. irgendwie 
herausfinden, ob die Busmodule defekt sind und sie ggfs. reparieren? Ich 
würde sie Dir schicken, wenn Du magst.

Ich melde mich dann nochmal wenn das neue BM1 da ist, dann nochmal die 
Spannungen kontrollieren und sehen ob es das jetzt war.

Grüße,
Alex

von Peter* (nochgast)


Lesenswert?

Hallo Alex,

Alex
> So, ich habe die Hauptplatine getauscht. Meine -5 ist in einem sehr
> guten, sauberen und gewarteten Zustand, so dass ich sie schon behalten
> will.

Verstehe ich, meine Heizung ist jetzt nicht ganz so alt, aber von innen 
fast wie neu. Allerdings nach 2008 sind die Heizungen schon besser 
geworden und vor allem regelbarer.

Hast Du den Kodierstecker überprüft muss die gleiche "Nummer" haben.

Es schon mal Gut, das Du einen Fehler gefunden hast der die Kurzschlüsse 
erklärt.

Alex
> Ich traue mich jetzt nicht, eines meiner beiden BM1 an das neue Board
> anzuschließen, auch wenn sie vielleicht noch gingen. Zumindest Busmodul
> werde nochmal eins besorgen.

Das würde ich auch sein lassen, die Empfindlichkeit des BM1 hat jeder 
schon mal erfahren.

Alex
> @Peter - Kannst Du mit irgendwas davon was anfangen? Z.B. irgendwie
> herausfinden, ob die Busmodule defekt sind und sie ggfs. reparieren? Ich
> würde sie Dir schicken, wenn Du magst.

Danke,

aber zeitlich bekomme ich das momentan überhaupt nicht hin und eine 
Reparatur, nee sowas lohnt sich nicht (zur Zeit) und eine Verantwortung 
zu übernehmen für 10 bis 20 Jahre alte Teile ist eher ausgeschlossen.

Wenn Du sie mir zuschicken willst ohne retour und der Option der 
Entsorgung, werde mal kurz drüber schauen und Du kannst dann evtl. den 
TR freisprechen nach einer Strommessung an einer separaten 24V 
Stromquelle.

Hoffe es klappt alles.

Gruß

von Alex (asb)


Lesenswert?

Hallo Peter,

> Hast Du den Kodierstecker überprüft muss die gleiche "Nummer" haben.

Ja, ich habe die Werte des Kodiersteckers sowie ein paar Sensoren und 
Einstellungen vorher ausgelesen und mit den neuen Platine überprüft bzw. 
eingestellt. Das sieht alles gut aus und läuft.

> Wenn Du sie mir zuschicken willst ohne retour und der Option der
> Entsorgung, werde mal kurz drüber schauen ...

Klar, ich wollte ohnehin nichts davon zurückhaben. Wenn Du dir was davon 
ansehen willst, schreib mir doch noch was genau (oder alles) und deine 
Adresse per privater Nachricht.

> ... und Du kannst dann evtl. den TR freisprechen nach einer
> Strommessung an einer separaten 24V Stromquelle.

24V Netzteil habe ich leider nicht, und mir fällt auch gerade kein Gerät 
ein wo ich die abzweigen könnte. Ich habe aber ein regelbares Netzteil, 
was bis 16V geht. Testweise habe ich den (übriggebliebenen) TA250 
angeschlossen, er scheint auch mit 16V zu funktionieren und zieht dabei 
20mA.

Spricht etwas dagegen den TR derselben Prozedur zu unterziehen?

Grüße,
Alex

von Peter* (nochgast)


Lesenswert?

Hallo,

mit 16 V laufen die auch. Der Stromverbrauch liegt zu mindestens im 
annehmbaren Bereich. Bis um die 40mA bei 24V. Der Can-Bus ist natürlich 
auch noch mal eine Belastung.

Test: !!!! BM1 nur an 16V; Strom messen! Pin 1 +, Pin 3 GND "Stecker 
ST1"

--> TA250 an 16V bzw. über Can-Bus an BM1(versorgt) Strommessung.

--> Alter CAN-Bus Adapter noch ok??? (Selbsttest)

wenn ja  verbinden mit (BM1 und TA250).

GND nicht vergessen von PiCan-Adapter Spannung und Strommessung

Kommunikation vorhanden? Dauerbetrieb.

dein Netzteil sollte um 200mA können und am besten den Strom begrenzen.

oder TR200 statt TA

Dann sehen wir weiter!

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo,

Nachtrag, der Test nur an deinem geregeltem Netzteil!!

Gruß

von Alex (asb)


Lesenswert?

Hallo Peter,

> Test: !!!! BM1 nur an 16V; Strom messen! Pin 1 +, Pin 3 GND "Stecker
> ST1"

Ok. BM1 (Nr. 1, das ursprüngliche) 16V Input, nur 13V Output an Kl. 1 
und 4, dabei 20mA Stromaufnahme ohne irgendetwas dran.

BM1 (Nr. 2 das neulich gekaufte) 16V Input, 16V Output, keine messbare 
Leistungsaufnahme ohne was dran.

Ergo vermute ich, dass das 1. Modul defekt ist.

> --> TA250 an 16V bzw. über Can-Bus an BM1(versorgt) Strommessung.

TA direkt über das BM1 (2) angeschlossen - läuft bei 20mA

> --> Alter CAN-Bus Adapter noch ok??? (Selbsttest)

Hmm... aus irgendeinem Grund kann ich den nicht konfigurieren, wenn beim 
Einschalten des Raspberry der Bus schon angeschlossen ist. Konfiguriere 
ich ihn erst und schliesse dann den Bus (BM1 und TA) an, geht es. Könnte 
ein Defekt am Modul sein oder auch damit zu tun haben, dass es ein 
anderer Raspberry ist (mein Pi 4 Desktop anstelle des Volkszähler-Pi3).

> wenn ja  verbinden mit (BM1 und TA250).

Der TA fängt dann an Datagramme zu senden, vom BM1 sehe ich nichts. Ich 
vermute das ist normal, er bekommt ja seinerseits keine Daten über I2C.

> GND nicht vergessen von PiCan-Adapter Spannung und Strommessung

Das Labornetzteil bleibt bei 20mA. Die Spannung zwischen Can-Low und 
Can-High liegt lediglich bei 2.2V, ähnlich Can-to-GND. Als ich zuletzt 
bei laufendem Bus an der Therme gemessen habe, waren es über 4V. Könnte 
an der zu geringen Versorgungspannung liegen (16V anstelle von 24V)?

> Kommunikation vorhanden? Dauerbetrieb.

Der TA sendet und das PiCan kann es lesen... auch kann ich vom Raspberry 
Datagramme aus dem Bereich der Therme senden (z.B. Vorlauftemperatur) 
und der TA zeigt es korrekt an. Je nachdem was ich sende kann ich vom TA 
auch ein sinnvolles Regelverhalten sehen... z.B. durch "Absenken" der 
Aussentemperatur.

Der TA zeigt jedoch wechselnde Can-Fehler an...

Ich werde den Test wohl in ähnlicher Form mit dem "richtigen" TR, PiCan 
und der Hausverkabelung wiederholen, nur eben ohne die Verbindung zur 
Therme...

Grüße,
Alex

von Alex (asb)


Lesenswert?

Alex schrieb:
> Ergo vermute ich, dass das 1. Modul defekt ist.

Da habe ich wohl falsch vermutet...

Nach etwas Nachdenken (ein funktionierendes Modul muss ja auch selbst 
Leistung  aufnehmen) habe ich dann den Test mit dem BM1(1) wiederholt. 
Die Gesamt-Leistungsaufnahme liegt jetzt bei 100mA und das Modul 
sendet Werte wenn auch "leere", meist 00.

Der Can-Fehler am TA ist weg. Die Spannungen am Bus scheinen wieder 
plausibler, um die 4.6V wie auch an der Therme.

Die Versorgungsspannung an Kl. 1 und 4 sinkt unter last auf 12V ab. 
Wirklich traue ich keinen von beiden Modulen. Morgen bekomme ich ein 
"neues".

Grüße,
Alex

: Bearbeitet durch User
von Peter* (nochgast)


Lesenswert?

Hallo,

die Stromaufnahme muss sich addieren!

Alex:
> BM1 (Nr. 2 das neulich gekaufte) 16V Input, 16V Output, keine messbare
> Leistungsaufnahme ohne was dran.

nicht logisch! evtl. defekt

> Ergo vermute ich, dass das 1. Modul defekt ist.

Nein

Alex
> Der TA fängt dann an Datagramme zu senden, vom BM1 sehe ich nichts. Ich
> vermute das ist normal, er bekommt ja seinerseits keine Daten über I2C.

Ja, es sollte aber F9 und Außentemperatur (Widerstand (Tabelle) am 
Stecker) kommen evtl. noch andere mit null Wert. Es geh hier um die 
Telegramme nicht um den Inhalt, erst mal.

So richtig befriedigend hört sich das nicht an. Vermische jetzt nicht 
Teile die ein ? haben mit neuen Teilen,  dann hast Du bald wieder das 
Große ?.

Gruß

von Alex (asb)


Lesenswert?

Hallo Peter,

ich habe nach dem Beitrag den Du zitierst gleich noch einen geschrieben, 
und meinen Fehler erkannt...

... jetzt gerade läuft der Testbetrieb mit BM1(1), Hausverkabelung, TR 
und Pican-2. Mal sehen was da bis morgen an Daten zusammenkommt.

Schönen Abend,
Alex

von Alex (asb)


Lesenswert?

Alex schrieb:
> Die Gesamt-Leistungsaufnahme liegt jetzt bei 100mA und das Modul
> sendet Werte wenn auch "leere", meist 00.

> Der Can-Fehler am TA ist weg. Die Spannungen am Bus scheinen wieder
> plausibler, um die 4.6V wie auch an der Therme.

> ... jetzt gerade läuft der Testbetrieb mit BM1(1), Hausverkabelung, TR
> und Pican-2. Mal sehen was da bis morgen an Daten zusammenkommt.

Über Nacht stabil gelaufen, keine falschen Werte in der DB von insgesamt 
fast 4000, nur eben mit Wert 00 in den Datagrammen vom BM1, korrekte 
Werte vom TR220. Keine Paketfehler im Interface des Raspberry. 
Stromaufnahme bleibt bei 100mA lt. Labornetzteil.

Damit bin ich jetzt schon einen Schritt weiter. Wäre der Fehler im 
PiCan, im TR, oder in der Verkabelung, hätten sich die berüchtigten 
Ausreißer in der Werten auch übernacht zeigen müssen.

Mein Plan wäre: Denselben Test nochmal mit dem für heute erwarteten 
"neuen" BM1 wiederholen, wenn keine Auffälligkeiten -> BM1 an die Therme 
anschliessen, ggfs. vor Anschluss des Bussteckers nochmal die Spannung 
messen.

@Peter - sind die 100mA bei 16V im Rahmen? Der Logik nach müssten es ja 
mit 24V dann etwas weniger sein.

Grüße,
Alex

von Peter* (nochgast)


Lesenswert?

Hallo,

zum Stromverbrauch meines Schreibtischtest bestehend aus BM1 V0.2 und 
TA270 einschließlich des NTC kann ich Dir folgende Werte mitteilen. 
Hierbei wird wird keine Kommunikation überwacht noch auf Fehler 
geachtet.

Ab 12 V ist das Display vom TA 270 sicher aktiv, etwa 130 mA, aber zu 
realistischen Werten von 16V, der Stromverbrauch beträgt bei mir 93 bis 
95 mA.
17V---90mA; 18V---87mA; 19....23V---85...70mA; und schließlich 24V mit 
68mA.
Meine Stromwerte sollten eine Toleranz +-1 mA haben, Labornetzteil.

Bei Kommunikation können nochmals ein paar mA dazu kommen. Hatte früher 
immer um 80mA bei 24V.

Was ist mit dem 2.BM1 bis Du sicher das es sich hier um ein BM1 handelt 
und nicht um ein BM2.

Gruß

von Alex (asb)


Angehängte Dateien:

Lesenswert?

Hallo Peter,

dann gehe ich mal davon aus, dass mein Stromverbrauch im Rahmen ist.

Was meinen Fehler betrifft. Ich hatte ja immer wieder falsche Werte 
geloggt, wie z.B. 255 bei 209 oder 20A. Wenn die nicht so vom BM 
gesendet worden wären sondern erst durch einen Busfehler entstanden, 
dann müsste ich ja solche verfälschten Datagramme jetzt - ohne Therme - 
ebenso aufzeichnen. Aber die sind immer gleich, im Zweifelsfall 00.

Peter* schrieb:
> Was ist mit dem 2.BM1 bis Du sicher das es sich hier um ein BM1 handelt
> und nicht um ein BM2.

Das ist eines aus der Zeit bevor zwischen BM1 und BM2 unterschieden 
wurde, FD Oktober 1998. Ich frage mich für diese Ausführung evtl. die 
Spannung von 16V zu niedrig ist?

Gruß,
Alex

von Peter* (nochgast)


Lesenswert?

Hallo,

sieht zu mindestens so aus.

Nun zum BM1, ich kenne Beschreibung von Bosch für diese Art und das 
müsste ja die letzte sein? Aber eine Kaskadensteuerung BM2, wurde hier 
schon mal behandelt.
Dein BM1 weist auch auf keine Stromsteuerung hin. Die BM2 hingegen 
braucht diese nicht.

Alex
> Das ist eines aus der Zeit bevor zwischen BM1 und BM2 unterschieden
> wurde, FD Oktober 1998. Ich frage mich für diese Ausführung evtl. die
> Spannung von 16V zu niedrig ist?

Glaube ich weniger das die Spannung nicht ausreicht. 5V ist nur der 
Arbeitsbereich.
So wie ich es gelesen habe ist ab 2002 BM2.

Gruß

von Peter* (nochgast)


Lesenswert?

Hallo,

solltest Du immer noch die Möglichkeit in Betracht ziehen mir das 
defekte BM1(2.) mir zu zusenden,.. würde mich gerne mal mit dem Aufbau 
beschäftigen.
Kenne nur Bilder.

Hoffe auch weiterhin das alle anderen Test ok sind.

Gruß

von Alex (asb)


Lesenswert?

Hallo Peter,

> solltest Du immer noch die Möglichkeit in Betracht ziehen mir das
> defekte BM1(2.) mir zu zusenden,.. würde mich gerne mal mit dem Aufbau
> beschäftigen.
> Kenne nur Bilder.

Na klar, schick' mir doch einfach Deine Adresse..

> Hoffe auch weiterhin das alle anderen Test ok sind.

Noch läuft das Ganze mit BM1(1) am Labornetzteil... ich war gestern 
nicht da als DHL mit dem BM1(3) kam.

Grüße,
Alex

von Alex (asb)


Lesenswert?

Es ist wirklich ein Krimi. Heute habe ich das "aufgearbeitete" BM1 (das 
3.) bekommen. Man sieht, dass zumindest zwei von den Kondensatoren 
ausgetauscht wurden.

Die Sekundärspannung schwankt stark. Das Multimeter springt zwischen 14 
und 0 Volt und allen möglichen Werten dazwischen hin und her. Ich gehe 
davon aus dass das nicht so sein soll und habe den Verkäufer gebeten, es 
zurückzunehmen.

Da nun mein ursprüngliche BM1(1) zwei Tage fehlerfrei mit am 
Labornetzteil lief, habe ich es gewagt, es an die Therme anzuschliessen. 
Unbelastet messe ich am Ausgang 16V, belastet 13,5. Die Busspannung 
liegt bei 4,7V.

Bislang sieht alles gut aus. Seit Stunden keine Fehler am Bus, keine 
falschen Werte. Habe den Heizmodus und das Regelverhalten erfolgreich 
getestet. Auch Taktsperre und Schaltdifferenz greifen jetzt - keine 
Ahnung ob das mit der alten Hauptplatine ein Fehler der Software (eine 
der ersten HT-2 von 98) war oder schon ein Fehler, der durch den 
Kurzschluss ausgelöst wurde.

Ich grübele wegen der 16V am Busmodul-Ausgang. So wie ich es verstehe 
sollten es 24 sein... richtig? Allerdings habe ich weiter oben im Thread 
gelesen, dass so etwas durchaus sein kann...

Jörg R. schrieb:
> Seltsamerweise machen beide Module aus der von der Therme kommenden
> Spannung von 24V was anderes außerhalb der Spec, nämlich einmal knapp
> 15V (BM1, alt) und einmal knapp 30V (BM2 neu, aber nach Verschiebung,
> das hatte erst saubere 24V geliefert!). Die TA funktioniert mit
> beiden...

@Peter - meinst Du, ich sollte mir da Sorgen machen und doch nochmal 
nach einem anderen Modul Ausschau halten?

Grüße,
Alex

von Peter* (nochgast)


Lesenswert?

Hallo,

kann ich bestätigen hatte ähnliche Werte, nur unterhalb von 24V ist 
richtig. Habe mir leider damals keine Notizen gemacht warum dies 
überhaupt möglich ist.

Aber der LM317 (Bauteilgehäuse To220) ist als Stromquelle geschaltet 
könnte sein das hier eine Variabel verborgen ist.

Trotzdem sollte am Pin1 von Stecker ST1 zur GND 24V sein. Vorsichtig!!! 
wenn Du das messen willst am Ofen.

Die aufbereiteten Module würde ich nicht kaufen.

Die Unsicherheit kann ich Dir nicht nehmen, vielleicht hätte ich noch 
etwas länger getestet. Du siehst aber auch das Du halt nur gebrauchte 
Module bekommst und die teuer bezahlen sollst. Der Zustand bleibt halt 
verborgen, dein Modul hat wohl ein Fragezeichen es funktioniert aber.

Vielleicht nochmals den Strom vom TA und TR messen am Labornetzteil.

Gruß

von Peter* (nochgast)


Lesenswert?

Nachtrag
Spannungsausgang BM1 an meinem Tischaufbau liegt bei mir bei 14.45V

von Jan W. (jan_w600)


Lesenswert?

Hallo, kennt jemand den Steckertyp für ST7 ("I2C") bzw. ST9 TA 
("Busmodul")?

Geht wohl in Richtung Weald Edgecard (2.54mm), Lumberg RAST-2.5 
(2.50mm...), oder angesägte TE 7-5530843-5 (2.54mm pitch)?

Das offizielle Kabel könnte Bosch 87144041510 sein. Auch sau teuer. Hat 
jemand sein eigenes Kabel basteln können?


Übrigens: Pinout vom Kartenrand für ST7 folgt den direkt darüber 
liegenden Testpads "GND 5V SDA SCL". D.h. auf der Oberseite 1=GND, 2=5V, 
3=SDA, 4=SCL. Pins 3 und 4 haben jeweils einen 10 kOhm pull-up auf 5V.

Auf der Unterseite sind die pins unter 3(SDA) und 4(SCL) nicht direkt zu 
SDA bzw SCL durchkontaktiert. Es sind 100 Ohm dazwischen. Etwas 
unerwartet. Frage mich ob der Stecker die 100 Ohm quasi überbrücken 
soll.

And ST9 hatte ich noch nicht gemessen, evtl. ist es dort ähnlich. Das 
Kabel für BM1 ist auch nur 6-polig, obwohl die PCB beidseitig insg. 
12-polig wäre.

: Bearbeitet durch User
von Jan W. (jan_w600)


Lesenswert?

Steckertyp: RAST-2.5
Original: Lumberg 2351 RAST-2.5 6-pos
https://www.lumberg.com/de/produkte/produkt/3521

Alternativ: AMP Duoplug Mk II
Digikey 17-5-1534796-6-ND

von Daniel S. (supernova01)


Lesenswert?

Guten Abend zusammen,

ich habe eine Junkers Therme ZSB 7-22 A21 mit TA211E und DT1, 
Konfiguration wie hier:

https://www.heizungsforum.de/attachments/20201208_195930411_ios-jpg.14023/

Ich habe im Flur eine DUO LED zur Signalisierung ob Tag oder 
Nachtbetrieb. Die hängt momentan direkt an der DT1. Wenn man nun am 
TA211E auf dauerhaft Tag stellt, sieht man das im Flur nicht - das hätte 
ich gern anders.

Ich habe gesehen dass es anscheinend ein Flag in einem Datenstrom dafür 
zu geben scheint.

https://docs.google.com/spreadsheets/d/1JzmhEbFY_GSk0Dl_e5pb2zmsy9EPlQU7bUpb9bXKxCM/edit#gid=0

0x250  0x95  Heizkreislauf  Heizbetrieb  RC  1 = An | 0 = Aus

Kann das sein. gibt es eine einfache Möglichkeit da ran zu kommen und 
dann zwei Pins so zu steuern dass ich dort die DUO LED dran basteln 
kann?

Danke

von H.Joachim S. (crazyhorse)


Lesenswert?

Hat denn der TA211 überhaupt einen CAN-bus?
Falls ja, brauchst du ein beliebiges Mikrocontrollerboard mit CAN und 
ein paar Zeilen Programm.

von Peter* (nochgast)


Lesenswert?

Hallo Daniel,

mit dem TA211E hast Du kein CAN-Bus!

Über die Karte TA211E werden deine Einstellungen(in Spannung) 
sequentiell als Frequenzpakete(8 an Zahl) im Takt zur Hauptplatine 
übertragen.

Schau mal Seite 1 26.09.2022 07:11.

Wenn Du das richtige Paket mittels Arduino oder so... selektierst und 
die Frequenz dazu bestimmst und zuordnest (TAG, Programm, Nacht), kannst 
Du die entsprechende LED ansteuern. Sollte auch funktionieren.

Attiny sollte auch funktionieren.

Muss allerdings gestehen, das mir hier der Sinn fehlt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.