-
Notifications
You must be signed in to change notification settings - Fork 28
Protokoll 300
Dieses Protokoll wird von den neueren Vitotronic Steuerungen unterstützt.
Gegenüber dem KW Protokoll bietet es einige Vorteile:
- Anfragen können zu jeder Zeit an die Anlage gesendet werden, kein Warten auf 0x05, damit können auch mehrere Abfragen in kurzer Zeit gesendet werden.
- Weitgehend fehlerfreie Übertragung dank CRC Checksumme.
Soweit bekannt, sind alle Steuerungen, die das Protokoll 300 unterstützen, abwärtskompatibel zum KW Protokoll und können auch über dieses Protokoll angesprochen werden.
Serielle Schnittstelle (Optolink):
- 4800 8 E 2, ohne Handshake Protokoll
Initialisierung der Kommunikation (alle Werte in Hex)
- Vitotronic sendet periodisch (ca. 2s)
0x05
- Senden von
0x04
(EOT) um einen definierten Ausgangszustand zu erhalten. - Erneutes
0x05
der Vitotronic abwarten - Darauf sofort Antwort geben mit der Synchronisierungssequenz
0x16 0x00 0x00
(diese Synchronisierungssequenz kann vom verbundenen Programm periodisch gesendet werden, um ein Timeout der Kommunikation zu verhindern). - Vitotronic antwortet mit
0x06
- Das periodische Senden von
0x05
hört damit auf
Beenden der Kommunikation
- Durch Senden des Telegramm-Ende Steuerzeichens EOT
0x04
wird Vitotronic wieder zurückgesetzt und sendet wieder periodisch0x05
. - Es empfiehlt sich, auch beim Start einer Anwendung zunächst ein
0x04
zu senden um einen definierten Anfangszustand zu erhalten.
Antworten von Vitotronic
-
0x15
NACK/Error -
0x05
ENQ/not init -
0x06
ACK ; Antwort auf0x16 0x00 0x00
und auf korrekt empfangene Telegramme. Auch das mit einer Vitotronic verbundene Programm antwortet auf Telegramme der Vitotronic mit0x06
Die Kommunikation scheint sich hier an den ASCII Steuerzeichen zu orientieren.
Telegrammdetails:
Wenn Daten gelesen werden:
-
0x41
Telegramm-Start-Byte -
0xXX
Länge der Nutzdaten als Anzahl der Bytes zwischen dem Telegramm-Start-Byte (0x41) und der Prüfsumme) -
0x0X
MessageIdentifier (untere 4 Bits): 0x00 = Request, 0x01 = Response, 0x02 = UNACKD, 0x03 = Error -
0x0X
FunctionCode (untere 5 Bits): 0x01 = Virtual_READ, 0x02 = Virtual_WRITE, 0x07 = Remote_Procedure_Call
Bits 5-7 sind eine Message-Sequenz-Nummer, welche im Reply ebenfalls gesetzt wird. -
0xXX 0xXX
2 byte Adresse der Daten oder Prozedur -
0xXX
Anzahl der Bytes, die in der Antwort erwartet werden -
0xXX
Prüfsumme = Summe der Werte ab dem 2. Byte (ohne 0x41)
Wenn Daten geschrieben werden sollen:
-
0x41
Telegramm-Start-Byte -
0xXX
Länge der Nutzdaten (Anzahl der Bytes zwischen dem Telegramm-Start-Byte (0x41) und der Prüfsumme) -
0x0X
0x00 = Anfrage, 01 = Antwort, 03 = Fehler -
0x0X
0x01 = ReadData, 0x02 = WriteData, 07 = Function Call
Bits 7,6,5 können wahlfrei gesetzt werden, sie werden in der Antwort dann ebenfalls gesetzt -
0xXX 0xXX
2 Byte Adresse der Daten oder Prozedur -
0xXX
Anzahl der Bytes, die in der geschrieben werden sollen -
0xXX
... Inhalt der geschrieben werden soll -
0xXX
Prüfsumme = Summe der Werte ab dem 2. Byte (ohne 0x41)
Die Heizungssteuerung antwortet auf erfolgreiches Schreiben mit
0x41 LE 0x01 0x02 @@ @@ NM XX
mit LE=Länge der Nutzdaten, @@ @@ = 2 Byte Adresse, NM = Anzahl geschriebener Bytes, XX = Prüfsumme
Die im Funktionstyp-Byte der Anfrage / 4. Byte gesendeten Bits 7,6,5 sind dann in der Antwort ebenso enthalten.
Wurde z.B. als Funktionstype WriteData 0x02
gesendet, kommt 0x02
in der Antwort; wurde 0xA2
gesendet, kommt 0xA2
zurück.1
Beispiel Aussentemperatur abfragen (Vitotronic 333)
- Senden
0x41 05 00 01 55 25 02 82
- Empfangen
0x06 41 07 01 01 55 25 02 07 01 8D
- Antwort: 0x0107 = 263 = 26.3°
Beispiel Geräte Kennung abfragen
- Senden
0x41 05 00 01 00 F8 02 00
- Empfangen
0x06 41 07 01 01 00 F8 02 20 B8 DB
- 0x20B8 = V333MW1
Beispiel Vitodens 333 Betriebsart schreiben:
- Senden
0x41 06 00 02 23 23 01 XY xx
- Empfangen
0x06 41 06 01 02 23 23 01 01 xx
- XY:
- 0 = Abschalten
- 1 = nur WW
- 2 = Heizen mit WW
- 3 = immer Reduziert
- 4 = immer Normal
- XY:
1 Mutmaßungen über das Verhalten sind in der Bauanleitung zum USB_Duo-Sniffer und in VitoConnect 100 mit Raspberry PI als Proxy #425 beschrieben.
- Adapter Eigenbau
- Bauanleitung RS232
- Bauanleitung USB
- LAN/USB Kombiadapter
- Bauanleitung LAN-Ethernet
- Bauanleitung 3.3V TTL
- Weiterentwicklung 3.3V TTL + 3D Teile 🆕
- Bauanleitung LEGO™
- Bauanleitung Raspberry Pi
- Bauanleitung CAN
- Bauanleitung ESP8266
- Bauanleitung OptoPi
- openHab Integration
- Bauanleitung Hovilink
- Bauanleitung ESP32
- Bauanleitung USB-Duo/Sniffer 🆕
- Adressen
- Datenpunkt-Adressen
- Weitere Adressen
- Vito-Masterdateien
- Adressen Vitocal/WO1C
- InsideViessmannVitosoft🔗
- ViessData21
- v-control
- v-commDLL
- IpSymcon Interface
- RS232 Test / VitoTest
- voIdent
- VitoGraph
- Viess-Data, Viess-Data 2.0
- Vies-sion
- Windows "Daemon"
- vogod