Abfrage & Steuerung von Viessmann Heizungen

Ja habe ich schon versucht, leider kommen hier auch nur stellenweise Werte zurück die warscheinlich falsch sind.

Laut Homepage soll die Anlage aber wohl unterstütz werden:

VBC550P 300,KW Vitolig Pelletkessel, Vitoligno 300-P

Die Steuerung Vitotronic 200F01 steht allerdings nicht mit auf der Liste… wie kann ich den am einfachsten die Kommunikation mitsniffen? Dann könnte man ja per Try and Error die Adressen ausprobieren…

Hi,

Addressen per Try&Error würde ich nicht versuchen. Man weiss nie, wie die Steuerungen darauf reagieren.
Ich habe mir einfach mal einen Port-Monitor runtergeladen. Der gibt dann jede Kommunikation auf dem COM-Port aus bzw. schneidet diese mit. Wenn man dann mit OpenV Werte ausliesst oder z.B. einen Status (wie Partymodus) setzt, sieht man genau, was gesendet/empfangen wird.

Vielleicht muss man sich mal direkt an Viessmann wenden. Vielleicht rücken die ja tatsächlich einzelne Adressen (zum lesen und für die Zustände) raus, wenn man ihnen erklärt, worum es geht.
Details programmieren will ja eigentlich keiner.

Gruss
Coyote

Hallo Coyote.

Hast Du das mittlerweile gelöst bekommen? Ich habe mich über Ostern mal ernsthafter mit dem Thema beschäftigt und es läuft Dank Deiner Vorarbeit nun eigentlich ganz gut. Bin zwar noch nicht fertig aber es sind mittlerweile zuverlässig über IPS folgende Parameter einstellbar:

  • Betriebsart
  • Sparbetrieb
  • Partymodus
  • Neigung
  • Niveau
  • Absenktermperatur
  • Komforttemperatur
  • Warmwasser Solltemperatur

Es waren aber ein paar Änderungen in der XML dazu notwändig. Meine Steuerung ist eine Vitotronic 200KW1 und meldet sich mit der Kennung 2094.

Grüsse.

Hi,

ich bin dran. Das „echte“ Modul ist in der Mache, der Datentransfer klappt schon.

Mein derzeitiges Ziel: Eine Viesmann Modul-DLL, welches folgendes bieten soll:

[ul]
[li]Einfache Installation via IPS Mittel unterhalt eines COM-Port oder Socket[/li][li]kein rumdoktorn an Skripten, XML, etc. mehr[/li][li]Das Modul erkennt selbstständig, welche Steuerung angeschlossen ist und verwendet das passende Protokoll. [/li][li]Es werden die entsprechenden Heizungswerte als Statusvariablen zur Verfügung gestellt[/li][li]Stati für Heizmodus (WW, WW+HZ, HZ, AUS, Party) können geschaltet werden[/li][li]PHP-Erweiterung zum Lesen und Schreiben von Adressen[/li][/ul]

Wenn ich soweit bin, kommen potentielle User ins Spiel. Ich habe ja nur eine eigene Heizung. Insofern kann ich die Adressen nur für meine Steuerung testen.

Ich werde dann wohl erklären müssen, wie man die Adressen heraussucht (mittels Port Sniffer und openv) und dann gibt es ein „Feature-Adresse-Suchwettbewerb“, dessen Ergebnis ich dann ins Modul einbaue.

Gruss
Coyote

Na, dass hört sich ja gut an. Bin gespannt was du da zauberst.

Grüsse.

Darauf hab ich gewartet.
Ich nutze Dein Script schon eine ganze weile. Nur hab ich das Problem, wenn die Daten gelesen werden steigt bei mir die CPU-Last auf 100%.
Daher bin ich für jeden Betatest bereit.

Gruss
Michael

Cool, darauf warte ich auch. Bastele seit langem immer wieder an den XMLs herum und habe teilweise auf ein anderes Protokoll umgestellt. Ist aber mittlerweile Spagetti. Bin gerne Betatester fuer eine neue Version!

Gruss, HC

Hallo Kai,

der „Auskühleffekt“ ist bei meiner Vitodens 200 deutlich geringer. Das liegt daran, dass die Wassermenge im Heizkessel und in den Leitungen bei mir weniger als 5 l beträgt und der Edelstahlkessel bei der Vitodens 200 eine vergleichsweise geringe Masse hat. Beides ist sehr schnell aufgeheizt.

Durch das Auskühlen des Brauchwasserspeichers und wieder Aufheizen entstehen eigentlich keine zusätzlichen Verluste. Der Verlust entsteht durch das Auskühlen vom Heizkessel und den Rohrleitungen zum/vom Brauchwasserspeicher. Ob das nur durch den Brenner wieder aufgeheizt wird oder durch Brenner + (temporären) Wärmeentzug aus dem Brauchwasserspeicher bleibt in der Gesamtenergiebilanz annähernd gleich.
Statt Dreiwegeventil und Steuerung würde ich Kessel und Rohrleitungen besser isolieren und sofern nicht vorhanden eine Abgasklappe einbauen.

Gruß
Stephan

Hi,

das Modul entwickelt sich. HIER geht das Thema weiter.

Gruss
Coyote

Hallo an alle.

Da heute meine Heizung zum ersten mal Minus Temperaturen meldet bin ich ebenfalls auf das Problem der Umrechnung gestossen. Habe dazu diesen Post gefunden:

Nun versuche ich das irgendwie in umzusetzen, leider ohne Erfolg :frowning: Ich hoffe jemand kann mir helfen und mir sagen wo genau ich diesen anbringen kann.

Vielen Dank.

MFG Alex

Wie es aussieht habe ich das Problem selbst gelöst, ob so gedacht oder „sauber gelöst“… da bin ich mir nicht sicher :smiley: wird sich zeigen ob es Funktioniert.

Habe es in die DeviceTools.inc.php als eigene Umrechnung „reingequetscht“
… Falls sich irgendwann mal die selbe Frage stellen sollte :slight_smile:

case "Temperature10x":
		  $lowByte = ord( $Data[0] );
		  $highByte = ord( $Data[1] );
		  
		  $arr1=str_split($Data);

			if (ord($arr1[1])==255)
  				{
    			 setvalue(17582,(  ((ord($arr1[1])*256)   +   ord($arr1[0]))  -65535)/10  );
  					}
				else
 					{
   					setvalue(17582 ,((ord($arr1[1])*256) + ord($arr1[0]))/10);
  					}
			  return (( $highByte * 256 ) + $lowByte ) / 10;	
			  break;

Hallo,

bin gerade dabei erste Schritte mit der Anbindung Vitodens200 WB2A (0505) zu wagen.
Soweit funktionierts auch, bis auf eine kleine Besonderheit.
Wenn ich die Verbindung öffne, um einen Wert aus der Heizung zu lesen, bekomme ich folgende Fehler:

Warning: comport_getopen: Instance #23117 does not implement this function! in C:\IP-Symcon\scripts\ViessmannDeviceTools.inc.php on line 193

Warning: comport_setopen: Instance #23117 does not implement this function! in C:\IP-Symcon\scripts\ViessmannDeviceTools.inc.php on line 195

Ich habe ein Kabel mit einem FTDI. Dieses habe ich über das FTDI-Modul eingebunden.
Da erscheint es mir logisch, dass das so nicht gehen kann, da die Funktion "ViessmannOpen(); " ja einen COM-Port öffnen und schließen möchte.
Wenn ich richtig liege, sollte ich nur in der Funktion an Stelle des COM-Ports den FTDI öffnen oder schließen.
So weit bin ich aber noch nicht mit meinen Kenntnissen.
Kann mir hier bitte jemand etwas auf die Sprünge helfen?

Danke
Jens

Hi Kronos,

habe eben zufällig Deinen alten Beitrag gelesen. Bis jetzt habe ich nur mitgeloggt. Möchte jetzt aber auch ein wenig eingreifen. Ich habe exakt die gleiche Steuerung und kann nach viel gebastel nur den Spar-und Partymodus setzen. Kannst Du vielleicht Deine XML zur Verfügung stellen, dann muss ich nicht so viel rumprobieren?

Grüße aus dem Norden

Wango

Hoffe sie hilft Dir weiter.

Hi Kronos,

vielen Dank für die xml-Datei. Das meiste funktioniert, Party- und Sparbetrieb lassen sich wunderbar schalten.

Jetzt habe ich noch eine ungeklärte Frage hat es schon jemand geschafft die verschiedenen Betriebsmodi Warmwasser + Heizung, Warmwasser und Abschaltbetrieb fernzusteuern?

Grüße

Wango


Eiderstedt die Nase im Gesicht Schleswig-Holsteins
Eiderstedt.net

Hallo Wango.

Ist schon eine Weile her, dass ich mir das angesehen haben. Im Prinzip ging das bei mir aber. Du hattest das ganz am Anfang des Threads gelesen?

Wenn man an der Heizung direkt z.B. den Partybetrieb aktiviert, und dann den Sparbetrieb, so wird automatisch der Partybetrieb deaktiviert. Dies geschieht leider NICHT über die Anbindung. Man sollte also beim setzen eines Modi, einen ggf. anderen aktivieren Modus deaktivieren!

Hallo Kronos,

ja das hatte ich gelesen. Spar- und Partymodus funzt auch. Ich suche nur nach einer Möglichkeit die Heizung auf „nur Warmwasser“ und „Warmwasser und Heizung“ zu stellen. Am Anfang der XML-Datei sind auch die drei möglichen Modi aufgelistet:

<mode id=„3“ description=„Warmwasser“/>
<mode id=„5“ description=„Abschaltbetrieb“/>
<mode id=„0“ description=„Warmwasser + Heizung“/>

Da der Bereich der XML anders aussieht als im Beitrag von Coyote dachte ich, dass es vielleicht eine Möglichkeit gibt die Modes auch zu schalten.

Wango


Eiderstedt die Nase im Gesicht Schleswig-Holsteins
Eiderstedt.net

Ich sehe es mir noch einmal genauer an. Kann aber vor dem Wochenende nichts versprechen.

Hallo,

Habe meine FTDI-Schnittstelle jetzt in Betrieb!

Wenn ich wie von Coyote beschrieben den Ersten Test ausführe, bekomme ich keinen Fehler, und es wird in Steuerungstyp „0505“ eingetragen.
Ich glaube, das ist ein Fehlwert.
Kennt das jemand?

@Wango

Probier mal das hier im Zusammenhang mit meiner XLM-Datei:



<?
include( "ViessmannDeviceTools.inc.php" );

// Zustandsdefinition für Kreis A1M1 aktivieren
// 0 = Warmwasser
// 3 = Warmwasser +  Heizung
// 5 = Abschaltbetrieb

ViessmannSetData( "BetriebsartA1M1", 3);

?>