From 6c7b093a8e728b9291b9f59f1990a34986dc584d Mon Sep 17 00:00:00 2001 From: Carl Saggs Date: Sun, 17 Aug 2025 14:59:10 +0100 Subject: [PATCH 1/3] Improve the naming of the inverter modes + fix lookup bug --- custom_components/solis/control_const.py | 32 ++++++++++++++---------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/custom_components/solis/control_const.py b/custom_components/solis/control_const.py index 217a2b1..1954dd5 100644 --- a/custom_components/solis/control_const.py +++ b/custom_components/solis/control_const.py @@ -1070,19 +1070,25 @@ class SolisButtonEntityDescription(ButtonEntityDescription): name="Energy Storage Control Switch", key="energy_storage_control_switch", option_dict={ - 1: "Self-Use - No Grid Charging", - 3: "Timed Charge/Discharge - No Grid Charging", - 17: "Backup/Reserve - No Grid Charging", - 33: "Self-Use - No Timed Charge/Discharge", - 35: "Self-Use", - 37: "Off-Grid Mode", - 41: "Battery Awaken", - 43: "Battery Awaken + Timed Charge/Discharge", - 49: "Backup/Reserve - No Timed Charge/Discharge", - 51: "Backup/Reserve", - 64: "Feed-in priority - No Grid Charging", - 96: "Feed-in priority - No Timed Charge/Discharge", - 98: "Feed-in priority", + "3": "Self-Use - Allow Timed Charge/Discharge No Grid Charging", + "35": "Self-Use - Allow Timed Charge/Discharge, Allow Grid Charging", + "1": "Self-Use - No Timed Charge/Discharge, No Grid Charging", + "33": "Self-Use - No Timed Charge/Discharge, Allow Grid Charging", + "17": "Self-Use with Backup - No Timed Charge/Discharge, No Grid Charging", + "49": "Self-Use with Backup - No Timed Charge/Discharge, allow grid charging", + "19": "Self-Use with Backup - Allow Timed Charge/Discharge, No Grid Charging", + "51": "Self-Use with Backup - Allow Timed Charge/Discharge, allow grid charging", + "41": "Battery Awaken - No Timed Charge/Discharge", + "43": "Battery Awaken - Allow Timed Charge/Discharge", + "64": "Feed-in Priority - No Grid Charging, No Timed Charge/Discharge", + "66": "Feed-in Priority - No Grid Charging, Allow Timed Charge/Discharge, + "96": "Feed-in Priority - Allow Grid Charging, No Timed Charge/Discharge", + "98": "Feed-in Priority - Allow Grid Charging, Allow Timed Charge/Discharge", + "80": "Feed-in Priority with Backup - No Grid Charging, No Timed Charge/Discharge", + "82": "Feed-in Priority with Backup - No Grid Charging, Allow Timed Charge/Discharge, + "112": "Feed-in Priority with Backup - Allow Grid Charging, No Timed Charge/Discharge", + "114": "Feed-in Priority with Backup - Allow Grid Charging, Allow Timed Charge/Discharge", + "37": "Off-Grid", }, icon="mdi:dip-switch", ) From c77dcd8e2110af4bcb4b7e5cbe822a503a02620d Mon Sep 17 00:00:00 2001 From: Carl Saggs Date: Sun, 17 Aug 2025 15:04:56 +0100 Subject: [PATCH 2/3] Make order more consistent --- custom_components/solis/control_const.py | 33 ++++++++++++++---------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/custom_components/solis/control_const.py b/custom_components/solis/control_const.py index 1954dd5..63ac540 100644 --- a/custom_components/solis/control_const.py +++ b/custom_components/solis/control_const.py @@ -1070,24 +1070,29 @@ class SolisButtonEntityDescription(ButtonEntityDescription): name="Energy Storage Control Switch", key="energy_storage_control_switch", option_dict={ - "3": "Self-Use - Allow Timed Charge/Discharge No Grid Charging", "35": "Self-Use - Allow Timed Charge/Discharge, Allow Grid Charging", - "1": "Self-Use - No Timed Charge/Discharge, No Grid Charging", + "3": "Self-Use - Allow Timed Charge/Discharge, No Grid Charging", "33": "Self-Use - No Timed Charge/Discharge, Allow Grid Charging", - "17": "Self-Use with Backup - No Timed Charge/Discharge, No Grid Charging", - "49": "Self-Use with Backup - No Timed Charge/Discharge, allow grid charging", + "1": "Self-Use - No Timed Charge/Discharge, No Grid Charging", + + "51": "Self-Use with Backup - Allow Timed Charge/Discharge, Allow Grid Charging", "19": "Self-Use with Backup - Allow Timed Charge/Discharge, No Grid Charging", - "51": "Self-Use with Backup - Allow Timed Charge/Discharge, allow grid charging", - "41": "Battery Awaken - No Timed Charge/Discharge", + "49": "Self-Use with Backup - No Timed Charge/Discharge, Allow grid Charging", + "17": "Self-Use with Backup - No Timed Charge/Discharge, No Grid Charging", + "43": "Battery Awaken - Allow Timed Charge/Discharge", - "64": "Feed-in Priority - No Grid Charging, No Timed Charge/Discharge", - "66": "Feed-in Priority - No Grid Charging, Allow Timed Charge/Discharge, - "96": "Feed-in Priority - Allow Grid Charging, No Timed Charge/Discharge", - "98": "Feed-in Priority - Allow Grid Charging, Allow Timed Charge/Discharge", - "80": "Feed-in Priority with Backup - No Grid Charging, No Timed Charge/Discharge", - "82": "Feed-in Priority with Backup - No Grid Charging, Allow Timed Charge/Discharge, - "112": "Feed-in Priority with Backup - Allow Grid Charging, No Timed Charge/Discharge", - "114": "Feed-in Priority with Backup - Allow Grid Charging, Allow Timed Charge/Discharge", + "41": "Battery Awaken - No Timed Charge/Discharge", + + "98": "Feed-in Priority - Allow Timed Charge/Discharge, Allow Grid Charging", + "66": "Feed-in Priority - Allow Timed Charge/Discharge, No Grid Charging", + "96": "Feed-in Priority - No Timed Charge/Discharge, Allow Grid Charging, ", + "64": "Feed-in Priority - No Timed Charge/Discharge, No Grid Charging", + + "114": "Feed-in Priority with Backup - Allow Timed Charge/Discharge, Allow Grid Charging", + "82": "Feed-in Priority with Backup - Allow Timed Charge/Discharge, No Grid Charging", + "112": "Feed-in Priority with Backup - No Timed Charge/Discharge, Allow Grid Charging", + "80": "Feed-in Priority with Backup - No Timed Charge/Discharge, No Grid Charging", + "37": "Off-Grid", }, icon="mdi:dip-switch", From a6ee795b18b3880ccc6fc1560afdcd76a4532185 Mon Sep 17 00:00:00 2001 From: Carl Saggs Date: Sun, 17 Aug 2025 15:18:22 +0100 Subject: [PATCH 3/3] Fix caseing --- custom_components/solis/control_const.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/custom_components/solis/control_const.py b/custom_components/solis/control_const.py index 63ac540..ea58b58 100644 --- a/custom_components/solis/control_const.py +++ b/custom_components/solis/control_const.py @@ -1077,7 +1077,7 @@ class SolisButtonEntityDescription(ButtonEntityDescription): "51": "Self-Use with Backup - Allow Timed Charge/Discharge, Allow Grid Charging", "19": "Self-Use with Backup - Allow Timed Charge/Discharge, No Grid Charging", - "49": "Self-Use with Backup - No Timed Charge/Discharge, Allow grid Charging", + "49": "Self-Use with Backup - No Timed Charge/Discharge, Allow Grid Charging", "17": "Self-Use with Backup - No Timed Charge/Discharge, No Grid Charging", "43": "Battery Awaken - Allow Timed Charge/Discharge", @@ -1085,7 +1085,7 @@ class SolisButtonEntityDescription(ButtonEntityDescription): "98": "Feed-in Priority - Allow Timed Charge/Discharge, Allow Grid Charging", "66": "Feed-in Priority - Allow Timed Charge/Discharge, No Grid Charging", - "96": "Feed-in Priority - No Timed Charge/Discharge, Allow Grid Charging, ", + "96": "Feed-in Priority - No Timed Charge/Discharge, Allow Grid Charging", "64": "Feed-in Priority - No Timed Charge/Discharge, No Grid Charging", "114": "Feed-in Priority with Backup - Allow Timed Charge/Discharge, Allow Grid Charging",