Forum: Haus & Smart Home Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Norbert S. (junky-zs)



Lesenswert?

Mit diesem Projekt stelle ich einen Heizungs-Bus Adapter fuer den 
Raspberry Pi vor.
Ziel war es die Protokolle des Junkers Heizungs-Bus "Heatronic 3" mit 
dem Raspberry Pi zu erfassen und auszuwerten.
Meine Junkers Heizungs- und Solaranlage verwendet einen 2-Draht Bus, 
ueber den die Versorgungsspannung und die Signalisierung geführt werden.
Es wird ein serielles Protokoll zwischen den Bus-Teilnehmern verwendet, 
welches von UART's ausgewertet werden kann.
Der Heatronic 3-Bus kann jedoch nicht direkt an den Raspberry Pi 
angeschlossen werden, da die Ports nur maximal 3.3 V Eingangssignal 
vertragen.
Das Signal auf dem Bus wechselt zwischen 15 und 10 Volt, welches der 
vorgestellte Adapter fuer den Raspi aufbereitet.

Rahmenbedingungen für den Adapter:
  Galvanische Trennung zwischen Heizungsanlage und Rasberry PI.
  Pegelanpassung an die Raspi-Ports.
  Adapter muss so klein sein, dass er in das Gehäuse des Raspi passt.
  Stromversorgung von
   1. Heizungsanlage mit weniger als 5 mA.
   2. Raspberry PI mit weniger als 4 mA.
  Bauteileaufwand soll möglichst gering, die Funktion zuverlässig 
gewährleistet sein.
  Ein falscher Anschluss (Verpolung) des Heatronic 3 Bus am Adapter darf 
diesen nicht zerstören.

Details bitte dem Schaltplan entnehmen.
Wie der Adapter auf einer Lochraster-Platine aussehen kann und auf den 
Raspi aufgesteckt wird sieht man auf den Bildern.
Eventuell ist ein vorhandenes Gehäuse für die LED's und 
Zuleitung-Durchführung anzupassen.

Falls jemand keinen "Printklemmblock" in der Grabbelkiste hat (ich hatte 
gerade einen) kann dieser natürlich auch weglassen werden. Kurze 
2-Drahtlitze mit Lüsterklemme reicht.

 Auf-/Einbau:
 Noch ein wichtiger Hinweis zur Platzierung der Bauteile.
 Die Platzierung ist nicht beliebig, da sonst der Adapter nicht in den 
Raspi passt.
 Entweder ist dort ein Kondensator oder ein Grafik-Adapteranschluss im 
Weg.
 Damit es keinen Kurzschluss geben kann, habe ich den Kondesator des 
Raspi mit Isolierband abgedeckt (Bild).

 Ebenfalls muss der Transistor Q1 tief genug auf die Platine gesetzt 
werden, da die Anschluss-Pins oben nicht isoliert sind und diese dann 
auf dem darunter liegendem Spannungsregler kommen können.
 Tief genug heisst, die Oberkante Transistor-Gehäuse darf nicht höher 
als die Oberkante Buchsenleiste J1 des Adapters sein.

Stückliste:
 Name     Bezeichnung             Anzahl Bemerkung
  U1       H11L1M Optokoppler      1
     Versionen H11L2M & H11L3M sind nicht geeignet !!
  D1       BAT46 oder 1N4148       1     Conrad 153087-62
  D2       ZPD9.1 oder BZX55/C9V1  1     Zenerdiode, Spannung 9,1 Volt
  D3/D4    LED klein               2
  Q1       BC547                   1     Kann auch anderer NPN-Type 
sein.
  R1/R3/R4 1kOhm 1/8Watt Widerst.  3
  R2       4,7kOhm 1/8 Watt        1
  C1       100nF Keramik Kondens.  1
  HT3 Port Printklemmenblock       1     Conrad 731986-62
  J1       Buchsenleiste RM2,54    2*13  Conrad 733779-62
  -        Lochrasterplatine       1     52 * 33 mm -> 20 * 13 Lötaugen

Beschreibung des Adapters:
  Die galvanische Trennung zwischen HT3-Bus und Raspi wird durch den 
Optokoppler H11L1M von Fairchild gemacht.
  Dieser bietet ein Schmitt-Trigger Ausgangssignal mit Hysterese und ist 
schnell genug für das Signalprotokoll mit: 9600 Baud.
  Die LED am Eingang des Optokopplers schaltet bei Strömen grösser 1.6 
mA den Ausgang auf logisch Null.
  Der Transistor am Ausgang des Optokopplers invertiert das Signal, 
sodass der UART des Raspi dies korrekt empfangen kann.
  Die Diode D1 dient als Verpolungsschutz, Diode D2 passt das Signal an 
den Optokoppler an,
  Diode D3 dient als Signalindikator für den richtigen Anschluss des HT3 
Bus.
  Die Diode D4 ist am TX-UART Ausgang des Raspi-Ports angeschlossen und 
kann als Betriebsindikator genutzt werden.
 Bitte Layout-Bild für den Aufbau nutzen, so passt der Adapter dann auch 
in den Raspi!
 SMD-Bauteile habe ich nicht genutzt, Platz ist ja noch frei auf der 
Platine und der eigene Aufbau vereinfacht sich dann.


Inbetriebnahme:
 Klar, nach Aufbau wird cie ganze Sache durchgemessen (Kurzschluss, 
galvanische Trennung usw.)
 Bitte dies auch machen, ich kann nur für die Funktion geradestehen. Bei 
mir laufen die Adapter schon über ein Jahr in den verschiedensten 
Versionen:
 1. Mit USB / RS232 Wandler und galvanischer Trennung unter Windows und 
Linux.
 2. Mit Brückenschaltung und Komparatoren als Raspberry PI Adapter und 
galvanischer Trennung.
 3. Als Miniadapter als Raspberry PI Adapter so wie hier beschrieben.
 Auch klar, das vor dem Anschluss die Heizung ausgeschaltet wird, damit 
der HT3-Bus stromlos ist.
 (Die Heizleistung des Raspi mit 3.5 Watt reicht nun mal nicht die Füsse 
bei defekter Heizung zu wärmen).

Nach dem Anschluss des Adapters an den HT3-Bus und Einschalten der 
Heizung muss die Diode D3 aufleuchten.
Damit wird der korrekte Anschluss (Polarität) an den HT3-Bus angezeigt.
Ist dies nicht der Fall, müssen die beiden Litzen der 2-Drahtleitung am 
HT3-Adapter getauscht werden.

Software:
 Ohne Software blinken nur die LED's, nicht sehr aufregend.
 Daher hier einige Links zu ähnlichen Projekten mit Schwerpunkt auf das 
Protokoll des HT3 Bus und einer Testsoftware geschrieben in Python.

 Ebenfalls sind für die Inbetriebnahme des Raspi-UARTS die Hinweise von 
kampis-elektroecke.de nützlich. Dort wird gut beschrieben wie der UART 
des Raspi einzustellen ist, damit die Systemausgaben deaktiviert und 
somitHT3-Bus Protokoll reinkommen.

 Meine Software wird wahrscheinlich nie fertig.
 Diese erfasst zur Zeit die Protokolle der Heizung- Heizkreis- 
Warmwasser- und Solar-Informationen.
 Die Daten werden pro Tag in separaten CSV-Dateien gespeichert und 
stehen zur Auswertung zur Verfügung.
 Die Anzeige der Daten als Grafikplot mache ich z.Zeit unter Windows mit 
dem CSV-Viewer.

Weiter ist geplant die Daten unter Linux in eine Datenbank zu speichern 
und grafisch aufzupimpen.
 Dafür wollte ich das Tool 'rrdtool' verwenden welches als Opensource 
verfügbar ist.

URL's:
  Beitrag "Junkers HT-Bus Heatronic 3 Schnittstelle"
    "Junkers HT-Bus Heatronic 3 Schnittstelle"
     Danke für die Vorarbeit!

  Beitrag "Heatronic 3 ür Raspberry Pi"
    "Heatronic 3 ür Raspberry Pi"
  http://kampis-elektroecke.de/?page_id=1648
  http://oss.oetiker.ch/rrdtool/download.en.html
  Beitrag "Visualisierung von geloggten Daten"
    "csv_viewer_130910.zip"

Ich hoffe, dass möglichst viele die paar Bauteile in der Grabbelkiste 
haben und das Ding zum fliegen bringen.
Dieser Adapter kann leicht auch an andere Boards angepasst werden, 
hauptsache es hat einen UART-Eingang und die maximale 
Optokoppler-Betriebsspannung von 16 Volt wird nicht überschritten.

Viel Spass beim Nachbau und
  HYRWC  (Handle Your Raspi With Care)

: Bearbeitet durch User
von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Für die Auswertung und Darstellung der Heatronic3 Telegramme habe ich 
die Software beigefuegt.
Läuft unter Python3 in Linux und Windows. Unter Windows ist der 
Port-Name anzupassen.
Bei Linux muss der User in die Gruppe: *dialout' aufgenommen werden mit:
# adduser <username> dialout
Das Bild zeigt die Ausgaben der GUI HT3_CSW_analyser GUI.

Nicht alle Bytes sind dekodiert, hat jemand noch weitere Info's dazu?

(Meine Anlage hat die Module: FW100, ISM, FB10, CSW24)


Ich plane den Adapter für eine Heizungsteuerung (TX-Ausgang) zu 
erweitern.
Kennt jemand die zugehoerigen Protokolle der HT3 ?

von Christian K. (Firma: EDV-Service) (kittekaak)


Lesenswert?

Vielen Dank für Hard+Software.
Ich werde über Weihnachten versuchen es auch bei mir zu installieren.
mfg
kitte

von Kai Zöllner (Gast)


Lesenswert?

Hallo Norbert,

super Arbeit! Ich suche schon seit langem an einer Möglichkeit, die HT3 
meiner Junkers-Heizung auszulesen. Pegelwandler ebus-TTL gibt es ja nun 
reichlich. Aber auf der Softwareseite ist da meist wenig zu finden, und 
wenn dann (in diesem Forum) auch meist für die Buderus-Steuerung.
Hiermit bin ich nun einen großen Schritt weiter.
Hatte eigentlich an einen Arduino gedacht, aber ein Raspberry ist auch 
ok.
Wichtig ist für mich nicht nur das Auslesen der Daten, sondern die 
Anbindung an meine Heimautomatisierung mit FHEM.
Könnte mir vorstellen, dort ein paar Daten zu visualisieren. Zur Zeit 
hole ich die Daten mit einer handvoll DS1820-Temperatursensoren, aber 
die direkte Anbindung an die HT gibt noch mehr Einblick, vor allem in 
die Solarladung.

Schönen Dank hierfür. Jetzt kann ich endlich mal den Adapter auf den 
HT-Bus bauen und in Betrieb nehmen.

Wenn Du noch eine einfache möglichkeit siehst, z.B. die Daten an einen 
SQL-Server zu schicken (z.B. in Intervallen) oder eine Abfrage über ein 
Webinterface ala http://Ip-raspb/cmd=get_WW_temp (o.ä.) dann wäre der 
Weg sehr einfach, ohne ein neues Modul für Fhem schreiben zu müssen, 
geebnet.

Gruß
Kai

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo Kai,

freut mich, dass auch die SW gut ankommt. Die ist tatsächlich auch aus 
der Not entstanden die spärlichen Informationen in einem Tool zu 
sammeln. Der HT3_CSW_Analyser wird auch weiterhin gepflegt und die neuen 
Erkenntnisse darin versenkt.
Kai schrieb:
> Hatte eigentlich an einen Arduino gedacht, aber ein Raspberry ist auch ok.
Der HT3-Adapter läuft auch am Arduino und jedem anderen uC sofern dieser 
einen UART-Eingang hat. Die J1-Pinbelegung ist entsprechend anzupassen, 
die Bauteile ändern sich nicht. Habe selber keinen Arduino und deshalb 
den Adapter für Raspi gebaut.

Was die SW angeht bin ich dabei die Daten in einer DB (sqlite) zu 
sammeln und von dort intervallbasiert (jede Minute) in die rrdtool-DB zu 
schreiben.
Von dort aus soll die Visualisierung (PNG, html) erfolgen (request |& 
intervallbasiert).
Bild zeigt einen Zoom der System-Temperaturverläufe eines Tages 
dargestellt mit dem CSV-Viewer.
Wenn dies in ähnlicher Art als html verfügbar ist wird dies wohl auch 
ohne grosse Anpassungen im FHEM darstellbar sein.

Gruß Norbert

von Stefan B. (sbiermann)


Lesenswert?

Hallo Norbert,
super, genau das ist was ich gesucht habe. Ich hab eine Junkers 
ZWB28-3A23, da diese erst im August 2012 eingebaut wurde, gehe ich davon 
aus das die ebenfalls schon das Heatronic 3 drin hat. Was ich allerdings 
noch bräuchte wäre eine Möglichkeit die Therme zu steuern. Ich nutze 
FHEM um die Temperatur der einzelnen Räume zu regulieren, was auch super 
funktioniert. Allerdings wäre es noch optimaler wenn der Brenner nur 
anspringt wenn auch wirklich die Temperatur in einen der Räume unter den 
eingestellten Wert fällt ansonsten im "Nachtmodus" bleibt.
Bevor ich auf dein Projekt gestoßen bin habe ich mit dem Gedanken des MB 
Lan Moduls von Junkers in Kombination mit der App gespielt. Da hätte ich 
dann mittels Reverse Engineering die App auseinander genommen und 
geschaut welche Kommandos die sendet und hätte die dann einfach selber 
per FHEM an das Modul gesendet. Ist allerdings etwas teuer die ganze 
Geschichte, besonders das MB Lan Modul. Daher ist deine Idee wesentlich 
besser.

Viele Grüße
Stefan

von Norbert S. (junky-zs)


Lesenswert?

Hallo Stefan,

den HT3-Adapter habe ich absichtlich noch nicht für eine Steuerung der 
Heizung ausgelegt, obwohl der zusätzliche Hardwareaufwand gering ist.
Gründe sind:
1. Unbekannte Sendeprotokolle und wann diese gesendet werden dürfen.
2. Der HT3-Adapter muss passiv sein (kein TX) wenn der Rasp/uC gebootet 
wird und die Ports noch nicht konfiguriert sind.

Um auch die Sendeprotokolle zu erhalten (Stromsteuerung des HT3-Busses) 
werde ich mir einen Sniffer bauen. Dieser soll zeitgleich die Protokolle 
der Sende- und Empfangsrichtung erfassen. Dazu gibt es einen 
preisgünstigen Adapter: elv JJ-09 18 59 Mini-USB-RS232 Umsetzer, der mir 
so hoffe ich die Protokolle der Fernbedienung FB10 liefern kann.
Damit wäre dann zumindest eine Veränderung der Soll-Temperatur möglich.

Ja der MB Lan Adapter ist zu teuer für das bischen Hardware. Der Preis 
ist geeignet um einen die Tränen in die Augen zu treiben und die 
Vier-Schanzen-Tourne zu finanzieren (na ja, andere Firma).
Es wäre besser diesen Adapter über Tchibo zu vertreiben, mit Qualität zu 
punkten und die Open Source- und Hardware-Gemeinde zu unterstützen.
Aber viele Firmen-Projektmanager denken nur bis zum nächsten 
Rückschlag-Ventil und Ausdehnungsgefäss, jedoch das es dahinter auch 
noch z.B. FHEM gibt ist manchen wohl egal.

Wir arbeiten dran.

Gruß Norbert

von Kai Zöllner (Gast)


Lesenswert?

Hallo,

Norbert S. schrieb:
> Gründe sind:
> 1. Unbekannte Sendeprotokolle und wann diese gesendet werden dürfen.
> 2. Der HT3-Adapter muss passiv sein (kein TX) wenn der Rasp/uC gebootet
> wird und die Ports noch nicht konfiguriert sind.

1) ist sicherlich richtig, auch bei ausführlicher Suche und Lektüre im 
I-Net und MC.net kann man die Sendebefehle nicht so einfach ergründen
2) Das mit dem Booten ist zu beachten. Kann man aber bestimmt über die 
Verknüpfung von anderen Ports abfangen, da müsste man mal sehen wie der 
Status der weiteren GPIO's/Pin's beim Booten sich verhalten und dieses 
ggf. mit dem Senden auf dem HT3 hardwaremäßig verknüpfen, so könnte ich 
mir eine Freigabe vorstellen.

Leider habe ich nicht die FB10, könnte mir da aber vorstellen, daß 
verschiedene Sendebefehle durchaus interessant sein könnten. So könnte 
man auch individuell die Zirkulationspumpe einschalten, ohne zusätzliche 
Hardware. Hier wäre eine große Einsparung von Energie denkbar.

Vorerst ist aber das Auslesen der vorhandenen Daten schon ein guter 
Schritt.

Wie sieht das eigentlich mit der aufgelaufenen Summe der Solarerträge 
aus? Wird dieses nur im FW100 aufsummiert, oder kann das auch extern 
ausgelesen werden? Ich sehe nur den Ertrag pro Tag, nicht Gesamt.

Gruß
Kai

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

Kai Zöllner schrieb:
> Leider habe ich nicht die FB10,..

Der Sniffer sollte auch an der FW1xy funktionieren, dort ist das 
Datenaufkommen nur höher. Die Teile für den Sniffer sind bestellt, in 
der Zwischenzeit arbeite ich an der Datenbank-Anbindung.

> Wie sieht das eigentlich mit der aufgelaufenen Summe der Solarerträge
> aus? Wird dieses nur im FW100 aufsummiert, oder kann das auch extern
> ausgelesen werden?

Ja, leider werden die Solarerträge nur in der Zentrale FW1xy 
aufsummiert, im Protokoll gibt es nur 2 Byte für den Ertrag der letzten 
Stunde.
Auch hat der Wert für Solarpumpen-Laufzeit nur 2 Byte, sodaß nach einem 
Überlauf dieser wieder bei Null anfängt. Dies ist mir zweimal innerhalb 
der letzen beiden Jahre passiert. Schön für den Ertrag, schlecht für die 
Auswertung :=)

> 2) Das mit dem Booten ist zu beachten. Kann man aber bestimmt über die
> Verknüpfung von anderen Ports abfangen.

Ja, ich werde dafür einen Port vorsehen, der die Sende-Freigabe erlaubt. 
Rest wird mit Pulldown-Widerständen erledigt.

Gruß
Norbert

von Markus v. (markus_va)


Lesenswert?

Hi,

ich bin zufällig auf den Beitrag gestoßen und finde ihn sehr 
interessant. Ich würde den Adapter gerne nachbauen. Hab allerdings bis 
dato von Elektrotechnik und Microcontrollern leider nicht viel Ahnung.

Ich bin jetzt erstmal mit nem Arduino Board und ein paar Experimenten/ 
Messungen am Steckbrett gestartet um die Basiscs zu verstehen.

Wollte mir jetzt die Komponenten gemäß der Liste oben bestellen und 
hätte noch ein paar Fragen:

- Bei den Widerständen bin ich nicht 100% fündig geworden was die 1/8 W 
angeht zumindest nicht in verdrahteter Form (ich würde zunächst gerne 
einen Steckbrettaufbau verwenden. Theoretisch kann ich doch auch 1kOhm 
Widerstände mit einer Belastbarkeit von 0,25W nehmen oder?

- Ähnliche Frage zum Kondensator...geht ein 100nF 50VDC? War der 
erstbeste den ich gefunden habe bei Conrad. Nach meinem laienhaften 
Verständnis ist die Nennspannung die max. Spannung die das Bauteil 
verträgt, ist das richtig? Wenn ja dürfte ja bei 10-15Volt Pegeln auf 
dem Bus nichts passieren oder?

- Kann ich mit den oben beschriebenen Komponenten überhaupt ein 
Steckbrett nehmen oder muss ich da noch die Kontaktwiderstände des 
Steckbretts irgendwie reinrechnen?

- Angenommen ich habe die Komponenten soweit zusammengesteckt, gibt es 
eine Möglichkeit zu prüfen ob bei Anschluss an den Bus auch wirklich 
nichts negatives passiert (z.B. bedingt durch einen fehlerhaften 
Zusammenbau des Adapters)? Also sowas wie Spannungsprüfung am 
Printklemmenblock z.B.? Falls ja, worauf muss ich achten?

- Letzte Frage...wo genau in der Heizungsinstallation muss/ kann ich den 
Bus idealerweise abgreifen (falls man das so einfach sagen kann) und 
wenn ich ihn abgreife kann ich dann trotzdem noch die reguläre 
Steuereinheit z.B. eine Junkers FW200 weiterbetreiben?

Danke schon mal für eure Hilfe.


Gruß Markus

: Wiederhergestellt durch Admin
von Norbert S. (junky-zs)


Lesenswert?

Hallo,
Markus, damit der Nachbau klappt hier die Hinweise;
>... kann ich Widerstände mit einer Belastbarkeit von 0,25W nehmen?
Ja auf jeden Fall, die sind zwar grösser nehmen aber auch nicht viel 
mehr Platz weg.

> ...Kondensator...geht ein 100nF 50VDC?
Ja, da dieser nur Störspitzen auf der Betriebsspannung (3.3 Volt beim 
Raspi) vermeiden soll. Keramik-Kondensator ist ideal, andere gehen aber 
auch, der Wert ist nicht kritisch.

> Kann ich mit den oben beschriebenen Komponenten überhaupt ein Steckbrett nehmen?
Ja, da keine grossen Ströme fliessen (Milliampere-Bereich)

> ...gibt es eine Möglichkeit zu prüfen ob bei Anschluss an den Bus auch
> wirklich nichts negatives passiert
Folgende Aktionen durchführen:
1. Eingangs-Widerstandsmessung am HT3-Anschluss (Printklemmenblock) 
messen.
Es darf kein Kurzschluss vorhanden sein und je nach Mess-Polarität muss 
der Widerstand größer als 1kOhm sein.
2. Galvanische Trennung messen zwischen HT3-Bus und uC Anschluss.
Widerstand zwischen HT3-Bus und Ausgangsseite des Optokopplers (U1) muss 
sehr gross sein. Es darf keine Verbindung vorhanden sein.
3. Funktionsprüfung ohne Heizungs-Anschluss mit Prüfspannung.
Eine externe Spannung von ca. 14-15 Volt (geladene Autobatterie ect.) an 
den HT3-Bus Printklemmenblock anschliessen. Die LED D3 muss aufleuchten, 
wenn die Polarität der Eingangsspannung passt. Stromaufnahme dabei 
grösser als 1.6 mAmpere aber weniger als 5 mAmpere.
Gleicher Test mit reduzierter Eingangsspannung von weniger als 11 Volt.
Die LED D3 darf garnicht oder nur wenig leuchten. Die Stromaufnahme muss 
weniger als 1 mAmpere sein. Falls dies nicht passt bitte den Anschluss 
der Zenerdiode D2 prüfen.
Damit ist der Adapter bereit für den Anschluss an die Heizung ohne dort 
etwas aufzubröseln.

Der HT3-Bus-Anschluss kann an der Steuerplatine in der Heizung 
abgegriffen werden. Bei meiner Heizung CSW xy sind die zwei Klemmen mit 
B bezeichnet.
Einfacher geht es, wenn der Regler FWxyz nicht in der Heizung sondern 
extern an der Wand befestigt ist. Dann kann man den HT3-Bus auch am 
Regler abgreifen. Der Anschluss ist dabei immer parallel zu den 
vorhandenen Bus-Kabeln an den Klemmen B.
Bitte wegen der Leitungsquerschnitte und Leitungsführung immer die 
Hinweise des Herstellers beachten. Stabiles 2-adriges Kabel mit 0,75mm2 
passt gut.

Gruss Norbert

von F.Sigloch (Gast)


Lesenswert?

Klasse, jetzt hab ich auch was davon :-)

Gruss F.Sigloch

von Norbert S. (junky-zs)


Lesenswert?

Hallo,
es hat sich was auf der Softwareseite getan. Da die aber besser im Forum 
unter Codesammlung aufgehoben ist, habe ich die dort abgelegt unter:
Beitrag "Heizungs-Datenerfassung (HT3)"
Dort ist im Tar-File auch die Dokumentation enthalten, die das ganze 
einfacher machen soll (I'll hope so).

Bitte dort in Zukunft den aktellen SW-Stand holen.
An dieser Stelle werde ich weiterhin die Hardware-Neuigkeiten versenken.
Da es z.Zeit keine spruchreifen gibt, ist hier auch schon Schluss.

Gruss Norbert

: Bearbeitet durch User
von Kai Zöllner (Gast)


Lesenswert?

Hallo Norbert,

hatte in den letzten Tagen hier mal wieder reingesehen, ob es was neues 
gibt.
Vielen Dank für Deine Arbeit, super Sache.

Die Portierung auf Arduino habe ich nicht mehr weiter verfolgt, ein 
Raspberry ist dafür auch gut geeignet und liegt hier schon "rum".
Die Hardware muß ich immer noch erstellen, leider hatte Reichelt keinen 
Optokoppler im Angebot, so daß ich nun leider auf einen anderen Anbieter 
wechseln muß. Vielleicht setze ich auch ein PC900 ein.

Das Programm läuft auf meinen Raspberry schon lange sauber durch. Freue 
mich schon "auf die kalten, verschneiten Tage", damit ich die Hardware 
zusammenlöten kann ;-))))

Gruß
Kai

von Norbert S. (junky-zs)



Lesenswert?

Hallo,
es hat sich mal wieder was auf der Hardware-Seite getan damit nicht nur 
mit dem RaspberryPi HT3-Telegeramme sondern auch mit jedem anderen 
USB-Host Device kraftvoll Daten empfangen werden kann.

Der HT3 MicroAdapter besteht aus einem Kaufteil (elv 91859) und der 
schon bekannten galvanischen Ankopplung an den HT3-Bus.
Der Preis für die Bauteile liegt bei ca. 10 € sofern man eine alte 
Schachtel (als Gehäuse) zur Verfügung hat.

Die Bilder zeigen wie es sein könnte, den Namen: Micro hat der Adapter 
jedenfalls verdient. Trotz klein aber oho, die HT3 Telegramme kommen 
ohne Abstriche wie gewünscht raus.
Die Software ist weiterhin so verwendbar, der Port muss für diesen 
Adapter aber dann auf /dev/ttyUSB0 oder /dev/ttyUSB1 eingestellt sein.

Viel Spass beim Nachbau.

Gruss Norbert

: Bearbeitet durch User
von Ferdinand (Gast)


Lesenswert?

Hallo,

was bedeutet eigentlich T-Steuer Fernbedienung ?

Gruss Ferdinand

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

Ferdinand schrieb:
> was bedeutet eigentlich T-Steuer Fernbedienung ?
Damit ist der Messwert der Fernbedienung FB10 gemeint. Diese ist bei mir 
im Wohnzimmer angebracht und der Wert wird als Führungsgröße verwendet.
Da nicht jeder eine Fernbedienung hat, ist dieser Wert dann zu 
ignorieren.
Mein System besteht aus: CSW24, FW100, ISM1 und FB10. Die Software 
(HT3_Analyser) basiert auf den Daten dieses Systems. Nicht jeder hat die 
gleiche Anlage und es währe gut wenn jemand andere Systemkomponenten 
(FW110, FW200, FB100 etc.) hat und die Protokolle erfassen und posten 
kann.

Gruss Norbert

von strauch (Gast)


Lesenswert?

Norbert S. schrieb:
> Aber viele Firmen-Projektmanager denken nur bis zum nächsten
> Rückschlag-Ventil und Ausdehnungsgefäss, jedoch das es dahinter auch
> noch z.B. FHEM gibt ist manchen wohl egal.

Hallo Norbert,

ich nutze FHEM und würde gerne meine Gasherme auslesen und über "FHEM" 
visualisieren. Hast du denn schon irgendein Modul um die Therme in FHEM 
einzubinden?
So das man den Raspbi irgendwie per LAN/WLAN einbindet? Kann man über 
den HTBus vielleicht sogar irgendwie den Raspbi mit Stromversorgen?
Man ich würde in dem Bereich gerne mehr können.

Danke und Grüße

strauch

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo,
strauch schrieb:
>ich nutze FHEM und würde gerne meine Gasherme auslesen und über "FHEM"
>visualisieren. Hast du denn schon irgendein Modul um die Therme in FHEM
>einzubinden?
Die aktuelle Software gibt die erfassten Daten (sqlite- und rrdtool-db) 
als PNG-Grafiken aus. Die Visualisierung erfolgt z.Z. mit scripts und 
Browser (siehe Bild).

!!! Hinweis: Die aktuelle Software passend zu dieser Schnittstelle HT3 
gibt es unter : Beitrag "Heizungs-Datenerfassung (HT3)"

strauch schrieb:
>Kann man über den HTBus vielleicht sogar irgendwie den Raspbi mit Stromversorgen.
Nein auf keinen Fall, aus 2 Gründen:
1. die Stromaufnahme des Raspi (Rev.A/B) ist zu hoch und die Spannung 
passt nicht. Ein Schaltnetzteil für 8,-€ ist billiger als eine neue 
Heizungssteuerung.
2. Die galvanische Trennung zwischen Heizung und Erfassung geht dann 
flöten. Die halte ich im übrigen für sehr wichtig.

Gruss Norbert

von strauch (Gast)


Lesenswert?

Hallo Norbert,

danke für die schnelle Antwort, ich werde erst mal alles nachbauen und 
mir deine Software anschauen. Bin schon sehr gespannt.

Grüße

strauch

von Ferdinand (Gast)


Lesenswert?

Hallo Norbert,

danke für die Antwort.
Für unterwegs wäre ein Webinterface auch was Feines.

Gruss Ferdinand

von strauch (Gast)


Lesenswert?

Ich glaube dann sollte man wirklich schauen ob man das nicht in 
vorhandene Systeme einbinden kann (wie FHEM), bevor man sich die Arbeit 
macht und ein Webinterface dafür baut. Ich hab jetzt die Teile bekommen. 
Jetzt brauch ich nur noch Zeit, das alles zusammenzubauen.

von Kai Zöllner (Gast)


Lesenswert?

Hallo Zusammen,

ein Modul / Integration in FHEM wäre auch mein Ziel. Wenn das einer 
hinbekommt, das wäre super!!

Bei einem Webinterface wäre vielleicht der Weg auch über das 
HTTPMOD-Modul. Vielleicht reicht dann eine Textdarstellung der Werte und 
FHEM holt sich das manuell mit HTTPMOD ab.

Allerdings, ein vollwertiges Perl-Modul wäre natürlich besser.


Gruß
Kai

von Kai Zöllner (Gast)


Angehängte Dateien:

Lesenswert?

Nochmals ich,

habe die obige Idee mal verwirklicht.
Auf dem RPI wird mittels Cronjob alle 5min ein Script aufgerufen, welche 
die letzten Werte aus der SQLITE-Datenbank in ein Textfile schreibt.
Je Zeile gibt es einen Wertesatz für HG, HK, WW und Solar.

Diese Datei liegt auf dem RPI und kann mit einem Webbrowser 
ausgelesen/angezeigt werden (Stichwort Apache/PHP)

In FHEM habe ich über das Modul HTTPMOD verschiedene Variablen gebildet, 
die über diese Textdatei gefüllt werden. Das Ergebnis ist gar nicht so 
schlecht, nun habe ich alle Daten meiner Heizung in FHEM.

Der Weg ist zwar nicht so schön wie über ein eigenes Modul, aber er 
klappt.

Gruß
Kai

von Frank G. (drego)


Angehängte Dateien:

Lesenswert?

Hi, ich habe mich schon mit Norbert unterhalten und benötige Dringend 
Eure Hilfe. Ich habe eine recht grosse Heizungsanlage und habe das Board 
von Norbert erhalten (vielen Dank noch mal für Deine Hilfe!!!). Leider 
komme ich bei dekodieren der ganzen Codes nicht richtig weiter. Daher 
die Frage an Euch, ob Ihr mir helfen könnt. Ich habe, kurz 
zusammengefasst, ein Junkers Brennwertgerät mit folgenden Teilen: 
Kessel, Warmwasserspeicher, 3 gemischte Heizkreise, FW200, FW100, 2 IPM2 
und 1 ISM2. Ich habe auch mal ein paar Anhänge gemacht zum 
Heizungsscheme sowie noch mal die Zuordnungen zu den verbauten Teilen 
beschrieben, wer kann mir helfen? Entsprechende mitschnitte habe ich 
auch angehängt. Da wir gerade Winterbetrieb haben, ist der Brenner an 
sich nur sehr wenig an. Danke für Eure Hilfe!

drego

von strauch (Gast)


Lesenswert?

Ich hoffe das Norbert dir weiterhelfen kann. Ihr seid alle schon 
wesentlich weiter, ich hab die Bauteile zuhause rumfliegen, ich muss 
jetzt nur mal zum löten kommen. Ich hoffe das ich auch irgendwann mal 
die Heizung und ausschalten kann. Das mache ich zur Zeit immernoch per 
Hand. Da die Heizung auch wenn alle Heizkörper zugedreht sind, Gas 
verbraucht.

@Kai schön zu sehen, das du schon etwas für FHEM "gebastelt" hast. Ich 
hoffe ja auch immer das es noch mehr Junkersnutzer bei FHEM gibt. Wenn 
ich mir anschaue wie groß dort der Thread für Viessmann ist.

Vielleicht wenn ich Glück habe, kann ich dieses Wochenende mit Hilfe die 
Platine zusammenlöten und dann auch mal testen und von der Heizung 
lernen.

von bholmer (Gast)


Lesenswert?

Nicht ganz das Thema aber kurze Frage an die Heizungsexperten:

Ich habe seit 1 Monat eine Junkers Gasheizung mit MB-LAN, 2 Heizkreisen 
und Warmwasserbereitung.

Ein Heizkreis ist ungemischt an ein Gartenpool angeschlossen. Die 
Heizungsrohre sind direkt im Becken verlegt. Keine weitere Steuerung 
vorhanden.

Ich möchte die Beckentemperatur automatisch regeln. In der jetztigen 
Konfiguration kann ich nur den Heizkreis einschalten über die Junkers 
Home App und hoffen, dass ich nicht vergesse ihn wieder abzuschalten.

Daher habe ich mir folgendes gedacht: Ich nehme eine FB10 (schon 
gekauft) und messe damit die Wassertemperatur als Sollwert für die 
"Raum"-Temperatur. In der Trockensimulation mit 100% Raumeinfluss durch 
die FB10 scheint das auch zu funktionieren.

Einziges Problem: Ich müsste den Sensor, der in der FB10 verbaut ist, 
herausführen, wasserdicht verpacken und mit einem Kabel ins Schwimmbad 
tauchen.

Weiß jemand was das für ein Sensor ist? Ist es ggf. der gleiche, der für 
die Messung der Außentemperatur oder der Vorlauftemperatur von Junkers 
verwendet wird?

Des weiteren würde es mir Bauchschmerzen bereiten, ein Bauteil, das an 
den Heizungsbus angeschlossen ist, so einfach in ein Schwimmbad zu 
tauchen, das von Personen benutzt wird.

Jemand eine Idee dazu?

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

bholmer schrieb:
>...kurze Frage an die Heizungsexperten:
Danke für das Kompliment, jedoch sind wir keine Experten (jedenfalls 
nicht für Heizungen) und wir betreiben dies als Sport. Man gönnt sich ja 
sonst nichts.

>Weiß jemand was das für ein Sensor ist? Ist es ggf. der gleiche, der für
>die Messung der Außentemperatur oder der Vorlauftemperatur von Junkers
>verwendet wird?
In der Regel sind dies NTC-Widerstände, die jedoch bei den 
Junkers-Anlagen nicht alle die gleichen Daten haben. Die Fühler für 
Innenbereich haben kleinere Temperaturbereiche als die für den 
Außenfühler oder für den Solar-Kollektor.
Für das Schwimmbecken würde die Auflösung ja reichen.
Ich hätte aber an Deiner Stelle einen Aquarium-Fühler beschafft, mit dem 
kannst Du dann eine Umwälzpumpe ansteuern -> Regelung inklusive.
Das 'Problem' ist bei NTC-Widerständen, das Du die analogen Werte in der 
Regel nicht direkt verwenden kannst sondern noch einen Wandler brauchst 
mit dem Du dann z.B. eine Umwälzpumpe steuerst.
Es gibt glaube ich auch von elv (ohne Werbung zu machen) 
Wassertemperaturfühler, die per Funk die Daten an eine Zentrale senden. 
Den Fühler schmeißt Du direkt in den Pool -> Wenn der groß genug ist, 
stört der Fühler auch nicht.
Übrigens, solltest Du mal einen Beta-Tester für Deine Pool-Regelung 
benötigen, dann stelle ich mich gerne zur Verfügung. Das Wetter soll ja 
jetzt besser werden.

Gruß Norbert

: Bearbeitet durch User
von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo,

Frank, danke für Deine Logs. Da tanzt der Bär bei Deiner Anlage und die 
Analyse hat etwas gedauert. Die Ergebnisse habe ich jetzt in einer 
Tabelle versenkt und kann damit das Analyse-Programm verbessern.
Habe Dein log3.log aufgepimpt und lesbar hier angehängt.

Jeder, der weitere Informationen zu den Junkers-Heatronic3 Telegrammen 
hat, kann diese Tabelle erweitern und mir zusenden oder posten.
Auch Junkers-Insider sind hier herzlich willkommen daran teilzuhaben.
(Aber bitte keine falschen Infos reinsetzen, daß wäre dann Viessmann).

Geplant ist die Software konfigurierbar zu machen, um dann den 
unterschiedlichen Anlagen gerecht zu werden. Damit liesse sich aus den 
verschiedenen Telegrammen eine für die Anlage passende Anzeige bauen.

Frank, für Dich werde ich auf Basis dieser bekannten Daten eine 
Testsoftware zusammenzimmern. Du bist mit Deiner üppigen Anlage dann der 
Beta-Tester.

Sitzen drei Heizungsmonteure zusammen und fachsimpeln.
Unsere Junkers Brennwert-Modelle laufen und machen keine Probleme sagt 
der eine.
Der Brötje-Monteur kontert, unsere günstigen Auslauf-Modelle gibts 
überall und wir sind ständig unterwegs.
Leute das ist doch garnichts sagt der Viessmann-Monteur, unsere blonden 
Langlauf-Modelle sind im Rennen und laufen allen davon.

So weit, so gut
Achtet bitte auch auf die Zeitumstellung. Kann ja sein, daß die Software 
dann abkackt. Man kennt das ja.

Gruß Norbert

von bholmer (Gast)


Lesenswert?

Danke für die Info. Ich werde die FB10 mal auseinandernehmen.
Vielleicht ist es ja ein gebräuchlicher NTC, den es auch in gekapselten 
Ausführungen gibt.

An die ELV-Steuerung hatte ich auch schon gedacht. Es gibt da einen 
batteriebetriebenen Thermostatsender, der beliebige FS20-Schaltaktoren 
steuern kann. Leider ist deren Sensor auch nicht für Dauerbetrieb unter 
Wasser gedacht und das Problem ist, wenn ich nicht direkt den Heizkreis 
in der FW200 sondern nur die Umwälzpumpe ansteuere, schaltet sich nicht 
die Vorlauftemperatur entsprechend hoch und ich bekomme nicht genug 
Energie in das Becken oder die Vorlauftemperatur bleibt hoch, auch wenn 
das Becken keine Energie braucht. Daher schien mir die FB10 so elegant, 
da diese einfach eine Wärmeanforderung an die Steuerung gibt, die 
wiederum die Pumpe anwirft und den Brenner startet.

von Frank G. (drego)


Lesenswert?

@Norbert

Vielen Dank für die Tabelle. Folgendes konnte ich noch erkennen:
Telegramm [90 00 FF xx] hat beim Byte 5 0x72 drin stehen für den dritten 
Heizkreis


Im gleichen Telegramm ist das Byte 8 unnd 9 nicht die Heizkreis 
Solltemperatur sondern die Raumtemperatur Soll. Das Byte 10 und 11 
hingegen ist die Vorlauftemperatur ist für den HK.

Was noch fehlt ist die Vorlauftemperatur Soll für den Heizkreis. Die 
konnte ich leider noch nicht auffinden. Kann es sein, dass diese nicht 
über den Bus geschickt wird oder in Relation zu einer anderen Zahl/Wert 
steht?


Ich würde gern Betatester spielen ...
Gruesse

von Heiko R (Gast)


Lesenswert?

Hallo Norbert,

auf Deiner Schaltung mit dem UM2102 sind 3 LEDs. Dazu hätte ich eine 
Frage. Die grüne dürfte die Funktionskontrolle aus der ersten Schaltung 
sein. Wozu sind die rote und die orangene LED? Wie sind die geschaltet 
(dazu gibt es keinen Schaltplan). Was für LEDs sind das? 2mm? 
Low-current?

Grüße,
Heiko

von Norbert S. (junky-zs)


Lesenswert?

Hallo Heiko,
hier die Antwort auf 'UM2102'.
> Die grüne dürfte die Funktionskontrolle aus der ersten Schaltung sein.
Ja, dies ist die Kontroll-LED fuer die richtige HT3-Bus Polarität.

> Wozu sind die rote und die orangene LED?
Die anderen LED's sind Test/Kontroll-LED's mit folgenden Funktionen:
Die rote LED ist ueber 1kOhm an ST2 TxD angeschlossen (UART-TX Ausgang).
Leuchtet konstant, wenn kein Signal anliegt.

Die gelbe LED ist an ST1 DSR (Data Set Ready) angeschlossen und der 
Jumper verbindet diesen mit ST1 DTR (Data Terminal Ready). Der 1kOhm 
Widerstand liegt an +3.3Volt und die LED mit Kathode an ST1-DSR.
Hier leuchtet die LED, wenn ST1-DTR aktive (Low) gesetzt ist.

> Was für LEDs sind das? 2mm?
Der Durchmesser der LED's liegt bei gemessenen 2,5 mm. So passen diese 
auch durch die vorhandenen Löcher.

Anschluss:
            Gelbe LED      1kOhm
             | /|        ---------
 ST1-DSR ----|/ |--------|       |--------- 3.3 Volt
         |   |\ |        ---------
 ST1-DTR +   | \|

               1 kOhm          Rote LED
               ---------         |\ |
 ST2-TxD ------|       |---------| \|------ GND
               ---------         | /|
                                 |/ |

Diese LED's sind für die Funktion des HT3-MicroAdapters nicht 
erforderlich, habe diese als Test für eine spätere TX-Steuerung genutzt. 
Diese liegt aber im Moment auf Eis.

Gruß Norbert

von Heiko R (Gast)


Lesenswert?

Hallo Norbert,

vielen Dank für die schnelle Antwort.

Die TX-Steuerung planst Du noch? Es klang so, als wolltest Du die aus 
Sicherheitsgründen nicht implementieren.

Geplant ist bei mir die Junkers ZSB14-4 C 21 mit Heatronic 4i. Die 
Schaltung sollte am HT-Bus doch trotzdem funktionieren?

Gruß,
Heiko

von Norbert S. (junky-zs)


Lesenswert?

Hallo Heiko,
> Die TX-Steuerung planst Du noch?
Ja, die nötigen zwei 'UM2102' habe ich und die restliche Schaltung ist 
als Draft vorhanden, damit ich dann HT3-RX UND HT3-Stromsteuerung (TX) 
gleichzeitig aufgenommen werden kann. Damit kann ich dann zeitliche und 
protokollabhängige Details erfassen. Dies liegt aber noch in der 
Schublade.

> Geplant ist ... ZSB14-4 C 21 mit Heatronic 4i. Die Schaltung sollte am
> HT-Bus doch trotzdem funktionieren?
Ich nehme an, dass die Hardware (15/10Volt Signalisierung / 
Spannungsversorgung) sich nicht geändert hat, sonst würden alle FW1xy 
/FW2wz Regler von gestern auf heute nicht mehr funktionieren. Sicherlich 
wird die Software und damit die Protokolle neue Inhalte und Funktionen 
haben, z.B. ist neu die 'Selbstanlernfunktion' mit der die 
Systemkonfiguration erfasst werden kann.
Ich selber habe nur HT3, würde mich aber freuen wenn Du Dir mal was 
neues und Gutes gönnst (Heizung mit 4i und HT3-Adapter).
Man (wir) können daraus nur lernen.

Gruß Norbert

von Carsten (Gast)


Lesenswert?

Hallo Kai,

die Integration in FHEM ist für mich sehr interessant! Kannst du evtl. 
das Script und die Config vom FHEM zur Verfügung stellen? Vielen Dank, 
Viele Grüße Carsten

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo bholmer,
bist Du schon weitergekommen mit Deiner Schwimmbad-Steuerung?

Falls nicht, kann ich Dir eventuell weiterhelfen.
Ich habe einen Solar-Kollektorfühler zur Verfügung, den man an die Werte 
des FB10 NTC-Fühlers anpassen kann. Anpassung ist erforderlich, da die 
Widerstandswerte bei Raumtemperatur nicht dem im FB10 entsprechen.

>Einziges Problem: Ich müsste den Sensor, der in der FB10 verbaut ist,
>herausführen, wasserdicht verpacken und mit einem Kabel ins Schwimmbad
>tauchen.
Dies könnte wie folgt gelöst werden: Fühlerleitung durch ein Platikrohr 
führen und den Fühlerkopf mit Silikon und Schrumpfschlauch abdichten. 
Die Fühlerleitung ist ca 2Meter lang.
Fühlerkopf ist aus Metall: siehe Bild.

Falls noch Bedarf ist, melde Dich.

Gruß Norbert

von Kai <Zöllner (Gast)


Lesenswert?

@Carsten,
Klar, ich stelle das gerne hier rein. Du musst Dich allerdings ein paar 
Tage gedulden, ich muß/möchte das gerne zusammenschreiben und bin am 
Wochenende aufgrund eines beruflichen Termins nicht verfügbar


Gruß
Kai

von Kai Zöllner (Gast)


Lesenswert?

@Carsten, ich habe kurz was zusammengeschrieben. Da es hier eindeutig um 
FHEM  geht habe ich die Anleitung auch im FHEM-Forum geschrieben.
siehe: http://forum.fhem.de/index.php/topic,19445.0.html

Gruß
Kai

von Carsten (Gast)


Lesenswert?

@Kai: Vielen Dank!

VG Carsten

von Heiko R (Gast)


Lesenswert?

Hallo Norbert,

ich bin gerade irritiert. Im Schaltplan mit UM2102 ist ein Kondensator 
eingezeichnet, den ich auf der Platine nicht sehe. Hast Du den 
unterseitig bestückt oder ist das ein Fehler im Schaltplan? Oder 
versteckt der sich hinter der roten LED?

Viele Grüße,
Heiko

von Norbert S. (junky-zs)


Lesenswert?

Hallo Heiko,

>...es ist ein Kondensator eingezeichnet, den ich auf der Platine nicht sehe.
Ja, Asche auf mein Haupt, Du hast recht. Im Schaltplan ist er 
eingezeichnet und er hat ja auch seine Funktion -> eventuel vorhandene 
Störspitzen abblocken.
Du kannst diesen Kondensator nicht sehen, weil er noch bei mir in der 
Schublade liegt. Ja nötig wäre er schon, meine Faulheit hat gesiegt. Bei 
99.99 % der Nachbauten funktioniert die Schaltung auch ohne 
Abblockkondensator, bei den restlichen den Kondensator bitte einsetzen.

Gruß Norbert

von fsigloch (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mal mit dem NETCOM 100 Solltemperatur 26 Grad (01 04) und 
einmal
28 Grad (01 18) gesendet. Regler ist FW 100 mit FB 100 (98 00 FF).

Das erste Telegramm wird vom BUS kollidiert das zweite kommt wohl durch.

Das auf den Bus selbst zu jagen, trau ich mich noch nicht :-)

Gruss Ferdinand

Cutecom Protokolle sind angehängt

von Norbert S. (junky-zs)


Lesenswert?

Hallo Ferdinand,
danke für die Protokolle.
So gezielt Daten zu erfassen hilft ungemein. Hier der Inhalt der Meldung 
98 00 FF:
Byte  Werte    Bemerkung
0  98    Telegramm: Heizkreis Steuerung FB100
1  00     „
2  FF     „
3  00     „
4  00    Immer 00
5  6F    Heizkreise(1/2/3/4); 6F:=HK1; 70:=HK2; 72:=HK3; 7?:=HK4
6  01/02/03  Betriebsart Heizung:
6       01=Frost
6       02=Sparen
6       03=Heizen
7  02    Immer 02
8  Hi-Byte    Soll-Temperatur (HK1/HK2/HK3/HK4)
9  Lo-Byte
10 Hi-Byte    Ist-Temperatur   (HK1/HK2/HK3/HK4 bzw. Regler/Wand)
11 Lo-Byte
12 00    Immer 00
13 00    Immer 00
14 00    Immer 00
15 xy    CRC
16 00    Ende Marker

Den restlichen Protokoll-Inhalt sehe ich mir noch an. Mal sehen was sich 
dort noch finden lässt.

Gruss Norbert

von fsigloch (Gast)


Lesenswert?

Hallo Norbert,
viel interessanter ist :
98 00 FF 00 65 01 00 04 19 28 2D 05 01 00 ...
Ist das meine vermutete Kollision ?
Wahrscheinlich stimmt die Prüfsumme auch nicht.

Netcom 100 habe ich schon lange vom Heizungsbauer, leider kann man damit 
nur die Solltemperatur ändern , blöd wenn man die Kontrolle verliert 
:-).
Das MB LAN2 ist ein ganz grosser Mist, dass die sich nicht schämen!
Ich konnte es mal testen, mit Andriod gings gar nicht nur ein wenig dem 
mit iPhone.
Ich hab es nicht gekauft,Gott sei Dank !
Im letzten Sommer habe ich mir dann, mit den Formeln von Zorro, auf dem 
dem Raspi ein Programm geschrieben,
um wenigstens die Werte zu kontrollieren, ich glaube du hast es in 
deinen
Literaturangaben zitiert. Ich bin nicht der grosse Programmierer, dein
Programm ist viel besser :-)
Ich steuere mit dem Smartphone ein bisschen den Überschuss der 
Solaranlage
in die Fussbodenheizung von unterwegs, dass der Kollektor nicht so oft
in die Stagnation kommt.
Natürlich wär es besser wenn der Raspi das allein tun könnte,aber dafür
müssten wir das Sende-Protokoll kennen :-)

Gruss Ferdinand

von bholmer (Gast)


Lesenswert?

Danke für die Tipps.

Ich habe das Schwimmbadproblem jetzt gelöst.

Habe die FB10 Fernbedienung auseinandergenommen und den NTC ausgelötet. 
Es ist ein Standard-NTC mit 10 kOhm bei 25 Grad. Dann habe ich einen 
entsprechenden wasserdichten NTC-Fühler mit 10 m Silikonkabel und IP68 
Zertifizierung bestellt bei sensorshop24.de. Kostenpunkt 18 Euro. Diesen 
Sensor habe ich statt des NTC an die Fernbedienung angelötet.
Kabel genommen und ins Wasser gehängt. Jetzt zeigt er statt der 
Raumtemperatur exakt die Wassertemperatur an und ich kann die gewünschte 
Schwimmbadwassertemperatur direkt als Zielgröße einstellen. Prompt 
springt der Brenner an und die Heizkreispumpe läuft.

Jetzt muss ich das Sensorkabel nur noch vergraben und die FB10 
Fernbedienung im Haus in der Nähe des Schwimmbads anschrauben. Bin mal 
gespannt auf das Regelverhalten. Aber man kann ja vieles einstellen in 
der Heizungssteuerung.

von Norbert S. (junky-zs)



Lesenswert?

Hallo,

fsigloch schrieb:
> Das MB LAN2 ist ein ganz grosser Mist, dass die sich nicht schämen!
Danke für die Info, werde mir das Ding dann nicht zulegen, der eine oder 
andere wohl dann auch nicht! -> Junkers-Leute aufgemerkt: Macht das Ding 
besser und billiger. Wir stellen uns auch gerne dann als Testkandidaten 
zur Verfügung.
Häufig sind es Details, aber daran knabbern wir ja auch noch.

Habe jetzt endlich den HT3-Sniffer-Adapter realisiert (siehe Bilder).
Wozu ist das Ding gut? -> Mit dem Sniffer können gleichzeitig die 
emfangenen und die von den Geräten gesendeten HT3-Telegramme erfasst 
werden. Da die HT3-Busgeräte ihre Signale über Stromimpulse senden, ist 
zusätzlich zu dem schon bekannten galvanisch getrennten Empfangs-Zweig 
RX der Sendezweig TX mit Komparator und Optokoppler hinzugekommen. Für 
die Übertragung der Daten zum PC werden zwei UM2102 Module (RS232<->USB) 
der Firma elv verwendet. Kosten des Adapters gefühlte 20,- €. Details 
bitte dem Schaltplan entnehmen.
Testaufbau z.B. für die Fernbedienung FB10/FB100 wie folgt:

HT3-Bus             HT3-Sniffer_Adapter               FB10/FB100
                IN  +---------------+ OUT            +-----+
--------------------|               |----------------|     |
--------------------|               |----------------|     |
                    +---+--------+--+                +-----+
                     RX |     TX |
                        |        |
                        v        v
                        USB1     USB2 PC/Laptop mit z.B. 'hterm'
Natürlich kann statt der Fernbedienung auch ein MB Lan2 drangehängt 
werden, ich habe jedoch keines (für längere Zeit nicht, siehe oben).

Hinweis: Mit dem Open Source Tool 'hterm' lassen sich die RX/TX-Daten 
mit Zeitstempeln unter Linux und Windows recht gut erfassen. Andere 
Terminalprogramme gehen natürlich auch.
Damit habe ich die erforderlichen Telegramme für eine Temperaturänderung 
erfassen können und der zeitliche Ablauf ist jetzt klarer.
Ja, jetzt könnte man daran denken die Steuerung dann selber in die Hand 
(Raspi) zu nehmen.
Aber wie oben schon beschrieben sind die Details deren sehr viele, 
z.Beispiel hat der Raspi (irgendwo gelesen) keinen vollwertigen UART. 
Die Register sind zwar wohl alle da, aber dem tut teilweise nix.
Ein Beispiel ist das 'Break' - Signal, welches ständig beim 
HT3-Protokoll missbraucht wird um das Telegramm-Ende zu signalisieren. 
Statt des 'Break' wird z.Zeit eine 0 erfasst. Dies tut für das Erfassen 
(RX) nicht weh, jedoch ist es für das Senden erforderlich.
Vielleicht hat der eine oder andere eine Idee, ich arbeite auch noch 
daran.

Gruß Norbert

: Bearbeitet durch User
von Psssst ... (Gast)


Lesenswert?

Norbert S. schrieb:
> Vielleicht hat der eine oder andere eine Idee ...

Macht es Euch nicht schwerer als nötig ... die Arbeit wurde bereits 
getan:

Beitrag "Faktensammlung Buderus EMS"

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

Psssst ... schrieb:
> Macht es Euch nicht schwerer als nötig ... die Arbeit wurde bereits
> getan: ...
Ja, sehr gute Arbeit! Für Buderus und EMS.
Ja, Buderus und Junkers kommen aus dem gleichen Stall, jedoch sind die 
Boxen unterschiedlich und in der Stallgasse laufen andere Telegramme und 
die Telegramm-Inhalte sind bis auf wenige Ausnahmen unterschiedlich.

Wie oben schon erwähnt, die Details machen etwas lauffähig oder nicht.
Eins der Details ist z.B. das Polling-Byte des Bus-Masters: bei Buderus 
ist Bit7:=1; bei Junkers ist Bit7:=0, das Gerät antwortet bei Buderus 
mit Bit7:=0; bei Junkers mit Bit7:=1. (Wie gesagt: gleicher Stall, 
physikal Layer seriell, asynchron, 9600 8N1; klar der Rest soll ja nicht 
passen)

Der EMS-Adapter für Buderus wird wohl nicht 1:1 an Junkers-Anlagen 
laufen. Falls es einen Umschaltmodus auf Junkers-Mode im EMS-Gateway 
geben sollte, so kenne ich diesen noch nicht und ich lasse mich gerne 
eines besseren belehren.

Gruß Norbert

: Bearbeitet durch User
von Psssst ... (Gast)


Lesenswert?

Norbert S. schrieb:
> Der EMS-Adapter für Buderus wird wohl nicht 1:1 an Junkers-Anlagen
> laufen.

Es spricht einiges dafür, dass er das tut:

Beitrag "Junkers HT-Bus Heatronic 3 Schnittstelle"
(kennst du vermutlich)

Dass die Telegramme anders geparst werden müssen, ist klar.

Protokoll-Details wie z.B. CRC, TX-Prozedere und Bus-Timing wirst du 1:1 
von EMS übernehmen können.

Wenn du senden willst, wirst du aus Timinggründen um eine 
BREAK-Erkennung nicht drumherum kommen und die bekommt man nur mit einem 
kleinen µC Interface vernünftig hin.

Ich steuere meine Heizung mit einem RasPi der über UART mit einem 
Bus-Interface (ATMega8) kommuniziert. Das Bus-Interface übernimmt 
hierbei autonom die Beantwortung des Pollings und das TX-Prozedere.

Gruß

von strauch (Gast)


Lesenswert?

Hallo Norbert,

schön zu sehen das du auch an den Sendenteil gehst. Leider kann ich dich 
Knowhow mäßig nicht unterstützen. Ich versuche mich zur Zeit in FHEM 
Modulprogrammierung einzulesen, leider ist meine Zeit Nachwuchsbedingt 
recht knapp. Ich bin schon froh das du da soviel Arbeit leistest und das 
alles nach vorne bringst. Ich hab es auch nachvor nicht mal geschafft, 
das bisherige nachzubauen, auch wenn ich schon alle Bauteile habe.

Ich bin gespannt wo das noch alles hinführt, mich wundert eigtl. das es 
für viele Thermen schon was gibt nur für Junkers nicht, hier bei uns in 
der Gegend wird sogut wie nur Junkers verkauft, das da nicht mehr Leute 
bei sind.....

Grüße

strauch

von fsigloch (Gast)


Lesenswert?

http://www.raspberrypi.org/forums/viewtopic.php?f=44&t=14353

schade der uart kann break aber die pins sind nicht rausgeführt

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

strauch schrieb:
>... leider ist meine Zeit Nachwuchsbedingt recht knapp.
Nachwuchs geht vor, daß ist doch klar. Must nur rechtzeitig den in die 
richtigen Bahnen lenken, damit der nicht nur Dir die Pulle(Flasche) aus 
der Hand nimmt sondern alsbald mal den Lötkolben :-)
FHEM ist genau die Sache die ich z.Zeit garnicht bearbeite und deshalb 
ist die bei Dir genau richtig aufgehoben.

fsigloch schrieb:
>schade der uart kann break aber die pins sind nicht rausgeführt
Ja, Schitt can happen. Eigenlich ein geiles Maschinchen, reich an Power 
aber ARM an Anschlüssen.
Muss dann wohl eine andere Lösung her. Wir Arbeiten dran.

Gruß Norbert

von fsigloch (Gast)


Lesenswert?

Hallo Norbert,

evtl. kannst du den break so erzeugen :

Kiste says:
December 27, 2012 at 3:01 AM

Some UARTS do not support break signals, or only breaks which are too 
short for DMX specs. If you’re having these troubles (don’t know much 
about the pi’s uart yet) you can always generate the break using a 
seperate GPIO pin, OR’d or ANDed with the TX line. Remember that the 
break will not get queued in the FIFO, so you have to make sure that all 
the buffered data has been sent out before generating the break. This 
probably must be observed even for a uart-generated break.

Gruss Ferdinand

von Norbert S. (junky-zs)


Lesenswert?

Hallo Ferdinand,
bitte schau Dir noch mal den Link an, dort habe ich nach der 
Konfiguration des MiniUART und des PL011 gefragt.
Antwort ist:
>If you are running Linux on your Pi then you are already using the PL011,
>not the Mini UART. There are no drivers for the Mini.

http://www.raspberrypi.org/forums/viewtopic.php?f=44&t=14353

An den RX/TX Pins liegt also schon ein vollwertiger UART dran u.A. mit 
RX-BREAK Erkennung und TX-BREAK senden.

Jetzt kommt 'nur noch' die Software ins Spiel. Und diese muss gewisse 
Rahmenbedingungen einhalten:
1. RX-Empfang (klar) und RX-BREAK-Signalerkennung für RX-Message 
Ende-Signal.
2. Auswertung für TX-Antwort
3. Nach ca. 5 bis ca. 20msec TX-Antwort mit TX-BREAK-Signal am Ende der 
Übertragung.
Dieses Timing muss wohl immer eingehalten werden damit keine 
'~Störungen' von der Zentrale erkannt werden. Dies ist schwierig bis 
garnicht zu realisieren, wenn man eventuell noch APACHE und mysql 
nebenher laufen hat.

Fakt ist:
1. Wer 'nur' HT3-Telegramme empfangen und auswerten will, kann dies 
jetzt schon mit dem vorgestellten Adapter und Software kraftvoll tun.

2. Wer auch noch HT3-Telegramme senden und damit die Heizung steuern 
will muss sich noch ein wenig gedulden, eine andere Lösung aus der 
Schublade holen oder die Junkers-Hardware kaufen.

Die Realisierung für den EMS-Bus (siehe oben: Psssst ...) ist sicher 
eine wohl nicht direkt passende aber anpassbare Lösung.

Ich bin offen für Ideen und Vorschläge allgemein und insbesondere für 
den Punkt 2.

Gruß Norbert

von fsigloch (Gast)


Lesenswert?

Vielleicht verrät der Psssst ... sein Atmega Programm.

Gruß Ferdinand

von fsigloch (Gast)


Lesenswert?

Wirklich so schnell ?

---Nach ca. 5 bis ca. 20msec TX-Antwort mit TX-BREAK-Signal--



In den EMS Unterlagen steht was von 200ms:

Der Busmaster fragt mehrmals in der Sekunde alle Busteilnehmer ab 
(Polling). Wenn ein Busteilnehmer auf den Bus zugreifen möchte hat er 
etwa 200ms Zeit bis er der nächste Teilnehmer seine Zeit bekommt. Wenn 
der Busteilnehmer nichts mehr senden möchte beantwortet er die Abfrage 
sofort.

Gruß Ferdinand

von Norbert S. (junky-zs)


Lesenswert?

Hallo,
>Wirklich so schnell,nach ca. 5 bis ca. 20msec TX-Antwort... ?
>In den EMS Unterlagen steht was von 200ms:
Das sind Werte die ich gemessen habe zwischen einer Abfrage des 
Bus-Masters und der Antwort des Gerätes. Wiederholt wurde die Abfrage 
des Busmasters auch schon mal nach ca. 150 msec.
Bei einer grösseren Anlage wird es da wohl etwas enger, der Busmaster 
wird dort dann wohl auch nicht in so kurzen Abständen abfragen.

Das mit den 200msec bei EMS passt ja dann schon fasst.
Werden sicher noch mehr Details ähnlich sein.
Werde dort mal nachsehen.

Gruß Norbert

von fsigloch (Gast)


Lesenswert?

Hallo Norbert,

hast du ein Amateurfunkrufzeichen ? Meins ist DB2SG.

Gruß Ferdinand

von Norbert S. (junky-zs)


Lesenswert?

Hallo,
>hast du ein Amateurfunkrufzeichen ?
Nein. Falsche Forum.

Gruß Norbert

von Heiko R. (Gast)


Lesenswert?

Letzte Woche Donnerstag wurde meine neue Heizung installiert, heute die 
letzten Anschlüsse fertiggestellt. Und der USB-Adapter installiert. Was 
soll ich sagen? Es funktioniert. Auch mit der Heatronic 4i. Vielen Dank, 
Norbert.

von fsigloch (Gast)


Lesenswert?

Hallo Norbert,

da hat doch einer von Junkers behauptet Netcom 100 und MB LAN2 dürften
nicht gemeinsam angeschlossen sein. Hab ich ja so gemacht. Es müsste 
dann aber eine Fehlermeldung Störung 14 Kode 117 (unzulässiger 
Busteilnehmer
kommen). Die kam aber nicht... Also MB LAN2 weiterhin verwerfen.

Evtl. bekomme ich vom Heizungsbauer eine CSW14 Leiterplatte und einen 
FR100.
Es dauert aber noch, sobald ich die Teile habe , melde ich mich wieder.
Ich versuche dann der Leiterkarte den Rest der Heizung durch Widerstände
Spannungen etc. vorzugaukeln, dann könnten wir gefahrlos 
experimentieren.



Gruss Ferdinand

von Norbert S. (junky-zs)


Lesenswert?

Hallo,
Heiko R. schrieb:
>Es funktioniert. Auch mit der Heatronic 4i
Glückwunsch zur neuen Heizung. Das Wetter ist zwar nicht danach um diese 
zu nutzen, höchsten für den Solarertrag. Gut zu wissen ist aber, daß der 
Adapter und die SW auch mit der Heatronic 4i können.
Der eine oder andere Punkt in den HT4i-Protokollen wird neu sein und 
somit noch nicht ausgewertet werden. Wenn Du Zeit und die Möglichkeit 
hast ein Logfile über einen längeren Zeitraum zu erzeugen würde das 
schon helfen.

Welche Systemanteile sind bei Dir verbaut?
Eventuell ergibt sich dann noch Anpassbedarf an der Software.

Ich selber bin dabei den aktuellen Software-Stand mit den Informationen 
von Frank fertigzustellen. Diese werde ich dann auf github.com 
bereitstellen.

fsigloch schrieb:
>Evt. bekomme ich vom Heizungsbauer eine CSW14 Leiterplatte und einen FR100
Klingt gut. Du hast einen freundlichen Heizungsbauer. Ich arbeite noch 
dran. Interessant wird das ganze, wenn Netcom 100 oder MB LAN2 
dranhängen. Der HT3_Sniffer kann dann an der CSW14 Leiterplatte zentral 
im HT3-Bus gute Dienste leisten. Hast Du die Möglichkeit einen 
HT3-Snifferadapter herzustellen? Falls nicht, stelle ich Dir einen zur 
Verfügung.
Info an PM reicht.

Gruß Norbert

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo,

hier als html-File die bisher bekannten HT3-Telegramme (bitte das 
TAR-File entpacken).
Der aktuelle Software-Stand berücksichtigt die bekannten Werte.
Da alle Anlagen eines gemeinsam haben, sie sind unterschiedlich; kann 
die Systemeingenschaft konfiguriert werden.

Dies alles nur zur Geschmacksbildung, wenn fertig und auf github.com 
kanns weitergehen.

Gruß Norbert

von Heiko R. (Gast)


Lesenswert?

Hallo Norbert,

ich habe die Junkers Cerapur ZSB 14-4C, den Warmwasserspeicher ST-120 
und den witterungsgeführten Regler FW-120.

Aufgefallen ist mir, dass bei mir die Warmwasser-Messages sehr selten 
kommen und oft Fehler bei den crc vorkommen. Das werde ich mal näher 
unter die Lupe nehmen.

Gruß,
Heiko

von fsigloch (Gast)


Lesenswert?

Hallo Heiko,

evtl. stimmt die Schaltschwelle nicht. Sie muss zwischen ca. 15 Volt 
(High)
und 10 Volt (Low) auf dem Bus liegen, also bei ca. 12,5 Volt.
Das heisst Spannung grösser 12,5 Volt Diode leuchtet , kleiner 12,5 Volt
leuchtet nicht . Sollte symmetrisch funktionieren.

Norbert beschreibt einfachen Test mit Schwelle bei  11 Volt :
(evtl. mal auf Bus mit Oszi messen was High und was Low ist ,Mittelwert 
ist
Schwelle)

Funktionsprüfung ohne Heizungs-Anschluss mit Prüfspannung.
Eine externe Spannung von ca. 14-15 Volt (geladene Autobatterie ect.) an
den HT3-Bus Printklemmenblock anschliessen. Die LED D3 muss aufleuchten,
wenn die Polarität der Eingangsspannung passt. Stromaufnahme dabei
grösser als 1.6 mAmpere aber weniger als 5 mAmpere.
Gleicher Test mit reduzierter Eingangsspannung von weniger als 11 Volt.
Die LED D3 darf garnicht oder nur wenig leuchten. Die Stromaufnahme muss
weniger als 1 mAmpere sein. Falls dies nicht passt bitte den Anschluss
der Zenerdiode D2 prüfen.

Gruss Ferdinand

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

Heiko schrieb:
>dass bei mir die Warmwasser-Messages sehr selten kommen und oft Fehler bei
>den crc vorkommen.
Wenn die anderen Telegramme angezeigt werden, glaube ich nicht recht an 
ein Hardware-Problem.
Woran hast Du gesehen, daß häufig crc-Fehler kommen?
Die Telegramme kommen je nach Type im Rythmus von ca. 15, 30 und 60 
Sekunden, bzw. dann wenn eine Änderung in den Daten auftritt.
Bei mir sieht man die WW-Telegramme ca. alle 30 Sekunden.
Auf dem Bus sieht man im RAW-Datenstrom jedoch mehr Telegramme (z.B. von 
der Steuerung (Polling)) die keinen CRC-check haben und dies kann den 
Eindruck verfälschen.
Es kann jedoch auch einen Zusammenhang mit dem HT4i-Bus geben.
Bitte aktualisiere auch die Software. Diese ist jetzt auf dem github.com 
- Server zu finden unter:
URL:  https://github.com/norberts1/hometop_HT3.git

Gruß Norbert

von Heiko R. (Gast)


Lesenswert?

Moin moin,

vielleicht habe ich mich da etwas missverständlich ausgedrückt. Nicht 
alle Telegramme haben augenscheinlich bei mir ein Checksummen-Problem, 
nur die der Warmwasserdaten. Auffällig war, dass ich relativ schnell 
alle Werte bekommen habe, nur die Warmwasserdaten kamen sehr spät und 
wurden nur selten aktualisiert. Beim Erstellen eines Moduls für FHEM 
fiel mir auf, dass zwar häufig Warmwasserdaten gesendet wurden, aber 
meistens ein Checksummenfehler auftrat. Ich logge mal gerade mit und 
versuche, die Ursache zu finden. Ich gehe auch nicht von einem 
Hardware-Problem aus, da die restlichen Telegramme (auch die, die nicht 
ausgewertet werden) gut aussehen.

Gruß,
Heiko

von Heiko R. (Gast)


Lesenswert?

Update:

Ich habe etwas mitgeloggt und mir die Telegramme für 88 00 34 00 
angesehen. Ich habe 25 Bytes und damit stimmt auch die Checksumme.

Komplettes Telegramm:
88 00 34 00 38 02 1F 02 1F A1 00 00 03 00 00 01 6D 00 00 29 00 80 00 DC 
00

Ich werde mal beobachten, ob er irgendwann mal ein kürzeres Telegramm 
einschiebt, das würde erklären warum ich sehr spät Wasserdaten bekommen 
habe.

Gruß,
Heiko

von Norbert S. (junky-zs)


Lesenswert?

Hallo Heiko,
das WW-Telegramm ist mit 25 Byte länger als das was bisher im Decoder 
ausgewertet wurde (Länge 23)und bisher bekannt war.
Die zwei Bytes 80 00 am Ende vor dem CRC:= DC und dem Break:=00 sind 
offensichtlich zusätzlich.
Falls sich das konstant so bestätigt, ist eine Anpassung im Decoder 
erforderlich. Fürchterliches rumgefrickel was die da an Protokollen auf 
den Kunden loslassen, na ja ist ja nur Software und die passt sich halt 
an.
Um dem ganzen dynamisch beizukommen und ich mir ziemlich sicher bin, daß 
die 80 00 am Ende vor dem CRC konstant ist, schlage ich vor den CRC-test 
mit 23 Byte Datenlänge durchzuführen (wie jetzt schon vorhanden) und 
wenn dieser fehlschlägt_ die restlichen 2 Byte nachladen und _erneut 
CRC-check durchführen.
Dies ist zwar nicht schön, aber den Mist haben andere verbockt und weil 
wir z. Zeit keine Break-Erkennung drin haben sind wir auch noch selber 
schuld.
Ich denke Du bekommst das zum fliegen und beobachtest das noch ein 
wenig.

Nichts ist schöner als eine Heizung die man nicht braucht 
(wetterbedingt) :)

Gruß Norbert

von Heiko R. (Gast)


Lesenswert?

Hallo Norbert,

ja, die 80 00 ist bisher konstant. Möglicherweise habe ich noch zwei 
andere Telegramme gefunden : 88 00 1C 00 und 88 00 2A 00. Und irgendeine 
andere "Anomalie" schwirrt da auch noch rum, aber da kann ich noch keine 
Regelmäßigkeit finden.

Ich hatte so eine ähnliche Idee, ich probiere erst 25, dann 23, dann 22. 
Die nicht benötigten Bytes bleiben einfach im Puffer.

Gruß,
Heiko

von Heiko R. (Gast)


Lesenswert?

Moin moin,

es ist mal wieder ein neues Telegramm aufgetaucht:

9000ff0000d3010000aa00 900009008900

Natürlich stimmt die Checksumme nicht, wohl aber für den Teil bis zum 
Leerzeichen (checksumme aa). Das Telegramm kommt etwa alle 10 Minuten 
und bisher blieb es gleich. Der Teil nach dem Leerzeichen variiert 
manchmal.

Gruß,
Heiko

von Heiko R. (Gast)


Lesenswert?

Moin,

Update:
Es gibt noch ein Telegramm 9000ff0000d3020000a600. Dieses kommt bei mir 
auch etwa alle 10 Minuten in der Zeit von 23 Uhr. Ab 5 Uhr kommt wieder 
9000ff0000d3010000aa00.

Gruß,
Heiko

von Norbert S. (junky-zs)


Lesenswert?

Hallo Heiko,
ja, das Telegramm habe ich auch bei mir gefunden, ist somit nicht HT4i 
speziell, habe dort jedoch bei gleicher Länge etwas andere Werte:

 90 00 ff 00 00 d3 00 0a 00 ba 00

Es wird auch etwa alle 10 bis 20 Minuten gesendet. Gefunden bei mir in 
einem alten Logfile.
Werde dies gleich in den Dekoder einbauen und länger laufen lassen. Mal 
sehen was dem so soll.

Was macht Deine WW-Auswertung, bist Du da weitergekommen?

Gruß Norbert

von Heiko R. (Gast)


Lesenswert?

Hallo Norbert,

das FHEM-Modul läuft soweit. Es sind allerdings wieder zwei Telegramme 
aufgetaucht (wieder 90FF00, aber diesmal wahrscheinlich länger). Diese 
hängen wohl mit einer Tag/Nacht-Umschaltung zusammen, eines kommt 
morgens, das andere abends. Ansonsten kommen keine CRC-Fehler mehr 
durch. Ich werde kurz vor der Umschaltung heute Abend nochmal ein Log 
mitschreiben, um die Länge rauszufinden. Dann muss ich mir nochmal die 
Heizungsmodi ansehen, da habe ich ein paar Umschaltungen gesehen, die 
ich noch nicht ganz verstehe.

Gruß,
Heiko

von Heiko R (Gast)


Lesenswert?

Hallo Norbert,

ich habe noch zwei neue Nachrichten gefunden, diesmal mit 9 Bytes Länge
  90 00 ff 00 00 6f 02 c4 00
  90 00 ff 00 00 6f 03 c5 00

Sie werden nur zu den Umschaltzeiten gesendet (bei mir die erste um 22 
Uhr und die zweite um 05 Uhr). Sie geben also den neuen Heizmodus 
(Comfort, Eco, Frost) an.

Gruß,
Heiko

von fsigloch (Gast)


Lesenswert?

Hallo Norbert,

ich habe jetzt eine CSW14 Leiterplatte und einen FR120 Regler.

Die Stecker und Buchsen sind ein großes Problem, wahrscheinlich muss

ich mir die original Kabelbäume besorgen, anlöten will ich nicht.

Wenn ich es je zum Laufen kriege, hoffe ich auf starke Software-

Unterstützung von dir. Ich melde mich dann.


Gruß Ferdinand

von fsigloch (Gast)


Lesenswert?

Hallo Norbert,

der Heizungssimulator läuft soweit, Widerstände simulieren die Fühler.

Die fehlende Heizungspumpe wird  mit H5 Fehler angezeigt.

Der CRC Check für 90 00 FF (FR200) ist im Moment ausgeschaltet,

irgendwie scheinen die was geändert zu haben. Vorlauf Rücklauf Außen 
Temp

wird normal angezeigt.

Jetzt könnte ich Software Hilfe gebrauchen.


Gruß Ferdinand

von fsigloch (Gast)


Lesenswert?

Hallo,

offensichtlich findet der CRC-Check beim FR 200 Regler mit Byte 12 
statt.

Jetzt brauch ich einen Einstieg um die Temperatur über den Bus zu 
stellen.

Die Software soll nicht grafisch sein.


Gruß Ferdinand

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo Ferdinand,

prima das es jetzt läuft.
Um den Protokollen ein wenig auf die Spur zu kommen habe ich das 
TAR-File (ttytest-logger) angehängt welches Dir die Daten binär 
aufzeichnet. Bitte länger laufen lassen und Logfile mir zusenden oder 
hier posten. Kann dann parallel den Inhalt analysieren.
Bitte die Schnittstelle (ttyAMA0 oder ttyUSB0) vor dem Start auf die 
richtige Baudrate (9600) einstellen:
1. stty -F /dev/ttyAMA0 9600
oder
2. stty -F /dev/ttyUSB0 9600
Bin u.A. dabei die Software um die BREAK-Erkennung bei RX-Telegrammen zu 
erweitern. Dies läuft jedoch noch nicht zuverlässig und deshalb vorab 
dieses log-tool.

Du könntest jetzt auch das Netcom 100 bzw. MB LAN2 an den Bus hängen um 
dort die Protokolle mitzuschneiden.

Gruß Norbert

von fsigloch (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Norbert,

MB LAN hab ich nicht mehr.

Mit Netcom 100 hab ich einmal 23 Grad eingestellt und danach

22 Grad. (Hoffe das Loggen hat funktioniert).

Es wurde nicht am Übungsystem gemessen,sondern an der echten Heizung.

Ich kann das Netcom nicht ans Übungsystem hängen, weil ich es

an der echten Heizung brauche.

Das Übungsystem ist ja eigentlich zum Senden gedacht. TX über einen 
Opto-

koppler ist auch schon vorgesehen. Das Netcom sollte später

noch parallel dranbleiben können. Ich hoffe , daß es nicht so ist wie

der Junkers Service behauptet : Entweder MB LAN oder Netcom 100 und wir

auch über die Adresse vom Netcom gehen müssen.


Gruß Ferdinand

von fsigloch (Gast)


Lesenswert?

Hallo Norbert,


von deiner Schaltung gibt es da eine Leiterplatte ?
Könntest du mir eine Unbestückte zusenden ?
Bestücken kann ich sie selbst.



Gruß Ferdinand

email:fsigloch@yahoo.com

von Norbert S. (junky-zs)


Lesenswert?

Hallo Ferdinand,

der HT3-Sniffer Adapter ist unterwegs, wird wohl heute bei Dir ankommen.

Hinweis:
 Nicht jeder der misst ist eine Messi.

Gruß Norbert

von fsigloch (Gast)


Lesenswert?

Hallo Norbert,

was ist damit gemeint ?


Messi : schwerwiegendes Defizit Aufgaben zu organisieren ?

Oder Lionel Messi?

Gruß Ferdinand


Norbert S. schrieb:
> Hallo Ferdinand,
>
> der HT3-Sniffer Adapter ist unterwegs, wird wohl heute bei Dir ankommen.
>
> Hinweis:
>  Nicht jeder der misst ist eine Messi.
>
> Gruß Norbert

von Norbert S. (junky-zs)


Lesenswert?

Hallo Ferdinand,

>was ist damit gemeint ?
eigentlich nur ein schwerwiegendes Wissensdefizit bei HT3 zu verkleinern 
und ich hoffe, daß der Adapter Dir und uns dabei hilft :)

Gruß Norbert

von Robert S. (dings)


Lesenswert?

Hallo Wissende,

das ist ein sehr schönes Projekt, und es wird scheinbar immer besser. 
Aber wie kann ich mir denn sicher sein, ob ich eine Heatronic 3 vor mir 
habe? Antwort: Hast Du FW100, hast Du Heatronic 3.

(Wer richtig suchen kann, ist klar im Vorteil, und in der 
FW100-Installationsanleitung steht's: "Der FW100 kann nur an ein 
Heizgerät mit BUS-fähiger Heatronic 3 angeschlossen werden.")

Prima also! :-) Das Kunstwerk kann man nach dem Lösen einer Schraube 
(bei mir) nach vorne klappen und hinten gibt es da eine wunderschöne 
freie Schnittstelle (2 blaue Kabel mit Schraubanschluss). Sieht 
einladend aus, aber dort kommen laut Messgerät nur 5V an, das passt also 
irgendwie gar nicht gut zu den bisherigen Erkentnissen und Norberts 
Forschung. Wo genau schnappt man sich nun am besten den Bus für 
Anschluss an den (wenn das Mistwetter beginnt unbedingt zu bauenden) 
Adapter?

Gruß, Robert

: Bearbeitet durch User
von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo Robert,
>Aber wie kann ich mir denn sicher sein, ob ich eine Heatronic 3 vor mir
>habe? Antwort: Hast Du FW100, hast Du Heatronic 3.
Ja, die Fxyz Serie kann nichts anderes :), aber das kommt uns sehr 
entgegen!

Der Anschluss muss an den beschrifteten Klemmen 'B' erfolgen. Habe ein 
Bild meiner FW100 Anschluss-Platte beigefügt und den Schaltplan (Bild15) 
aus der FW100 Installationsanweisung.
Ich entnehme aber Deiner Beschreibung, das bei Dir der Regler FW100 
nicht an der Wand sondern direkt in der Heizungsteuerung montiert ist. 
Aber auch dort sind es die Anschlussklemmen 'B' für den Heatronic-Bus.
Ich kenne Deinen Kesseltyp nicht, daher schau bitte in den 
Installations-Unterlagen der Heizung nach.
Wenn nicht vorhanden gibt es die bei junkers.com.
Wenn Deine Heizung nicht so alt ist (ca. > 2010) hat die den HT3-Bus 
drin.
Die gemessene Spannung muss aber grösser als 5 Volt sein, ca 10 bis 16 
Volt.
Die zappelt zwar ein bischen wegen der Signalisierungen, geht aber 
niemals auf 5 Volt.

Gruß Norbert

: Bearbeitet durch User
von Robert S. (dings)


Lesenswert?

Hallo Norbert,

danke für die Bilder. Das ist immer super!

> Ja, die Fxyz Serie kann nichts anderes :), aber das kommt uns sehr
> entgegen!

Das fand ich auch extrem nett. ;-)

> Der Anschluss muss an den beschrifteten Klemmen 'B' erfolgen.

Das mit dem "B" hatte ich schon oben gelesen, bei mir auf die Schnelle 
aber keine passende Beschriftung entdeckt, was aber wohl einfach darauf 
zurückzuführen ist, dass bei mir der FW100 direkt eingebaut ist (wie Du 
schon richtig geschlossen hast).

> Aber auch dort sind es die Anschlussklemmen 'B' für den Heatronic-Bus.

OK. Ich hatte mich gestern noch nicht getraut das weiter 
auseinanderzubauen, denn da war an einer Stelle irgend so ein Kleberchen 
drum. Vermutlich, damit nicht jeder dahergelaufene Bastler seinen RPi da 
anschliesst, ohne dass man ihm nachher die Garantiebedingungen um die 
Ohren hauen kann. Aber ich werde wohl am Wochenende noch einmal 
vorsichtig auf die Suche gehen. Kann ja wohl nicht sein, dass man immer 
vor dem Ding stehen und sich durch die Menüs hangeln muss, nur um mal zu 
sehen, ob es ihm gut geht.

> Ich kenne Deinen Kesseltyp nicht, daher schau bitte in den
> Installations-Unterlagen der Heizung nach.

Nennt sich "ZBS 14/210 S-3 MA..." und ist alles in so einem Kombi-Block, 
dazu gibt's Solar auf dem Dach und einen Temp-Fühler draußen. 
(Vermutlich sind also die blauen Kabel für irgend etwas anderes 
Schlaues.) Aber sprechen nicht auch auch die anderen Komponenten, also 
z.B. der Regler für den Solarkreislauf oder der Außenfühler über den 
Bus? Dann könnte man ja vielleicht auch dort irgendwo aufspringen.

Gruß Robert

von Fsigloch (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Robert,

auf Seite 25 ist der Busanschluss deiner Heizung.

Gruss Ferdinand

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo Robert,
in Deiner sehr kompakten Anlage hast Du, Junkers sei Dank 
Standardkomponenten verbaut. Für den Solaranteil ist das Modul ISM1 
zuständig und dies ist links an Deiner Heizung befestigt (Verkleidung 
abnehmen).
Das ISM1 habe ich ebenfalls und viele andere wohl auch, daher habe ich 
ein Bild beigefügt aus dem der Anschluss hervorgeht.
Der Heatronic-Bus liegt auf den rechten zwei Klemmen mit B bezeichnet.

Und Junkers hat sogar noch eine Einführtülle freigehalten damit wir uns 
daran anschliessen können, sehr gut.

Wie gesagt, wir bleiben in Kontakt :)

Gruß Norbert

: Bearbeitet durch User
von Robert S. (dings)


Lesenswert?

Hallo Norbert,

danke für's Aufschrauben Deines ISM1 und das Foto!

> Das ISM1 habe ich ebenfalls und viele andere wohl auch, daher habe ich
> ein Bild beigefügt aus dem der Anschluss hervorgeht.
> Der Heatronic-Bus liegt auf den rechten zwei Klemmen mit B bezeichnet.

Da kann ja nix mehr schief gehen (und ich kann bei mir sogar das 
"Siegel" in Ruhe lassen).

Bevor ich jetzt in meinen Kramkisten suche und dann die Bestellung für 
die fehlenden Einzelteile abschicke: Zu welchem Deiner Modelle würdest 
Du heute raten (bzw. würdest Du von einem eher abraten)? Bei mir wird 
auf jeden Fall ein Raspberry Pi das Auslesen übernehmen, denn der wohnt 
da eh schon in der Nachbarschaft der "Kompaktheizzentrale".

Viele Grüße, Robert

P.S. Ferdinand: Besten Dank für's PDF!

von Norbert S. (junky-zs)


Lesenswert?

Hallo Robert,
>Zu welchem Deiner Modelle würdest Du heute raten (bzw. würdest Du von einem eher 
abraten)?
Alle Module (HT3_Adapter und HT3_MicroAdapter) sind gleichwertig, 
unterscheiden sich auf der HT3-Busseite garnicht und auf der 
Auswerteseite nur durch den direkten UART- bzw. virtuallen 
UART-USB-Anschluss. Beide Versionen laufen am RaspberryPi.
Beide Versionen sind gleichgut beim Empfang von Bus-Telegrammen.
Für das kontrollierte Senden von Telegrammen auf dem Bus sind beide 
nicht so gut geeignet (siehe weiter oben).
Für das kontrollierte Senden auf dem HT3-Bus ist ein modifizierter 
Adapter in Arbeit jedoch noch nicht fertig.
Wenn Du den HT3_Microadapter nimmst, hast Du die Port-Pins des 
RaspberryPi noch für andere Dinge frei und Du kannst den Adapter bei 
Bedarf auch noch woanders anstöpseln.

Gruß Norbert

von Hartmut D. (Gast)


Lesenswert?

Hallo Heiko,
Heiko R. schrieb:
> Ich habe etwas mitgeloggt und mir die Telegramme für 88 00 34 00
> angesehen. Ich habe 25 Bytes und damit stimmt auch die Checksumme.
>
> Komplettes Telegramm:
> 88 00 34 00 38 02 1F 02 1F A1 00 00 03 00 00 01 6D 00 00 29 00 80 00 DC
> 00
>
> Ich werde mal beobachten, ob er irgendwann mal ein kürzeres Telegramm
> einschiebt, das würde erklären warum ich sehr spät Wasserdaten bekommen
> habe.

Konntest du hier schon etwas genaueres herausfinden?
An unserer Heizung kann ich auch nach Stunden noc keine "Warmwasser" 
Telegramme empfangen (neueres Modell von 4/2014).

Wenn ich irgendwie die Suche unterstützen kann, sagt bescheid.

Gruß
Hartmut

von Arne M. (armut)


Lesenswert?

Tolles Projekt! noch 2 Ideen:

Du kannst auf deiner Platine noch einen Stepdown für 3,3V 
implementieren. Aus denen kannst du dann den Pi versorgen und den Pi 
eigenen Spannungsregler kannst du dann stilllegen.

Den Tasteranschluss mit Stiftleiste und Rastnase und keine reine 
Stiftleiste nehmen.

von strauch (Gast)


Lesenswert?

Arne M. schrieb:
> Du kannst auf deiner Platine noch einen Stepdown für 3,3V
> implementieren. Aus denen kannst du dann den Pi versorgen und den Pi
> eigenen Spannungsregler kannst du dann stilllegen.

Die Idee hatte ich auch schon. Norbet möchte aber die beiden Geräte 
galvanisch getrennt haben, deshalb ist das nicht möglich.

von Norbert S. (junky-zs)



Lesenswert?

Hallo,
es hat sich wieder was auf der Hardwareseite getan.
Die Signal Break-Erkennung und das kontrollierte Senden auf dem 
Heizungsbus war bisher ja ein Problem.
Rein durch Software war dies schlecht zu lösen.
Deshalb habe ich den Heizungsbus-Adapter überarbeitet und ihm einen 
Atmel spendiert.
Dieser ist als 'Erfassungs-Frontend' für die Erkennung und das Senden 
von Break-Signalen und Daten auf dem seriellen Bus zuständig. Weiterhin 
wird konsequent die galvanische Trennung im RX-/TX-Zweig verwendet (man 
will ja bei dem Wetter keine kalten Füße bekommen).
In der Dekodierungs-Software (hometop_HT3) ist nur die Baudrate von 9600 
auf 19200 Baud zu ändern, weitere Änderungen sind z.Zeit nicht 
erforderlich (File: ./lib/ht3_worker.py Zeile:63)
Als Interface zum RaspberryPi wird weiterhin die serielle Schnittstelle 
benutzt (19200 8N1) und auf der Heizungs-Busseite natürlich 9600 8N1.

Ebenfalls ist das Senden von Bus-Kommandos mit diesem Adapter möglich. 
Der Adapter ist dabei als 'Modem' mit der zugehörigen Adresse (0d)hex 
eingestellt und sendet die ihm übergebenen Daten gemäß dem 
Bus-Protokoll. Es läßt sich also damit eine Fernsteuerung der eigenen 
Heizung ähnlich Netcom100 realisieren.
Die zugehörige Software ist vorhanden (Python3, Adapter-extern) und 
funktioniert auch, nötige Anpassungen sind jedoch noch nicht fertig.

Das ganze läuft unter dem Titel: 'ht_transceiver' und hat die zwei 
Adaptertypen 'ht_piduino' und 'ht_pitiny'.

Einige Antworten auf Fragen die noch garnicht gestellt wurden:

Wozu zwei Adapter?
Dies ist ein Teil der Entwicklung und ja das Bessere ist des Guten Feind 
(wobei jeder selbst entscheiden muss was nun besser ist).
Beide unterscheiden sich NICHT in ihrer Funktionalität, der ht_pitiny 
ist eine Weiterentwicklung des 'ht_piduino'.

Welchen Adapter würde ich auswählen?
Na wohl den 'ht_pitiny'. Immerhin hat der vier 911 an board. Wer hat das 
sonst schon im Stall!

Welche Gründe für die Weiterentwicklung?
Der 'ht_piduino' ist doch recht stramm bestückt und der Prozessor in 
diesem Gehäuse ist auch nicht der kleinste. Dies kann eng auf dem 
RaspberryPi werden, zumal wenn man dort einen Kühlkörper auf der CPU 
hat. Es könnte zu thermischen Problemen führen wenn man auch noch ein 
Gehäuse drum hat. Allerdings hat der 'ht_piduino' auch mehr Speicher und 
Platz für Erweiterungen.

Wie komme ich an die Software- und Hardware-Informationen?
Diese ist wie gehabt auf github abgelegt unter:
 https://github.com/norberts1/hometop_ht_transceiver.git
Dort sind die Source-/Binär-Files und die Dokumentation abgelegt. Die 
Software ist mit Atmel-Studio 6.2 erstellt.

Ist der Adapter auch für andere Heizungssysteme geeignet?
Ja, nicht nur Junkers- sondern auch Buderus-Heizungen können mit diesem 
Adapter gesteuert werden!.
Bei Junkers-Heizungen ist dies jetzt schon möglich, bei Buderus EMS muss 
die Lower-Level (uart) Software des 'ht_transceiver' angepasst werden. 
Hier auch noch mal heissen Dank an Danny Baumann und seine Vorarbeit 
beim EMS -> Beitrag "EMS > Adapter > NetIO > Raspi"
Sicher können auch noch Heizungen anderer Hersteller mit diesem Adapter 
gesteuert werden, Bedingung ist ein serieller Bus und die Signalisierung 
auf der 2-Drahtleitung. Alles andere ist dann Software-Sache!


Ganz besonders möchte ich mich hier bei Fsigloch für die Unterstützung 
bedanken. Ohne ihn wäre dies nicht so schnell möglich gewesen !

Gruß Norbert

: Bearbeitet durch User
von strauch (Gast)


Lesenswert?

Norbert S. schrieb:

> Ganz besonders möchte ich mich hier bei Fsigloch für die Unterstützung
> bedanken. Ohne ihn wäre dies nicht so schnell möglich gewesen !

Hallo Norbert,

ich ähh bin beeindruckt. Also ich möchte mal ein ganz dickes Dankeschön 
an dich für diese tolle Arbeit los werden :-).

Eine Frage stellt sich mir noch, kann man die Platine zur Bestückung 
irgendwo bei dir bekommen? Vielleicht auch schon teilweise vorbestückt? 
(SMD Bauteile?)

Dankeschön

strauch

von Norbert S. (junky-zs)


Lesenswert?

strauch schrieb:
>...kann man die Platine zur Bestückung irgendwo bei dir bekommen?
> Vielleicht auch schon teilweise vorbestückt? (SMD Bauteile?)
Habe eine bestückte ht_piduino und zwei bestückte ht_pitiny Platinen zur 
Verfügung. Ansonsten nur noch wenige unbestückte ht_pitiny Platinen.
PM an mich für weitere Informationen.

Gruß Norbert

: Bearbeitet durch User
von Heiko R. (Gast)


Lesenswert?

Hallo Norbert,

wenn ich das richtig sehe, werden HT_piduino und HT_pitiny auf den 
GPIO-Port des Raspberry Pi gesteckt (analog zum HT3-MiniAdapter)? Ist 
etwas ähnliches geplant mit dem UM2102 über USB? Ich möchte mir ungern 
die GPIO-Ports dichtmachen, da noch Gas- und Wasserzähler eine 
Auswertung spendiert bekommen sollen.

Gruß,
Heiko

von Norbert S. (junky-zs)


Lesenswert?

Hallo Heiko,

genau für diesen Anwendungsfall habe ich mir einen passiven Adapter 
erstellt, der
1. eine 13*2-ploige Stiftleiste (wie beim Raspi) und
2. eine 6*1 und 2 Stück 5*1 Stiftleisten für das UM2102 bereitstellt.

Das UM2102 liefert dabei die 3.3Volt an den ht_transceiver und ist mit 
TXD und RXD entsprechend korrekt verbunden.
Ja und zusätzlich habe ich mir den 2*3 Poligen Sockel für die 
ISP-Programmierung gegönnt damit die Aktualisierung der Software einfach 
geht.
Somit kann man auch über USB die Daten erfassen (naja nicht wirklich 
neu, ausser jetzt mit korrekter Break-Erkennung) und auch bald die 
Heizung steuern.
Falls Schaltplan nötig, kann ich den hier quick and dirty bereitstellen.

PS: Für die FHEM Anbindung/Erweiterung (Senderichtung) kann ich 
Informationen bereitstellen. Einfach PM an mich.

Gruß Norbert

von strauch (Gast)


Lesenswert?

Hallo Norbert,

ich muss noch mal eine philosophische Frage stellen ;-). Für was hält 
die Gastherme den Adapter eigtl. später für ein Wandthermostat wie das 
FW120 oder eine Fernbedienung wie das Junkers FB10?

Ich überlege wie man später denn die Steuerung der Therme am 
intelligentesten mit der Heimautomation macht. Sag ich einfach immer 
stumpf, Tag oder Absenktemperatur oder gebe ich der Therme besser eine 
"imaginäre" Raumtempereatur mit. Je nach Bedarf in irgendeinem Raum.

Danke und Grüße

strauch

von Norbert S. (junky-zs)



Lesenswert?

Hallo,

strauch schrieb:
>Für was hält die Gastherme den Adapter eigtl. später für ein Wandthermostat wie 
>das FW120 oder eine Fernbedienung wie das Junkers FB10?

Der ht_transceiver ist als MODEM (Adr.: 0d)hex vorkonfiguriert und 
sendet den ihm übergebenen Telgramm-Inhalt auf dem HT-Bus (als 
Bus-Slave).
Mit den Telegrammen, die an den ht_transceiver Adapter gesendet werden, 
kann das Netcom100 nachgebildet werden. Siehe dazu die beigefügten 
Display-Bilder meines FW100.
Steuermöglichkeiten sind somit z.Zeit:
1. Netcom Betriebsart (Auto/Heizen/Sparen/Frost), Abkürzung 'NC' in der 
Anzeige
2. Temperaturniveau-Verstellung für Heizen, Sparen und Frost.

Die Junkers Netcom100 Beschreibung ist unter www.junkers.com vorhanden, 
dort steht leider auch nicht soviel drin.

Funktion des ht_transceiver - Adapters:
Der ht_transceiver fügt zum Telegramm-Inhalt nur seine eigene Adresse: 
(0d)h + (80)h -> (8d)h und die zugehörige CRC hinzu.
Die Junkers Geräte-Adressen sind teilweise identisch mit denen des Bosch 
EMS-Systems, siehe auch URL:
 http://ems-gateway.myds.me/dokuwiki/doku.php?id=wiki:ems:ems-telegramme
Der Adapter kann durch Software-Befehle auf eine andere Geräte-Adresse 
eingestellt werden und somit könnte er z.B. zu einer FB10/100 werden. 
Dies ist jedoch noch nicht getestet und falls eh schon eine FB10/100 im 
System vorhanden ist scheidet dies auch aus, denn ACHTUNG:
Es darf niemals die gleiche Adresse (Gerät) zweimal in einem Bus-System 
vorhanden sein, auch nicht zwei Modem's (0d)h. (Motto: Viele Geräte 
verderben den Telegramm-Brei!).

Fazit: Der ht_transceiver ist default auf die 'Modem-Adresse' 
eingestellt, lässt sich aber umkonfigurieren. Somit sind auch zwei und 
mehr 'ht_transceiver'-Adapter mit unterschiedlichen Adressen am gleichen 
HT-Bus denkbar.
Somit muss auch die übergeordnete Applikation für die Eigenschaft des 
'ht_transceivers' konfigurierbar sein (Modem/FB10/100 ect, zu sendende 
Telegramme hängen ja auch davon ab).
Ich hoffe einen Teil Deiner Fragen damit beantwortet zu haben!

Gruß Norbert

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo Heiko,
hier der Schaltplan für einen passiven 'ht_transceiver <-> UART/USB' - 
Adapter.
Der Verdrahtungsaufwand ist überschaubar und ich habe dies auf einer 
Lochraster-Platine realisiert.

Mit dem Jumper J1 kann entweder 3.3 oder 5.0 Volt an den ISP-Adapter 
gelegt werden, jenachdem was für eine Betriebsspannung das Board hat.
Die verwendete Adapter-Betriebsspannung habe ich fest verdrahtet J1-1 -> 
3.3Volt und J1-2 5.0Volt (so wie beim RaspberryPi).

Gruß Norbert

von strauch (Gast)


Lesenswert?

Hallo Norbert,

danke für die ausführliche und bebilderte Antwort, dass beantwortet 
meine Fragen :-).

Grüße

strauch

von Heiko R. (Gast)


Lesenswert?

Hallo Norbert,

vielen Dank für die Erläuterungen und für die Arbeit. Hast Du zufällig 
noch eine pitiny-Platinw über? Ich muss die Neuerungen ja mal wieder ins 
FHEM-System einbringen.

Gruß,
Heiko

von strauch (Gast)


Lesenswert?

Man bekommt den ATtiny841 SOIC bei guloshop . Bei mouser scheints eine 
Mindestbestellmenge zu geben. Ich hoffe die Werbung ist erlaubt, ich hab 
ne Weile suchen müssen, das Ding zu bekommen.

von Norbert S. (junky-zs)


Lesenswert?

Hallo Heiko,
habe noch eine 99% bestückte da, und die fehlende Bauteile sind heute 
gekommen.
Reserviere die für Dich. Bitte PM an mich.
Kann maximal noch 3 ht_pitiny-Adapter bestücken.
Ansonsten wenn die Nachfrage passt (>10 Stück) werde ich im nächsten 
Jahr noch Platinen bestellen.

Den ATtiny841 bekommt man auch bei: http://www.hbe-shop.de/ (Heinz 
Buechner). Limit sind dort wohl jedoch 30€ Bestellsumme.

Gruß Norbert

von Marcus (Gast)


Lesenswert?

Hallo Norbert,

ich bin über das fhem-Forum auf diesen Thread aufmerksam geworden.
Ich würde meine Junkers-Therme mit FW100 auch gerne über fhem steuern 
können.

Da ich zwar programmieren kann, löttechnisch jedoch zwei linke Hände 
habe, würde ich mich riesig freuen gegen eine Aufwandsentschädigung eine 
Platine für den Raspberry erhalten zu können.

Wenn das möglich wäre, wie wäre der weitere Ablauf?

Frohe Festtage wünscht Euch
Marcus

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

Marcus schrieb,
>...eine Platine für den Raspberry erhalten. Wenn das möglich wäre, wie wäre der 
>weitere Ablauf?
Bitte eine E-Mail (PM aus dem Forum) an mich, weiteres dann dort.

Euch ebenfalls
Stressfreie Weihnachten (ist selten geworden) und ein Gutes Neues Jahr.

Norbert

von strauch (Gast)


Lesenswert?

@Norbert woran erkenne ich die richtige Polung beim neuen Adapter? Egal 
wieherum ich es anschließe die grüne LED blinkt nur. Ich bekomme 
momentan keine Daten auf die serielle Schnittstelle und muss mal ein 
paar Fehler ausschließen :-).

Ansonsten hoffe ich das alle Weihnachten gut überstanden haben, auch 
wenn es noch nicht ganz vorbei ist.

Danke

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo,
strauch schrieb:
>@Norbert woran erkenne ich die richtige Polung beim neuen Adapter?
Es gibt keine falsche Polung beim ht_transceiver (ht_piduino, 
ht_pitiny), da beide Adapter eine Brückenschaltung am Eingang haben.

>...die grüne LED blinkt nur
Die langsam blinkende grüne LED zeigt an, das kein Signal des HT-Bus 
erkannt wurde, Ursachen könnten sein:
1. Der SPI-Bus des Raspberry PI wird auch von anderen Devices verwendet.
2. Ein zugehöriger SPI-Treiber (z.B.: bcm2708_spi) belegt den SPI-Port.
Insbesondere die Blockierung des Pin J1-23 (SPI-CLK) könnte dazu führen, 
daß dieses Signal am Pin:PA4 (SCK) des ATtiny841 auf einem statisch 
festen Pegel liegt. Dieser Pin ist ja gleichzeitig mit 'HT RxD' 
Eingangssignal des HT-Bus verbunden.
Um dies als Fehlerursache auszuschliessen bitte folgendes prüfen:
Kontrolle ob beim Booten ein SPI-Treiber geladen wird, bcm2708_spi oder 
ähnlich.
Falls dieser geladen wird oder ein ähnlicher installiert wurde, bitte 
obiges Script ausführen. Dieses schaltet den SPI-SCK Port (J1-23) auf 
Eingang.


Also folgendes durchführen:
1. Installation des python-treibers (falls noch nicht vorhanden):
  # sudo apt-get install python-setuptools
2. Aufruf des scripts spi_clk_off.py:
  (Das script muss als 'root' ausgeführt werden!)
  # spi_clk_off.py
Danach sollte die grüne LED des ht_pitiny Adapters im Ryhtmus des 
HT-Bussignals flackern!

Bitte Info, falls dies die Ursache war!

Gruß Norbert

von strauch (Gast)


Lesenswert?

Das wars danke. Man ich hab ein minimal raspbian auf meinen raspberry a+ 
installiert. Da fehlt echt alles. Ich musste noch das Python Modul für 
die gpio Ports kompilieren. Da kommt ja eine Fehlermeldung nach der 
nächsten.

Das ich das neue Modul nicht mehr verpolen kann hab ich mir schon fast 
gedacht, weil es beide male das gleiche Ergebnis brachte.

Jetzt muss ich mir mal ergoogeln wie ich dein Script autostarte :-) und 
wie ich die serielle Schnittstelle per Socat zu meinem Hauptfhem 
bekomme.

Danke

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

habe die erforderlichen SW-Änderungen für die Deaktivierung des SPI-CLK 
Signals (Output wird auf Input geschaltet) in das github-repository 
eingepflegt, Grund siehe:
 Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"
Dort stehen auch die Details, was zu tun ist.

Die github-URL ist wie gehabt:
 https://github.com/norberts1/hometop_HT3.git
Bitte lokales Abbild aktualisieren.

Mit dieser Anpassung wird bei Verwendung des 'HT3_Logger.py' der SPI-CLK 
Port auf Input geschaltet, damit der 'ht_pitiny'-Adapter HT-Signale 
erhält.
Das zugehörige /etc/init.d/ht3_logger - script ist zu ersetzen damit 
nach einem Reboot diese Funktionalität vorhanden ist.

strauch schrieb:
>Jetzt muss ich mir mal ergoogeln wie ich dein Script autostarte :-)
Im Folder ./HT3/sw/etc/sysconfig ist das start-script 'ht3_logger' 
vorhanden. Dies kannst Du z.B. als Vorlage nehmen oder das im Raspian 
vorhandene: /etc/init.d/skeleton

Gruß Norbert

: Bearbeitet durch User
von Stephan (Gast)


Lesenswert?

Hallo,

ich möchte gern meiner neuen Heizung mit Heatronic 4i etwas auf die 
Finger gucken, was da so passiert. Also nur gucken, nichts steuern.
Nur Leistungen und Temperaturen loggen.
Ich habe dazu die im allerersten Post genannten Bauteile organisiert und 
werde die Schaltung aufbauen.

Gibt es zu der Raspberry-Software eine neue Version für diesen 
Einsatzzweck?
Die Software von 2013 kennt wahrscheinlich noch nicht alle nachträglich 
gefundenen Telegramme, oder? Und alle spätere Software ist wohl eher für 
andere Hardware/Software.

Danke schon mal...

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

Stephan schrieb:
>Ich habe dazu die im allerersten Post genannten Bauteile organisiert und
>werde die Schaltung aufbauen.
Für die reine Erfassung von Heizungstelegrammen ist diese preisguenstige 
Schaltung genau richtig. Dazu brauchst Du nicht einen ht_transceiver mit 
Break-Erkennung etc.
Bisher sind die neuen erkannten Telegramme noch nicht in die 
Dekodierungs-Software eingebracht. Der neue 'ht_transceiver'-Adapter 
erlaubt es jetzt die Telegramme sicherer zu Erfassen (Längenangabe, 
Telegrammheader etc.) und Logfiles sind vorhanden. Diese sind jedoch 
noch auszuwerten und einige neue Telegramme sind ja hier im Thread schon 
beschrieben (Warmwasser-Telegramm
 Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi") .
Mein Schwerpunkt liegt jetzt wieder mehr bei der Software und in einem 
neuen Release werden diese neuen Erkenntnisse enthalten sein.

>Und alle spätere Software ist wohl eher für andere Hardware/Software
Die zugehörige Software halte ich möglichst abwärtskompatibel und die 
wird auch die ältere Hardware unterstützen. Dies ist mir wichtig, da ich 
ja selber die verschiedenen Hardwaretypen im Einsatz habe.

Es dauert noch ein bischen, ist aber in Arbeit.

Gruß Norbert

von Stephan (Gast)


Lesenswert?

Hallo Norbert,

vielen Dank für die Info. Habe auch die Komplettinformationen im Github 
gefunden und gehe jetzt danach vor. Der Optokoppler ist allerdings eine 
echte Herausforderung. Conrad hatte den in keiner der 3 Berliner 
Filialen vorrätig und durfte ihn selbst auch nicht bestellen.
Aber wenigstens konnte ich es selbst zur Abholung in der Filiale 
bestellen. Dauert aber 2 Wochen...

Bin gespannt, was nachher dabei rauskommt, wenn die ersten Daten kommen.

Gruß,
Stephan

von strauch (Gast)


Lesenswert?

Ich hab meinen Adapter jetzt seit einigen Tagen in Betrieb. Ist wirklich 
sehr gute Arbeit von Norbet und auch sehr interessant zu sehen, wie die 
Heizungsanlage funktioniert und wie sie auf was reagiert.

Und es wirft bei mir schon die Frage auf bei Wieviel % Brennerleistung 
wohl die Gastherme am effizentesten ist. Leider hilft google da nicht 
viel weiter. Weil sich alles nur um die 110% dreht von wegen 
Brennwerttherme.

Grund meiner Überlegung ist, das morgen Warmwasser und Heizung 
gleichzeitig wieder "aktiviert" werden und der Brenner dort auf 100% 
geht, während er sonst am Tag meist so bei 40% rumdümpelt. Lasse ich nun 
heißwasser 15min vor der Heizung starten, kann ich den Peak vermeiden, 
aber bringts das, oder ist es sogar gut wenn der Brenner bei 100% 
Leistung ist.

Vielleicht weiß hier ja jemand genaueres. Der Heizungsbauer weiß es 
nicht. Junkers habe ich angeschrieben, glaube aber kaum das die mir das 
beantworten werden.
Gasverbrauch messen ist vermutlich auch einfach von zu vielen Variablen 
abhängig und damit zu ungenau.

von Stephan (Gast)


Lesenswert?

strauch schrieb:
> Und es wirft bei mir schon die Frage auf bei Wieviel % Brennerleistung
> wohl die Gastherme am effizentesten ist.

Also eine Therme ist allgemein dann am effektivsten, wenn sie möglichst 
wenig taktet. Also eine Therme, welche ständig mit kleiner Leistung 
durchgehend läuft und sich an den Bedarf anpassen kann, ist viel 
effektiver als eine, welche ständig an- und ausgeht.

Ich kann das aus Erfahrung sagen, denn meine alte Therme hat mit minimal 
rund 8kW eigentlich eine zu hohe Leistung gehabt für alles über 0 Grad, 
denn sie musste ständig abschalten. Die neue hat jetzt minimal 3,3 kW 
und läuft fast ständig mit 25%. Der Gaszähler dreht sich gaaaanz 
langsam.
Je länger ein Brenner läuft, desto effektiver ist es!

Grundsätzlich ist die Frage hier aber falsch und ich würde Dir das 
heizungsforum.de empfehlen.

von strauch (Gast)


Lesenswert?

@Stephan,

danke für den Tipp mit dem Forum, da werde ich mal ein wenig Suchen. 
Junkers hat widererwarten zurückgeschrieben, die Raten dazu, 
Heißwasser/Heizung getrennt starten zu lassen um den Peak zu vermeiden.

Grüße

strauch

von Stephan (Gast)


Lesenswert?

strauch schrieb:
> danke für den Tipp mit dem Forum, da werde ich mal ein wenig Suchen.

Vielleicht stellst Du Deine Frage mit Angabe des Heizungstyps in 
Junkers-Forum auf heizungsforum.de. Dann stelle ich meine Antwort dazu 
und wir können im richtigen Forum weiterkommunizieren.

von strauch (Gast)


Lesenswert?

@Stephan,

könnte ich tun, aber meine Frage ist in einem anderen Beitrag dort schon 
zu lesen bzw. beantwortet worden. Wäre also doppelt gemoppelt. Ich kann 
das Forum garnicht, sonst wäre ich hier damit garnicht erst aufgetaucht 
:-)

@Norbert, ich hab jetzt alle Teile für die 2. Platine. Ich hab eine 
Frage zum programmieren des Attiny441. Kann ich einfach das Hexfile vom 
git ( 
https://github.com/norberts1/hometop_ht_transceiver/blob/master/sw/pitiny/pitiny/Release/pitiny.hex 
) per avrdude auf den attiny flashen?

wobei ich gerade sehe das avrdude den 441 noch nicht unterstützt, oder 
kann man da einen anderen Typen wählen?

Kommando wäre dann grob:
avrdude -P gpio -c gpio -p attiny441 -U flash:w:/tmp/pitiny.hex -v

Grüße

strauch

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

strauch schrieb:
>Ich hab eine Frage zum programmieren des Attiny441. Kann ich ...
Bitte den Attiny841 verwenden, so wie es in der Stückliste angegeben 
ist:
https://github.com/norberts1/hometop_ht_transceiver/blob/master/hw/pitiny/Stueckliste_HT_pitiny_Adapter_distrelec.csv

Der Attiny441 hat zu wenig RAM-Speicher, auch mit Optimierung der SW war 
der nicht zum Fliegen zu bewegen.

Daher unbedingt die Stückliste beachten und den Attiny841 für den 
'ht_pitiny'-Adapter nehmen und NICHT die Angaben aus dem Schaltplan 
verwenden (Der Name 'ATtiny441_841' dort ist nur das verwendete 
Schaltplan-Symbol).

Gruß
Norbert

von strauch (Gast)


Lesenswert?

Hallo Norbert,

ich hab auch den Attiny841 bestellt. War wirklich durch den Schaltplan 
irritiert. Was ich sehe soll der auch schon mit avrdude laufen. Dann 
müsste das so wie oben gedacht gehen?

Grüße

strauch

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

mit avrdude kann man den 'ht_transceiver' programmieren.
Dafür sind das flash und das eeprom zu beschreiben (und die fuses)
------------------------------------
1. Für das Board: ht_piduino
1.1 Write hexfile to flash
 avrdude -C/<path>/avrdude.conf -v -patmega328p -cgpio 
-Uflash:w:piduino_cpp.hex    (alles in einer Zeile)
1.2 Write eeprom to flash
 avrdude -C/<path>/avrdude.conf -v -patmega328p -cgpio 
-Ueeprom:w:piduino_cpp.eep    (alles in einer Zeile)
------------------------------------
2. Für das Board: ht_pitiny
2.1 Write hexfile to flash
 avrdude -C/<path>/avrdude.conf -v -pattiny841 -cgpio 
-Uflash:w:pitiny.hex    (alles in einer Zeile)

2.2 Write eeprom to flash
 avrdude -C/<path>/avrdude.conf -v -pattiny841 -cgpio 
-Ueeprom:w:pitiny.eep    (alles in einer Zeile)

Bei den wenigsten wird der attiny841 im avrdude.conf-File eingetragen 
sein.
Natürlich bei mir auch nicht. Deshalb funkt dies noch nicht mit avrdude. 
Zur Zeit programmiere ich den attiny841 noch mit dem AVRISP MKII.

Das avrdude.conf-file muss für den attiny841 erweitert werden.
Eventuell hat dies jemand schon gemacht???
Dann bitte posten !!!

Gruß Norbert

: Bearbeitet durch User
von Stefan B. (sbiermann)


Lesenswert?

Norbert S. schrieb:
> Das avrdude.conf-file muss für den attiny841 erweitert werden.
> Eventuell hat dies jemand schon gemacht???
> Dann bitte posten !!!
>
> Gruß Norbert

Schau mal hier: 
http://www.avrfreaks.net/forum/need-help-using-attiny841-avrdude da 
wurde das schon gemacht. Angeblich läuft es auch...

von Sebastian (Gast)


Lesenswert?

@Stephan:
Ich habe auch grade versucht den Optokoppler über Conrad zu kaufen 
allerdings mit dem gleichen Erfolg wie Du.
Ich habe diesen und alle anderen Bauteile dann bei Segor (www.segor.de) 
in Berlin bekommen.
Und der Adapter und die Software laufen super.
Allerdings habe ich offiziell eine HT3 in meiner Therme aber trotzdem 
das Problem mit dem WW Telegramm.
Ansonsten versuche ich grade das Ganze an meinen OpenHAB Server 
anzubinden...

Grüße und vielen Dank an Norbert für die tolle Arbeit.

Sebastian

von Nils R. (augur)


Lesenswert?

Hi.

Ich hänge gerade am rrdtool und Google war da nicht hilfreich. Kennt 
jemand die Fehlermeldung:

Create: rrdtool-database (if request is enabled)
db_rrdtool.createdb_rrdtool();Error;<13>

Hab ein neues Wheezy und alles frisch installiert. rrdtool ist drauf und 
mit der Fehlermeldung finde ich nichts. Die SQLLite DB wird komplett 
installiert.

Viele Grüße,
Nils

von strauch (Gast)


Lesenswert?

Ich hab den Optokoppler bei Conrad bestellt:
http://www.conrad.de/ce/de/product/183276/Optokoppler-Isocom-Components-H11L1-DIL-6-Ausfuehrung-Optokoppler-mit-Schmitt-Trigger 
ist lieferbar. Oder hast du das auch vorort versucht?

@Norbert
hier hat einer eine Erweiterung für die conf Datei gepostet:
http://www.avrfreaks.net/comment/1017701#comment-1017701

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

Nils schrieb:
>Kennt jemand die Fehlermeldung:
>Create: rrdtool-database (if request is enabled)
>db_rrdtool.createdb_rrdtool();Error;<13>

Die Fehlermeldung bedeutet: Permission denied und diese Exception wird 
im Modul: ./lib/db_rrdtool.py geworfen.
Es wird ja für die Erzeugung der rrdtool-Datenbank ein Perl-Script im 
(Linux) /tmp-Verzeichnis erzeugt (Name:/tmp/rrdtool_dbcreate.pl) und 
dies dann aufgerufen und ausgeführt.
Bitte kontrolliere, ob dieses File vorhanden ist. Falls nicht liegt dort 
schon der Fehler, falls doch wird etwas bei der Ausführung danebengehen. 
Du kannst dieses Script auch von Hand ausführen und eventuell mehr 
Details sehen.

@strauch
Danke für die Info, werde dies testen

Gruß Norbert

von Stefan B. (sbiermann)


Lesenswert?

Hi Norbert,
wo hast du denn deine Platine(n) ätzen lassen? Ich würde jetzt langsam 
auch mal an die Sache ran gehen und für meine Junkers das Modul mit 
dedizierten Pi nutzen.

Viele Grüße
Stefan

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo an alle pitiny-Nutzer,

habe das avrdude.conf addon für den ATtiny841 ausgetestet und hier als 
TAR-file beigefügt.
Getestet mit avrdude Version 5.10 auf dem Raspberry.
Installation wie folgt:
1. user 'root'
2. TAR-File entpacken
3. cat avrdude_addon_attiny841.conf >>/etc/avrdude.conf

(Bei mir liegt das conf-file unter /etc)

Flashen und EEProm-Brennen ist dann auch für den ATtiny841 möglich so 
wie oben beschrieben unter:
Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"

Gruß Norbert

: Bearbeitet durch User
von Nils R. (augur)


Lesenswert?

Norbert S. schrieb:
> Bitte kontrolliere, ob dieses File vorhanden ist. Falls nicht liegt dort
> schon der Fehler, falls doch wird etwas bei der Ausführung danebengehen.
> Du kannst dieses Script auch von Hand ausführen und eventuell mehr
> Details sehen.

Hi.

Anscheinend ist die Bibliothek nicht korrekt in Perl geladen und er kann 
den Verweis nicht finden:
Can't locate RRDTool/OO.pm in @INC (@INC contains: /etc/perl 
/usr/local/lib/perl
/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 
/usr/lib/pe
rl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at 
./rrdtool_dbcreate.p
l line 5.
BEGIN failed--compilation aborted at ./rrdtool_dbcreate.pl line 5.


Dabei hab ich alles mit APT-GET installiert.  "sudo apt-get install 
rrdtool librrds-perl" müsste ja genügen alle notwendigen Sachen zu 
installieren. Oder benötigt das Skript noch eine andere Komponente?

Viele Grüße,
Nils

von Norbert S. (junky-zs)


Lesenswert?

Hallo Nils,

es fehlt offensichtlich das Perl objektorientere Interface zum rrdtool.
 'apt-get install librrdtool-oo-perl'.

Installiere dein System bitte anhand der vorhandenen Dokumentation, die 
im Verzeichnis ./HT3/docu/HT3_Adaption.pdf zu finden ist.
Dort im Kapitel 3. Installation sind die erfoderlichen Schritte 
beschrieben.

Gruß Norbert

von Nils R. (augur)


Lesenswert?

Hi Nobert,

der Hinweis hat gefehlt. Hab die Anleitung immer bis Kapitel 2 gelesen 
(sorry) und mir gedacht, dass es doch funktionieren soll. Blöder Fehler. 
:-/ jetzt läuft es auch. Danke Dir.

Viele Grüße,
Nils

von strauch (Gast)


Lesenswert?

Norbert S. schrieb:
> Getestet mit avrdude Version 5.10 auf dem Raspberry.
> Installation wie folgt:
> 1. user 'root'
> 2. TAR-File entpacken
> 3. cat avrdude_addon_attiny841.conf >>/etc/avrdude.conf

Noch als Ergänzung:
Es muss eine spezielle avrdude Version verwendet werden die gpio 
unterstützt 
(http://project-downloads.drogon.net/files/avrdude_5.10-4_armhf.deb). 
Gibt es z.B. hier:
http://project-downloads.drogon.net/files/

der cat Befehl hat bei mir nicht funktioniert weil das sudo sich 
scheinbar nicht auf das Einfügen bezieht 8vielleicht hat da noch jemand 
ein Tipp?). Ich hab es dann einfach mit dem VI Editor gemacht

sudo vi /etc/avrdude.conf
G # Um ans Ende der Datei zu gelangen
ESC # Aus dem Bearbeitungsmodus raus
:r avrdude_addon_attiny841.conf.txt # Um den Text der Datei einzufügen
:wq # speichern und Beenden

Das flashen hat dann nach der Anleitung oben geklappt. Ich werd die tage 
mal schauen ob ich eine Anleitung schreibe.

von Nils R. (augur)


Lesenswert?

Hi.

Kann ich die Grafiken auch in einem anderen Verzeichnis als tmp ablegen? 
Ich hab dies in rrdtool_draw.pl bereits geändert und die Berechtungen 
auf 777 gesetzt vom Zielverzeichnis.

my $ImageHG = "Dateiname mit Pfad"

Leider erstellt er mir diese aber nicht dort?

Viele Grüße,
Nils

von Nils R. (augur)


Lesenswert?

Passt.  Hab die Dateien kopiert und berechtigt. Nun werden diese auch 
aktualisiert und ich kann alles über den Apache verteilen. :-) War nur 
beim anlegen der Wurm drinnen wie es aussieht.

Nächster Schritt...Veröffentlichung auf KNX Bus.

vg Nils

PS. Kann ich den PI eigentlich parallel zu einem MB Lan anschließen?

: Bearbeitet durch User
von Norbert S. (junky-zs)


Lesenswert?

Hallo Nils,

es geht voran, prima!

>PS. Kann ich den PI eigentlich parallel zu einem MB Lan anschließen?
Ein klares JEIN !
Ohne besondere Vorkehrungen nicht, da ht_transceiver,Netcom100 und 
MB-Lan die gleiche Geräte-Adresse (0d)h haben und jeder wenn er dann vom 
Master abgefragt (gepollt) wird auch als Client antwortet -> HT-Bus 
Telegrammsalat.

Um den ht_transceiver trotzdem am HT-Bus zu verwenden muss man diesen 
passiv bzw. eine andere Geräteadresse verpassen. Dies habe ich mit den 
beiden Testpins realisiert (TP-Out und TP-In). Bisher sind diese Pins 
nicht bestückt, deshalb dort 2-Pin Header einlöten und Brückenstecker 
setzten (kann gesteckt bleiben).

Wenn die Brücke zwischen TP-Out und TP-In beim Booten gesteckt ist, wird 
der Native-Mode eingeschaltet. der ht_transceiver erhält dann 
automatisch die Geräte-Adresse (7f)h und da diese auf dem Bus nicht 
vorkommt leuchtet auch die ROTE-TX LED nicht mehr auf.
Es werden dann weiterhin die RX-Daten (ohne Header nur RAW) an der 
Schnittstelle ausgegeben. Somit kann der ht_transceiver parallel mit 
MB-Lan | Netcom100 betrieben werden.

Gruß Norbert

von fsigloch (Gast)


Lesenswert?

---Kann ich den PI eigentlich parallel zu einem MB Lan anschließen?---

Hat bei mir funktioniert mit Netcom100 : Geräteadresse 0d und

piduino Geräteadresse: 0a. Beide dürfen nicht die gleiche Adresse haben.

Gruß Ferdinand

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

Ferdinand schrieb:
>Hat bei mir funktioniert mit Netcom100 : Geräteadresse 0d und piduino 
>Geräteadresse: 0a.
Ja, das geht!
Dazu muss man allerdings im EEPROM des ht_transceivers die 
Geräte-Adresse verändern. Und das geht auch per Kommando zum Adapter.

Jedoch ist genau diese externe Software noch nicht reif für 'github' und 
daher erst mal diese Zwischenlösung.

Gruß Norbert

von Nils R. (augur)


Lesenswert?

Norbert S. schrieb:
> Es werden dann weiterhin die RX-Daten (ohne Header nur RAW) an der
> Schnittstelle ausgegeben. Somit kann der ht_transceiver parallel mit
> MB-Lan | Netcom100 betrieben werden.


Hi.

die Ausgabe im Raw Format heißt aber auch, dass alles korrekt von den 
Skripten weggeschrieben wird oder sind dort auch noch Anpassungen 
notwendig.

Viele Grüße,
Nils

von Norbert S. (junky-zs)


Lesenswert?

Hallo,
die Software zum Projekt 'hometop_HT3' ist korrigiert und erweitert 
(Rev.: 0.1.6). Bitte lokales Abbild aktualisieren.

!Nicht betroffen davon ist die Software des 'ht_transceivers'!

Details dazu auf:
Beitrag "Re: Heizungs-Datenerfassung (HT3)"

Gruß Norbert

von Norbert S. (junky-zs)


Lesenswert?

Hallo Nils,
>die Ausgabe im Raw Format heißt aber auch, dass alles korrekt von den
>Skripten weggeschrieben wird oder sind dort auch noch Anpassungen
>notwendig.
Nein, es sind keine Anpassungen dafür nötig, auch nicht in der gerade 
aktuaisierten homtop_HT3 Version: 0.1.6.
Hinweis: Dies liegt an der Art wie Telegramme geparst werden (Byteweise 
und Suche nach bekannten Bus-Telegramm Headerbytes (in der Payload). 
Daher ist es egal ob diese Payload noch einmal verpackt ist in einem 
zusätzlichen Telegramm (mit eigenem Header und starttag '#') oder ob die 
Paylout im 'RAW'-Format gesendet wird.

Schlag mich wenn es einmal anders sein würde, aber ich wollte und will 
weiterhin alle Hardware-Typen mit der Software bedienen und 
abwärtskompatibel bleiben!

Gruß Norbert

von strauch (Gast)


Lesenswert?

Hallo Norbert,

wir haben jetzt den 2 Adapter fertig gelötet, wenn ich da mit einem 
Labornetzteil 15V drauf gebe, leuchtet keine LED. Kann ich den Adapter 
überhaupt genauso prüfen wie den ersten, oder muss ich da etwas anderes 
überprüfen.
Wollte meinen faulerweise nicht abmontieren um es gegen zu prüfen.

Danke für deine Hilfe

Grüße

strauch

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Strauch
>wenn ich da mit einem Labornetzteil 15V drauf gebe, leuchtet keine LED.

Die LED's werden anders als bei den HT-Mini/Micro-Adaptern nur vom uP 
(ATtiny841/ATmega328) angesteuert (Interrupt/Mainloop) und sind nicht 
mehr direkt mit dem HT-Bus verbunden.

Daher wie folgt vorgehen:
1. Prüfung ob Board soweit keine Kurzschlüsse hat (HT-Bus, 3.3Volt<->GND 
etc.)
2. Board auf Raspberry stecken und mit Software (Flash und EEProm) 
betanken, siehe Beschreibung:
Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"

Nach dem Reset des 'ht_pitiny'-Boards muss die Grüne LED schon blinken, 
da ja der HT-Bus noch nicht angeschlossen ist.

3. Anschluss 'ht_pitiny'-Board an HT-Bus.
Die grüne LED muss im Rythmus der HT-Bussignale flackern, das langsame 
Blinken muss auf jedenfall damit beendet sein.
Die rote LED blitzt zeitweilig auf, sobald der HT-Bus das Polling für 
die Modem-Geräteadresse (0d)h macht.

Gruß Norbert

von Stefano I. (Gast)


Lesenswert?

Hi

With the help of Google Translate, I have been able to follow you 
project, witch I find very interesting

I am the owner of a Bosch Europur ZSB 14-3 E heating and hot water gas 
boiler,  according to the manual the BUS is Heatronic 3. The control is 
a FW 120

I am planning to soldering my own HT3_MiniAdapter, but I have some 
questions that I hope you could answer:

1) Where/how do I connect the HT3_MiniAdapter to BUS, parallel with the 
FW 120 control?

2) Can the HT3_MiniAdapter also be use to send control commands (when 
the commands have been discoverer/decoded) to Heatronic 3? - Or would it 
requires a redesign the HT3_MiniAdapter?


Thanks in advance, I relay appreciate the work you are doing

PS: I do not mind if you reply in German

Stefano

von Norbert S. (junky-zs)


Lesenswert?

Hi Stefano,
some answer to your questions
>1) Where/how do I connect the HT3_MiniAdapter to BUS, parallel with the
>FW 120 control?
Yes in parallel. If the FW120 controller is mounted outside of the 
heater then you can use the connections signed with 'B' (two of them).
If it is fitted into the heater, then the connections are on the central 
controlboard.
Anyway they are always signed with 'B'.
Keep in mind to use the right signal-polarity for that Type of Adapters 
(HT3_mini- and HT3_micro-adater).

>2) Can the HT3_MiniAdapter/HT3_MicroAdapter also be use to send control 
>commands...
No, they couldn't be used for sending commands regarding lack of 
realtime response to HT-Bustelegrams.
But they are the cheapest solution to receive HT-Bustelegrams.

Use the 'ht_transceiver'-board (ht_piduino or ht_pitiny) instead for 
receiving AND sending HT-Bustelegrams.

Regards Norbert

: Bearbeitet durch User
von Stefano I. (Gast)


Lesenswert?

Thanks Nobert, for your quick reply

My FW120 are mounted on the wall, and I can see the two 'B'

The 'ht_transceiver' 
(https://github.com/norberts1/hometop_ht_transceiver) are both on double 
layer circuit board, can they be ordered somewhere? as I am only able to 
created single layer boards

Regards Stefano

von Norbert S. (junky-zs)


Lesenswert?

Hi Stefano,

>The 'ht_transceiver' are both on double layer circuit board, can they be ordered 
>somewhere?
Boards (ht_pitiny only) are available again next month in february.
Send me an E-Mail (PM from forum, account required) and I'l send you 
more details.

Regards Norbert

von strauch (Gast)


Lesenswert?

Hallo Norbert,

ich muss mal wieder nerven. Ich bekomme keine LED zum Leuchten :-).
Wenn ich an die entsprechende Beine des IC eine Spannung von 3,3Volt 
gebe leuchtet die LED.
Kann ich irgendwie überprüfen ob das flashen des IC funktioniert hat?
Was meinst du mit "Nach dem Reset des 'ht_pitiny'-Boards muss die Grüne 
LED schon blinken". Einmal Stromlos und wieder Strom drauf, oder gibt es 
einen Befehl den man ausführen muss.

Hab gerade keine Idee wo der Fehler liegen könnte.

Danke

strauch

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

strauch schrieb:
>...Ich bekomme keine LED zum Leuchten :-). Kann ich irgendwie überprüfen ob das 
>flashen des IC funktioniert hat?
Das Flashen mit avrdude wird ja schon mit anschliessendem Verify 
durchgeführt. Da sollte schon ein Fehler angezeigt werden.
Aufruf:
avrdude -C/<path>/avrdude.conf -v -pattiny841 -cgpio 
-Uflash:w:pitiny.hex    (alles in einer Zeile)
siehe auch nochmal:
Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"

>Was meinst du mit "Nach dem Reset des 'ht_pitiny'-Boards muss die Grüne
>LED schon blinken".
Stromlos und wieder einschalten. Es ist ja eine Reset-Schaltung auf dem 
Board.

Folgende Dinge fallen mir dazu noch ein:
1. Fuses richtig gesetzt?
 EXTENDED: 0xFF
 HIGH    : 0xDF oder 0xD7
 LOW     : 0xEE
Befehle für avrdude dafür must du mal man-pages nutzen.

2. Falls ja, ist der externe Quarz ja schon aktiv und wenn damit das 
Flashen funktioniert ist der uC OK.
 (eventuell geringe Baudrate für SPI-Clock SCK und 1. Flashen nehmen)

3. LED prüfen hast du schon gemacht, ich nehme dafür ein Messgerät und 
Widerstandsmessung, der Strom reicht schon aus das die LED leuchtet.

4. Falls das Flashen bzw. das Setzen der Fuses nicht klappt bitte die 
Einbaulage des uC ATtiny841 kontrollieren. Pin1 ist mit einem kleinen 
Dreieck gekennzeichnet. Wenn nicht vorhanden, dann ist Pin1 unten links 
wenn man die Aufschrift lesen kann.

Ich hoffe dies hilft dir weiter.
 I'l do my very best :-)

Gruß Norbert

von strauch (Gast)


Lesenswert?

Hi Norbert,

Fuses setzten klingt nach einer guten Idee, dann werde ich mal schauen 
das ich das mit avrdude hinbekomme:
http://www.mikrocontroller.net/articles/AVRDUDE

Danke. Das hilft mir wie immer weiter :-).

Grüße

strauch

von strauch (Gast)


Lesenswert?

Also für andere hier sind die Befehle:
Fuses auslesen
sudo avrdude -n -v -pattiny841 -cgpio

Fuses setzten:
sudo avrdude -cgpio -pattiny841 -U lfuse:w:0xEE:m -U hfuse:w:0xDF:m -U 
efuse:w:0xFF:m

avrdude meint auch ist alles ok mit dem Chip.
LED leuchtet trotzdem nicht mhpf :-(. Hab auch einmal Stromlos gemacht 
das ganze. Meinst du ich soll die Baudrate beim flashen mit avrdude 
festlegen?
Hattest du mit avrdude denn auch schon erfolgreich geflashed das die 
Platine funktionierte?

avrdude: Version 5.10, compiled on Jun 18 2012 at 12:38:29
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/root/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : unknown
         Using Programmer              : gpio
         AVR Part                      : ATtiny841
         Chip Erase delay              : 4500 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           eeprom        65     6     4    0 no        512    4      0 
4000  4500 0xff 0xff
           flash         65     6    32    0 yes      8192   16    512 
4500  4500 0xff 0xff
           signature      0     0     0    0 no          3    0      0 
0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0 
9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0 
9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0 
9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0 
9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0 
0     0 0x00 0x00

         Programmer Type : GPIO
         Description     : Use sysfs interface to bitbang GPIO lines

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.00s

avrdude: Device signature = 0x1e9315
avrdude: safemode: lfuse reads as EE
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF

avrdude: safemode: lfuse reads as EE
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

strauch schrieb:
>avrdude meint auch ist alles ok mit dem Chip. LED leuchtet trotzdem nicht mhpf 
>:-(
sch..., hatte gehofft dies wäre der Grund.

>Hattest du mit avrdude denn auch schon erfolgreich geflashed das die
>Platine funktionierte?
Ja, hatte ich. Dies hatte ich ausprobiert mit dem HEX-Files von github 
bevor ich den Thread geschrieben hatte:
   Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"
Allerdings hatte ich noch nicht damit die fuses setzen müssen. Aber dies 
funktioniert ja bei dir ->avrdude: safemode: Fuses OK

Somit ist uC und SPI-Zugriff OK.
Und du hast sicher die aktuelle HEXFile-Version von Github genommen!!??

Ich gehe davon aus, das du nach dem flash Beschreiben auch noch das 
EEPROM beschreibts? Ich frage deshalb weil die Fuses bei dir so 
eingestellt sind:
 avrdude: safemode: lfuse reads as EE
 avrdude: safemode: hfuse reads as DF
 avrdude: safemode: efuse reads as FF
Dadurch wird jedesmal beim Schreiben des Flashes auch das EEPROM 
gelöscht!.
Um das zu Vermeiden dann besser folgende Einstellung nehmen:
 avrdude: safemode: lfuse reads as EE
 avrdude: safemode: hfuse reads as D7
 avrdude: safemode: efuse reads as FF

Ansonsten bleibt mir nur zu Vermuten, das der ATTiny841 ständig im Reset 
stehen bleibt. Kontrolliere bitte in der Richtung die Bauteile am Pin4 
des ATtiny841.
Deine 1. Platine läuft noch?

Gruß Norbert

: Bearbeitet durch User
von strauch (Gast)


Lesenswert?

Hi Norbert,

danke für die Tipps, werde ich nachher mal prüfen bzw. am WE. Die erste 
Platine läuft so gut, das ich sie garnicht abbauen will zum vergleichen 
;-). Ich lade noch mal die aktuellen Datein runter zum flashe, werde auf 
D7 umstekllen, neu flashen, reset und dann mal schauen.

Danke

Grüße

strauch

von strauch (Gast)


Lesenswert?

Also Fuse auf D7 geändert. Dann die Dateien noch mal von github geladen 
und erst die hex file und dann noch mal das eeprom geflasht..... und ES 
BLINKT :-)

Vermutlich hatte ich dann nicht die allerletzte Version vom github.

Dankeschön

von Jürgen R. (juergenle)


Lesenswert?

Norbert S. schrieb:

> Boards (ht_pitiny only) are available again next month in february.
> Send me an E-Mail (PM from forum, account required) and I'l send you
> more details.
>
Hallo Norbert,
ich hätte auch gerne eine Platine für ht_pitiny. Wäre das möglich ?
Vielen Dank auch für euren Einsatz in diesem Projekt.
Mfg Jürgen

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Jürgen R.
>...ich hätte auch gerne eine Platine für ht_pitiny. Wäre das möglich ?
Ja, sende mir eine Mail (PM) an den Forum-account. Weiteres dann dort.

Gruß Norbert

von schwiete (Gast)


Lesenswert?

Hallo,

ich möchte gern bei meiner Junkers Cerapur Comfort ECO / FW100 das 
Betaetigen der WasserSofort Funktion auswerten. Weiß jemand zufaellig ob 
dieser Befehl ueberhaupt auf dem Bus erscheint oder innerhalb des FW100 
verarbeitet wird?

Zum Hintergrund: Die Warmwassertemperatur fällt bei unserem kleinen 
Speichern so weit ab, dass die Wanne nicht ausreichend gefuellt wird. 
Ich möchte die WasserSofort Taste verwenden um temporaer den NTC im 
Speicher zu manipulieren und so eine sofortige Speicherladung anfordern.

Gruß
schwiete

von strauch (Gast)


Lesenswert?

@schwiete

ich hab nicht ganz genau verstanden was du willst. Willst du nur 
mitlesen ob einer die Taste gedrückt hat oder willst du die Taste durch 
das Modul die Wassersofortfunktion auslösen?

Ich nutze FHEM mit dem Adapter und es gibt dort kein Punkt der 
Wassersofort heißt und an geht. Aber der Brenner startet und die 
Umwälzpumpe wenn du den Knopf drückst, daran kann man es erkennen.

von schwiete (Gast)


Lesenswert?

Hallo,

eine Wasser-Sofort-Taste hat der FW100 Regler schon selbst. Mit der 
Taste kann man aber nur das Warmwasser anfordern wenn sich die Heizung 
gerade im "Mach mal kein Warmwasser Programm befindet". Da tut sich nix 
wenn das Warmwasser noch 44 Grad hat und der Sollwert bei 50 Grad liegt. 
Nehme ich kurz den NTC aus dem Speicher, so dass der Wert unter 42 Grad 
faellt, legt die Heizung sofort los. Und genau so etwas moechte ich 
haben: Eine Taste die solange den NTC unter 42 Grad drueckt bis die 
Heizung anspringt und SOFORT das Warmwasser auf 50 Grad aufheizt. 
Entweder machte ich mir direkt einen Taster an die Therme oder ich fange 
das Protokoll der "nicht richtig funktionieren" Taste am Regler ab.

Gruß
schwiete

von Kai Z. (kaizo)


Lesenswert?

Hallo Schwiete,

kannst Du nicht einfach die WW-Temperatur hochsetzen? Da müßte doch eine 
Änderung von 10-15 Grad ausreichen, so daß die WW-Bereitung sofort 
startet. Wenn du mit dem Zapfen fertig bist kannst du die Temperatur ja 
wieder runter setzen (auf Normaltemperatur)

Gruß
Kai

von Niffko _. (niffko)


Lesenswert?

@schwiete

Um zu erreichen was Du möchtest, würde ich wie folgt vorgehen:

1. WW-Soll über ein entsprechendes Datentelegramm auf 60°C hochsetzen.
2. Monitortelegramm überwachen und checken ob WW-Betrieb gestartet
3. WW-Soll über ein entsprechendes Datentelegramm auf 50°C zurücksetzen.

Durch den höheren Sollwert, wird der WW-Betrieb zunächst starten, da die 
Einschalthysterese erreicht wird. Danach wird er weiterhin aktiv 
bleiben, auch wenn Du den Sollwert auf 50°C zurücksetzt.


//Niffko

von schwiete (Gast)


Lesenswert?

Hallo,

vielen Dank für Tipps. Das mit dem Sollwert hochsetzen habe ich einmal 
mit dem Drehknopf an der Therme gemacht. Habe den Sollwert langsam 
hochgedreht. Bei 55 Grad ist die Therme dann angesprungen. Dann sofort 
wieder auf 50 Grad runtergedreht. Und was macht das Ding? Das Warmwasser 
war danach 55 Grad! Scheint so als ob der eingestellte Wert ein 
Startwert ist, der bis zum Ende der Aufheizphase stehen bleibt?! Ich 
werde das trotzdem mal mit dem Protokoll testen. Und jetzt nochmal die 
eigentliche Frage die mich hier schreiben lässt: Kann ich den den 
Tastedruck der WasserSofort Taste des FW100 auf dem Bus mitlesen?

Hilfreich wäre das Telegramm zum einstellen des WW Sollwert und das 
Telegram der WasserSofort Taste.

Gruß
schwiete

von Niffko _. (niffko)


Lesenswert?

@schwiete

Bin eigentlich von der EMS-Fraktion(Buderus) ... da die Busse verwandt 
sind, wird das bei euch aber ähnlich funktionieren.

Ein spezielles Telegramm der WWSofort-Taste gibt es nicht. Das 
Bedienteil sendet periodisch(wichtig!) eine Art WW-Statustelegramm an 
den Master. Dies beinhaltet den Aktiv-Status von WW und 
Zirkulationspumpe und ist abhängig von den eingestellten Schaltzeiten.

Das Betätigen der WWSofort-Taste veranlasst das Bedienteil dazu, das 
Statustelegramm für eine bestimmte Zeit mit aktiv gesetztem WW zu 
senden. Zusätzlich wird über dieses Telegramm auch kurzzeitig die 
Zirkulation aktiviert.

Die WW-Solltemperatur befindet sich in einem anderen Telegramm.

Beide Telegramme werden sich relativ leicht identifizieren lassen, indem 
du entsprechende Parameteränderungen über das Bedienteil vornimmst und 
dabei auf dem Bus mitloggst.


//Niffko

von schwiete (Gast)


Lesenswert?

@Niffko

Allerbesten Dank! Dann werde ich mal ein Interface loeten und schauen 
was das so auf dem Bus abgeht.

Danke und Gruß
schwiete

von Hartmut D. (Gast)


Lesenswert?

Hallo Leute,
heute hat es mir mein System irgendwie zerlegt...
Pi Modell B. Speicherung der DB auf einem 32GB USB Stick.

Warum auch immer gab es immer mehr Probleme, die Daten zu speichern.
Die SQLite DB ist ca. 335 MB groß.

Die folgende Abfrage auf der DB
SELECT rrdtool_timestamp FROM rrdtool_infos WHERE rrdtool_timp NOT NULL 
ORDER BY rrdtool_timestamp ASC;
kehrt nicht zurück, was das ganze System blockiert.

Ein export als sql und ein Import als neue DB hat auch nichts gebracht.

Einzig das entfernen der Sqlite DB und das damit zusammenhängende 
neuaufbauen
der DB war hilfreich.

Hat jemand von euch schon mal so ein Problem gehabt und kann mir an 
dieser Stelle helfen die Datenbank zu retten, bzw die Daten zu mergen, 
da ich schon gerne mehr als 3 Monaten in der Datenbank auswerten möchte.

Danke für eure Hilfe und Gruß
Hartmut

von Hartmut D. (Gast)


Lesenswert?

Sorry, es ist einfach zu spät, öhm früh ;-)

Die Stelle in dessen weiterem Verlauf der der Fehler Auftritt ist im 
ht3_dispatch.py
Zeile 389 und folgende:
           else:
                # do db_info-tests if enabled
                if  self.__rrdtool_info.isrrdtool_info_active():
                    self.__rrdtool_info.rrdtool_update()


Danke und Gruß
Hartmut

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Hartmut D.
>Warum auch immer gab es immer mehr Probleme, die Daten zu speichern.
>Die SQLite DB ist ca. 335 MB groß.
Dieses Verhalten von sqlite habe ich auch schon gesehen. Die Zugriffe 
werden langsam bzw. sind nicht mehr möglich. Siehe dazu auch 
Parallel-Thread:
Beitrag "Re: Heizungs-Datenerfassung (HT3)"
Einen Grund dafür habe ich bisher noch nicht gefunden.
Es bleibt in diesen Fällen nur die alte SQLite-DB umzubenennen und mit 
./create_databases.py eine neue anzulegen.

Die SQLite DB war allerdings auch nicht für Langzeitspeicherung 
vorgesehen sondern dient mehr als Kurzspeicher (Analyse) und 
Zwischenwirt für die rrdtool-DB Daten.

Ich empfehle daher die SQLite DB nicht so groß werden zu lassen (<=100 
MB) und die älteren Daten zu löschen. Zur Zeit ist allerdings keine 
automatische Löschroutine oder Backup in den Scripten vorhanden.
Dies muss noch extern mit einem Cron-Job erfolgen siehe:
Beitrag "Re: Heizungs-Datenerfassung (HT3)"

Allerdings willst Du ja die alten Daten noch Auswerten. Dies wird nicht 
einfach wenn Du keinen Zugriff mehr auf die SQLite-DB hast. Ich weiss 
auch nicht wirklich was diesen Zugriff verhindert. Vielleicht hat jemand 
eine Idee wie man diese SQLite-DB retten kann.

Gruß Norbert

von Hartmut D. (Gast)


Lesenswert?

Hi Norbert,
danke für die Bestätigung meiner Vermutung.
Die DB ist ok. Ich habe sie auf dem Windows Rechner problemlos öffnen 
können.
Scheinbar ist die Leistung des Pi doch etwas schwach.

Den anderen Thread habe ich übersehen. War gestern wohl doch etwas zu 
spät.

Ich werde mir mal Gedanken um ein Backup bzw. verschieben der Datenbank 
machen. Muss nur sehen, dass ich hierzu kurz exclusiven Zugriff auf das 
System bekomme.

Wie verhält sich eigentlich der Logger, wenn man ihm die DB live unterm 
Hintern wegzieht?

Danke und Gruß
Hartmut

ps. ein echt tolles Projekt! Danke für die Unterstüzung und die Arbeit 
die ihr da schon reingesteckt habt!

von Norbert S. (junky-zs)


Lesenswert?

Hallo Hartmut,
>Wie verhält sich eigentlich der Logger, wenn man ihm die DB live unterm
>Hintern wegzieht?
Ohne die Applikation zu stoppen wirst Du dann Probleme bekommen, da die 
DB ja auch nur ein File ist mit dann neuer 'inode'.

Vorschlag: leere SQLite-DB in einem anderen Verzeichnis erstellen, 
Applikation stoppen, die DB's austauschen und Applikation wieder 
starten. Dies per Script geht dann auch schnell, eben Quick and Dirty.
Oder eben ein Backup, Löschen und Vakuum durchführen.
Muss mal sehen, ob es da eine gute Möglichkeit gibt.

Gruß Norbert

von Hartmut D. (Gast)


Lesenswert?

Hallo Norbert,
danke für deine Infos.

Habe ich eigentlich eine Chance von außen dem HT3_Logger zu sagen, das 
er sich beenden soll?

Ich hab doch etwas bedenken, das ganze einfach mal eben per
kill <PID von HT3_Logger>
abzuschießen.

Sorry, aber in Python bin ich noch nicht wirklich Sattelfest.

Gruß und Danke
Hartmut

von Hartmut D. (Gast)


Lesenswert?

Oh ha,
sorry für meine wirklich überflüssige Frage.
Ich hab ja das Skript im init.d und damit die Chance den Logger
sauber zu beenden.

Gruß
Hartmut

von Jo W. (basteljo)


Lesenswert?

Habe eine smb Freigabe der db gemacht und kann so
von jedem Rechner aus zugreifen, bezw.Sicherungskopien
machen.
http://jankarres.de/2013/11/raspberry-pi-samba-server-installieren/

von Nils R. (augur)


Lesenswert?

Moin.

Kann ich eigentlich schon auf Störungsmeldungen reagieren wie eine Email 
versenden oder so. Bei uns ist immer mal wieder zu wenig Wasser in der 
Anlage und da wäre das recht praktisch.

Viele Grüße,
Nils

von Nils R. (augur)


Lesenswert?

Moin.

Ich bekomme auch beim starten des Service folgende Fehlermeldung:

[....] Restarting This services logs telegrams from  heattronic serial 
communica
tion line: HT3_Logger.pyTraceback (most recent call last):
  File "/usr/HT3/sw//etc/sysconfig/spi_clk_on.py", line 29, in <module>
    import RPi.GPIO as GPIO
ImportError:
Traceback (most recent call last):
  File "/usr/HT3/sw//etc/sysconfig/spi_clk_off.py", line 29, in <module>
    import RPi.GPIO as GPIO
ImportError: No module named RPi.GPIO
./ht3_logger: 55: ./ht3_logger: dphys-swapfile: not found


Wenn ich wie oben kurz beschrieben die Setuptools nachinstalliert habe 
und folgendes Kommando ausführe, sieht es nicht besser aus.

admin@smarthome:/usr/HT3/sw/etc/sysconfig$ sudo ./spi_clk_off.py
Traceback (most recent call last):
  File "./spi_clk_off.py", line 29, in <module>
    import RPi.GPIO as GPIO
ImportError: No module named RPi.GPIO
admin@smarthome:/usr/HT3/sw/etc/sysconfig$


Jemand eine Idee was da fehlt? Sobald das System hochfährt, blinkt die 
Led des Modules auch nur noch langsam. Davor kann man quasi die 
Kommunikation auf dem Bus sehen.

Viele Grüße,
Nils

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

Nils schrieb:
> Jemand eine Idee was da fehlt?
Den Befehl: sudo apt-get install python-setuptools
hast Du ja schon ausgeführt. Wenn dieser erfolgreich war muss das 
zugehörige Python-Modul vorhanden sein.
Dieses Script muss als root ausgeführt werden, dies hast Du ebenfalls 
gemacht mit: sudo ./spi_clk_off.py.
Da dies trotzdem nicht läuft habe ich den Verdacht, das Dein OS nicht 
ganz uptodate ist.
Habe zufällig gerade ein frisch betanktes Raspberian ausprobiert mit 
natürlich aktueller Software und dieses Script aufgerufen.
Das script läuft dort auf Anhieb OHNE vorher die python-setuptools 
installieren zu müssen.
Daher versuch bitte Dein OS auf Stand zu bringen mit:
  apt-get install update
  apt-get install upgrade

>Sobald das System hochfährt, blinkt die Led des Modules auch nur noch langsam.
Dies liegt an dem SPI-Treiber 'bcm2708_spi.o'. Dieser forced den SPI-ClK 
auf einen festen Pegel auch wenn der SPI-Bus nicht benutzt ist. Der 
ATTiny841 hat an diesem Pin beide Signale (SPI-CLK UND HT-Bus RX) 
anliegen) und erhält deshalb nicht das HT-Bus-Signal.
Dies umgeht das Script 'spi_clk_off.py' indem der SPI-CLK Ausgang auf 
Eingang geschaltet wird.
Hinweis:
Leider kann man jetzt nicht sagen: der Treiber 'bcm2708_spi.o' sei 
ungünstig realisiert, der sollte doch besser die Füsse vom SPI-Bus 
lassen wenn der nicht benutzt wird (wenn SEL SS auf inaktiv ist).
Dummerweise hat Motorola damals in grauer Vorzeit genau den SPI-CLK 
nicht auf tristate definiert wenn man den SPI-Bus nicht braucht).

Deshalb muss dieses script 'spi_clk_off.py' funktionieren wenn man ein 
'ht_transceiver'board hat.
Alle anderen mit 'HT3_miniAdapter' und 'Ht3_microAdapter' brauchen 
dieses Script nicht bzw. falls Meldungen auftauchen können diese 
ignoriert werden.

Gruß Norbert

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

leider hat sich der Schreibteufel eingeschlichen. Deshalb jetzt korrekt:

> Daher versuch bitte Dein OS auf Stand zu bringen mit:
  apt-get update
  apt-get upgrade

Gruß Norbert

von Nils R. (augur)


Lesenswert?

Hat beides nicht geholfen. Hab nun auch wie woanders empfohlen ein 
DIST-UPGRADE gemacht und python-dev installiert. Leider keine Änderung 
vom Verhalten. Das Kommande (hatte ich im Raspberry Forum gefunden) sudo 
apt-get install python-rpi.gpio findet leider das Paket nicht. Daher hab 
ich das nun über PIP nachinstalliert. Leider weiterhin die Meldung. Wenn 
ich die Bibliothek über python manuell importiere klappt es...und im 
Script sehe ich python3...das Probiere ich vielleicht gleich noch aus, 
ist bestimmt dort nicht installiert.

Da ich mit KNX kommunizieren will, hab ich ein Image von smarthome.py 
genommen. Das war von Anfang letzten Jahres. Die neuste Version ist es 
also nicht.

: Bearbeitet durch User
von Nils R. (augur)


Lesenswert?

Passt, jetzt bekomme ich nur noch folgende Fehlermeldung beim Starten 
des Services:

admin@smarthome:/etc/init.d$ sudo ./ht3_logger start
./ht3_logger: 55: ./ht3_logger: dphys-swapfile: not found

Ist das schlimm?

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Nils
Prima das es jetzt läuft. Python und Python3 sind nicht das gleiche. 
Viele Sachen laufen, jedoch Unterschiede gibt es deren viele und 
Abhängigkeiten noch mehr.
Falls dieses Modul fehlen sollte bitte nachinstallieren mit:
   apt-get install python3-setuptools
Bitte die 3 bei 'python3' beachten, steht im script-Kopf noch falsch, 
sorry.

>./ht3_logger: 55: ./ht3_logger: dphys-swapfile: not found Ist das schlimm?
Nein, dieser Aufruf soll das swap-File abschalten da ich nicht swappen 
will und die Applikation (Run-Level3) auch nicht soviel Speicher 
braucht.
Ich wollte damit ein Unnötiges rumnudeln auf der SD-Karte vermeiden.

Du kannst diesen Aufruf im Script deaktivieren.

Gruß Norbert

: Bearbeitet durch User
von Hartmut D. (Gast)


Lesenswert?

Hallo zusammen,
nur kurz eine Rückmeldung, wie ich jetzt regelmäßig die DB rotieren 
lasse.

Voraussetzung: Verzeichnis backups unterhalb des database Verzeichnis, 
sowie eine leere Datenbankdatei im Verzeichnis master unterhalb des 
Verzeichnisses database.

Ach ja, das Kill ist ein überbleibsel, falls die DB zu groß geworden 
sein sollte und den Prozess blockiert...

1
#!/bin/sh
2
# HT3 Logger stoppen
3
/etc/init.d/ht3_logger stop
4
# sollte er haengen, weg mit ihm
5
if test -f /home/pi/HT3/sw/var/run/ht3_logger.pid
6
then 
7
  # Warten, damit er fertig wird
8
  echo waiting
9
  sleep 30
10
  if test -f /home/pi/HT3/sw/var/run/ht3_logger.pid
11
  then 
12
     kill $(cat /home/pi/HT3/sw/var/run/ht3_logger.pid)
13
  fi
14
fi
15
# Sicherung anlegen
16
mv /media/usbstick/Heizung/database/HT3_db.sqlite /media/usbstick/Heizung/database/backups/backup-`date +%Y%m%d`.sqlite
17
# neue DB bereitstellen
18
cp /media/usbstick/Heizung/database/master/HT3_db_empty.sqlite /media/usbstick/Heizung/database/HT3_db.sqlite
19
# weiter gehts
20
/etc/init.d/ht3_logger start

Gruß
Hartmut

von Nils R. (augur)


Lesenswert?

Norbert S. schrieb:
> Ich wollte damit ein Unnötiges rumnudeln auf der SD-Karte vermeiden.
>
> Du kannst diesen Aufruf im Script deaktivieren.

Hi.

Hab mal nachgeschaut, meine Disti hat kein SWAP Bereich definiert. Daher 
läuft der Befehl ins nichts. Hab ihn also raus genommen und nun kann ich 
auch alles normal starten. Nur Leider wird nichts gelogged.

Viele Grüße,
Nils

von Nils R. (augur)


Lesenswert?

Die LED flackert nun übrigens auch wie gedacht. Telegramme kommen also 
an.

von Nils R. (augur)


Angehängte Dateien:

Lesenswert?

Wenn ich mich auf den Port schalte kommt auch was im Raspberry an. Nur 
geparst wird die anscheinend nicht. Hätte etwas mehr Klartext über den 
seriellen Port erwartet. :-)   Vielleicht stimmt da noch was nicht.

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Nils
>Hätte etwas mehr Klartext über den seriellen Port erwartet. :-)
Auf dem HT-Bus wird kein Klartext gesprochen sondern dies sind binäre 
Zeichen. Daher zeigt dir der cat-Befehl auch kryptische Zeichen an.
Klartext wird daraus erst mit der nachgelagerten Decoder- und 
Analyse-Software.

Ich glaube Du betreibst den ht_pitiny noch im Native Mode mit einer 
Brücke zwischen TP-Out und TP-In?
Siehe dazu auch noch Url:
 Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"
Dann sind die Ausgaben des 'ht_transceivers' im RAW-Format so wie diese 
vom HT-Bus kommen.
Dies kann die vorhandene Software: HT3_Analyser.py, HT3_SystemStatus.py 
und HT3_Logger.py verarbeiten. Dein Bild oben zeigt z.B. Nativ-Daten 
(ohne Header) an.

Was man leider nicht sehen kann ist, ob die Baudrate stimmt die Du 
eingestellt hast. Bitte gebe mal folgende Sequenz ein:
  stty -F /dev/ttyAMA0
Damit wird dann die Baudrate ausgegeben und sollte wie folgt sein:

1. 'ht_transceiver' (ht_piduino oder ht_pitiny) -->> 19200 Baud 8N1
2. 'HT3_Micro-/MiniAdapter)                     -->> 9600  Baud 8N1

Falls dies bei Dir nicht passt, bitte das Konfigurationsfile 
diesbezüglich anpassen unter ./HT3/sw/etc/config/HT3_db_cfg.xml.

In Deinem Bild bist Du gerade als 'root' unterwegs. Dir ist klar das die 
Applikation unter 'user' keinen Zugriff auf Datenbank haben kann wenn 
diese mit 'root' angelegt wurden!
Also entweder alles als 'root' unterwegs sein (nicht so gut) oder wie 
üblich das ganze als 'user' anlegen und nutzen und nur in 
Ausnahme-Fällen als root (init-scripte Anlegen etc.).
Details zur Installation stehen ja auch in der Vorhandenen Dokumentation 
Kapitel 3 ff unter ./HT3/docu.


Gruß Norbert

von Nils R. (augur)


Lesenswert?

Norbert S. schrieb:
> Ich glaube Du betreibst den ht_pitiny noch im Native Mode mit einer
> Brücke zwischen TP-Out und TP-In?

Noch nicht, habe den Jumper entfernt weil es nicht funktioniert hat und 
vorerst den Raspi alleine angeschlossen.

Baudrate war auf 9600. Hab diese aber nun auf 19200 geändert. Leider 
ohne Besserung.

Aktuell:
root@smarthome.local:init.d# stty -F /dev/ttyAMA0
speed 19200 baud; line = 0;
min = 1; time = 1;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke


Hatte alles unter Root angelegt um Fehler auszuschließen, weil es nicht 
lief. Wenn es funktioniert, würde ich alles wieder abbauen.

Viele Grüße,
Nils

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Nils
>Hab diese aber nun auf 19200 geändert. Leider ohne Besserung.
Nicht OK und schlecht.
Ich habe gesehen das Du folgenden Pfad verwendest:
  /usr/HT3/......
Du bist daher gezwungen ALLE scripte auf diesen Pfad anzupassen. 
Offensichtlich ist dies noch nicht komplett gemacht. Allerdings empfehle 
ich Dir trotz allem und weil es mit weniger Anpassung verbunden ist, das 
ganze unter 'user' einzurichten mit der aktuellen Software von 
github.com.
Wenn Du den Befehl: ps ax | grep HT  eingibst sollte so was rauskommen 
(Als user 'pi'):
  .... /usr/bin/python3 /home/pi/HT3/sw/etc/html/httpd.py
  .... /usr/bin/python3 /home/pi/HT3/sw/HT3_Logger.py

In den Init- und rrdtool_draw_pl Scripten stehen ja default Pfadangaben 
und Username drin (hier Auszug des Startscript vom HT3_Logger.py) :
  NAME_SCRIPT=ht3_logger
  USER="zs"
  DAEMON=/home/$USER/HT3/sw/$NAME
  DAEMON_ARGS=""
  PIDFILE=/home/$USER/HT3/sw/var/run/$NAME_SCRIPT.pid
  APPLICATION_FOLDER=/home/$USER/HT3/sw/

Diese Pfadangaben und User-Namen must Du alle Anpassen wenn Du einen 
anderen Pfad nimmst (wie oben zu sehen).
Deshalb meine dringende Empfehlung um Deine Installation möglichst 
einfach zu halten:
  User       : pi
  Pfad       : /home/pi
  Applikation: /home/pi/HT3/sw/....
Die scripte oben müssen dann nur noch von User:zs auf User:pi geändert 
werden. Dann Konfiguration ändern auf 19200 Baud und dann als user:pi 
die Datenbank anlegen mit
  cd /home/pi/HT3/sw
  ./create_databases.py

Weitere Details auch in der Doku unter: ./HT3/docu

Gruß Norbert

: Bearbeitet durch User
von Nils R. (augur)


Angehängte Dateien:

Lesenswert?

Alles gemacht. Nochmal die aktuelle Doku abgearbeitet und leider 
gleiches Verhalten. Als ich den Systemstatus abgefragt habe kam folgende 
Meldung um Terminal. Ich hab den den HT3-Logger beendet und dann kam die 
Meldung nicht mehr. Aber Daten werden trotzdem nicht angezeigt.

Der Logger läuft auch...wurde beim Neustart korrekt mit gestartet.

Viele Grüße,
Nils

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Nils
>Aber Daten werden trotzdem nicht angezeigt. Der Logger läuft auch...wurde beim 
>Neustart korrekt mit gestartet.
Eine Besserung habe ich schon erwartet, zumindest ein NEUES Bild mit der 
Ausgabe vom Status ps ax |grep HT.
In Deinem Bild sieht man leider nicht den Prozess-Status und ob die 
nötigen Prozesse laufen.
Wenn Du schreibst "Daten werden trotzdem nicht angezeigt" so meinst Du 
sicher die grafische Ausgabe des Browsers. Bitte kontrolliere also ob 
die Datenbanken unter ./HT3/sw/var/databases alle aktualisiert werden (5 
Minuten beobachten). Wenn dem so ist sind die Daten in den Datenbanken.
Dann hast Du 'nur' noch ein "Grafik Erzeugen und Anzeige"-Problem.
Die Grafik wird zyklisch im cron-job durch das script 'rrdtool_draw.pl' 
gemacht.
Dies kannst Du auch manuell aufrufen und die Grafiken werden dann direkt 
aus den vorhandenen rrdtool-Daten erzeugt:
  /home/pi/HT3/sw/etc/rrdtool_draw.pl /home/pi /home/pi 1
Die erzeugten Grafiken (PNG-Files) liegen dann im Verzeichnis:
  /home/pi/HT3/sw/etc/html

Falls Du damit auch nicht weiterkommst kannst Du mir ein Logfile der 
HT-Busdaten erstellen und an meine PM senden:

1. Logger Stoppen
   /etc/init.d/ht3_logger stop
2. Logfile für die Auswertung erzeugen
   cat /dev/ttyAMA0 >> /tmp/htbus_logfile.bin
Bitte einige Zeit laufen lassen und mir zusenden.

Gruß Norbert

von Nils R. (augur)


Lesenswert?

Hi Norbert,

hier mal die Ausgabe von PS nach einem Neustart
admin@HT3:/usr/smarthome$ ps ax|grep HT
 1891 ?        S      0:00 avahi-daemon: running [HT3.local]
 1998 ?        Sl     0:03 /usr/bin/python3 
/home/admin/HT3/sw/HT3_Logger.py
 2402 pts/0    S+     0:00 grep HT

Die rrd und sqlite files werden nicht verändert. Sind auch weiterhin 
leer. Hatte schon vorher den Inhalt der SQLite DB geprüft und alle 
Tabellen sind auf 0 Zeilen. Anscheinend schreibt das Programm einfach 
nichts weg.

Ich schick dir mal die Busdaten.

Viele Grüße,
Nils

von Stefano I. (donaldd)


Lesenswert?

Hi Norbert

I can see that you have updated the documentation with HT Netclient 
section, when will the client/proxy scripts be available? I am very keen 
to test it

Thanks in advance

Regards

Stefano

von Norbert S. (junky-zs)


Lesenswert?

Hallo Stefano,
>when will the client/proxy scripts be available?
That client/proxy- behaviour is already running. Finally I add some 
logging to all library-moduls. So the handling will be easier.
It is finished before end of the week hopefully.
This update on github will come as soon as possible.

Regards Norbert

: Bearbeitet durch User
von Norbert S. (junky-zs)


Lesenswert?

Hallo,

es hat sich wieder etwas bei der Software getan.
Die aktuelle Software ist: Rev.: 0.1.7.1 und wie gehabt unter github.com 
zu finden.
Hier an dieser Stelle nur der Hinweis darauf. Details siehe:
  Beitrag "Re: Heizungs-Datenerfassung (HT3), SW-Rev:0.1.7.1"

Gruß Norbert

von Stefano I. (Gast)


Lesenswert?

Hi

I am trying to use the new proxy feature, to control my heating system, 
but when I am issuing:

  ./ht_netclient.py -b sparen

Nothing happens, and I get the following errors in my ht_proxy.log:

16.03.2015 18:16:01 INFO: Client-ID:2; ('127.0.0.1', 54056) connected
16.03.2015 18:16:01 INFO: Server   :('0.0.0.0', 8088)
16.03.2015 18:16:01 INFO: Client-ID:2; register(); got devicetype:MODEM
16.03.2015 18:16:01 INFO: Client-ID:2; added; number of clients:2
16.03.2015 18:16:01 INFO: Client-ID:2; cht_RequestHandler(); 
socket.receive thread start
16.03.2015 18:16:01 INFO: csocketsendThread(); socket.send thread start
16.03.2015 18:16:01 INFO: Client-ID:1;cportwrite();couldn't read from 
queue
16.03.2015 18:16:03 INFO: Client-ID:2; ('127.0.0.1', 54056) disconnected
16.03.2015 18:16:03 INFO: Client-ID:2; removed; number of clients:1
16.03.2015 18:16:03 INFO: Client-ID:1;cportwrite();couldn't read from 
queue


Any idea what is wrong?

And what does 'cportwrite();couldn't read from queue' mean?

Thanks in advance

Regards

Stefano

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Stefano,

>Nothing happens, and I get the following errors in my ht_proxy.log:
These are informations (INFO) and normal message-behaviour of 
ht_netclient.
The ht_netclient will connect only for the required messages and then 
disconnect again.
Your check with ht_netclient is that one with ID:2
  Client-ID:2; ('127.0.0.1', 54056)...
and that logging is OK.

>And what does 'cportwrite();couldn't read from queue' mean?
The Client-ID:1 is used for 'HT3_Logger.py' running parallel as 
proxy-client and the message raised at Client-ID disconnect-time. Anyway 
the HT3_Logger.py will never use any Informations from the queue to send 
messages to the comport.

>Nothing happens..
I'll think you checked all the other parameters like: -b auto, -b tag , 
-b frost and also -t <temperaturvalue> ?
Your indicator for watching:'working' or 'not working' can be the 
FW/FRxyz - display. I'll think you have used it already.

For further checks you can do following:
1. check the informations in logfile: 
./HT3/sw/var/log/ht_client_modem.log
2. Enable debug-output on ht_proxy-server with:
 ht_proxy=ht_proxy_if.cht_proxy_daemon(configfile, 
loglevel=logging.DEBUG)
Please restart that proxy-server than with:
 sudo /etc/init.d/ht_proxy stop
 sudo /etc/init.d/ht_proxy start

In case 2. you will get more debug-messages what is send to the 
ht_transceiver-board.

Please let me know what heater-configuration you are using, like FW1xy 
etc. and how many heater-circuits you have in your system (1 or more).

I'm using one heater-circuit and FW100 and that telegrams setup the 
wanted heater-parameters.

Regards Norbert

von Stefano I. (donaldd)


Lesenswert?

Thanks Norbert, for your fast reply

I have one heating circuit and the FW120 control unit

Enabling the debug mode in ht_proxy.py gave some extra information:

16.03.2015 20:22:43 INFO: Client-ID:5; ('127.0.0.1', 33838) connected
16.03.2015 20:22:43 INFO: Server   :('0.0.0.0', 8088)
16.03.2015 20:22:43 INFO: Client-ID:5; register(); got devicetype:MODEM
16.03.2015 20:22:43 INFO: Client-ID:5; added; number of clients:2
16.03.2015 20:22:43 INFO: Client-ID:5; cht_RequestHandler(); 
socket.receive thread start
16.03.2015 20:22:43 INFO: csocketsendThread(); socket.send thread start
16.03.2015 20:22:43 DEBUG: Client-ID:5; 
recv:b'#\t!S\x11\x10\xff\x0e\x00e\x04'
16.03.2015 20:22:43 INFO: Client-ID:1;cportwrite();couldn't read from 
queue
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:23
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:21
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:53
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:11
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:06
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:10
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:ff
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:0e
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:00
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:65
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:04
16.03.2015 20:22:43 DEBUG: Client-ID:5;cportwrite();value:3a
16.03.2015 20:22:44 DEBUG: Client-ID:5; 
recv:b'#\t!S\x11\x10\xff\x04\x00y\x04'
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:23
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:21
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:53
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:11
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:06
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:10
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:ff
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:04
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:00
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:79
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:04
16.03.2015 20:22:44 DEBUG: Client-ID:5;cportwrite();value:52
16.03.2015 20:22:45 INFO: Client-ID:5; ('127.0.0.1', 33838) disconnected
16.03.2015 20:22:45 INFO: Client-ID:5; removed; number of clients:1
16.03.2015 20:22:45 INFO: Client-ID:1;cportwrite();couldn't read from 
queue

the is the response for -b auto, I have also tried change the 
temperature with -t xx

But the mode do not change on the FW120 display

Regards

Stefano

von Norbert S. (junky-zs)



Lesenswert?

Hallo,

@Stefano,
this sequenz is exact that I have. It should work in that case. That 
auto-mode is not always shown on the display but after sending any other 
mode like -b sparen then it is.
If you change that temperatur with -t 22.5 then the FW100 shows that 
level as shown above.
Also the HT3_Analyser will display that level (picture above).
The sequence I did was:
 ht_netclient.py -b heizen
 ht_netclient.py -t 22.5

The correspondending sequenz for the temperatur-setting is:
16.03.2015 21:19:15 INFO: csocketsendThread(); socket.send thread start
16.03.2015 21:19:15 DEBUG: Client-ID:8; 
recv:b'#\t!S\x11\x10\xff\x11\x00e-'
16.03.2015 21:19:16 INFO: Client-ID:1;cportwrite();couldn't read from 
queue
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:23
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:21
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:53
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:11
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:06
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:10
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:ff
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:11
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:00
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:65
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:2d
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:eb
16.03.2015 21:19:16 DEBUG: Client-ID:8; 
recv:b'#\t!S\x11\x10\xff\x07\x00y-'
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:23
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:21
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:53
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:11
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:06
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:10
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:ff
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:07
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:00
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:79
16.03.2015 21:19:16 DEBUG: Client-ID:8;cportwrite();value:2d
16.03.2015 21:19:17 DEBUG: Client-ID:8;cportwrite();value:63

I'll think you have the same sequenz for that temperatur-setting.
So then we have some differenz between FW100 and FW120 regarding the 
required sequenzes.
I'll hope to find an answer for that.

Best regards
Norbert

: Bearbeitet durch User
von Stefano I. (donaldd)


Angehängte Dateien:

Lesenswert?

Hi Norbert

When I am comparing your HT3 Analyser with mine, I can see that I do not 
have the Room Temperature (T-Raum), so there must be a difference 
between the  FW100 and FW120

Stefano

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Stefano,
>I can see that I do not have the Room Temperature (T-Raum)...
So in that case you don't have that remote controller (type FB10 or 
FB100). So the values for that devices in the telegrams are out of order 
(8000)hex and will be surpressed for your system.
Anyway that value must be visible on your controller FW120 as shown with 
the picture above.
Questions:
1. How long (in meters) is the cable between your ht_pitiny-board and 
the connection (Bus-connection fixpoint) to the heater-system (markt 
with 'B')?
2. Which type of cable did you use (thickness)?
3. Do you have any additional resistors in that connection-cable?
Keep in mint that the transmit-direction is current-driven!

So the difference between FW100 and FW120 is not as great as supposed. 
The commands then should work at your system.

Regards Norbert

von Stefano I. (donaldd)


Lesenswert?

Hi Norbert

Ad 1)

From the ht_pitiny-board to the FW120 I have <20cm and from the FW120 to 
the heating system I have ~10m

Ad 2)
I am not sure about the thickness, but the cord is thin

Ad 3)
There are no other resistors on the connections

I will replace the cord between the board and the FW120 in the weekend 
to see if there is a difference


Regards

Stefano

von Norbert S. (junky-zs)


Lesenswert?

Hallo schwiete,
>Dann werde ich mal ein Interface loeten und schauen was das so auf dem Bus 
>abgeht.
Bist Du an dieser Baustelle weitergekommen?

niffko schrieb:
>Das Bedienteil sendet periodisch(wichtig!) eine Art WW-Statustelegramm an
>den Master.

Folgendes konnte ich herausfinden:
Es gibt ein Telegramm (mit Ziel:an alle) welches nach einem Tastendruck: 
'Warmwasser sofort' und sonst periodisch alle 10 Minuten gesendet wird.
Beispiele
      B0 B1 B2 B3 B4 B5 B6 B7 B8 CRC Break
 -->> 90 00 ff 00 00 d3 08 00 00 8e 00  <<-- Warmwasser sofort aktiv
 -->> 90 00 ff 00 00 d3 00 0a 00 ba 00  <<-- Warmwasser sofort deaktiv
Byte5 ist immer (d3)hex
Byte6 enthält u.A. den Status der 'Warmwasser sofort' Taste.
Byte6/Bit4 := (08)hex -->> Warmwasser sofort aktiv
Byte6/Bit4 := (00)hex -->> Warmwasser sofort deaktiv.

Wie Du schon geschrieben hast reagiert die Heizung nicht oder nur unter 
bestimmten Bedingungen (Eco-Taste aus, Warmwasser-Programm im Sparmodus 
ect.).
Ich nehme an, das sich dies jedoch per 'Telegramm' erzwingen lässt indem 
man kurzzeitig die geforderte Warmwasser-Solltemperatur erhöht.
Ob dies so funktioniert muss ich aber noch zu testen.

Gruß Norbert

von Stefan S. (kami)


Lesenswert?

Hallo zusammen,

bin gerade ganz neu in das Thema eingestiegen.

Ich besitze eine Junkers ZSB 14-4C.. Therme mit FW120 Regler.

Kann ich dafür auch diese Modul verwenden? Und kann ich es parallel zum 
Regler anschliessen? Hat einer Erfahrungen damit? Lese bei mir überall 
Heatronic 4 Bus? Ist das was anderes?

Vielen Dank.

Gruß kami

von Norbert S. (junky-zs)


Lesenswert?

Hallo Stefan,
ein paar Antworten zu Deinen Fragen.
>Lese bei mir überall Heatronic 4 Bus? Ist das was anderes?

Heatronic4 ist eine Weiterentwicklung des Heatronic3-Bus. Die 
Schnittstellen-Parameter (9600Baud, 8N1, 15V-10V Spannungs 
(RX)-/Stromsignalisierung(TX)) sind aber gleich geblieben.
Es sind neue bzw. erweiterte Telegramme hinzugekommen. Dies ist jedoch 
'nur' eine Frage der Software auch dies korrekt zu dekodieren.
Die hier vorgestellten Adapter arbeiten somit alle auch mit dem 
Heatronic4 Bussystem zusammen.

Hinweis:
Heiko hat genau Deine Anlagen-Konfiguration mit ebenfalls Heatronic4. 
Siehe auch: Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"
Somit brauchst Du keine Bedenken zu haben das garnichts geht im 
Gegenteil, es geht nur nicht alles.
Jedoch wir arbeiten dran.

>Und kann ich es parallel zum Regler anschliessen?
Ja unbedingt, dies ist sowieso die beste Art sich am Bus zu kontaktieren 
weil:
1. Damit wird vermieden das man bei Heatronic4 den 'falschen HT-Bus' 
erwischt. Hinweis: Bei Heatronic4 gibt es ein Modul HT3/HT4i welches in 
der Regel direkt im Wärmeerzeuger eingebaut ist und den 
Telegramm-Verkehr beeinflusst.
2. Es weitere Module je nach System gibt (z.B. IHM:= HybridManager bei 
Wärmepumpen) die ebenfalls den Telegramm-Verkehr beeinflussen.

Wenn man den/die Adapter also direkt an den Modulen FWxyz/FRxyz, ISM1/2 
oder IPM1/2 anschliesst macht man nicht viel verkehrt.

Anschluss am Bus siehe auch:
Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"

Gruß Norbert

: Bearbeitet durch User
von Stefan S. (kami)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe nun von Norbert mein pitiny Board bekommen und am Raspberry 
angeschlossen. Die LED blinkt erstmal grün.
Nun habe ich gestern versucht einen Anschlusspin für die Busleitung an 
meiner Heizung zu finden. Daran bin ich leider gescheitert. Ich habe mal 
ein paar Bilder von meiner Heizung gemacht. Vielleicht kann mir ja 
jemand sagen, wo ich den Bus am besten abnehme. der FW120 Regler sitzt 
vorne an der Heizung. Wenn man ihn runternimmt dann hat man da 3 
Stecker.

Vielen Dank.

Gruß kami

von Norbert S. (junky-zs)



Lesenswert?

Hallo,

folgende Informationen habe ich zum Thema: Heatronic4i und Bus-Anschluss 
gefunden.
Die 'neue' Heatronic4i Steuerelektronik ist als komplette ausklappbare 
Einheit im Heizgerät eingesetzt und hat ein eigenes Display mit 
zugehöriger Menue-Führung. Die Zündelektronik ist nicht mehr auf dieser 
Platine enthalten.
Ebenfalls sind (leider) die Bus-Bezeichnungen geändert. Waren die 
Klemmen beim Heatronic3-Bus noch mit 'B' bezeichnet, so heißt es jetzt 
bei Heatronic4i 'EMS'.
Zur einfacheren Lockalisierung habe ich Bilder beigefügt aus denen das 
Anschluss-Logo 'EMS' und die zugeörige Klemmenleiste (links, 
Niederspannung) hervorgehen.
Der 2-Draht Bus ist somit das orangene Klemmenpaar (1/2) rechts neben 
dem grünen Klemmenpaar.
Die Adapter 'ht_pitiny' und 'ht_piduino' sind verpolungssicher (interne 
Brückenschaltung), bei den Adaptern 'HT3_miniAdapter' und 
'HT3_microAdapter' muss man weiterhin auf richtige Polung achten.

Die Signalierungs-Parameter sind zum Glück gleich geblieben (wenn auch 
nicht alle Telegramm-Inhalte) aber der 'ht_pitiny' - Adapter arbeitet 
auch am Heatronic4i-Bus.
Falls jemand noch weitere Informationen hat dann bitte posten. Ich 
selber habe nur die Heatronic3 - Version in meinem System.

Gruß Norbert

: Bearbeitet durch User
von Norbert S. (junky-zs)



Lesenswert?

Hallo,

wer die Steuerung der Junkers-Heizung mit 'MBLan', 'Netcom' oder 
'ht_transceiver (ht_pitiny / ht_piduino)' plant sollte zuvor das 
Fertigungsdatum des Reglers und der System-Module (ISM etc.) 
kontrollieren.
Das Fertigunsdatum des Reglers kann man wie folgt bestimmen:
1. Menue-geführt (Fachmannebene;Menue-Taste länger als 3 Sekunden 
drücken)
 FACHMANN EBENE: System Info
   Fertigungsdatum des Reglers

Diese Angaben sind der FW100 Bedienungsanleitung entnommen, werden aber 
für andere Fx-Regler in ähnlicher Form vorhanden sein.

2. FD-Code (Fertigungsdatum) auf der Innenseite der Reglerabdeckung
Dazu den abgelesenen Wert: (FDxyz) mit beigefügter Tabelle vergleichen 
und das Datum bestimmen.
Bei den System-Modulen ist am jeweiligen Typenschild das Fertigungsdatum 
zu entnehmen.

Zusätzlich muss natürlich ein 2-Draht Bus (Heatronic3 / Heatronic4i) 
vorhanden sein.

Für die Steuerung der Heizung mit einem 'MBLan' ist minimal das 
Fertigungsdatum 'September 2008' := FD889 erforderlich.
Der Regler 'FR50' kann nicht mit dem MBLan gesteuert werden.

Für die Steuerung der Heizung mit 'Netcom50', 'Netcom100' oder 
'ht_transceiver (ht_pitiny/ht_piduino)' ist minimal das Fertigungsdatum 
'November 2009' := FD991 erforderlich.

Diese Einschränkungen gelten nur für die STEUERUNG der Heizung mit 
HT-Buskommandos.
Diese Einschränkungen gelten NICHT für den Empfang von HT-Bussignalen 
und den hier vorgestellten Adaptern sofern der 2-Drahtbus (Heatronic3 / 
Heatronic4i) vorhanden ist.

Gruß Norbert

: Bearbeitet durch User
von schwiete (Gast)


Lesenswert?

Hallo,

habe inzwischen (Monate später ;-) eine Schaltung mit einem 555 
gebastelt die mir den NTC unter 40°C drueckt. Danach geht die 
Speicherladung auch sofort los. Damit koennen wir erstmal baden :-)
Finde das Verhalten vom FW100 aber immer noch sehr merkwürdig: Man 
stellt eine Warmwasser-Solltemperatur ein, die Hystere ist nicht 
einstellbar und der Regler entscheidet selber wann er mit der 
Speicherladung beginnt. Wie weit fällt denn bei euch so die 
Warmwassertemperatur ab?

Gruß
schwiete

von Dennis (Gast)


Lesenswert?

Hi,

>Man stellt eine Warmwasser-Solltemperatur ein,
>die Hystere ist nicht einstellbar und der Regler
>entscheidet selber wann er mit der
>Speicherladung beginnt.

ja darüber habe ich mich letzte Woche auch gewundert.

Bei mir ist es zwar eine FW200, aber:
Eingestellt: 48°, Ladung beginnt erst bei ca. 44°C

von Dennis (Gast)


Lesenswert?

Hallo,

was ich mal fragen wollte: Kann man irgendwo (Norbert?) ein fertig 
aufgebautes HT3-Interface für Raspi kaufen?

Gruss

von Norbert S. (junky-zs)



Lesenswert?

Hallo,

@ schwiete
>Finde das Verhalten vom FW100 aber immer noch sehr merkwürdig: Man
>stellt eine Warmwasser-Solltemperatur ein, die Hystere ist nicht
>einstellbar...
Etwas Einfluss hast Du auf die Hysterese, wenn Du die Taste 'eco' am 
Heizgerät deaktivierst (zumindest ist diese Taste bei meinem Gerät 
vorhanden).

@ Dennis
>...ein fertig aufgebautes HT3-Interface für Raspi...
Welches Interface meinst Du. Es gibt ja inzwischen 4 unterschiedliche 
Adapter-Typen (siehe Bilder).

1. HT3_mini- und HT3_micro-Adapter   -> nur für den Daten-Empfang
2. ht_piduino und ht_pitiny      -> für Empfang und Senden von 
HT-Busdaten

Falls Du also Deine Heizung steuern willst, kann ich Dir nur den 
ht_pitiny empfehlen. Die anderen Adapter habe ich nicht, ein Nachbau 
sollte aber möglich sein.
Sende mir eine PM, Details dann dort.

Gruß Norbert

von Rüdiger B. (Gast)


Lesenswert?

Hallo Norbert,

ich bin auch daran interssiert meiner Heizung etwas mehr zu entlocken 
und vorzugeben.
(Da würde sich der HT_piuino anbieten)
Da ich aber noch nicht weiß, auf welcher Hardware die Auswertung laufen 
soll, würde ich es gern etwas modularer halten.


1. Eine kleine Platine, nur mit dem Interface
Diese könnte man auch immer universell weiter verwenden.

2. Würde ich gerne ein fertiges Arduino Modul verwenden.
Somit kann man bei Speicherproblemen in der Zukunft einfach mal ein 
anderes Modul nehmen und bindet nicht unnötig Zeit.
USB schnittstelle wäre auch schon an Board.
Man könnte es somit einfach an allem möglichen betreiben und ist nicht 
mehr auf den RPi beschrängt.

Jetzt ergeben sich somit einige Fragen:
A) Würdest du bitte die Eagle Datein von dem HT_piduino und dem 
HT_pitiny hier bereitstellen?
So könnte man da die Schnittstell herausnehmen und könnte zwischen DIL 
und SMD wählen.

B) Wie groß schätzt du die Chancen, dass der Code auf einem Arduino (mit 
der IDE) lauffähig ist?

C) Wie groß wäre der Auffwand den Code zu portieren?

Vieleicht wäre es aber einfacher, den Arduino mit AVR-Studio zu 
Schreiben.

Vielen Dank für Deine Arbeit, sonst wären diese Diskussionen und 
Gedanken nicht möglich.

Gruß Rüdiger

von Rüdiger B. (Gast)


Lesenswert?

Ach, ich hab noch eine Frage vergessen.

Wie wäre es, wenn das Interface auch 5V Level könnte?
Was müsste an der Schaltung geändert werden?
Wäre eine Jumperlösung möglich?

Danke
Gruß Rüdiger

von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo Rüdiger,

> Da ich aber noch nicht weiß, auf welcher Hardware die Auswertung laufen
> soll, würde ich es gern etwas modularer halten.
Da kann ich Dir nur eine Adapter-Platine für den Arduino(TM) empfehlen 
auf die dann der ht_piduino-Adapter gesteckt wird.
Auf dem ht_piduino-Adpater werden halt der Atmega328 und der Quarz nicht 
bestückt. Details siehe Schaltplan oben.
Wenn Du dann noch die entsprechenden Arduino-Buchsen nimmst, ist nicht 
alles mechanisch verbaut sondern Du kannst ja noch weitere Platinen 
(stagging) aufstecken.

> USB schnittstelle wäre auch schon an Board.
Motherboard für USB und ht_piduino/ht_pitiny siehe URL:
 Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"

> Würdest du bitte die Eagle Datein von dem HT_piduino und dem
> HT_pitiny hier bereitstellen
ht_piduino und ht_pitiny sind mit gEDA (gschem) und nicht mit Eagle 
erstellt. Dateien kann ich auf github.com bereitstellen.

> Wie groß schätzt du die Chancen, dass der Code auf einem Arduino (mit
> der IDE) lauffähig ist?
ht_piduino und Arduino Uno haben ja den gleichen Prozessor und das Flash 
ist halbvoll. Es sind Software-Anpassungen nötig (Includes etc.) sollte 
aber machbar sein. Allerdings sollte man nicht jede Routine aus der 
IDE-Library unbeleckt übernehmen, insbesondere nicht die Realisierung 
des SW-UART. Deshalb habe ich diese Routine selber geschrieben.

> ...Interface auch 5V Level könnte?
Siehe Schaltplan, habe dort auf J1-Pin1 die 5 Volt des Arduino gelegt. 
Die Optokoppler können bis 16V Betriebsspannung arbeiten.

Gruß Norbert

von Rüdiger B. (Gast)


Lesenswert?

Hallo Norbert,
kann es sein, dass die PDF Anleitung in deinem Repository defekt ist?
Ich kann Sie jedenfals nicht öffnen.

Danke
Gruß Rüdiger

von Norbert S. (junky-zs)


Lesenswert?

Hallo Rüdiger,

>kann es sein, dass die PDF Anleitung in deinem Repository defekt ist?
Wahrscheinlich hast Du die Doku mit dem Browser laden wollen. Da sagt 
dann git: "will nich" weil die Datei zu groß > 2MByte ist.

Am besten ist es das ganze Projekt inklusive Doku zu laden, das kann 
dann auch git am schnellsten:
1. Linux
  git clone https://github.com/norberts1/hometop_HT3.git
2. Windows / Linux
  Download ZIP

Das darin enthaltene PDF-File 'HT3_Adaption.pdf' ist OK.

Gruß Norbert

von Rüdiger B. (Gast)


Lesenswert?

Ja, du hattest Recht.
Wenn ich es so mache, wie du beschrieben hast, dann geht es.
Danke

Gruß Rüdiger

von Hansbausn (Gast)


Lesenswert?

Moinsen,

so, habe die Platine zusammengelötet und auch die Kaltetests erfolgreich 
durchgeführt. Jetzt muss noch der Raspberry konfiguriert werden und an 
die Heizungsanlage angeschlossen werden. Den Klemmleiste für den Bus am 
FW100 und ISM1 habe ich schon gefundne. Allerdings sind am FW100 die 
Klemmen belegt und gehen zum ISM1, so dass dort auch beide Klemmen 
belegt sind. Kann ich mich einfach mit drunter Klemmen oder gibt das 
Ärger ? Auch kann ich  anhand der Klemmen nicht die Polarität erkennen. 
Schieße ich die Anlage ab, wenn ich beim ersten Mal die Falsche Richtung 
erwische. Wenn sie richtig rum sind, sollte die grüne LED lustig vor 
sich hin flimmer ?!

Danke schon mal


Hans

von Norbert S. (junky-zs)


Lesenswert?

Hallo Hans,

> Kann ich mich einfach mit drunter Klemmen?
Ja, parallel zu den B-Klemmen.

> oder gibt das Ärger ?
Normalerweise nicht, nur wenn Du Schnürsenkel statt ordentlicher Litze 
zum Verdrahten nimmst. 2 * 0,75 mm2 ideal.

> Schieße ich die Anlage ab, wenn ich beim ersten Mal die Falsche Richtung
> erwische.
Nein, da der Adapter galvanisch getrennt vom Heizungs-Bus ist. Es sei 
denn es ist ein Fehler in der Verdrahtung, aber die hast Du ja geprüft.
Der Adapter selber hat eine Diode vor dem Optokoppler der bei falscher 
Polung diesen schützt.

> Wenn sie richtig rum sind, sollte die grüne LED lustig vor
> sich hin flimmer ?!
Ja

Gruß Norbert

von Nils R. (augur)


Angehängte Dateien:

Lesenswert?

Moin.

Ich hab nun über den Raspberry eine Visualisierung auf meinem HS gebaut 
und feststellt, dass die Angabe von Vorlauf ist und Vorlauf soll 
meistens nicht übereinstimmen. Dabei stimmt aber Vorlauf soll mit 
Rücklauf meistens überein. Kann es sein, dass die Steuerung den Rücklauf 
steuert und nicht den Vorlauf?

Anbei mal die Darstellung von einem Tag.

Viele Grüße,
Nils

von Adam K. (adamkorski)


Lesenswert?

Nils R. schrieb:
> Dabei stimmt aber Vorlauf soll mit
> Rücklauf meistens überein.

Ich sehe bei Dir alles i.O.  Nach ca. 8 und 11 Uhr hast Du stark mit 
Sollwert gespielt. Marke, dass Kessel mit volle Post WW heizt und dann 
von Restwärme der Vorlauf bei kleiner Wärmeabnahme aufgeheizt wird. 
Mehr kann man erklären, wenn Du auch Kessel- und Pumpenleistung anhängen 
kannst.
Probiere noch Parameter Aufheizgeschwindigkeit auf Sparsam einstellen. 
Jetzt hast Du sicherlich Normal oder Schnell.

von Nils R. (augur)


Lesenswert?

Hi.

Danke für die Ausführung, dass schaue ich mir mal an.

Jedoch geht es mir erst mal darum, dass Vorlauf Soll und Rücklauf 
anscheinend zusammenhängen. Vorlauf Ist weicht doch immer eher von der 
Soll-Größe ab. Daher wollte ich mal die Frage stellen, ob dies nicht 
ggf. falsch benannt ist.

Viele Grüße,
Nils

von Müller Timo (Gast)


Lesenswert?

Überweisung ging jetzt endlich raus und freu mich auf die platine

versteh ich das richtig das ich die Heizung jetzt auch per Handy steuern 
kann? über den hat Receiver?
welche app dazu?
oder wie muss ich mir das vorstellen?

von Norbert S. (junky-zs)


Lesenswert?

Hallo Timo,

> versteh ich das richtig das ich die Heizung jetzt auch per Handy steuern
> kann?
Dies ist möglich wenn Du FHEM auf Deinem RapsberryPi installiert und 
konfiguriert hast. Zusätzlich muss das Prerelease von 89_HEATRONIC.pm 
auf dem RaspberryPi installiert sein.

Siehe dazu:
Beitrag "Re: Heizungs-Datenerfassung (HT3)"
Beitrag "Re: Heizungs-Datenerfassung (HT3)"
https://github.com/norberts1/fhem

Ein Zugriff von Haus-extern auf Deinen RaspberryPi ist Voraussetzung 
dafür.
Ansonsten geht die Steuerung natürlich immer Haus-intern über Laptop / 
Tablet.

Gruß Norbert

: Bearbeitet durch User
von Markus J. (mjotter)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein ipm2, daran hängt durch einen Wärmetauscher getrennt eine 
Fußbodenheizung. Leider vermisse ich die Felder V_mischerstellung" und 
T_vorlauf_misch_HK. Also eigentlich die Werte, die ich im Bedienteil 
fotografiert habe (Anlage alle_mischer.jpg).

Woran hängt es? Werden die Telegramme
A0 00 FF 00  Lastschaltmodul#1 (IPM)
A1 00 FF 00  Lastschaltmodul#2 (IPM)
nicht vearbeitet?

Wie kann ich eigentlich das File ht_binlog.log lesen? Ist Newline ein 
neuer Datensatz? Ich habe noch ein perl-script test.pl angehängt. Es 
wandelt das ht_binlog.txt in hex um, und lässt die Newline stehen.
 perl test.pl /tmp/ht_binlog.log | grep 'a1 00 ff'
Ergibt
00 00 22 00 10 00 90 a1 ff 00 01 00 0c dd 00 a1 10 ff 00 00 0c 02 dc 00 
90 00 21 00 a1 00 ff 00 00 0c 02 03 64 01 2c 22 b9 00 a1 00 2a 00 32 00

Hinten ist das ein gültiges telegramm?
a1 00 ff 00 00 0c 02 03 64 01 2c 22 b9 00

Müsste das dann nicht erkannt und zusammen in die Datenbank in die 
HT3_db.sqlite in die Tabelle heizkreis2 gehen?

Grüße

von Norbert S. (junky-zs)


Lesenswert?

Hallo Markus,

die Telegramme für das IPM-Modul werden erst ausgewertet wenn Du das 
Konfigurationsfile 'HT3_db_cfg.xml' angepasst hast.
Folgendes ändern:

<anzahl_heizkreise>2</anzahl_heizkreise>   (Zwei Heizkreise)
...
    <systempart name="heizkreis1">
    ...
    <unmixed>False</unmixed>   <!-- True/False -->

gleiches für den zweiten Heizkreis
    <systempart name="heizkreis2">
    ...
    <unmixed>False</unmixed>   <!-- True/False -->

Danach den Proxy neu starten und zusätzlich das script 'rrdtool_draw.pl' 
für die Ausgabe der rrdtool-Grafik im cronjob mit geändertem Parameter 
'2' aufrufen.
 -->  /bin/perl rrdtool_draw.pl  /home/pi  /home/pi 2
Der Parameter '2' gibt die Anzahl der Heizkreise an. Rest bleibt so.

Die Werte für die Mischer in den Programm 'HT3_Analyser.py' und 
'HT3_SystemStatus.py' werden nach der Änderung angezeigt .

Bitte kontrolliere die Anzeigen der rrdtool-Grafik für die Heizkreise. 
Es kann sein das dort noch etwas fehlt. Ich selber habe kein IPM-Modul 
deshalb ist es gut wenn Du dies testen kannst.

Das Bin-File sehe ich mir noch an.

Gruß Norbert

von Markus J. (mjotter)


Angehängte Dateien:

Lesenswert?

Hallo Norbert,

der zweite Heizkreis wird schon befüllt... Siehe Anhang.

Es fehlen aber die Mischerdaten. (Geöffnet, gemischte Temperatur, ...) 
Sowohl im HT3_Analyser.py als auch im HT3_SystemStatus.py.

Vielen Dank für die schnelle Antwort.

Grüße

von Norbert S. (junky-zs)


Lesenswert?

Hallo Markus,

> Es fehlen aber die Mischerdaten
In der SQ-Lite Datenbank sollten diese Werte enthalten sein.
Allerdings nicht in der rrdtool-Grafikausgabe, da das 
script'rrdtool_draw.pl' diese Werte nicht abfragt.
Dieses Script ist recht statisch und achtet nicht auf die aktuelle 
Konfiguration. Vielleicht lässt sich daran noch was verbessern.

> Fehlen sowohl im HT3_Analyser.py als auch im HT3_SystemStatus.py
Die Mischerwerte sollten hier nach Änderung der Konfiguration angezeigt 
werden. Beide Tools greifen auf das 'lokale' Konfigurations-File zu. 
Eventuell liegt da der Grund drin falls Du diese Tools auf einem anderen 
Rechner als dem proxy-server laufen lässt.

Ich habe mir Dein 'ht_binlog.log' File angesehen, jedoch nicht die 
Telegramm-Sequenzen wiedergefunden die ich für einen ht_pitiny-Adapter 
erwartet hätte.
Diese Telegramme fangen alle an mit: #HR.....
Ich nehme an das Du die Schnittstelle nicht auf die richtige Baudrate 
(19200 bei ht_pitiny) eingestellt hast bevor Du Dein Perl-Script 
gestartet hast.

Du kannst besser das Tool: ht_binlogclient.py für die binäre 
Datenerfassung verwenden. Dies verwendet das Konfigurations-File:
  ./etc/config/ht_proxy_cfg.xml
Wenn darin die Daten korrekt sind klappt die binäre Datenerfassung mit:
  ./ht_binlogclient.py meinbinärfile.log

Falls Du weiterhin Anzeigeprobleme hast kannst Du mir ein Binär-Logfile 
zukommen lassen.

Gruß Norbert

: Bearbeitet durch User
von Markus J. (mjotter)


Angehängte Dateien:

Lesenswert?

Hallo Norbert,

ich hatte wohl mit dem netclient herumgespielt.
./ht_netclient.py -ht_cfg 3
./ht_netclient.py -ht_rst 1
jetzt kommt auch ein log mit #HR heraus. Vorher hatte ich 2 drin.

Das perl-Script formatiert mir nur das binlog. Sobald 23 48 52 ?? ?? 
kommt (#HR..) mache ich danach eine newline.

Trotzdem das gleich Ergebnis:

perl test2.pl ht_binlog.log | grep 'a1 00 ff 00'
a1 00 ff 00 00 0c 02 01 1f 00 f2 1a f3 00 e6 23 48 52 11 02
a1 00 ff 00 00 0c 02 01 1f 00 f2 1a f3 00 e6 23 48 52 11 02
a1 00 ff 00 00 0c 02 01 1f 00 f2 1a f3 00 e6 23 48 52 11 02
a1 00 ff 00 00 0c 02 01 17 00 f2 11 b8 00 45 23 48 52 11 02
a1 00 ff 00 00 0c 02 01 1f 00 f2 1a f3 00 e6 23 48 52 11 02
a1 00 ff 00 00 0c 02 01 17 00 f2 11 b8 00 45 23 48 52 11 02

Passt das Log? Bei den kurzen Telegrammen kann ich keinen Sinn erkennen. 
Oder habe ich  ein Problem, und der ht_pitiny empfängt Blödsinn? Ich 
habe den ht_pitiny an den Bus des imp2 angeschlossen (ca. 30cm vom imp2, 
vorher ca. 1 Meter vom Brenner).

Ich bekomme prinzipiell sinnvolle Anzeigen. Mit dem netclient konnte ich 
auch den Modus ändern (./ht_netclient.py -b frost)

Grüße

von Markus J. (mjotter)


Lesenswert?

Hallo Norbert,

noch was:
das HT3_Logger.py und ht_proxy.py auf einem Raspberry B  jeweils 11 % 
CPU ziehen ist normal?

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
 2060 pi        20   0 45228  22m 7072 S  11,8  6,1  67:24.33 
HT3_Logger.py
 2046 pi        20   0 76344 9544 4080 S  11,4  2,5  54:59.84 
ht_proxy.py

Grüße

von Norbert S. (junky-zs)


Lesenswert?

Hallo Markus,

das Telegramm ist schon OK. Die Formatierung mit '/n' ist noch nicht 
richtig.

Die eigentliche 'Payload' für dieses Telegramm ist 14 Byte lang (inc. 
Break).
Deine falsche Formatierung:
a1 00 ff 00 00 0c 02 01 1f 00 f2 1a f3 00 e6 23 48 52 11 02
Korrekte Formatierung (Telegramm des IPM):
a1 00 ff 00 00 0c 02 01 1f 00 f2 1a f3 00
  Darin bedeutet:
  1f    := Mischer 31% offen
  00 f2 := Vorlauftemperatur = 24,2 Grad Celsius
  00 am Ende := Null für das erkannte Break-Signal.

die folgende Bytes sind:
e6 := CRC über Header + Payload
23 48 52 11 02 := Ist Header des nächsten Telegramms.

Beschreibung dieser Telegramme ist zu finden unter: 
ht_transceiver_messages.html.
Diese Doku ist in: hometop_ht_transceiver/docu

> das HT3_Logger.py und ht_proxy.py auf einem Raspberry B  jeweils 11 %
> CPU ziehen ist normal?
Ja, das ist im grünen Bereich. Es werden ja vom ht_pitiny ALLE 
Telegramme an die Auswertung gesendet auch die ganz kurzen 
Polling-Telegramme.
Dies macht vor allem diese 'CPU-Last' aus.

Zeigen jetzt bei Dir die Programme HT3_Analyser.py und 
HT3_SystemStatus.py die Mischerdaten korrekt an?
Falls nicht sende mir einfach ein unformatiertes binär.log Deiner 
Anlage.

Gruß Norbert

: Bearbeitet durch User
von Markus J. (mjotter)


Lesenswert?

Hallo Norbert,

bisher kommt nichts an:

sqlite> select
   ...> T_vorlauf_misch_HK,
   ...> T_steuer_FB,
   ...> V_betriebs_art,
   ...> V_mischerstellung,
   ...> T_vorlauf_misch_HK,
   ...> V_spare_1,
   ...> V_spare_2,
   ...> sum(1) anz,
   ...> max(Local_date_time) max_Date
   ...> from heizkreis2
   ...> group by T_vorlauf_misch_HK,
   ...> T_steuer_FB,
   ...> V_betriebs_art,
   ...> V_mischerstellung,
   ...> T_vorlauf_misch_HK,
   ...> V_spare_1,
   ...> V_spare_2;
T_vorlauf_misch_HK  T_steuer_FB  V_betriebs_art  V_mischerstellung 
T_vorlauf_misch_HK  V_spare_1   V_spare_2   anz         max_Date
------------------  -----------  --------------  ----------------- 
------------------  ----------  ----------  ---------- 
-------------------
0.0                 0.0          2               0                  0.0 
0           0           2936        2015.12.14 05:09:16
0.0                 0.0          3               0                  0.0 
0           0           8764        2015.12.14 20:18:54

Das binlog hatte ich oben schon angehängt (zusammen mit meinem 
perl-script)

Kannst du mal draufsehen? Ich glaube die Mischerdaten gehen verloren, 
und werden nicht gespeichert..

Grüße

Markus

: Bearbeitet durch User
von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo Markus,

> Kannst du mal draufsehen? Ich glaube die Mischerdaten gehen verloren
Ich habe das Logfile analysiert und folgendes festgestellt:
Die Zuordnung zwischen den IPM-Telegrammen und den Heizkreisen passt für 
Deine Anlage nicht.
In Deiner Anlage ist das Telegramm: 'a1 00 ff 00 ...' wohl dem 
Heizkreis2 zuzuordnen.
Dies ist aber im aktuellen Software-Release noch anders.
Bitte korrigiere daher Deine Software wie folgt:
Modul: ~/HT3/sw/lib/ht3_decode.py
Zeile: 400 ff
Inhalt anpassen:
        if firstbyte == 0xa0:
            nickname="HK1"
        elif firstbyte == 0xa1:
            nickname="HK2"
        elif firstbyte == 0xa2:
            nickname="HK3"
        elif firstbyte == 0xa3:
            nickname="HK4"
        else:
            nickname="HK1"

(HK3 und HK4 bei Dir nicht vorhanden, nur der Vollständigkeit halber)

Nach dieser Anpassung ist auch die Mischer-Anzeige in der GUI vorhanden 
(siehe Bild) und die Daten werden in die sqlite-DB geschrieben. 
Allerdings werden die Daten noch nicht grafisch mit dem rrdtool 
ausgegeben.

Gruß Norbert

von Juri K. (iuser)


Lesenswert?

Hallo,

als erstes großes Dank an Norbert für die gemachte Arbeit! Echt 
beeindruckend.
Ich habe seit kurzem meine alte Junker Therme durch eine neue ZWR18-7 
ersetzt bekommen. Die Alte hatte ich seit 2 Jahren noch komplett analog 
erst vom FHEM und später vom OpenHab gesteuert. Da gab es aber außer 
ei/aus nicht viel zu steuern.
Jetzt möchte ich mich an den neuen Versuchen und wenn die Steuerung 
klappen sollte, auch ein OpenHAB Binding dafür erstellen. Das Problem 
ist aber, dass ich zwar programmieren kann, aber absolut keine 
Erfahrung in der Elektronik habe. Und für das erste Projekt ist der 
Adapter schon eine ziemliche Herausforderung ist.
Deswegen die erste Frage - kann man evtl. das Aufbau des Adapters auf 
irgendeine Weise vereinfachen, z.B. durch Einsatz von (teureren) Blöcken 
o.ä?
Zweite Frage ist – der OpenHab Server läuft im Moment auf der Paspberry 
2 – kann man den Adapeter an dieselbe PI anschließen? Reicht es von der 
Performance oder soll man lieber eine separate PI dafür nehmen.
Welchen der beiden Adapter soll ich dafür nehmen – pitiny oder piduino?

Danke und Gruß
Juri

von Norbert S. (junky-zs)


Lesenswert?

Hallo Juri,

> kann man evtl. das Aufbau des Adapters auf irgendeine Weise vereinfachen?
Nur wenn man auf wichtige Dinge wie 'Galvanische Trennung' verzichtet. 
Ansonsten sehe ich keine Möglichkeiten.

> OpenHab Server läuft im Moment auf der Paspberry2 – kann man den Adapeter an
> dieselbe PI anschließen?
Anschliessen immer, ob es läuft kann ich nicht sagen da ich kein OpenHab 
habe. Wenn Du ca. 30% mittlere CPU-Last frei hast dann läuft wohl auch 
beides parallel.

> Welchen der beiden Adapter soll ich dafür nehmen – pitiny?
ht_pitiny, siehe:
Beitrag "Adapter fuer Raspberry Pi (Junkers HT3, Buderus EMS u.A.)"

Gruß Norbert

von Markus J. (mjotter)


Angehängte Dateien:

Lesenswert?

Hallo Norbert,

vielen Dank jetzt funktioniert es.

Die Visualisierung gefällt mir nicht so gut, da diese statisch sind.
Für den Stromzähler verwende ich hier:
http://volkszaehler.org/
Das ganze ist nicht einfach ein aktive Oberfläche, hier lassen sich 
Messwerte ausblenden, einblenden, unterschiedliche Farben festlegen, 
etc. Und vor allem zoomen.

Ich habe ein Script gebastelt, das die Datenbank (Sqlite) in die 
volkszaehler Datenbank (mysql) "pumpt". Momentan wird für die 
selektierten Sensoren jeweils alle Werte kopiert. In den nächsten Tagen 
mache ich noch eine Version, die nur die letzten Tage/Stunden/Minuten 
kopiert.

Grüße

Markus

von Nils R. (augur)


Lesenswert?

Hi.

Ich hab jetzt mein MB-LAN2 und den Raspberry parallel angeschlossen und 
ein Jumper gesetzt, damit die Adresse geändert wird.

Eigentlich lief alles 3-4 Tage und nun bekomme ich Fehlermeldungen vom 
Bus. Diese wären wir folgt:
-
Störung 01
IPM Kodierung 2 Störung in der BUS-Kommunikation
10
-
Störung 12
FW200
Systemkonfiguration:
BUS-Teilnehmer fehlt IPM mit Kodierung 1 nicht erkannt, Anschluss und 
Kopierung prüfen

Kann dies damit zusammenhängen, dass ich den MB-LAN2 und Raspberry 
zusammen angeschlossen habe? Habe die in Reihe an den Bus geklemmt.

Viele Grüße,
Nils

: Bearbeitet durch User
von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo Nils,

> Kann dies damit zusammenhängen, dass ich den MB-LAN2 und Raspberry
> zusammen angeschlossen habe? Habe die in Reihe an den Bus geklemmt.
Kontrolliere bitte die Verbindungen. In Reihe ist falsch, parallel ist 
richtig, siehe Bild aus dem MB-LAN2 Handbuch.
Ich habe selber das MB-Lan2 und den ht_pitiny parallel am Bus und dies 
funktioniert.
Dazu ist der ht_pitiny-Adapter auf die Geräteadresse := 10dez. 
einzustellen.
Dies geht wie folgt (ht_proxy.server muss laufen!):
 1. ht_pitiny und MB-Lan2 vom ht-Bus trennen und kontrollieren ob das 
Heizungs-System dann korrekt läuft.
 2. Einstellen der Geräteadresse und Reset des Adapters mit:
 2.1 ./ht_netclient.py -ht_adr 10
 2.2 ./ht_netclient.py -ht_rst 1

Siehe auch Docu Seite 35.

Hinweis: Eventuell vorhandene Brücken zwischen TP-In und TP-Out auf dem 
ht_pitiny-Adapter entfernen (Raspberry-Pi neu starten).

Danach ist der ht_transceiver (ht_pitiny) auf die Geräte-Adresse 10dez. 
eingestellt.
Verkabelung kontrollieren (siehe Bild) und nur den ht_pitiny am ht-Bus 
laufen lassen. Empfang und Senden der Daten muss gehen.
MB-Lan2 dann korrekt anschliessen, dies muss dann auch zusammen laufen.

Gruß Norbert

von Nils R. (augur)


Lesenswert?

Hi Norbert.

Bisher lief beides korrekt ein paar Tage zusammen, auch mit der 
abgewandelten Verkabelung. Ich hab nun die Geräteadresse geändert und 
nun kommt kein Fehlercode mehr. Wahrscheinlich war es das schon. Die 
Verbindung zwischen TP In/Out nehme ich noch raus. War die früher nicht 
mal muss mit dem Anschluss des MB-Lan2?

Viele Grüße,
Nils

PS. Fehler ist wieder da... :-( dann gehe ich mal an die Verkabelung.

: Bearbeitet durch User
von Norbert S. (junky-zs)


Lesenswert?

Hallo Nils,

> Die Verbindung zwischen TP In/Out nehme ich noch raus. War die früher
> nicht mal muss mit dem Anschluss des MB-Lan2?
Ja um die Geräte-Adresse auf (7F)hex zu erzwingen (Native-Mode, kein 
Senden nur Empfangen).
Jetzt ist ja die Adresse einstellbar.
Die Verbindung muss raus und der Adapter einmal stromlos gemacht werden 
bzw. Reset erhalten, sonst läuft der Adapter weiterhin im Native-Mode.

Hattest Du bisher nur den ht_pitiny am ht-Bus (ohne MB-Lan2) und damit 
keine Probleme gehabt?

Gruß Norbert

von Nils R. (augur)


Lesenswert?

Ja, bisher schon. Jetzt hab ich mich mal aufgerafft beides 
anzuschließen, da ich die Zeiten anpassen wollte (sonst kann das Teil ja 
nicht so viel). Vorher gab es nie ein Problem, wo die Geräte einzeln 
angeschlossen waren.

Interessanterweise hab mein Heizungstechniker den HT-Bus nicht wie 
angefordert angeschlossen, sondern alle Geräte in Reihe. Ich hab das nun 
entsprechend der Vorgabe angepasst. Mal sehen, wie lange es nun 
funktioniert.

Die Geräteadresse wird im EPROM gespeichert?

Viele Grüße,
Nils

PS. Und wieder Fehler....Mist. Ich lass den Raspberry mal vom Strom und 
teste mal nur mit MB-LAN2.

PSS. Auch wieder der Fehler. Nun kommt das MB-Lan2 weg. (sollte ich auch 
die Kabel abmachen?)

: Bearbeitet durch User
von Norbert S. (junky-zs)


Lesenswert?

Hallo Nils,

> Die Geräteadresse wird im EPROM gespeichert?
Ja, ist somit auch nach einem Reboot oder Spannungsausfall vorhanden.

> Nun kommt das MB-Lan2 weg. (sollte ich auch die Kabel abmachen?)
Normalerweise reicht es die Spannungsversorgung dafür abzuschalten.
Aber das MB-Lan2 als Fehlerursache kommt mir schon komisch vor, zumal 
die Fehlermeldungen nichts mit dem MB-Lan2 sonder mit dem IPM 
(Schaltmodul) zu tun haben.

Ich würde mal beides MB-Lan2 und Adapter vom ht-bus entfernen 
(abklemmen) und mal 2 bis 3 Tage das Heizungssystem laufen lassen.
Wenn kein Fehler mehr auftritt dann erst mal das MB-Lan2 anschliessen 
und sehen wie dies sich verhält.

Gruß Norbert

von Nils R. (augur)


Lesenswert?

Hi.

Werde ich genauso machen. Weißt du ob man die beiden 
Verkablungsvarianten kombinieren kann? Aktuell habe ich folgendes:

FW200 -> (In) IPM (Out) -> MB-Lan2
                        -> Raspberry
                        -> Solar

Hinter dem IPM ist es als Stern verkabelt, dieser selber hat zwei 
Anschlüsse. Alles andere funktioniert, nur der IPM in der Mitte nicht 
zuverlässig. Eine Verteilerdose habe ich nicht genutzt sondern alles vom 
Ausgang des IPM angeschlossen. Brauche ich eine speziellen Verteiler 
dafür?

Viele Grüße,
Nils

: Bearbeitet durch User
von Norbert S. (junky-zs)


Angehängte Dateien:

Lesenswert?

Hallo Nils,

ich habe leider kein IPM-Modul und keine Unterlagen darüber, aber aus 
Deinem Bild entnehme ich das dies Modul zwei mal zwei Klemmen (In/Out 
mit 'B' bezeichnet) hat.
Ich weiss aber nicht wofür dieser Out-Anschluss sein soll, denn das IPM 
ist ja kein Mittler zwischen den Modulen sondern ja auch nur ein 
weiteres Modul.

Du wirst sicher Unterlagen vom IPM haben aus der die Funktion von den 
In- und Out-Anschlüssen hervorgeht.
Sicher sind dort auch Anlagenschema und Installations-Anweisungen 
enthalten die weiterhelfen.
Im Bild ein Schema für eine einkreisige Regelung mit dem IPM die ähnlich 
Deinem Bild sind.
Allerdings würde ich das MB-Lan2 und den ht_pitiny Adapter direkt am 
FW200 Regler anschliessen und nicht über das IPM2 - Modul schleifen.

Gruß Norbert

: Bearbeitet durch User
von Nils R. (augur)


Angehängte Dateien:

Lesenswert?

Hi Norbert.

In den Schemata, welche mir vorliegen, sind die IPM Module in Reihe 
geschaltet. Laut Anleitung werden aber auch andere Module nicht 
ausgegrenzt (wie bei der Anleitung vom MB-Lan2 erwähnt).

Ich werde das aber morgen mal umbauen und eine Abzweigdose installieren. 
Dann ist das ganze auch schöner verkabelt mit Klemmen.

Viele Grüße,
Nils

PS. Mit stromlosen Raspberry läuft die Anlage seit ein paar Stunden nun 
ohne Fehler...vielleicht tritt eine Masseschleife oder ähnliches auf und 
das IPM hat deshalb Probleme...aber morgen wird nochmal umgebaut...

von Nils R. (augur)


Lesenswert?

Sooo, ich glaube ich hab das Problem gefunden. Nachdem ich mir überlegt 
habe, welches Gerät denn neu hinzugekommen ist, hab ich den 
Netzwerkswitch identifiziert. Mit dem MB-LAN2 wieder direkt ans Netz und 
keine Probleme mehr. Werde nun den Raspberry wieder anschließen erst mal 
ohne Netz mitlaufen lassen.

Ich hoffe ein neuer Switch macht dann keine Mucken mehr.

Viele Grüße,
Nils

von Ronny K. (ronny_k)


Lesenswert?

Hallo,

habe den HT_Pitiny Adapter nachgebaut. Danke nochmal an Norbert für die 
viele Mühe und die Unterstützung hier und die gute Anleitung.

Allerdings läuft bei mir die Software nicht auf dem Attiny.
Ähnliches Problem wie schon früher hier im Thread von 'strauch' 
thematisiert: Beitrag "Re: Heatronic 3 Adapter (Junkers Heizung) fuer Raspberry Pi"

Ich habe also die Fuses durchprobiert (hfuse D5 oder D7) in Kombination 
mit efuse F5 oder FF. lfuse immer EE

Variation der Reihenfolge:
fuses, flash , eeprom
fuses, eeprom, flash

Jeweils immer poweroff&poweron
Verify ist immer ok.

DIE LED BLINKT NICHT !

Habe mit einem Oszi an den Pins 2 und 3 des ATtiny gemessen und dort 
keinen 10MHz Sinus vom Quarz gesehen.
- Platine nochmals mit Lupe überprüft (Sichtprüfung) - keine 
Auffälligkeiten
- Platine mit Durchgangsprüfer gemessen, um Kurzschlüsse oder 
Unterbrechungen (besonders am ATtiny) zu finden - keine Auffälligkeiten

- Quarz gegen einen aus der Krabbelkiste getauscht (4,395 MHz)
- mit Oszi an Pins 2 bzw 3 gemessen --> Sinussignal mit der 
Quarzfrequenz, grüne LED blinkt nicht

Jetzt dachte ich, dass der Quarz defekt ist, habe mir also einen neuen 
besorgt und eingelötet. Kein Sinussignal an Pins 2 bzw 3.
"Springt" auch nicht an, wenn ich mit dem Finger oder Metall die Pins 
des Quarzes abwechselnd berühre.
Habe die beiden 22pF Kondensatoren am Quarz ausgelötet und gemessen. 
Habe einen Wert von 22nF statt 22pf ermittelt (mit Multimeter) und mir 
neue besorgt. Diese hatte ich im Laden extra nachmessen lassen und sie 
hatten 22pF. Neue Kondensatoren nochmal zu Hause nachgemessen und sie 
hatten wieder 22nF. Hatte also ein Problem mit meinem Messgerät zu 
Hause. Nachdem ich es neu kalibriert habe, hat es mir 25pF bei den alten 
und neuen Kondensatoren angezeigt. Die Kondensatoren waren es also 
nicht.

Ich werde mir jetzt mal einen neuen ATtiny besorgen.
Oder hat noch jemand eine andere Idee, woran es liegen könnte?

Danke

Ronny

von fsigloch (Gast)


Lesenswert?

Hatte mal Probleme mit BODLEVEL, Mit 2,7 Volt gings dann.

Gruß Ferdinand

von Norbert S. (junky-zs)


Lesenswert?

Hallo Ronny,

ich vermute mal Du hast keinen SMD-Quarz sondern einen bedrahteten Quarz 
genommen. Bei diesem Typ muss man aufpassen das man das Gehäuse nicht 
plan auf die Platine montiert sondern ein wenig Luft lässt.
Das Gehäuse macht sonst einen schönen Kurzschluss zwischen den 
Anschluss-Fahnen am ATtiny Pin2 und Pin3.
Aber dies kannst Du ja nachmessen. Falls nötig Quarz entfernen und 
folgenden Test durchführen:

Zum Test kannst Du auch die Fuses so einstellen das der ATtiny mit 8MHz 
INTERN läuft.
Klar, Du musst zuvor die Verbindung zum Heizungsbus entfernen aber dies 
hast Du sicher schon gemacht.
Die Fuses für diesen Test wie folgt einstellen:
 Ext.: F5
 High: D5
 Low : E2
Die grüne LED sollte jetzt blinken, zwar nicht ganz so schnell wie mit 
10MHz aber moderat blinken.

Gruß Norbert

von Bernhard L. (blf)



Lesenswert?

Hallo zusammen,

seit bald 3 Jahren verfolge ich das Thema, anfangs noch unter dem Thread 
Beitrag "Junkers HT-Bus Heatronic 3 Schnittstelle", da im Herbst 2012 unserer 
Brennwertkessel Junkers CSW 30-3A in Betrieb genommen wurde.

Die Anlage: Zum Brennwertkessel kommt noch eine Solarstation mit einem 
415-Liter Speicher (SP400 SHU), geregelt mit einer ISM 1.
Als externer Regler (Montage im Wohnzimmer) wird der FW120 verwendet.

Im Herbst 2013 habe ich mich dann getraut, den Heatronic-Bus anzuzapfen 
und über einen Spannungsteiler direkt in den RX-UART eines Raspberry Pi 
zu gehen. Die Datenaufbereitung habe ich mit Perl erledigt, Diagramme 
mit Gnuplot erstellt. Leider gab es noch reichlich Fehler in den 
Telegrammen, aber um die Anlage besser zu verstehen, Probleme der 
Solaranlage zu identifizieren und Einstellungen sinnvoll zu verändern, 
hat es schon eine Menge geholfen.

An dieser Stelle schon mal ganz herzlichen Dank an alle, die hier die 
Ergebnisse ihrer Experimente mitgeteilt und Schaltpläne, Bilder oder 
Software zur Verfügung gestellt haben !!! Ohne das wäre bei mir nichts 
gegangen - was Elektronik und Programmieren angeht, bin ich ein kleiner 
Anfänger.

Da ich mich mit den fehlerhaften Diagrammen nicht so ganz abfinden 
wollte und die Ursache zunächst am Spannungsteiler vermutete, habe ich 
es im Frühjahr 2015 stattdessen mit dem HT3_Miniadapter (s.o.) versucht. 
Ergebnis: Die Fehler waren genau die selben wie vorher. Bis vor kurzem 
hatte ich dennoch die Hardware im Verdacht ...

... bis ich dann vor ein paar Tagen einmal statt meines Perl-Skripts den 
HT3_CSW_analyser.py von Norbert gestartet habe und siehe da: Alle 
Telegramme werden erkannt, die Fehler sind verschwunden! Inzwischen habe 
ich auch den HT3_Logger.py ausprobiert, der funktioniert jetzt auch. 
Also war mein schlechtes Perl-Skript schuld an den Fehlern.

Norbert, ganz herzlichen Dank für die Bereitstellung der Codes, 
Schaltpläne und die hervorragende umfangreiche Dokumentation!
2 Kleinigkeiten sind mir beim Ausprobieren der Software aufgefallen:
- Die Brennerleistung wird in % angegeben, was bei meinem Gerät nicht 
ganz hinkommt. Die Leistung müsste entsprechend der Tabelle 28 der 
Installationsanleitung von Junkers 
http://www.heizungsdiscount24.de/shop/images/products/media/Junkers-CSW-30-3-A-7712231476-UR_05_Installationsanleitung-Junkers-CerapurSolar-CSW-30-3-A.pdf 
(Seite 49) umgerechnet werden. Z.B. ist mein Gerät zum Heizen auf eine 
Belastung von 12 kW gedrosselt worden, was der Anzeige am Display '50' 
entspricht (wird dann auch im Telegramm als '50' angezeigt). Ich habe 
den Zusammenhang von Anzeige und Belastung folgendermaßen genähert: 
Belastung/kW = Anzeigewert*0.36577 - 6.3158.
- Ein Problem hatte ich beim Starten des HT3_Logger.py. Fehlermeldung 
siehe Anlage.Nach Auskommentieren der Zeile 137 in ht3_worker.py hat es 
funktioniert.

Beim Solarspeicher (SP400 SHU) bietet es sich an, zusätzliche 
Temperatursensoren zu installieren (bei mir DS18B20 an 1wire-Bus), wenn 
man den "Ladezustand" des Speichers abschätzen möchte (--> angehängte 
JPGs). In den Daten vom HT3-Bus habe ich bisher nur die Temperaturdaten 
des unteren Temperatursensors gefunden (in b0 00 ff 00). Die Temperatur 
des Sensor in Speichermitte wird möglicherweise gar nicht über den Bus 
gesendet sondern nur im Heizgerät direkt für die Regelung verwendet. Die 
Analoganzeige im Speicher oben kann eigentlich nur dem Installateur 
nutzen, damit er sich nicht die Finger verbrennt, wenn er Wasser 
ablassen muss.

Schönen Gruß
Bernhard

von Ronny K. (ronny_k)


Lesenswert?

Hallo Ferdinand,

kannst Du mir sagen, wie ich BODLEVEL auf 2,7V stelle? Über Fuses?

von Ronny K. (ronny_k)


Lesenswert?

Hallo Norbert,

Norbert S. schrieb:
> Hallo Ronny,
>
> ich vermute mal Du hast keinen SMD-Quarz sondern einen bedrahteten Quarz
> genommen. Bei diesem Typ muss man aufpassen das man das Gehäuse nicht
> plan auf die Platine montiert sondern ein wenig Luft lässt.
> Das Gehäuse macht sonst einen schönen Kurzschluss zwischen den
> Anschluss-Fahnen am ATtiny Pin2 und Pin3.
Habe einen SMD-Quarz. Der hat eine schwarze Kunststoffscheibe zur 
Isolierung. Hatte aber auch schon den Quarz mit längeren Anschlussfahnen 
versehen, weil ich dachte, dadurch schwingt er besser an, weil mein 4 
MHz Quarz auch lange Fahnen hatte.

> Aber dies kannst Du ja nachmessen. Falls nötig Quarz entfernen und
> folgenden Test durchführen:
>
> Zum Test kannst Du auch die Fuses so einstellen das der ATtiny mit 8MHz
> INTERN läuft.
> Klar, Du musst zuvor die Verbindung zum Heizungsbus entfernen aber dies
> hast Du sicher schon gemacht.
> Die Fuses für diesen Test wie folgt einstellen:
>  Ext.: F5
>  High: D5
>  Low : E2
> Die grüne LED sollte jetzt blinken, zwar nicht ganz so schnell wie mit
> 10MHz aber moderat blinken.

Habe ich gerade probiert. Grüne LED blinkt nicht. Ich messe dauerhaft 
0,3V am entsprechenden ATtiny-Ausgang.
>
> Gruß Norbert

Danke,

Ronny

: Bearbeitet durch User
von Ronny K. (ronny_k)


Lesenswert?

Ronny K. schrieb:
> Hallo Ferdinand,
>
> kannst Du mir sagen, wie ich BODLEVEL auf 2,7V stelle? Über Fuses?

Sehe gerade im Datenblatt, das hfuse D5 schon BODLEVEL 2.7V 
entspricht...

Das sollte es also nicht sein.

Ronny

von fsigloch (Gast)


Lesenswert?

Muss nicht auch LOW:  EE sein, damit der Quartzozillator mit 10 MHz tut 
?

Gruß Ferdinand

von Norbert S. (junky-zs)


Lesenswert?

Hallo,

@Ferdinand
> Muss nicht auch LOW:  EE sein, damit der Quartzozillator mit 10 MHz tut ?
Ja, die korrekte Einstellung der Fuses ist:
  Ext.: F5
  High: D5
  Low : EE
Dann sind u.A.externer Quarz und BODLEVEL 2.7V richtig eingestellt.

@Ronny
Ferndiagnosen sind immer etwas schwierig aber ich versuche es mal:
1. Die Fuses im Adapter hast Du auf die obigen Werte setzen können 
(N-mal) und somit läuft der externe Quarz!!!!
Grund: weil ohne den Quarz ein Flashen nicht möglich ist wenn man einmal 
von interner auf die externe Takterzeugung umgeschaltet hat!
Ob die Frequenz stimmt ist dann eine andere Sache.
Mit einem Scope und Tastkopf hat man u.U. Messprobleme da die 
zusätzlichen Kapazitäten den Schwingkreis beeinflussen.

2. Der ATtiny lässt sich Flashen, somit funktioniert der zumindest 
dafür.
3. Die grüne LED (D9) ist richtig bestückt und funktioniert auch !!??

Bleibt nur noch der Reset bzw. die Resetschaltung über. Hast Du die 
Diode (D10) und Widerstand (R16) korrekt bestückt !!??
Am Pin4 des ATtiny841 muss High-Pegel anliegen.
Dort kannst Du auch manuell einen Reset ausführen, eventuell hat ja der 
Pullup-Widerstand (R16) keinen Kontakt.

Wenn all dies nicht fruchtet schicke mir den Adapter zu.

Gruß Norbert

von Ronny K. (ronny_k)



Lesenswert?

Norbert S. schrieb:
> @Ronny
> Ferndiagnosen sind immer etwas schwierig aber ich versuche es mal:
> 1. Die Fuses im Adapter hast Du auf die obigen Werte setzen können
> (N-mal) und somit läuft der externe Quarz!!!!
> Grund: weil ohne den Quarz ein Flashen nicht möglich ist wenn man einmal
> von interner auf die externe Takterzeugung umgeschaltet hat!
Aha - ich dachte, es gibt dann ein Fallback auf den internen, wenn der 
externe Quarz nicht anschwingt.
> Ob die Frequenz stimmt ist dann eine andere Sache.
> Mit einem Scope und Tastkopf hat man u.U. Messprobleme da die
> zusätzlichen Kapazitäten den Schwingkreis beeinflussen.
>
> 2. Der ATtiny lässt sich Flashen, somit funktioniert der zumindest
> dafür.
> 3. Die grüne LED (D9) ist richtig bestückt und funktioniert auch !!??
Habe die Leiterbahnen und Vorwiderstand (1K) nachgemessen. Die 
Verbindungen vom ATtiny bis zur LED sind ok. Wie gesagt, ich messe dort 
ständig 0,4V - was ich merkwürdig viel finde. Bei L-Pegel sollten dort 
gegen 0V anliegen. Auch menn ich länger am ATtiny LED Grün Ausgang 
messe, sehe ich dort nie mehr als 0,4V. Also blinkt da nichts, selbst 
wenn die LED falsch herum drin wäre (was ich mehrfach geprüft habe). 
Kathode (Chipträger) an Minus (Pin am Platinenrand). Habe auch schon die 
LED getauscht.
>
> Bleibt nur noch der Reset bzw. die Resetschaltung über. Hast Du die
> Diode (D10) und Widerstand (R16) korrekt bestückt !!??
> Am Pin4 des ATtiny841 muss High-Pegel anliegen.
H liegt an Pin 4 an (3,3V).
> Dort kannst Du auch manuell einen Reset ausführen, eventuell hat ja der
> Pullup-Widerstand (R16) keinen Kontakt.
Habe mal probehalber auf L gezogen (Kurzschluss nach GND). Keine 
Reaktion.
>
> Wenn all dies nicht fruchtet schicke mir den Adapter zu.

Ich schneide erst mal den ATtiny raus und teste einen anderen, bevor ich 
Dich damit belästige.

Vielen Dank erst mal.
>
> Gruß Norbert
VG,
Ronny

von fsigloch (Gast)


Lesenswert?

Hi,

ich hatte mal Probleme mit dem EESAVE. Nach (wichtig vorher) korrekter 
Fuse- Einstellung habe ich nur das EEPROM neu geflasht, dann blinkte die 
grüne LED freudig.

Gruß Ferdinand

von Ronny K. (ronny_k)


Lesenswert?

fsigloch schrieb:
> Hi,
>
> ich hatte mal Probleme mit dem EESAVE. Nach (wichtig vorher) korrekter
> Fuse- Einstellung habe ich nur das EEPROM neu geflasht, dann blinkte die
> grüne LED freudig.
>
> Gruß Ferdinand

habe ich mal getestet: Fuses gesetzt:
1
root@junkers:/home/pi# avrdude -cgpio -pattiny841 -U lfuse:w:0xEE:m -U hfuse:w:0xD5:m -U efuse:w:0xFF:m
2
avrdude: AVR device initialized and ready to accept instructions
3
...
4
avrdude: 1 bytes of lfuse verified
5
...
6
avrdude: 1 bytes of hfuse verified
7
...
8
avrdude: 1 bytes of efuse verified
9
avrdude: safemode: Fuses OK
10
avrdude done.  Thank you.
nur EEPROM geflasht:
1
root@junkers:/home/pi# avrdude -v -pattiny841 -cgpio -Ueeprom:w:pitiny.eep
2
3
avrdude: Version 5.10, compiled on Jun 18 2012 at 12:38:29
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2009 Joerg Wunsch
6
7
         System wide configuration file is "/etc/avrdude.conf"
8
         User configuration file is "/root/.avrduderc"
9
         User configuration file does not exist or is not a regular file, skipping
10
11
         Using Port                    : unknown
12
         Using Programmer              : gpio
13
         AVR Part                      : ATtiny841
14
         Chip Erase delay              : 4500 us
15
         PAGEL                         : P00
16
         BS2                           : P00
17
         RESET disposition             : possible i/o
18
         RETRY pulse                   : SCK
19
         serial program mode           : yes
20
         parallel program mode         : yes
21
         Timeout                       : 200
22
         StabDelay                     : 100
23
         CmdexeDelay                   : 25
24
         SyncLoops                     : 32
25
         ByteDelay                     : 0
26
         PollIndex                     : 3
27
         PollValue                     : 0x53
28
         Memory Detail                 :
29
30
                                  Block Poll               Page                       Polled
31
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack