mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 08:19:52 +03:00
added outdoor temp 0xD1 - https://github.com/proddy/EMS-ESP/issues/220
This commit is contained in:
20
src/ems.cpp
20
src/ems.cpp
@@ -48,6 +48,9 @@ void _process_UBATotalUptimeMessage(_EMS_RxTelegram * EMS_RxTelegram);
|
||||
void _process_UBAParametersMessage(_EMS_RxTelegram * EMS_RxTelegram);
|
||||
void _process_SetPoints(_EMS_RxTelegram * EMS_RxTelegram);
|
||||
|
||||
// EMS+ specific
|
||||
void _process_UBAOutdoorTemp(_EMS_RxTelegram * EMS_RxTelegram);
|
||||
|
||||
// SM10
|
||||
void _process_SM10Monitor(_EMS_RxTelegram * EMS_RxTelegram);
|
||||
|
||||
@@ -120,6 +123,9 @@ const _EMS_Type EMS_Types[] = {
|
||||
{EMS_TYPE_UBAParametersMessage, "UBAParametersMessage", _process_UBAParametersMessage},
|
||||
{EMS_TYPE_UBASetPoints, "UBASetPoints", _process_SetPoints},
|
||||
|
||||
// UBA/Boiler EMS+
|
||||
{EMS_TYPE_UBAOutdoorTemp, "UBAOutdoorTemp", _process_UBAOutdoorTemp},
|
||||
|
||||
// Solar Module devices
|
||||
{EMS_TYPE_SM10Monitor, "SM10Monitor", _process_SM10Monitor},
|
||||
{EMS_TYPE_SM100Monitor, "SM100Monitor", _process_SM100Monitor},
|
||||
@@ -1307,9 +1313,12 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) {
|
||||
/**
|
||||
* UBAMonitorSlow - type 0x19 - central heating monitor part 2 (27 bytes long)
|
||||
* received every 60 seconds
|
||||
* e.g. 08 00 19 00 80 00 02 41 80 00 00 00 00 00 03 91 7B 05 B8 40 00 00 00 04 92 AD 00 5E EE 80 00 (CRC=C9) #data=27
|
||||
*/
|
||||
void _process_UBAMonitorSlow(_EMS_RxTelegram * EMS_RxTelegram) {
|
||||
EMS_Boiler.extTemp = _toShort(0); // 0x8000 if not available
|
||||
if (_toShort(0) != EMS_VALUE_USHORT_NOTSET) { // 0x8000 if not available
|
||||
EMS_Boiler.extTemp = _toShort(0);
|
||||
}
|
||||
|
||||
// set boiler temp only if we actually have a real value
|
||||
if (_toShort(2) != EMS_VALUE_USHORT_NOTSET) {
|
||||
@@ -1323,6 +1332,15 @@ void _process_UBAMonitorSlow(_EMS_RxTelegram * EMS_RxTelegram) {
|
||||
EMS_Boiler.switchTemp = _toShort(25);
|
||||
}
|
||||
|
||||
/**
|
||||
* UBAOutdoorTemp - type 0xD1 - external temperature
|
||||
*/
|
||||
void _process_UBAOutdoorTemp(_EMS_RxTelegram * EMS_RxTelegram) {
|
||||
if (_toShort(0) != EMS_VALUE_USHORT_NOTSET) { // 0x8000 if not available
|
||||
EMS_Boiler.extTemp = _toShort(0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* type 0xB1 - data from the RC10 thermostat (0x17)
|
||||
* For reading the temp values only
|
||||
|
||||
Reference in New Issue
Block a user