<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Superharry</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Superharry"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Superharry"/>
	<updated>2026-04-16T16:16:32Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Junkers_Therme_Stetigregelung&amp;diff=4844</id>
		<title>Junkers Therme Stetigregelung</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Junkers_Therme_Stetigregelung&amp;diff=4844"/>
		<updated>2014-02-10T16:10:19Z</updated>

		<summary type="html">&lt;p&gt;Superharry: /* Digital-to-Analog-Converter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Examples]]&lt;br /&gt;
&lt;br /&gt;
=Ansteuerung einer Junkerstherme mit einer Steuerspannung von 3-22V (0-32V möglich)=&lt;br /&gt;
&lt;br /&gt;
Viele Heizungsthermen haben eine Regelung über einen Kontakt an dem eine feste Spannung anliegt oder eben nicht anliegt. Also als Beispiel: 0V Heizung aus – 12V Heizung an, es gibt keine weiteren Zwischenstufen. Für diese Thermen ist diese Anleitung unzweckmäßig.&lt;br /&gt;
Bei einigen Junkersthermen ist dies jedoch anders 3V =&amp;gt; 0% bis 22V =&amp;gt; 100%. Es sind beliebige Zwischenwerte möglich. Ob man eine solche Heizung hat, kann man einfach feststellen in dem man die Steuerspannung bei angeschlossenem Regler misst. Junkers nennt diese Regler auch Raumtemperaturregler mit Stetigausgang.&lt;br /&gt;
Beobachtung (kein Wissen): Über diese Steuerspannung wird der Brenner in Abhängigkeit der Rücklauf gesteuert. Umso niedriger die Steuerspannung desto später (tiefere Rücklauftemperatur) beginnt die Therme zu heißen. Bei der vorhandenen Junkertherme kann die Vorlauftemperatur nicht über die Steuerspannung eingestellt werden. &lt;br /&gt;
&lt;br /&gt;
==Ziel dieses Projektes==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Keine Veränderung der Therme (Sicherheits-, Versicherungs- ,Garantie-Gründe)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Sicher: Für den Fall eines Defekts der automatischen Steuerung soll der alte Regler soll erhalten&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Erzeugen einer Spannung von 3-22Volt (Simulation des bisherigen Raumtemperaturreglers)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Messung der Vorlauf und Rücklauftemperatur&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Günstig&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Geringe Energieaufnahme&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Ansteuerung mittels Netzwerk&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Integration in FHEM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Umsetzung==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Pollin AVR-NET-IO-Board&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Software: Ethersex&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;kleine Zusatzplatine für die Spannungserzeugung (wird einfach parallel zu dem bestehenden Regler angeschlossen)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Messung der Vorlauf und Rücklauftemperatur mittels OneWire&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung 1==&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_analoge_Anzeige.JPG|120px|right|thumb|Steuersignal]]&lt;br /&gt;
Da die Heizungsregelung eine sehr sensible Sache ist besonders bezüglich Frostschäden (beim Ausfall der automatischen Steuerung) und persönlicher Befindlichkeiten musste eine einfache und extrem ausfallsichere Kontrolleinheit her. Hierfür wird einfaches Drehspulmessinstrument verwendet. Anzeigewerte: 0V=Fehler, 3V=Heizung aus, 22V=Therme 100%.&lt;br /&gt;
Der alte Raumtemperaturregler ist weiterhin aktiv, momentan ist er auf 12°C Solltemperatur gestellt. Das bedeutet:&lt;br /&gt;
&amp;lt;ol&amp;gt; &lt;br /&gt;
  &amp;lt;li&amp;gt;Wenn die automatische Reglung ausfällt, aktiviert der alte Raumtemperaturregler die Heizung bevor Frostschäden entstehen können.&amp;lt;/li&amp;gt; &lt;br /&gt;
  &amp;lt;li&amp;gt;Wenn die automatische Reglung ausfällt, kann die Therme einfach durch einstellen einer neuen Solltemperatur aktiviert werden.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Beide Fälle sind auf Grund von Ausfällen eines anderen FHEM-Systems im ersten Winter aufgetreten.&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung 2==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
[[File:Junkers Therme Stetigregelung Signalverteiler.JPG|80px|right|thumb|Steuersignal]]&lt;br /&gt;
Die Leitung zu dem bisherigen Regler muss gesplittet werden. Hierfür die Heizung ausschalten (Sicherung auslösen) die Leitung auftrennen und einen Abzweig für die neue Regelung einfügen. Das Ganze kann mit einer Schmelzsicherung (für die 24V VCC Leitung) und einem 3poligem-Schalter (vollständiges Wegschalten der automatischen Regelung) versehen werden.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung 3==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Netzwerk zu der Therme oder das Steuersignal zum Netzwerk ziehen. Das AVR-NET-IO-Board kann irgendwo in die Steuersignal-Leitung eingesetzt werden. Theoretisch kann auch die 24V Spannungsversorgung für den ursprünglichen Raumtemperaturregler  verwendet werden. Hier muss einfach ein DC/DC-Wandler eingesetzt werden. (Bitte Leistungsabgabe der Heizung und Leistungsaufnahme des AVR-NET-IO-Board  überprüfen)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Digital-to-Analog-Converter==&lt;br /&gt;
&lt;br /&gt;
Die Schaltung besteht aus einem DAC (LTC1257) und einem Operationsverstärker (LM358). Der LTC1257 wandelt (bei interner Referenzspannung) einen digital übermittelten Wert (über die Eingänge CLK, DIN und LOAD) in eine Spannung von 0-2,048V. Diese Spannung wird anschließend von dem LM358 erhöht. Die Elemente R1,R2, C1 und C2 gehören zur Grundbeschaltung des LTC1257. Mittels der Widerstände R3 und R4 wird der Verstärkungsfaktor der Operationsverstärkerschaltung eingestellt. Der OP ist als nicht invertierender Verstärker ausgeführt. Mit zwei Widerständen könnte aus dem LM358 eine doppelte invertierende Verstärkerschaltung (in Reihe geschaltete) aufgebaut werden. Das würde die Genauigkeit erhöhen. Die Schaltung funktioniert jedoch einwandfrei und eine höhere Genauigkeit wird vermutlich nur selten einen Vorteil bieten.&lt;br /&gt;
In diesem Fall ist hat VCC_Therme eine Spannung von 24V. Der LM358 kann bis 32V arbeiten, dann muss jedoch der Widerstandswert von R4 erhöht werden. An dem Steuersignal_Therme liegt je nach dem welchen Wert der LTC1257 gerade in einen anlogen Wert umsetzt eine Spannung von 0-24V. Diese Schaltung kann eingesetzt werden um Junkers-Thermen mit „Stetigeingang“ anzusteuern. &lt;br /&gt;
&lt;br /&gt;
Die Beschaltung mit C1 und R1 scheint nicht in jedem Fall angemessen zu sein. Damit kann man sich einen Sägezahn als Referenzspannung einfangen, der im Kilohertzbereich die Referenz- (und damit auch die DAC-Ausgangspannung) von 100 % auf ca. 90 % fährt. Das gibt dann unerwünschte Effekte beim Messen der Spannung für die Stetigregelung. Ohne C1 und R1 ergibt sich eine konstante Referenzspannung.&lt;br /&gt;
&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_0MP.png|center|alt=Variante 1 - keine Messpunkte]]&lt;br /&gt;
&lt;br /&gt;
Variant 2: Die Ausgangsspannung der Schaltung kann zwischen dem Widerstand R3 und R4 von einem ADC gemessen werden. Da an R4 über 90% der Spannung abfällt, kann die Messung problemlos mittels eines 5V ADCs erfolgen.&lt;br /&gt;
&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_1MP.jpg|center|alt=Variante 2 - ein Messpunkt]]&lt;br /&gt;
&lt;br /&gt;
In der Varianten 3 ist eine Sicherheitsfunktion eingebaut, welche durchaus sinnvoll ist. Die Diode D1 verhindert, dass diese Schaltung die Spannung unter einem Wert des alten externen Reglers zieht. Diese Schaltung ist so dimensioniert, dass bei Verwendung eines Junkers TRQ 21 Raumtemperaturreglers, die Therme von dieser Ansteuerung oder von dem TRQ 21 eingeschaltet werden kann. Wenn die Diode entfällt, kann diese Steuerung die Spannung von 0V ziehen und die Therme ausschalten. Im Fehlerfall und starkem Frost kann das unschön sein. Da an der Diode eine Spannung abfällt ist die Messung von Messpunkt 1 immer um diesen Wert geringer als an Messpunkt 2. Das ist aber kein Problem. &lt;br /&gt;
&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_2MP.png|center|alt=Variante 2 - ein Messpunkt]]&lt;br /&gt;
&lt;br /&gt;
==Prototyp der Schaltung==&lt;br /&gt;
&lt;br /&gt;
Der Aufbau des Prototypen erfolgte auf einer Punkt-Streifenrasterplatine (Immer drei Punkte einer Reihe sind miteinander verbunden (s. blaue Markierungen)). Um die Schaltung nachzubauen sind keine besonderen Lötkenntnisse  erforderlich. Da nur wenige Brücken eingelötet werden müssen, lohnt sich eine fertige Platine nicht. Die Widerstände R4 und R6 sind jeweils als zwei Widerstände ausgeführt.&lt;br /&gt;
&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_Prototyp.jpg|center|alt=Variante 2 - ein Messpunkt]]&lt;br /&gt;
&lt;br /&gt;
==Pinzuordnung==&lt;br /&gt;
&lt;br /&gt;
Die Verbindung zu dem AVR-NET-IO-Board erfolgt über die Pins der SUB-D Anschlussplatine (Kx):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CLK -&amp;gt; K12 -&amp;gt; PA2&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;DIN -&amp;gt; K11 -&amp;gt; PA1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;LOAD -&amp;gt; K9 -&amp;gt; PC7&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Messpunkt1 -&amp;gt; K10 -&amp;gt; PA0&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Messpunkt2 -&amp;gt; K13 -&amp;gt; PA3&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Onewire -&amp;gt; KK3 -&amp;gt; PC1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ethersex==&lt;br /&gt;
&lt;br /&gt;
Die Firmware der AVR-NET-IO-Boards wird durch eine erweiterte Firmware ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
Der Vorgang ist hier beschrieben: [[AVR-NET-IO#Konfiguration_und_Flashen_von_ethersex]]&lt;br /&gt;
&lt;br /&gt;
===Ethersex-Bauen===&lt;br /&gt;
Als Buildumgebung kann freetz-linux 1.1.1 verwendet werden. freetz-linux läuft sehr gut als Virtuelle Maschine in Virtual Box (unter Windows). Der AVR-ISP-Programmer lässt sich in die VM durchreichen. Eine Programmierung des ATMega kann so aus der VM erfolgen. Bei einem Test mit einer neueren freetz-linux Version schlug der Build-Vorgang fehl. In der Datei pinning/hardware/netio.m4 sind die PIN-Zuordnungen. Mittels „make menuconfig“ kann alles Mögliche eingestellt werden und mittels „make“ wird Ethersex für das AVR-NET-IO-Board erstellt. &lt;br /&gt;
&lt;br /&gt;
Möglicherweise bricht &amp;quot;make&amp;quot; mit der Fehlermeldung &amp;quot;&amp;lt;nowiki&amp;gt;delay.h:230:28: error: __builtin_avr_delay_cycles expects an integer constant.&amp;lt;/nowiki&amp;gt;&amp;quot; ab. Abhilfe schafft ein &amp;quot;&amp;lt;nowiki&amp;gt;#define __DELAY_BACKWARD_COMPATIBLE__ &amp;lt;/nowiki&amp;gt;&amp;quot; in hardware/dac/ltc1257.c vor dem &amp;quot;&amp;lt;nowiki&amp;gt;#include &amp;lt;util/delay.h&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Ethersex-Flashen===&lt;br /&gt;
Die Datei ethersex.hex aus dem tar Archive auf den Atmega 644 flashen. Hierfür eignet sich der AVRISP aus Hongkong von eBay (unter 4€ incl. Porto). Nicht vergessen die Fuses zu setzten.&lt;br /&gt;
&lt;br /&gt;
==Teileliste==&lt;br /&gt;
Preise sind grob gerundet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;eBay&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;AVRISP-Programmer um Ethersex auf den AVR zu flashen 4€ (wenn nicht schon vorhanden)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Pollin&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;AVR-NET-IO - Fertigmodul 28€ (als Bausatz 8€ günstiger)&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;ATmega644-20PU 7€ (optional)&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;2x Temperatur-Sensor DS18S20 5€&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;5V-Netzteil EcoFriendly 5€ (ein einfaches USB-Ladegerät reicht)&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Bausatz SUB-D Anschlussplatine 4€&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Versandkosten 5€&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Reichelt&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;LTC 1257 CN8 7€&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Platine+Kleinteile &amp;lt; 10€&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Versandkosten 6€&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusammen ca. 55-85€&lt;br /&gt;
&lt;br /&gt;
==Erste Inbetriebnahme==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Versuchen das AVR-NET-IO-Board per Ping zu erreichen. &amp;lt;br&amp;gt;(Die Datei aus dem tar-Archive sollte in dem Netz 192.168.178.0/24 sein) &lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Versuchen auf die Konsole des AVR-NET-IO-Board zuzugreifen Port: 2701 (Mit Putty, TerraTerm, netcat, ...)&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Verfügbare Befehle ansehen:&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: help&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    OneWire Geräte auf Konsole scannen: 1w list&amp;lt;br&amp;gt;&lt;br /&gt;
    Es sollten zwei Geräte (Vorlauftemperatur, Rücklauftemperatur) gefunden werden.&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: 1w list&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 1069ad4d020800d8&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 10884e5b0208002d&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: OK&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Temperatur einlesen:&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: 1w get 1069ad4d020800d8&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 26.4&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Steuersignal der Heizung abfragen&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: adc get 0&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 04D&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: adc get 3&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 04F&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Steuersignal auf Maximum stellen&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: ltc1257_set 2000&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: OK&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Steuersignal der Heizung erneut abfragen&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: adc get 0&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 0BF&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: adc get 3&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 0C9&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ermittlung der Betriebspunkte==&lt;br /&gt;
&lt;br /&gt;
Wichtig sind vier Werte:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Messwert (ADC) für den Betriebspunkt Therme 0%&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Messwert (ADC) für den Betriebspunkt Therme 100%&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Stellwert (DAC) für den Betriebspunkt Therme 0%&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Stellwert (DAC) für den Betriebspunkt Therme 100%&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ermitteln der Messwerte===&lt;br /&gt;
Vorbereitung den Operationsverstärker (LM358) aus der Schaltung entfernen.&lt;br /&gt;
Minimalwert: Messwert wenn der Raumtemperaturregler die Therme ausschaltet. Hierfür den Raumtemperaturregler auf minimale Temperatur einstellen. Die Steuersignalspannung sollte ca. 3V betragen. Mittels „adc get“ den Wert ermitteln und ausschreiben.&lt;br /&gt;
Maximalwert: Messwert wenn der Raumtemperaturregler die Therme auf 100%. Hierfür den Raumtemperaturregler auf maximale Temperatur einstellen. Die Steuersignalspannung sollte ca. 18-22V betragen. Mittels „adc get“ den Wert ermitteln und ausschreiben.&lt;br /&gt;
&lt;br /&gt;
===Ermitteln der Stellwerte===&lt;br /&gt;
Vorbereitung den Operationsverstärker (LM358) wieder in die Schaltung einsetzen. Und den Raumtemperaturregler auf minimale Raumtemperatur einstellen.&lt;br /&gt;
Jetzt werden die Stellwerte ermittelt. Der Sollwert des LTC1257 langsam erhöht und der aktuelle Wert mittels des ADC gemessen.  Hierfür werden abwechselnd die Befehle: „ltc1257_set SOLLWERT“ und „adc get“ verwendet. Beide Werte auschreiben.&lt;br /&gt;
&lt;br /&gt;
==Integration in FHEM==&lt;br /&gt;
&lt;br /&gt;
In FHEM muss das Setzen der Sollwerte und die Erfassung der aktuellen Sollwerte/Istwerte integriert werden. Wenn der alt Raumtemperaturregler entfällt kann zweites auch entfallen.&lt;br /&gt;
&lt;br /&gt;
===Setzen der Sollwerte===&lt;br /&gt;
&lt;br /&gt;
Der LTC1257 bekommt den Sollwert mittels des Befehls ltc1257_set SOLLWERT (0 &amp;lt;= SOLLWERT &amp;gt;= 2048) zugewiesen. Hierfür wird eine classdef Datei erstellt, z.B.:  &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Umsetzung in ECMD Befehle&lt;br /&gt;
# Ein Uebergabeparameter -&amp;gt; Sollwert&lt;br /&gt;
set setDacValue params dacValue&lt;br /&gt;
set setDacValue cmd {&amp;quot;ltc1257_set %dacValue&amp;quot;}&lt;br /&gt;
# Keine Uebergabeparameter&lt;br /&gt;
set init cmd {&amp;quot;ltc1257_init&amp;quot;}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach kann der LTC1257 als ECMD Device in FHEM (fhem.cfg) angelegt werden. Hierfür wird eine möglicherweise bestehende „NETIO classdefs“ erweitert:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
attr NETIO_01 classdefs [Andere ECMD Geräte]:LTC1257=/opt/fhem/ltc1257.classdef&lt;br /&gt;
&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Anschließend den DAC(/LTC1257) als ECMDDevice definieren&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
define MEINDAC ECMDDevice LTC1257&lt;br /&gt;
attr MEINDAC room MEINRAUM&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Befehl zum Setzen eines neuen Spannungswertes lautet:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
my $dacValue = 1345;;\&lt;br /&gt;
fhem(&amp;quot;set MEINDAC setDacValue &amp;quot;.$dacValue);;\&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ermitteln der Istwerte===&lt;br /&gt;
&lt;br /&gt;
Der ADC ermittelt den aktuellen Sollwert über einen Spannungsteiler. Dieser Wert wird in einen Prozentwert (0-100) umgerechnet. Hierfür wird eine classdef Datei (adc.classdef)erstellt, z.B.:  &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Umsetzung in ECMD Befehle&lt;br /&gt;
# Ein Uebergabeparameter -&amp;gt; Sollwert&lt;br /&gt;
set setDacValue params dacValue&lt;br /&gt;
set setDacValue cmd {&amp;quot;ltc1257_set %dacValue&amp;quot;}&lt;br /&gt;
set setDacValue postproc {\&lt;br /&gt;
	Log 3, &amp;quot;Setze Wert&amp;quot;;;\&lt;br /&gt;
}&lt;br /&gt;
# Keine Uebergabeparameter&lt;br /&gt;
set init cmd {&amp;quot;ltc1257_init&amp;quot;}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach kann der ADC als ECMD Device in FHEM (fhem.cfg) angelegt werden. Hierfür wird eine möglicherweise bestehende „NETIO classdefs“ erweitert:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
attr NETIO_01 classdefs [Andere ECMD Geräte]:LTC1257=/opt/fhem/adc.classdef&lt;br /&gt;
&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Anschließend den ADC als ECMDDevice definieren&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
define MEINADC ECMDDevice LTC1257&lt;br /&gt;
attr MEINADC room MEINRAUM&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Möglichkeiten==&lt;br /&gt;
&lt;br /&gt;
Ein Bild sagt mehr als tausend Worte&lt;br /&gt;
[[File:ScreenshotFHEMTherme.png|center|thumb|alt=Screenshot FHEM Therme]]&lt;br /&gt;
&lt;br /&gt;
==Kritische Nachbetrachtung==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Anschluss der Zusatzplatine nicht über die SUB-D Anschlussplatine sondern über den 10poligen Pfostenstecker. Das würde viel sauberer/professioneller aussehen und ist bei dem verwendeten Platinentyp sehr einfach zu relaisieren.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Spannungsversorgung des AVR-NET-IO-Boards über die 24V Spannung der Therme (irgendwie cooler)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Eventuell ist es auch bei diesen Junkersthermen sinnvoller die Steuerspannung mittels eines Relais/Transistors zwischen 3-22V zu schalten. Unter Verwendung von 2 Relais/Transistoren wären auch 4 Schaltstufen möglich (0%, 25%, 50% und 100%). &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Zusatzplatine trennt das AVR-NET-IO-Board/Netzwerk und die Heizung nicht. Wenn keine Messung der Steuersignalspannung gewünscht ist, würde ich den LTC1257 galvanisch trennen. Bislang gab es aber keine Probleme diesbezüglich. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Superharry</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Junkers_Therme_Stetigregelung&amp;diff=4843</id>
		<title>Junkers Therme Stetigregelung</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Junkers_Therme_Stetigregelung&amp;diff=4843"/>
		<updated>2014-02-10T16:02:53Z</updated>

		<summary type="html">&lt;p&gt;Superharry: /* Ethersex-Bauen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Examples]]&lt;br /&gt;
&lt;br /&gt;
=Ansteuerung einer Junkerstherme mit einer Steuerspannung von 3-22V (0-32V möglich)=&lt;br /&gt;
&lt;br /&gt;
Viele Heizungsthermen haben eine Regelung über einen Kontakt an dem eine feste Spannung anliegt oder eben nicht anliegt. Also als Beispiel: 0V Heizung aus – 12V Heizung an, es gibt keine weiteren Zwischenstufen. Für diese Thermen ist diese Anleitung unzweckmäßig.&lt;br /&gt;
Bei einigen Junkersthermen ist dies jedoch anders 3V =&amp;gt; 0% bis 22V =&amp;gt; 100%. Es sind beliebige Zwischenwerte möglich. Ob man eine solche Heizung hat, kann man einfach feststellen in dem man die Steuerspannung bei angeschlossenem Regler misst. Junkers nennt diese Regler auch Raumtemperaturregler mit Stetigausgang.&lt;br /&gt;
Beobachtung (kein Wissen): Über diese Steuerspannung wird der Brenner in Abhängigkeit der Rücklauf gesteuert. Umso niedriger die Steuerspannung desto später (tiefere Rücklauftemperatur) beginnt die Therme zu heißen. Bei der vorhandenen Junkertherme kann die Vorlauftemperatur nicht über die Steuerspannung eingestellt werden. &lt;br /&gt;
&lt;br /&gt;
==Ziel dieses Projektes==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Keine Veränderung der Therme (Sicherheits-, Versicherungs- ,Garantie-Gründe)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Sicher: Für den Fall eines Defekts der automatischen Steuerung soll der alte Regler soll erhalten&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Erzeugen einer Spannung von 3-22Volt (Simulation des bisherigen Raumtemperaturreglers)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Messung der Vorlauf und Rücklauftemperatur&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Günstig&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Geringe Energieaufnahme&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Ansteuerung mittels Netzwerk&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Integration in FHEM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Umsetzung==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Pollin AVR-NET-IO-Board&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Software: Ethersex&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;kleine Zusatzplatine für die Spannungserzeugung (wird einfach parallel zu dem bestehenden Regler angeschlossen)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Messung der Vorlauf und Rücklauftemperatur mittels OneWire&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung 1==&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_analoge_Anzeige.JPG|120px|right|thumb|Steuersignal]]&lt;br /&gt;
Da die Heizungsregelung eine sehr sensible Sache ist besonders bezüglich Frostschäden (beim Ausfall der automatischen Steuerung) und persönlicher Befindlichkeiten musste eine einfache und extrem ausfallsichere Kontrolleinheit her. Hierfür wird einfaches Drehspulmessinstrument verwendet. Anzeigewerte: 0V=Fehler, 3V=Heizung aus, 22V=Therme 100%.&lt;br /&gt;
Der alte Raumtemperaturregler ist weiterhin aktiv, momentan ist er auf 12°C Solltemperatur gestellt. Das bedeutet:&lt;br /&gt;
&amp;lt;ol&amp;gt; &lt;br /&gt;
  &amp;lt;li&amp;gt;Wenn die automatische Reglung ausfällt, aktiviert der alte Raumtemperaturregler die Heizung bevor Frostschäden entstehen können.&amp;lt;/li&amp;gt; &lt;br /&gt;
  &amp;lt;li&amp;gt;Wenn die automatische Reglung ausfällt, kann die Therme einfach durch einstellen einer neuen Solltemperatur aktiviert werden.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Beide Fälle sind auf Grund von Ausfällen eines anderen FHEM-Systems im ersten Winter aufgetreten.&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung 2==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
[[File:Junkers Therme Stetigregelung Signalverteiler.JPG|80px|right|thumb|Steuersignal]]&lt;br /&gt;
Die Leitung zu dem bisherigen Regler muss gesplittet werden. Hierfür die Heizung ausschalten (Sicherung auslösen) die Leitung auftrennen und einen Abzweig für die neue Regelung einfügen. Das Ganze kann mit einer Schmelzsicherung (für die 24V VCC Leitung) und einem 3poligem-Schalter (vollständiges Wegschalten der automatischen Regelung) versehen werden.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung 3==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Netzwerk zu der Therme oder das Steuersignal zum Netzwerk ziehen. Das AVR-NET-IO-Board kann irgendwo in die Steuersignal-Leitung eingesetzt werden. Theoretisch kann auch die 24V Spannungsversorgung für den ursprünglichen Raumtemperaturregler  verwendet werden. Hier muss einfach ein DC/DC-Wandler eingesetzt werden. (Bitte Leistungsabgabe der Heizung und Leistungsaufnahme des AVR-NET-IO-Board  überprüfen)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Digital-to-Analog-Converter==&lt;br /&gt;
&lt;br /&gt;
Die Schaltung besteht aus einem DAC (LTC1257) und einem Operationsverstärker (LM358). Der LTC1257 wandelt (bei interner Referenzspannung) einen digital übermittelten Wert (über die Eingänge CLK, DIN und LOAD) in eine Spannung von 0-2,048V. Diese Spannung wird anschließend von dem LM358 erhöht. Die Elemente R1,R2, C1 und C2 gehören zur Grundbeschaltung des LTC1257. Mittels der Widerstände R3 und R4 wird der Verstärkungsfaktor der Operationsverstärkerschaltung eingestellt. Der OP ist als nicht invertierender Verstärker ausgeführt. Mit zwei Widerständen könnte aus dem LM358 eine doppelte invertierende Verstärkerschaltung (in Reihe geschaltete) aufgebaut werden. Das würde die Genauigkeit erhöhen. Die Schaltung funktioniert jedoch einwandfrei und eine höhere Genauigkeit wird vermutlich nur selten einen Vorteil bieten.&lt;br /&gt;
In diesem Fall ist hat VCC_Therme eine Spannung von 24V. Der LM358 kann bis 32V arbeiten, dann muss jedoch der Widerstandswert von R4 erhöht werden. An dem Steuersignal_Therme liegt je nach dem welchen Wert der LTC1257 gerade in einen anlogen Wert umsetzt eine Spannung von 0-24V. Diese Schaltung kann eingesetzt werden um Junkers-Thermen mit „Stetigeingang“ anzusteuern. &lt;br /&gt;
&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_0MP.png|center|alt=Variante 1 - keine Messpunkte]]&lt;br /&gt;
&lt;br /&gt;
Variant 2: Die Ausgangsspannung der Schaltung kann zwischen dem Widerstand R3 und R4 von einem ADC gemessen werden. Da an R4 über 90% der Spannung abfällt, kann die Messung problemlos mittels eines 5V ADCs erfolgen.&lt;br /&gt;
&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_1MP.jpg|center|alt=Variante 2 - ein Messpunkt]]&lt;br /&gt;
&lt;br /&gt;
In der Varianten 3 ist eine Sicherheitsfunktion eingebaut, welche durchaus sinnvoll ist. Die Diode D1 verhindert, dass diese Schaltung die Spannung unter einem Wert des alten externen Reglers zieht. Diese Schaltung ist so dimensioniert, dass bei Verwendung eines Junkers TRQ 21 Raumtemperaturreglers, die Therme von dieser Ansteuerung oder von dem TRQ 21 eingeschaltet werden kann. Wenn die Diode entfällt, kann diese Steuerung die Spannung von 0V ziehen und die Therme ausschalten. Im Fehlerfall und starkem Frost kann das unschön sein. Da an der Diode eine Spannung abfällt ist die Messung von Messpunkt 1 immer um diesen Wert geringer als an Messpunkt 2. Das ist aber kein Problem. &lt;br /&gt;
&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_2MP.png|center|alt=Variante 2 - ein Messpunkt]]&lt;br /&gt;
&lt;br /&gt;
==Prototyp der Schaltung==&lt;br /&gt;
&lt;br /&gt;
Der Aufbau des Prototypen erfolgte auf einer Punkt-Streifenrasterplatine (Immer drei Punkte einer Reihe sind miteinander verbunden (s. blaue Markierungen)). Um die Schaltung nachzubauen sind keine besonderen Lötkenntnisse  erforderlich. Da nur wenige Brücken eingelötet werden müssen, lohnt sich eine fertige Platine nicht. Die Widerstände R4 und R6 sind jeweils als zwei Widerstände ausgeführt.&lt;br /&gt;
&lt;br /&gt;
[[File:Junkers_Therme_Stetigregelung_Prototyp.jpg|center|alt=Variante 2 - ein Messpunkt]]&lt;br /&gt;
&lt;br /&gt;
==Pinzuordnung==&lt;br /&gt;
&lt;br /&gt;
Die Verbindung zu dem AVR-NET-IO-Board erfolgt über die Pins der SUB-D Anschlussplatine (Kx):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CLK -&amp;gt; K12 -&amp;gt; PA2&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;DIN -&amp;gt; K11 -&amp;gt; PA1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;LOAD -&amp;gt; K9 -&amp;gt; PC7&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Messpunkt1 -&amp;gt; K10 -&amp;gt; PA0&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Messpunkt2 -&amp;gt; K13 -&amp;gt; PA3&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Onewire -&amp;gt; KK3 -&amp;gt; PC1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ethersex==&lt;br /&gt;
&lt;br /&gt;
Die Firmware der AVR-NET-IO-Boards wird durch eine erweiterte Firmware ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
Der Vorgang ist hier beschrieben: [[AVR-NET-IO#Konfiguration_und_Flashen_von_ethersex]]&lt;br /&gt;
&lt;br /&gt;
===Ethersex-Bauen===&lt;br /&gt;
Als Buildumgebung kann freetz-linux 1.1.1 verwendet werden. freetz-linux läuft sehr gut als Virtuelle Maschine in Virtual Box (unter Windows). Der AVR-ISP-Programmer lässt sich in die VM durchreichen. Eine Programmierung des ATMega kann so aus der VM erfolgen. Bei einem Test mit einer neueren freetz-linux Version schlug der Build-Vorgang fehl. In der Datei pinning/hardware/netio.m4 sind die PIN-Zuordnungen. Mittels „make menuconfig“ kann alles Mögliche eingestellt werden und mittels „make“ wird Ethersex für das AVR-NET-IO-Board erstellt. &lt;br /&gt;
&lt;br /&gt;
Möglicherweise bricht &amp;quot;make&amp;quot; mit der Fehlermeldung &amp;quot;&amp;lt;nowiki&amp;gt;delay.h:230:28: error: __builtin_avr_delay_cycles expects an integer constant.&amp;lt;/nowiki&amp;gt;&amp;quot; ab. Abhilfe schafft ein &amp;quot;&amp;lt;nowiki&amp;gt;#define __DELAY_BACKWARD_COMPATIBLE__ &amp;lt;/nowiki&amp;gt;&amp;quot; in hardware/dac/ltc1257.c vor dem &amp;quot;&amp;lt;nowiki&amp;gt;#include &amp;lt;util/delay.h&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Ethersex-Flashen===&lt;br /&gt;
Die Datei ethersex.hex aus dem tar Archive auf den Atmega 644 flashen. Hierfür eignet sich der AVRISP aus Hongkong von eBay (unter 4€ incl. Porto). Nicht vergessen die Fuses zu setzten.&lt;br /&gt;
&lt;br /&gt;
==Teileliste==&lt;br /&gt;
Preise sind grob gerundet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;eBay&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;AVRISP-Programmer um Ethersex auf den AVR zu flashen 4€ (wenn nicht schon vorhanden)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Pollin&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;AVR-NET-IO - Fertigmodul 28€ (als Bausatz 8€ günstiger)&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;ATmega644-20PU 7€ (optional)&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;2x Temperatur-Sensor DS18S20 5€&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;5V-Netzteil EcoFriendly 5€ (ein einfaches USB-Ladegerät reicht)&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Bausatz SUB-D Anschlussplatine 4€&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Versandkosten 5€&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Reichelt&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;LTC 1257 CN8 7€&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Platine+Kleinteile &amp;lt; 10€&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Versandkosten 6€&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusammen ca. 55-85€&lt;br /&gt;
&lt;br /&gt;
==Erste Inbetriebnahme==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Versuchen das AVR-NET-IO-Board per Ping zu erreichen. &amp;lt;br&amp;gt;(Die Datei aus dem tar-Archive sollte in dem Netz 192.168.178.0/24 sein) &lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Versuchen auf die Konsole des AVR-NET-IO-Board zuzugreifen Port: 2701 (Mit Putty, TerraTerm, netcat, ...)&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Verfügbare Befehle ansehen:&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: help&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    OneWire Geräte auf Konsole scannen: 1w list&amp;lt;br&amp;gt;&lt;br /&gt;
    Es sollten zwei Geräte (Vorlauftemperatur, Rücklauftemperatur) gefunden werden.&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: 1w list&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 1069ad4d020800d8&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 10884e5b0208002d&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: OK&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Temperatur einlesen:&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: 1w get 1069ad4d020800d8&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 26.4&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Steuersignal der Heizung abfragen&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: adc get 0&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 04D&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: adc get 3&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 04F&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Steuersignal auf Maximum stellen&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: ltc1257_set 2000&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: OK&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Steuersignal der Heizung erneut abfragen&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: adc get 0&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 0BF&amp;lt;br&amp;gt;&lt;br /&gt;
    Befehl: adc get 3&amp;lt;br&amp;gt;&lt;br /&gt;
    Ausgabe: 0C9&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ermittlung der Betriebspunkte==&lt;br /&gt;
&lt;br /&gt;
Wichtig sind vier Werte:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Messwert (ADC) für den Betriebspunkt Therme 0%&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Messwert (ADC) für den Betriebspunkt Therme 100%&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Stellwert (DAC) für den Betriebspunkt Therme 0%&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Stellwert (DAC) für den Betriebspunkt Therme 100%&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ermitteln der Messwerte===&lt;br /&gt;
Vorbereitung den Operationsverstärker (LM358) aus der Schaltung entfernen.&lt;br /&gt;
Minimalwert: Messwert wenn der Raumtemperaturregler die Therme ausschaltet. Hierfür den Raumtemperaturregler auf minimale Temperatur einstellen. Die Steuersignalspannung sollte ca. 3V betragen. Mittels „adc get“ den Wert ermitteln und ausschreiben.&lt;br /&gt;
Maximalwert: Messwert wenn der Raumtemperaturregler die Therme auf 100%. Hierfür den Raumtemperaturregler auf maximale Temperatur einstellen. Die Steuersignalspannung sollte ca. 18-22V betragen. Mittels „adc get“ den Wert ermitteln und ausschreiben.&lt;br /&gt;
&lt;br /&gt;
===Ermitteln der Stellwerte===&lt;br /&gt;
Vorbereitung den Operationsverstärker (LM358) wieder in die Schaltung einsetzen. Und den Raumtemperaturregler auf minimale Raumtemperatur einstellen.&lt;br /&gt;
Jetzt werden die Stellwerte ermittelt. Der Sollwert des LTC1257 langsam erhöht und der aktuelle Wert mittels des ADC gemessen.  Hierfür werden abwechselnd die Befehle: „ltc1257_set SOLLWERT“ und „adc get“ verwendet. Beide Werte auschreiben.&lt;br /&gt;
&lt;br /&gt;
==Integration in FHEM==&lt;br /&gt;
&lt;br /&gt;
In FHEM muss das Setzen der Sollwerte und die Erfassung der aktuellen Sollwerte/Istwerte integriert werden. Wenn der alt Raumtemperaturregler entfällt kann zweites auch entfallen.&lt;br /&gt;
&lt;br /&gt;
===Setzen der Sollwerte===&lt;br /&gt;
&lt;br /&gt;
Der LTC1257 bekommt den Sollwert mittels des Befehls ltc1257_set SOLLWERT (0 &amp;lt;= SOLLWERT &amp;gt;= 2048) zugewiesen. Hierfür wird eine classdef Datei erstellt, z.B.:  &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Umsetzung in ECMD Befehle&lt;br /&gt;
# Ein Uebergabeparameter -&amp;gt; Sollwert&lt;br /&gt;
set setDacValue params dacValue&lt;br /&gt;
set setDacValue cmd {&amp;quot;ltc1257_set %dacValue&amp;quot;}&lt;br /&gt;
# Keine Uebergabeparameter&lt;br /&gt;
set init cmd {&amp;quot;ltc1257_init&amp;quot;}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach kann der LTC1257 als ECMD Device in FHEM (fhem.cfg) angelegt werden. Hierfür wird eine möglicherweise bestehende „NETIO classdefs“ erweitert:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
attr NETIO_01 classdefs [Andere ECMD Geräte]:LTC1257=/opt/fhem/ltc1257.classdef&lt;br /&gt;
&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Anschließend den DAC(/LTC1257) als ECMDDevice definieren&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
define MEINDAC ECMDDevice LTC1257&lt;br /&gt;
attr MEINDAC room MEINRAUM&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Befehl zum Setzen eines neuen Spannungswertes lautet:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
my $dacValue = 1345;;\&lt;br /&gt;
fhem(&amp;quot;set MEINDAC setDacValue &amp;quot;.$dacValue);;\&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ermitteln der Istwerte===&lt;br /&gt;
&lt;br /&gt;
Der ADC ermittelt den aktuellen Sollwert über einen Spannungsteiler. Dieser Wert wird in einen Prozentwert (0-100) umgerechnet. Hierfür wird eine classdef Datei (adc.classdef)erstellt, z.B.:  &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Umsetzung in ECMD Befehle&lt;br /&gt;
# Ein Uebergabeparameter -&amp;gt; Sollwert&lt;br /&gt;
set setDacValue params dacValue&lt;br /&gt;
set setDacValue cmd {&amp;quot;ltc1257_set %dacValue&amp;quot;}&lt;br /&gt;
set setDacValue postproc {\&lt;br /&gt;
	Log 3, &amp;quot;Setze Wert&amp;quot;;;\&lt;br /&gt;
}&lt;br /&gt;
# Keine Uebergabeparameter&lt;br /&gt;
set init cmd {&amp;quot;ltc1257_init&amp;quot;}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach kann der ADC als ECMD Device in FHEM (fhem.cfg) angelegt werden. Hierfür wird eine möglicherweise bestehende „NETIO classdefs“ erweitert:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
attr NETIO_01 classdefs [Andere ECMD Geräte]:LTC1257=/opt/fhem/adc.classdef&lt;br /&gt;
&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Anschließend den ADC als ECMDDevice definieren&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
define MEINADC ECMDDevice LTC1257&lt;br /&gt;
attr MEINADC room MEINRAUM&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Möglichkeiten==&lt;br /&gt;
&lt;br /&gt;
Ein Bild sagt mehr als tausend Worte&lt;br /&gt;
[[File:ScreenshotFHEMTherme.png|center|thumb|alt=Screenshot FHEM Therme]]&lt;br /&gt;
&lt;br /&gt;
==Kritische Nachbetrachtung==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Anschluss der Zusatzplatine nicht über die SUB-D Anschlussplatine sondern über den 10poligen Pfostenstecker. Das würde viel sauberer/professioneller aussehen und ist bei dem verwendeten Platinentyp sehr einfach zu relaisieren.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Spannungsversorgung des AVR-NET-IO-Boards über die 24V Spannung der Therme (irgendwie cooler)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Eventuell ist es auch bei diesen Junkersthermen sinnvoller die Steuerspannung mittels eines Relais/Transistors zwischen 3-22V zu schalten. Unter Verwendung von 2 Relais/Transistoren wären auch 4 Schaltstufen möglich (0%, 25%, 50% und 100%). &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Zusatzplatine trennt das AVR-NET-IO-Board/Netzwerk und die Heizung nicht. Wenn keine Messung der Steuersignalspannung gewünscht ist, würde ich den LTC1257 galvanisch trennen. Bislang gab es aber keine Probleme diesbezüglich. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Superharry</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_%26_HTTPS&amp;diff=4123</id>
		<title>Raspberry Pi &amp; HTTPS</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_%26_HTTPS&amp;diff=4123"/>
		<updated>2013-12-30T09:08:37Z</updated>

		<summary type="html">&lt;p&gt;Superharry: Rechtevergabe für Zertifikatsverzeichnis ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Damit das Kennwort verschlüsselt übertragen wird, ist eine HTPPS Verbindung wichtig.&lt;br /&gt;
&lt;br /&gt;
Zunächst müssen folgende Pakete nachinstalliert werden:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install perl-io-socket-ssl&lt;br /&gt;
sudo apt-get install libio-socket-ssl-perl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Dann muss im modpath Verzeichnis (Das ist beim RPi /opt/fhem) das Verzeichnis &amp;quot;certs&amp;quot; erstellt werden. In dieses Verzeichnis kommen zwei Dateien die mithilfe von OpenSSL erstellt werden: server-key.pem und server-cert.pem. Unter Linux und MacOSX kommen wir über das Terminal an die Dateien.&lt;br /&gt;
&lt;br /&gt;
Im Terminal und Linux/OSX geht dies mit folgendem Befehl:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Ihr könnt mit dem Terminal auch direkt in das modpath und mit mkdir certs und cd certs das Verzeichnis erstellen. Oder einfach die Dateien irgendwo erstellen und mit dem Finder oder Windows Explorer dort hin kopieren.&lt;br /&gt;
&lt;br /&gt;
Damit das SSL-Modul die erzeugten Dateien verwenden kann, muss das certs-Verzeichnis Ausführrechte haben. Es ist auch kein Fehler, wenn die Dateien selbst nur die nötigsten Rechte haben. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /opt/fhem&lt;br /&gt;
chmod 711 certs&lt;br /&gt;
cd certs&lt;br /&gt;
chmod 644 *.pem&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschließend in FHEM mit dem Befehl&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr WEB HTTPS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Für das Smartphone Interface entsprechend&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr WEBphone HTTPS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
HTTPS aktivieren, nach einem Neustart erfolgt der Zugriff per HTTPS über [https://192.168.n.n:8083/fhem https://192.168.n.n:8083/fhem] . Es ist wichtig die Adresse mit https:// aufzurufen, da es keine automatische Weiterleitung von http auf https existiert.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Superharry</name></author>
	</entry>
</feed>