From 81ec2f755c1f3c685317cad4d5fc6897296f4397 Mon Sep 17 00:00:00 2001 From: echoDaveD <32526643+echoDaveD@users.noreply.github.com> Date: Sat, 22 Feb 2025 23:54:23 +0100 Subject: [PATCH] limit NASA_EHSSENTINEL_COP and NASA_EHSSENTINEL_TOTAL_COP to values between 0 and 20 (#8) --- MessageProcessor.py | 19 +++++++++++++------ README.md | 3 +++ startEHSSentinel.py | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/MessageProcessor.py b/MessageProcessor.py index 17f83df..75bf68d 100644 --- a/MessageProcessor.py +++ b/MessageProcessor.py @@ -131,16 +131,23 @@ class MessageProcessor: if msgname in ('NASA_EHSSENTINEL_HEAT_OUTPUT', 'NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT'): if all(k in self.NASA_VAL_STORE for k in ['NASA_EHSSENTINEL_HEAT_OUTPUT', 'NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT']): if (self.NASA_VAL_STORE['NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT'] > 0): - self.protocolMessage(NASAMessage(packet_message=0x9998, packet_message_type=1), - "NASA_EHSSENTINEL_COP", - round((self.NASA_VAL_STORE['NASA_EHSSENTINEL_HEAT_OUTPUT'] / self.NASA_VAL_STORE['NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT']/1000.), 3)) + value = round((self.NASA_VAL_STORE['NASA_EHSSENTINEL_HEAT_OUTPUT'] / self.NASA_VAL_STORE['NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT']/1000.), 3) + if (value < 20 and value > 0): + self.protocolMessage(NASAMessage(packet_message=0x9998, packet_message_type=1), + "NASA_EHSSENTINEL_COP", + value + ) if msgname in ('NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT_ACCUM', 'LVAR_IN_TOTAL_GENERATED_POWER'): if all(k in self.NASA_VAL_STORE for k in ['NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT_ACCUM', 'LVAR_IN_TOTAL_GENERATED_POWER']): if (self.NASA_VAL_STORE['NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT_ACCUM'] > 0): - self.protocolMessage(NASAMessage(packet_message=0x9997, packet_message_type=1), - "NASA_EHSSENTINEL_TOTAL_COP", - round(self.NASA_VAL_STORE['LVAR_IN_TOTAL_GENERATED_POWER'] / self.NASA_VAL_STORE['NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT_ACCUM'], 3)) + value = round(self.NASA_VAL_STORE['LVAR_IN_TOTAL_GENERATED_POWER'] / self.NASA_VAL_STORE['NASA_OUTDOOR_CONTROL_WATTMETER_ALL_UNIT_ACCUM'], 3) + + if (value < 20 and value > 0): + self.protocolMessage(NASAMessage(packet_message=0x9997, packet_message_type=1), + "NASA_EHSSENTINEL_TOTAL_COP", + value + ) def search_nasa_table(self, address): """ diff --git a/README.md b/README.md index d11f07a..46b9e2e 100644 --- a/README.md +++ b/README.md @@ -267,6 +267,9 @@ if you want to see how many uniquie Messages have been collected in the Dumpfile # Changelog +### v0.2.1 - 2025-02-22 +- limit NASA_EHSSENTINEL_COP and NASA_EHSSENTINEL_TOTAL_COP to values between 0 and 20 + ### v0.2.0 - 2025-02-22 - improved MQTT Auto Discovery Config Messages - NASAPacket and NASAMessage are now bidirectional, can decode and encode Packets diff --git a/startEHSSentinel.py b/startEHSSentinel.py index a3fffe7..5f53287 100644 --- a/startEHSSentinel.py +++ b/startEHSSentinel.py @@ -17,7 +17,7 @@ from CustomLogger import logger from NASAPacket import NASAPacket, AddressClassEnum, PacketType, DataType from NASAMessage import NASAMessage -version = "0.2.0 Stable" +version = "0.2.1 Stable" async def main(): """