Dear Daniel,
I’m traying to read the Vbus values from Deltasol CS Plus, but I can’t read the Relay2 value and I always get -1.
--------Decoded VBus data-------------
Destination: 10
Source: 2211
Protocol Version: 1
Comand: 10
Checksum:33
---------Values-------
Sensor 1: 26.8
Sensor 2: 26.6
Sensor 3: 26.8
Sensor 4: 26.3
Relay 1: 100
Relay 2: -1
----END--------
I can read Sensor1_temp, Sensor2_temp, Sensor3_temp, Sensor4_temp and Relay1.
As I could no find the VBus protocol for the CS Plus in the file:
VBus-Protokollspezification_en_270111.pdf
I’m using this code from:
https://github.com/FatBeard/vbus-arduino-domoticz
ArduinoVBusDecoder.ino
But I have modified it to read this part of the code as it do no have the option for the Deltasol CS Plus:
F = FOffset;
Septet = Buffer[F + FSeptet];
InjectSeptet(Buffer, F, 4);
// 'collector1' Temperatur Sensor 1, 15 bits, factor 0.1 in C
Sensor1_temp = CalcTemp(Buffer[F + 1], Buffer[F]);
// 'store1' Temperature sensor 2, 15 bits, factor 0.1 in C
Sensor2_temp = CalcTemp(Buffer[F + 3], Buffer[F + 2]);
//******************* Frame 2 *******************
F = FOffset + FLength;
Septet = Buffer[F + FSeptet];
InjectSeptet(Buffer, F, 4);
Sensor3_temp = CalcTemp(Buffer[F + 1], Buffer[F]);
Sensor4_temp = CalcTemp(Buffer[F + 3], Buffer[F + 2]);
//******************* Frame 3 *******************
F = FOffset + FLength * 2;
Septet = Buffer[F + FSeptet];
InjectSeptet(Buffer, F, 4);
Relay1 = (Buffer[F] );
Relay2 = (Buffer[F + 1]);
ErrorMask = Buffer[F + 2]; //This is the notification
Scheme = Buffer[F + 3];
//******************* Frame 4 *******************
F = FOffset + FLength * 3;
Septet = Buffer[F + FSeptet];
InjectSeptet(Buffer, F, 4);
OperatingHoursRelais1 = Buffer[F + 1] << 8 | Buffer[F];
OperatingHoursRelais2 = Buffer[F + 3] << 8 | Buffer[F + 2];;
//******************* Frame 5 *******************
F = FOffset + FLength * 4;
Septet = Buffer[F + FSeptet];
InjectSeptet(Buffer, F, 4);
HeatQuantity = (Buffer[F + 1] << 8 | Buffer[F]) + (Buffer[F + 3] << 8 | Buffer[F + 2]) * 1000;
//******************* Frame 6 *******************
F = FOffset + FLength * 5;
Septet = Buffer[F + FSeptet];
InjectSeptet(Buffer, F, 4);
HeatQuantity = HeatQuantity + (Buffer[F + 1] << 8 | Buffer[F]) * 1000000;
SystemTime = Buffer[F + 3] << 8 | Buffer[F + 2];
Thanks in advance,
Dídac
--
You received this message because you are subscribed to the Google Groups "RESOL VBus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to resol-vbus+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/resol-vbus/b1a1c74c-bfb6-4a4d-ad7d-211328fe142fn%40googlegroups.com.