From d5be863002cbc0a8bc81c2f2aa5b2dab4a2e4d67 Mon Sep 17 00:00:00 2001 From: SeaSpotter Date: Tue, 28 Jul 2026 06:48:57 +0200 Subject: [PATCH 1/3] Add support for MT631 power and energy metrics --- packages/modules/devices/tasmota/tasmota/counter.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/modules/devices/tasmota/tasmota/counter.py b/packages/modules/devices/tasmota/tasmota/counter.py index 6d2c18e013..44899c6d36 100644 --- a/packages/modules/devices/tasmota/tasmota/counter.py +++ b/packages/modules/devices/tasmota/tasmota/counter.py @@ -86,6 +86,11 @@ def update(self): powers = [float(response['StatusSNS']['eBZ']['36_7_0']), float(response['StatusSNS']['eBZ']['56_7_0']), float(response['StatusSNS']['eBZ']['76_7_0'])] + elif 'MT631' in response['StatusSNS']: + power = float(response['StatusSNS']['MT631']['Power']) + imported = float(response['StatusSNS']['MT631']['E_in']*1000) + exported = float(response['StatusSNS']['MT631']['E_out']*1000) + imported, exported = self.peak_filter.check_values(power, imported, exported) else: raise ValueError("Nicht unterstützter Tasmota Zählertyp. Bitte an den Support wenden.") From 973ceb3e9d3201067eeca649f0137e2510cfdb04 Mon Sep 17 00:00:00 2001 From: SeaSpotter Date: Tue, 28 Jul 2026 06:59:25 +0200 Subject: [PATCH 2/3] Add support for MT631 Tasmota meter type --- packages/modules/devices/tasmota/tasmota/bat.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/modules/devices/tasmota/tasmota/bat.py b/packages/modules/devices/tasmota/tasmota/bat.py index 95ae737ed5..870d023ab8 100644 --- a/packages/modules/devices/tasmota/tasmota/bat.py +++ b/packages/modules/devices/tasmota/tasmota/bat.py @@ -68,6 +68,11 @@ def update(self): imported = float(response['StatusSNS']['eBZ']['E_in']*1000) exported = float(response['StatusSNS']['eBZ']['E_out']*1000) imported, exported = self.peak_filter.check_values(power, imported, exported) + elif 'MT631' in response['StatusSNS']: + power = float(response['StatusSNS']['MT631']['Power']) + imported = float(response['StatusSNS']['MT631']['E_in']*1000) + exported = float(response['StatusSNS']['MT631']['E_out']*1000) + imported, exported = self.peak_filter.check_values(power, imported, exported) else: raise ValueError("Nicht unterstützter Tasmota Zählertyp. Bitte an den Support wenden.") From 057c482ee2a72980a80e9f6878a7ab26403cd139 Mon Sep 17 00:00:00 2001 From: SeaSpotter Date: Tue, 28 Jul 2026 06:59:52 +0200 Subject: [PATCH 3/3] Add support for MT631 inverter type --- packages/modules/devices/tasmota/tasmota/inverter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/modules/devices/tasmota/tasmota/inverter.py b/packages/modules/devices/tasmota/tasmota/inverter.py index b68c28e2bb..f3dffcaaca 100644 --- a/packages/modules/devices/tasmota/tasmota/inverter.py +++ b/packages/modules/devices/tasmota/tasmota/inverter.py @@ -62,6 +62,10 @@ def update(self): power = float(response['StatusSNS']['eBZ']['Power']) * -1 exported = float(response['StatusSNS']['eBZ']['E_out']*1000) _, exported = self.peak_filter.check_values(power, None, exported) + elif 'MT631' in response['StatusSNS']: + power = float(response['StatusSNS']['MT631']['Power']) * -1 + exported = float(response['StatusSNS']['MT631']['E_out']*1000) + _, exported = self.peak_filter.check_values(power, None, exported) else: raise ValueError("Nicht unterstützter Tasmota Zählertyp. Bitte an den Support wenden.")