Skip to content
This repository has been archived by the owner on Oct 4, 2021. It is now read-only.

Commit

Permalink
Solar Module Junkers ISM1
Browse files Browse the repository at this point in the history
Added support to read collector temperature and solar boiler temperature for Solar Module Junkers ISM1
  • Loading branch information
Vuego123 committed Jun 1, 2019
1 parent 17a75fb commit 51f8b55
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/ems.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ void _process_SM100Status(_EMS_RxTelegram * EMS_RxTelegram);
void _process_SM100Status2(_EMS_RxTelegram * EMS_RxTelegram);
void _process_SM100Energy(_EMS_RxTelegram * EMS_RxTelegram);

// ISM1
void _process_ISM1StatusMessage(_EMS_RxTelegram * EMS_RxTelegram);

// HeatPump HP
void _process_HPMonitor1(_EMS_RxTelegram * EMS_RxTelegram);
void _process_HPMonitor2(_EMS_RxTelegram * EMS_RxTelegram);
Expand Down Expand Up @@ -125,6 +128,7 @@ const _EMS_Type EMS_Types[] = {
{EMS_MODEL_OTHER, EMS_TYPE_SM100Energy, "SM100Energy", _process_SM100Energy},
{EMS_MODEL_OTHER, EMS_TYPE_HPMonitor1, "HeatPumpMonitor1", _process_HPMonitor1},
{EMS_MODEL_OTHER, EMS_TYPE_HPMonitor2, "HeatPumpMonitor2", _process_HPMonitor2},
{EMS_MODEL_OTHER, EMS_TYPE_ISM1StatusMessage, "ISM1StatusMessage", _process_ISM1StatusMessage},

// RC10
{EMS_MODEL_RC10, EMS_TYPE_RCTime, "RCTime", _process_RCTime},
Expand Down Expand Up @@ -1468,6 +1472,16 @@ void _process_HPMonitor2(_EMS_RxTelegram * EMS_RxTelegram) {
EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT
}

/*
* Junkers ISM1 Solar Module - type 0x0003 EMS+ for energy readings
*/
void _process_ISM1StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) {
// e.g. B0 00 FF 00 00 03 32 00 00 00 00 13 00 D6 00 00 00 FB D0 F0
EMS_Other.SMcollectorTemp = _toShort(4); // Collector Temperature
EMS_Other.SMbottomTemp = _toShort(6); // Temperature Bottom of Solar Boiler
EMS_Other.SM = true;
}

/**
* UBASetPoint 0x1A
*/
Expand Down
2 changes: 2 additions & 0 deletions src/ems_devices.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
#define EMS_TYPE_SM100Energy 0x028E // SM100Energy
#define EMS_TYPE_HPMonitor1 0xE3 // HeatPump Monitor 1
#define EMS_TYPE_HPMonitor2 0xE5 // HeatPump Monitor 2
#define EMS_TYPE_ISM1StatusMessage 0x0003 // Solar Module Junkers ISM1 Status

/*
* Thermostats...
Expand Down Expand Up @@ -180,6 +181,7 @@ const _Other_Type Other_Types[] = {
{EMS_MODEL_OTHER, 163, EMS_ID_SM, "SM100 Solar Module"},
{EMS_MODEL_OTHER, 171, 0x02, "EMS-OT OpenTherm converter"},
{EMS_MODEL_OTHER, 252, EMS_ID_HP, "HeatPump Module"}, // warning, fake product id!
{EMS_MODEL_OTHER, 101, 0x30, "Junkers ISM1 Solar Controller"},
{EMS_MODEL_OTHER, 189, EMS_ID_GATEWAY, "Web Gateway KM200"}

};
Expand Down

0 comments on commit 51f8b55

Please sign in to comment.