Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

Reinhart

@Heiko

Danke nochmals für die Tipps betreffend eBus reload und --checkconfig. Beide Befehle bringen genau das Ergebnis wie bei einem Neustart, nur eben ohne Neustart und den damit verbunden Instabilitäten.

Ich glaube auch, dass es bei den Vaillant Thermen viele Variationen der Thermen bzw. der eingesetzten Software gibt und daher bei vielen Usern nicht alles 1:1 eingesetzt werden kann.

Ich habe ja auch aus vielen Postings aus diesem Thread die Templates zusammen gesucht und durchprobiert, daher die vielen Starts des eBus. Ich habe jetzt die Heizkurve mit deinen Parametern schon am laufen und kann sie bequem setzen. Die Automatik der Heizkurvenänderung beobachte ich zunächst noch ein paar Tage und werde sie dann stufenweise implementieren. Heizkurve setzen und am VRC überprüft, passt genau.


define HeizkurveEinstellen dummy
attr HeizkurveEinstellen group Heizkurve_Einstellen
attr HeizkurveEinstellen icon temp_control
attr HeizkurveEinstellen room Vaillant
attr HeizkurveEinstellen setList state:1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70
attr HeizkurveEinstellen webCmd state

define HeizkurveSchreiben_Click notify HeizkurveEinstellen {\
  fhem("get HeizkurveSchreiben HeizkurveSchreiben");;\
}
attr HeizkurveSchreiben_Click group heatingControl
attr HeizkurveSchreiben_Click room Vaillant

define HeizkurveSchreiben ECMDDevice bai00.class
attr HeizkurveSchreiben IODev EBUS
attr HeizkurveSchreiben group Heizkurve_Einstellen
attr HeizkurveSchreiben room Vaillant

Heizkurven Verstellung nach Heiko (mit setlist), funktioniert.

Im Anhang noch meine komplette Fhem Vaillant Konfiguration (so wie im Bild ist die vaillant-komplett.txt) und die Class so wie ich sie derzeit einsetze. Ich habe alle meine Abfragen in eine Class Definition (bai00.cfg) gespeichert, sonst wird es zu übersichtlich. Auch die Writes für die Heizkurve. Vielleicht kann es jemand brauchen für Vergleichszwecke (die YAF Zeilen entfernen wers nicht hat), mir helfen solche Dateien immer gut für diverse Tests weiter.

Meine Therme: Vaillant Ecotec Plus VCW AT 246/3-5 (ich nehme an das AT steht für Österreich Version)
Calormatic: VRC 430 Softwareversion 2.15

Ich habe auch schon versucht mit meinem eBus Konverter direkt am Laptop die Vaillant VRDialog-Software zu starten , funktioniert aber nicht. Ich sehe zwar an den Leds, dass serielle Signale zum eBus gesendet werden, der eBus antwortet aber der Software nicht. Wenn ich mal Zeit habe, dann baue ich die Polenschaltung (Pegelanpassung) mit dem MAX 232 nach und versuche sie nochmals zu koppeln. Nachdem aber jetzt der eBus schon so gut funktioniert, hat das keine Dringlichkeit mehr. Ich habe auch schon aus einem Forum gelesen, das die Software mit einem Dongle (im Kabel) geschützt sein soll. Ich habe aber die Beta (von dem Vaillant.pl), da dürfte das nicht der Fall sein, denn ich kann alles starten und den eBus scannen um die Verbindung zu prüfen.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Prof. Dr. Peter Henning

Ich kenne zwar die "Polenschaltung" nicht - aber einen MAX232 halte ich für überflüssig, das ginge mit zwei Billig-Operationsverstärkern besser und variabler.
Darüber hinaus kann es nicht am Interface liegen, wenn der Adapter mit anderer Software funktioniert.

Die Vielfalt der Geräte ist natürlich der Grund, warum Vaillant in der vrDialog-Software eine echte Datenbank einsetzt, um den Zusammenhang zwischen Registern und Befehlen zu dokumentieren.

Das zeigt auch den Weg, den wir gehen müssen: Auf den Wiki-Seiten eine große Tabelle aufmachen, die für jede Gerätevariante die gefundenen Register mit dem Namen verknüpft.

Voraussetzung  ist deshalb (und darum mein voriger Appell), dass man die Bezeichnungen ein wenig standardisiert.

Betreffend die Heizkurve: Die hat immer Steigung und Offset - beeinflussbar durch die eingestellte (nicht tatsächliche) Raumtemperatur. Diese "Heizkurve" sollten wir also sehen als eine lokale lineare Annäherung an die tatsächlich gewünschte Heizkurze.

Ziel solte hier also sein, einen schönen variablen PID-Regler zu programmieren (gibt es schon), der in regelmäßigen Abständen Offset und Steigung der Heizkurve anpasst (gibt es noch nicht). Damit ist sichergestellt, dass nicht FHEM die Heizung direkt steuert - sondern nur als "Überintelligenz" über der Heizung sitzt, so dass diese auch autonom laufen kann.

LG

pah

netsrac27

Zitat von: Reinhart am 18 Januar 2015, 16:44:33
Ich habe jetzt die Heizkurve mit deinen Parametern schon am laufen und kann sie bequem setzen. Die Automatik der Heizkurvenänderung beobachte ich zunächst noch ein paar Tage und werde sie dann stufenweise implementieren. Heizkurve setzen und am VRC überprüft, passt genau.

@Reinhard:

Was genau beeinflußt denn die Heizkurve? Bei mir ist sie standardmäßig auf 0.9 eingestellt.

Was für eine "Automatik der Heizkurvenveränderung" gibt es denn?

Eigentlich hätte ich gerne was in Abhändigkeit vom Wetterbericht :-)

Danke für die Tipps...Netsrac

NemoN

Zitat von: netsrac27 am 19 Januar 2015, 14:08:07
Was genau beeinflußt denn die Heizkurve? Bei mir ist sie standardmäßig auf 0.9 eingestellt.
Was für eine "Automatik der Heizkurvenveränderung" gibt es denn?
Eigentlich hätte ich gerne was in Abhändigkeit vom Wetterbericht :-)

hier (http://www.bosy-online.de/Heizkurve.htm) ist das ganze recht gut beschrieben!

druschba

Hallo,

ich würde auch gern das Modul aus dem Wiki nachbauen, habe aber Probleme einen geeigneten Kondensator zu finden. Evtl. kann ja jeman einen Tipp geben. (reichelt oder conrad)

Grüße

Daniel
Synology Docker FHEM-Server | 1-wire an RasPi | virtual CCU | 3x HM-CFG-USB-2 an RasPi und Synology| HM-ES-PMSw1-PI | HM-TC-IT-WM-W-EU | HM-CC-RT-DN | HM-LC-Bl1PBU-FM | HM-WDS10-TH-O | DbLog | div. 1-wire Sensoren | FR!TZ DECT 200 | JeeLink | ebusd an WOLF CGB2-20

Reinhart

Zitat von: druschba am 19 Januar 2015, 16:07:59
Hallo,

ich würde auch gern das Modul aus dem Wiki nachbauen, habe aber Probleme einen geeigneten Kondensator zu finden. Evtl. kann ja jeman einen Tipp geben. (reichelt oder conrad)

Grüße

Daniel

das ist ein ganz normaler Elektrolykondensator mit 10 µF, axial oder radial ist egal, je nachdem wieviel Platz du hast. Der Wert ist hier nicht kritisch, da er nur die Spannung vom Regler glättet. Ich habe bei mir 33 µF genommen. Dich verwirrt vermutlich die Angabe im Wiki mit "10 u", gemeint ist hier 10 µF!

Hier von Conrad:  http://www.conrad.de/ce/de/product/445503/Elektrolyt-Kondensator-radial-bedrahtet-25-mm-10-F-100-VDC-20--x-H-5-mm-x-11-mm-Yageo-SE100M0010AZF-0511-1-St/?ref=search&rt=search&rb=1

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

druschba

Danke.. dann kanns ja losgehen.

Ich melde mich wieder, wenn ich den Konverter gebaut habe.

Grüße
Synology Docker FHEM-Server | 1-wire an RasPi | virtual CCU | 3x HM-CFG-USB-2 an RasPi und Synology| HM-ES-PMSw1-PI | HM-TC-IT-WM-W-EU | HM-CC-RT-DN | HM-LC-Bl1PBU-FM | HM-WDS10-TH-O | DbLog | div. 1-wire Sensoren | FR!TZ DECT 200 | JeeLink | ebusd an WOLF CGB2-20

Reinhart

Zitat von: Prof. Dr. Peter Henning am 19 Januar 2015, 11:49:21
Betreffend die Heizkurve: Die hat immer Steigung und Offset - beeinflussbar durch die eingestellte (nicht tatsächliche) Raumtemperatur. Diese "Heizkurve" sollten wir also sehen als eine lokale lineare Annäherung an die tatsächlich gewünschte Heizkurze.

Ziel solte hier also sein, einen schönen variablen PID-Regler zu programmieren (gibt es schon), der in regelmäßigen Abständen Offset und Steigung der Heizkurve anpasst (gibt es noch nicht). Damit ist sichergestellt, dass nicht FHEM die Heizung direkt steuert - sondern nur als "Überintelligenz" über der Heizung sitzt, so dass diese auch autonom laufen kann.

LG

pah

Ja, ein PID Regler wäre genau das richtige dafür. Ich versuche (2 Fam. Haus am Berg und windige Gegend) eine möglichst kleine Heizkurve (1,1) einzustellen. Es kann dann aber bei viel Wind vorkommen, das die Heizleistung dieser Kurve nicht ausreicht. Mir gefällt daher der Ansatz diese Kurve mit der Wichtung (Valves-Modul überwacht Öffnungswinkel mehrerer Regler am Heizkörper am errechnet eine Wichtung) ab einer erreichten Schwelle parallel nach oben zu schieben. Dies erreiche ich momentan mit einem Relais, welches im Aussentemperaturfühler geschalten ist (Ruhekontakt) und einfach einen 100 Ohm Widerstand in Serie dazu schaltet. So wird eine tiefere Außentemperatur vorgetäuscht und somit der Vorlauf automatisch erhöht. Zusätzlich funktioniert natürlich der Außenfühler auch noch. Sinkt der Wert von Valve, dann wird die Kurve wieder abgesenkt. Man müsste jetzt mit diesem Wichtungs Wert den PID Regler ansteuern.
Fällt Fhem oder eBus aus, ist das weiter nicht kritisch da der letzte Wert ja in der Calormatic gespeichert ist und die Heizung somit noch läuft.

Die Schaltung funktioniert prima, nur nicht so schön wie ein PID Regler, ich habe somit ungefähr einen Offset von 7-10 Grad höheren Vorlauf.

Wegen der Templates muss ich dir völlig recht geben, man sieht ja schon jetzt, dass die paar Leute die sich damit befassen schon unterschiedliche Templates benötigen obwohl die Hardware ähnlich ist. Vermutlich sind diese Daten ja werksintern "geheim" und somit nicht zugänglich. Was bei welchen Thermen wann was geändert/erweitert wurde. Aber wenn die vRDialog eine Datenbank benutzt, müsste man an diese Daten herankommen. Ich werde mir die installierten Verzeichnisse einmal genau anschauen.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

Zitat von: druschba am 19 Januar 2015, 17:28:54
Danke.. dann kanns ja losgehen.

Ich melde mich wieder, wenn ich den Konverter gebaut habe.

Grüße

Als kleiner Tipp zum Abstimmen des Potis R3. Ich habe zusätzlich am Ausgang Pin4 des 4011 (RxD) eine Led mit 1K Ohm gegen Masse angeschlossen und kann somit die eBus Signale beobachten. Dann habe ich den USBtoSeriell Wandler am Laptop eingesteckt damit die Schaltung mit Spannung versorgt wird. Am Eingang der Schaltung (da wo später der eBus angeschlossen wird) habe ich dann mit einem regelbaren Netzgerät exakt 12 Volt eingespeist. Nun drehst du das Poti ganz langsam das die Led gerade nicht leuchtet. Erhöhst du nun die Spannung am Netzgerät, sollte die Led sofort leuchten. Mit dieser Einstellung wird dann der eBus sicher richtig interpretiert.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

@pah

ich habe mir jetzt die Datenbank von der VRdialog angesehen, sind ganz normale Access Dateien (MdB) und beinhalten verschiedene Tabellen mit Ids, Adressen etc. Besonders interessant finde ich die "vrdialog810.mdb" und hier die Tabellen "scanning" und "ident", welche offensichtlich alle Gerätetypen mit den IDs beinhaltet.

Dir sagt das sicher mehr als mir.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Prof. Dr. Peter Henning

Die LED sollte nicht "gerade nicht leuchten" - sondern bei angeschlossenem EBUS ständig flackern, weil die Synchronisationssignale einlaufen.

LG


pah


Jojo11

Hallo,

9600 (RoomTemp) zeigt leider bei mir die Wunschtemperatur an. Sobald die Heizung in den Nachtmodus geht, zeigt es 0.0 an. Und ich wundere mich schon, wie schön konstant die Temperatur doch ist  ;D
8000 zeigt bei mir meist etwas um die 1.328 an, entspricht aber nicht der Außentemperatur.
Gibt es noch eine Adresse für den Außensensor?

schöne Grüße
Jo

heikoh81

#327
@jojo:
Bei mir (Calormatic 470/3, ecotec plus) ist 8000 die RoomTemp.
Welche Geräte hast du nochmal?

Die Außentemp. bekomme ich mittels pah's Dateien aus dem Repository über den Broadcast.
Das war mit einer meiner ersten Gehversuche mit ebusd und einer der ersten Werte, die dann im Klartext angezeigt wurden:-)

u,BC,OutsideTempBC,Aussentemperatur  ,10,FE,B516,01,,,D2B,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


@Reinhart:
Die Idee mit dem Kondensator zur Vortäuschung einer Außentemperatur ist natürlich klasse.
Bei mir gibt es in der Calormatic sowohl für Raum- als auch Außentemp. aber einfach einen Offset in Kelvin - würde das nicht dasselbe bezwecken?

Mir ist die Beeinflussung der Heizkurve aus folgendem Grund wichtig:
So wie ich verschiedene Quellen im Internet verstanden habe, ist die Heizkurve ein wichtiger Faktro zum verbrauchsoptimierten Fahren einer Heizung, d.h. die Heizkurve natürlich so klein wie möglich zu halten, damit die Raumtemp. gerade noch angenehm empfunden wird.
Und genau hier liegt das Problem - dieses Empfinden ist subjektiv (hängt sicherlich auch mit der Außentemp. zusammen, gerade (sehr feucht) finde ich es kälter als die -10° zwischen den Jahren).
Und wenn es nun gefühlt kälter ist, will ich es ein bißchen schneller warm in der Stube haben - in so einem Fall würde ich die Heizkurve ein bißchen Hochziehen, um den Vorlauf heißer zu kriegen.
Wenn es gefühlt nicht so kalt ist, will ich natürlich mit möglichst niedrigem Vorlauf fahren (Energieeinsatz, Heizungsverschleiß etc.)

Prof. Dr. Peter Henning

Na, eben.

Es wirken viele Faktoren - Windgeschwindigkeit ist nur einer davon. Luftfeuchte ein anderer. Im Prinzip müsste man dieses hier
http://de.wikipedia.org/wiki/Windchill
auf diese Vielzahl von Faktoren erweitern.

Machbar ist das durchaus, weil man ja seine eigenen negativen Gefühle registrieren kann.

Im einfachsten Fall: Registrierung einer gewünschten Parameteränderung mit Uhrzeit, Wochentag und externen Faktoren. Evolutionäre Anpassung einer durch diese externen Faktoren geführten Heizkurve

Komplizierter: Regelbasiertes System, dem durch einen Korrekturwunsch ein neues Axiom hinzugefügt wird. Ein Reasoner bestimmt dann, ob die Temperatur derzeit erhöht werden muss.

LG

pah

Jojo11

Seltsam, dann muss ich mal weiter suchen. Habe die 470f.
Was anderes: Ich habe das ECMD wie im wiki beschrieben eingerichtet inkl timer, der jede minute die Werte abruft. Leider erscheint jede Abfrage im logfile, obwohl ich verbose auf 0 gesetzt habe. Gibt es eine Möglichkeit, die Meldungen zu unterdrücken?

schöne Grüße
Jo