Zehnder ComfoAir 350 über RS232 anbinden

klar:

$IDcomPort=IPS_GetInstanceListByModuleID("{6DC3D946-0D31-450F-A8C6-C42DB8D7D4F1}")[0]; // ID des ComPortsSuchen
IPS_SetProperty ($IDcomPort, "Open", TRUE ); // Port öffnen
$error=IPS_ApplyChanges($IDcomPort);

// ... hier daten abfragen...

 //Serialport schließen
IPS_SetProperty ($IDcomPort, "Open", FALSE);
$error=IPS_ApplyChanges($IDcomPort);

Gruß
hardlog

Hallo zusammen,

hat inzwischen jemand das Problem mit der hohen Datenrate sauber lösen können?

Hallo an alle hier im Forum,

zu allererst auch einmal grossen Dank an PreinfalkG für die hervorragende Vorarbeit und seine (mehr oder weniger intuitiven) Screenshots :slight_smile:

Wegen der hohen Datenrate usw habe ich in meinem Setup keine Probleme.
Ich habe aber auch etwas andere Hardware benutzt und mich nicht ganz an die vorgeschriebene Verkabelung gehalten.

zur verwendeten Hardware: USR-TCP232-200 Seriell RS232 zu Ethernet (ca 20 Euro Ebay (Händler fhmx-model2), Import aus China) Blosse Platine ohne netzteil kostet sogar nur 14 Euro !!!
Herstellerseite: serial device server,wifi module,gprs dtu-Jinan USR IOT Technology Limited

habe die Version mit Gehäuse, bei meiner ComfoAir 350 wäre aber genug platz in dem Gehäuse die reine Platine unter zu bekommen. Stromversorgung kann über passenden Widerstand von den vorhandenen 12 Volt Leitungen abgezweigt werden.

Bei der Verkabelung bin ich anders vorgegangen als PreinfalkG, dieser greift die 3 Pins Ground, TX und RX an der auf der Platine vorhandenen RS232 Schnittstelle ab, ich habe aber durchgemessen und getestet und bin direkt an die 3 gleich benannten Anschlüsse gegangen an der die reguläre Steuereinheit sitzt. (Hier gehört aber Busbedingt RX an TX und umgekehrt).

RS232 Modus steht bei mir auf CCEasy Only, kein PC Master oder sonstwas, COM Einstellungen wie vorgeschlagen 9600/N/8/1

Danach kommt auch eine nicht unerhebliche Flut an Daten bei mir an, meinen Homeserver juckt das allerdings recht wenig. Noch kein 1% Anstieg wenn der Com Port offen ist und IPSymcon darüber kommuniziert. Ich lausche auch parallel mit einem Busmonitor mit.
Einen direkten Anschluss an den Server habe ich nicht getestet mangels serieller Schnittstelle. Einen Seriell zu USB Adapter wollte ich ebenso wenig verwenden weil ich mit diesen zumindest was Cisco Switche angeht nicht immer gute Ergebnisse erzielte.

Dieser RS232 auf Ethernet-Miniserver jedoch kostet nicht viel und funktioniert bis jetzt hervorragend.
Dokumentation jedoch nur in englisch und die Software sowie auch die Doku scheinen aus dem Chinesischen übersetzt zu sein und sind mitunter unterhaltsam :slight_smile:

Herzlich willkommen @Emp!

Ich hab es auch mit einem RS232-to-Ethernet-Wandler realisiert (ohne virtuellen COM-Port).
Um der „Datenflut“ zu entgehen, hab ich die Bedieneinheit abgeklemmt (bzw. ich hab mir nen Wechselschalter eingebaut mit dem ich die Spannungszufuhr der Schnittstelle zwischen EASY und PC bei Bedarf umschalte). Dann kommen die Daten nur noch auf Request von IPS. Läuft einwandfrei.

Gruß
hardlog

Naja bisher kaum Last auf dem Homeserver (Xeon E3-1220-V3) und mir ist auch die Bedieneinheit auch noch nicht „Abgestürzt“ durch zu viele Statusänderungen.
Ich werde es mal weiter beobachten. Der Finanzielle Aufwand hielt sich ja in Grenzen. Au jeden Fall komfortabler und Günstiger als mit der Variante Analogaktor 0-10V. Der hätte weit mehr als das doppelte gekostet.

Hi.
Danke für die super Beschreibung an PreinfalG!!!
Ich habe es genauso gemacht wie EmP und es klappt super!! Leider komme ich bei den Updateskripts nicht weiter,könntet ihr mir eventuell mal ein paar von Euren zeigen?
Wenn ich zB die Komforttemp anzeigen lassen will, kommt nur „invalid association“ und die einzelnen Temperaturen kriege ich nur in die HTML Box aber nicht in die Einzel Variablen… Wäre sehr dankbar für ein paar Screenshots!

Hi,

brauche mal Hilfe.
Bei mir läuft die Abfrage der ComfoAir schon lange und problemlos. Hauptsächlich frage ich nur Daten ab.
Einstellen tue ich nur ab un zu die Komforttemperatur und die Lüfterstufe. Geht alles einwandfrei.

Ich tue mich jedoch porgrammiertechnisch noch schwer mit der Übersetzung des Protokolls in php-Code:

Ich will den Bietriebsstundenzähl des FILTER wieder auf NULL setzen. D.h. über das Kommando :0x00 0xDB
Nur wie sende ich nun die Daten: Was heißt nun konkret „Byte[4] Betriebsstunden Filter zurücksetzen (1 = reset / 0 = -)“.

Kann mir das jemand in folgende php-Zeile „übersetzten“, bzw. was ich da einsetzen muss?

SendCommandTCP(array(0x00,0xDB), ???????  ,$IDRegVar);

Danke
hardlog

Ok, habs durch Probieren hinbekommen.

Hab leider dadurch einen kompletten Reset erzeugt. Ich hoffe ich alle Parameter wieder korrekt eingestellt! :eek:

Hier, falls es jemand braucht die entsprechenden php-Zeile mit Kommentar:+


SendCommandTCP(array(0x00,0xDB),array(0,0,0,1),$IDRegVar); // Reset des Filters
SendCommandTCP(array(0x00,0xDB),array(1,0,0,0),$IDRegVar); // Reset der Fehlermeldungen
SendCommandTCP(array(0x00,0xDB),array(0,1,0,0),$IDRegVar); // CAVE Komplett-Reset möglichst NIE unbedacht !!!!!
SendCommandTCP(array(0x00,0xDB),array(0,0,1,0),$IDRegVar); // Selbsttest

Gruß

hardlog

Hallo.
Ich möchte die Lüftungsstufe gerne durch ein Ereignis verändern. Also z.B. Nachts auf Stufe 3 und Morgens wieder auf Stufe 1. Ich hab jetzt zum Testen ein Ereignis eingerichtet welches die Variable 39997 schaltet. Das funktioniert auch. Die Variable wird verändert. Allerdings wird der Befehl zum Schalten der Lüftungsstufe nicht gesendet. Sobald der Status abgerufen wird ist die Variable wieder wie vorher.
Ich komme irgendwie nicht drauf woran es hängt.
Das sollte der Code sein, welcher die Stufe verstellt.


if($IPS_VARIABLE == 39997 /*[Zehnder ComfoAir350 Lux\WRL - Wohnraumlüftung\Stufe]*/ ) {

		SetValue($IPS_VARIABLE, $IPS_VALUE);

		switch($IPS_VALUE) {
		case 1:
	 		SendCommand(array(0x00,0x99),array(0x01));
	 		break;
  	 	case 2:
	 		SendCommand(array(0x00,0x99),array(0x02));
	 		break;
   	        case 3:
	 		SendCommand(array(0x00,0x99),array(0x03));
	 		break;
   	        case 4:
	 		SendCommand(array(0x00,0x99),array(0x04));
	 		break;
   	default:
  			echo "Keine gültige Stufe!";
   		break;
		}
	}

In dem Script mit dem Befehl steht nur



SetValueInteger(39997,4)


Ich möchte sozusagen mit einem zweiten Script in dem ersten Script Case 4 aufrufen…

Vielen Dank für eure Hilfe.

Hallo Leute,
ich möchte euch auch um eure Meinung zu einem Problem bei der RS232 Integration meiner Comfoair200 Anlage bitte.
Und zwar verwende ich ebenfalls einen USB->Serial Converter und empfange auch Daten, allerdings stimmen diese nicht mit dem beschriebenen Protokoll überein. Wenn ich z.b. das ComfoPC Tool von see-solutions verwende, erhalte ich sowas hier:

-> 0x07 0xF0 0x00 0xCA 0x08 0x00 0x1E 0x00 0x1E 0x05 0x0A 0x1E 0x00 0xE8 0x07 0x0F
<- 0x7C 0xF0 0x99 0xFF 0x3F 0x7C 0x78
-> 0x07 0xF3
-> 0x07 0xF0 0x00 0xCA 0x08 0x00 0x1E 0x00 0x1E 0x05 0x0A 0x1E 0x00 0xE8 0x07 0x0F
<- 0x7C 0xF0 0x99 0xFF 0x3F 0x7C 0x78
-> 0x07 0xF3
-> 0x07 0xF0 0x00 0xCA 0x08 0x00 0x1E 0x00 0x1E 0x05 0x0A 0x1E 0x00 0xE8 0x07 0x0F
<- 0x7C 0xF0 0x99 0xFF 0x3F 0x7C 0x78
-> 0x07 0xF3
-> 0x07 0xF0 0x00 0xCA 0x08 0x00 0x1E 0x00 0x1E 0x05 0x0A 0x1E 0x00 0xE8 0x07 0x0F
<- 0x7C 0xF0 0x99 0xFF 0x3F 0x7C 0x78 0x7C 0x06
-> 0x07 0xF3

Die Antworten vom Gerät haben nicht den beschriebenen Aufbau. Zwischendurch kommt zwar mal ein 0xF0 aber der Rest ist ziemlicher Murks. Die Antworten sind nichtmals konstant.

Wenn ich das ganze mit meinem Raspberry versuche, siehts genauso aus.

Hat jemand eine Idee dazu ?
Danke!

Herm

Richte Baudrate eingestellt?

Gesendet von iPhone mit Tapatalk

Yep, hab ich. Vor allem empfange ich aufm PC mit dem ComfoPC Tool von see-solutions das Gleiche und da braucht man nichts einstellen.
Hat sonst noch jemand ne Idee? Danke

Selbst, wenn ich einfach nur mitlausche, was die CC Ease und die Konnectorplatine so plaudern, bekomme ich diese nicht zum Protokoll passenden Daten.

Irgend jemand noch eine Idee, was ich ggf. falsch mache ? Das Protokoll wurde durch nicht geändert oder ist bei ner Comfoair 200 nicht anders oder? Ist ja eigentlich bei allen Systemen die gleiche CC Ease Bedieneineheit.

Herm

Hallo!

Hat jemand von Euch diese Box als Zubehör im Einsatz, bzw liest die Daten in IPS aus??

Habe kommende Woche IB meiner Wernig Comfort Vent 350 (Zehnder) und habe mir die Option Box mitbestellt.
Und heute hab ich gesehen, dass es auch eine LAN Box gibt :frowning:
wenn man über diese Werte auslesen kann und sollwerte vorgeben, spar ich mir den AI und die Binäreingänge für
Störungen usw.

LG
Manza

Hallo,

in vielen Foren in denen ich auf die Ansteuerung einer ComforAir 350 lese, wird auf diesen Thread verlinkt. Aus diesem Grund möchte ich hier meine Frage stellen. In der letzte Fassung der Protokollbeschreibung von see-solutions gibt es die Möglichkeit mit dem Kommando 0x00 0x99 und dem Datenbyte 0x00 die Anlage in den Automatikmodus zu versetzen.
Alle bisher von mir gestarteten Versuche sind leider fehlgeschlagen, weshalb ich das Thema hier anspreche. Mit dem Automatikmodus wird ja eigentlich nur der Timer aktiviert. Nun stelle ich mir die Frage, wer die Daten für den Timer hält. Werden diese in der CC-Ease gehalten oder sind die Daten in der ComfoAir 350 gespeichert. Wenn ersteres zutrifft, wird es sicherlich schwer die Anlage in den Automatikmodus zu setzen. Wenn jedoch die Anlage selbst die Werte für den Timer kennt, stelle ich mich beim Absenden des Befehls nicht korrekt an.

Hat das schon jemand von euch hinbekommen? Und wenn ja in welchem RS232-Modus betreibt ihr die Lüftungsanlage?

Gruß
derhoeppi

Ich steuere alles über die Anbindung des Stufen-Schalters.

Die Automatik läuft damit gänzlich über IPS.

Gruß
M.

Hallo,

heißt das du nutzt den externen 3-fach Schalter? Wie kontrollierst du, ob die Automatik aktiviert ist?

Gruß
derhoeppi

Ich simuliere den 3-Stufen-Schalter. Habe auf jeder „Phase“ ein Relais am Homematic Aktor.

Die Anlage läuft also quasi manuell gesteuert über IPS:

  • Stufe 1 wenn Fenster oder Tür offen
  • Stufe 3 wenn Licht im Bad länger als 5 Minuten an
  • Stufe 2 wenn alle Fenster und Türen zu

Hallo,

okay du hast dir also deine eigene Automatik außerhalb der Lüftungsanlage gebaut. Langfristig denke ich ebenfalls dies so zu steuern, weil ich vor allem den CO2 Gehalt der Luft zur Steuerung nutzen möchte. So lange hätte ich jedoch den Bedarf es ohne eine externe Steuerung durchzuführen.

Aus diesem Grund bin ich an einer Lösung interessiert, bei der die Protokollbeschreibung von see-solutions zum Setzen des Automatik-Modus genutzt wird.

Gruß
derhoeppi

Das ist eine günstige und sehr flexible Variante. Vor allem war sie schnell und zuverlässig umsetzbar für mich.