Merge branch 'development'

This commit is contained in:
helgeerbe 2023-04-12 17:49:31 +02:00
commit 1d62e36303
6 changed files with 10 additions and 31 deletions

View File

@ -128,7 +128,7 @@ struct CONFIG_T {
POWERMETER_HTTP_PHASE_CONFIG_T Powermeter_Http_Phase[POWERMETER_MAX_PHASES]; POWERMETER_HTTP_PHASE_CONFIG_T Powermeter_Http_Phase[POWERMETER_MAX_PHASES];
bool PowerLimiter_Enabled; bool PowerLimiter_Enabled;
bool PowerLimiter_SolarPassTroughEnabled; bool PowerLimiter_SolarPassThroughEnabled;
uint8_t PowerLimiter_BatteryDrainStategy; uint8_t PowerLimiter_BatteryDrainStategy;
uint32_t PowerLimiter_Interval; uint32_t PowerLimiter_Interval;
bool PowerLimiter_IsInverterBehindPowerMeter; bool PowerLimiter_IsInverterBehindPowerMeter;

View File

@ -391,7 +391,7 @@ String VeDirectFrameHandler::getPidAsString(uint16_t pid)
strPID = "SmartSolar MPPT 100|50"; strPID = "SmartSolar MPPT 100|50";
break; break;
case 0XA058: case 0XA058:
strPID = "SmartSolar MPPT 100|35"; strPID = "SmartSolar MPPT 150|35";
break; break;
case 0XA059: case 0XA059:
strPID = "SmartSolar MPPT 150|10 rev2"; strPID = "SmartSolar MPPT 150|10 rev2";

View File

@ -140,7 +140,7 @@ bool ConfigurationClass::write()
JsonObject powerlimiter = doc.createNestedObject("powerlimiter"); JsonObject powerlimiter = doc.createNestedObject("powerlimiter");
powerlimiter["enabled"] = config.PowerLimiter_Enabled; powerlimiter["enabled"] = config.PowerLimiter_Enabled;
powerlimiter["solar_passtrough_enabled"] = config.PowerLimiter_SolarPassTroughEnabled; powerlimiter["solar_passtrough_enabled"] = config.PowerLimiter_SolarPassThroughEnabled;
powerlimiter["battery_drain_strategy"] = config.PowerLimiter_BatteryDrainStategy; powerlimiter["battery_drain_strategy"] = config.PowerLimiter_BatteryDrainStategy;
powerlimiter["interval"] = config.PowerLimiter_Interval; powerlimiter["interval"] = config.PowerLimiter_Interval;
powerlimiter["is_inverter_behind_powermeter"] = config.PowerLimiter_IsInverterBehindPowerMeter; powerlimiter["is_inverter_behind_powermeter"] = config.PowerLimiter_IsInverterBehindPowerMeter;
@ -329,7 +329,7 @@ bool ConfigurationClass::read()
JsonObject powerlimiter = doc["powerlimiter"]; JsonObject powerlimiter = doc["powerlimiter"];
config.PowerLimiter_Enabled = powerlimiter["enabled"] | POWERLIMITER_ENABLED; config.PowerLimiter_Enabled = powerlimiter["enabled"] | POWERLIMITER_ENABLED;
config.PowerLimiter_SolarPassTroughEnabled = powerlimiter["solar_passtrough_enabled"] | POWERLIMITER_SOLAR_PASSTROUGH_ENABLED; config.PowerLimiter_SolarPassThroughEnabled = powerlimiter["solar_passtrough_enabled"] | POWERLIMITER_SOLAR_PASSTROUGH_ENABLED;
config.PowerLimiter_BatteryDrainStategy = powerlimiter["battery_drain_strategy"] | POWERLIMITER_BATTERY_DRAIN_STRATEGY; config.PowerLimiter_BatteryDrainStategy = powerlimiter["battery_drain_strategy"] | POWERLIMITER_BATTERY_DRAIN_STRATEGY;
config.PowerLimiter_Interval = POWERLIMITER_INTERVAL; config.PowerLimiter_Interval = POWERLIMITER_INTERVAL;
config.PowerLimiter_IsInverterBehindPowerMeter = powerlimiter["is_inverter_behind_powermeter"] | POWERLIMITER_IS_INVERTER_BEHIND_POWER_METER; config.PowerLimiter_IsInverterBehindPowerMeter = powerlimiter["is_inverter_behind_powermeter"] | POWERLIMITER_IS_INVERTER_BEHIND_POWER_METER;

View File

@ -154,7 +154,7 @@ bool PowerLimiterClass::canUseDirectSolarPower()
{ {
CONFIG_T& config = Configuration.get(); CONFIG_T& config = Configuration.get();
if (!config.PowerLimiter_SolarPassTroughEnabled if (!config.PowerLimiter_SolarPassThroughEnabled
|| !config.Vedirect_Enabled) { || !config.Vedirect_Enabled) {
return false; return false;
} }

View File

@ -38,7 +38,7 @@ void WebApiPowerLimiterClass::onStatus(AsyncWebServerRequest* request)
const CONFIG_T& config = Configuration.get(); const CONFIG_T& config = Configuration.get();
root[F("enabled")] = config.PowerLimiter_Enabled; root[F("enabled")] = config.PowerLimiter_Enabled;
root[F("solar_passtrough_enabled")] = config.PowerLimiter_SolarPassTroughEnabled; root[F("solar_passtrough_enabled")] = config.PowerLimiter_SolarPassThroughEnabled;
root[F("battery_drain_strategy")] = config.PowerLimiter_BatteryDrainStategy; root[F("battery_drain_strategy")] = config.PowerLimiter_BatteryDrainStategy;
root[F("is_inverter_behind_powermeter")] = config.PowerLimiter_IsInverterBehindPowerMeter; root[F("is_inverter_behind_powermeter")] = config.PowerLimiter_IsInverterBehindPowerMeter;
root[F("inverter_id")] = config.PowerLimiter_InverterId; root[F("inverter_id")] = config.PowerLimiter_InverterId;
@ -119,7 +119,7 @@ void WebApiPowerLimiterClass::onAdminPost(AsyncWebServerRequest* request)
CONFIG_T& config = Configuration.get(); CONFIG_T& config = Configuration.get();
config.PowerLimiter_Enabled = root[F("enabled")].as<bool>(); config.PowerLimiter_Enabled = root[F("enabled")].as<bool>();
config.PowerLimiter_SolarPassTroughEnabled = root[F("solar_passtrough_enabled")].as<bool>(); config.PowerLimiter_SolarPassThroughEnabled = root[F("solar_passtrough_enabled")].as<bool>();
config.PowerLimiter_BatteryDrainStategy= root[F("battery_drain_strategy")].as<uint8_t>(); config.PowerLimiter_BatteryDrainStategy= root[F("battery_drain_strategy")].as<uint8_t>();
config.PowerLimiter_IsInverterBehindPowerMeter = root[F("is_inverter_behind_powermeter")].as<bool>(); config.PowerLimiter_IsInverterBehindPowerMeter = root[F("is_inverter_behind_powermeter")].as<bool>();
config.PowerLimiter_InverterId = root[F("inverter_id")].as<uint8_t>(); config.PowerLimiter_InverterId = root[F("inverter_id")].as<uint8_t>();

View File

@ -101,6 +101,7 @@
<CardElement <CardElement
v-for="(http_phase, index) in powerMeterConfigList.http_phases" v-for="(http_phase, index) in powerMeterConfigList.http_phases"
:key="http_phase.index"
:text="$t('powermeteradmin.httpPhase', { phaseNumber: http_phase.index })" :text="$t('powermeteradmin.httpPhase', { phaseNumber: http_phase.index })"
textVariant="text-bg-primary" textVariant="text-bg-primary"
add-space> add-space>
@ -188,7 +189,6 @@ import BootstrapAlert from "@/components/BootstrapAlert.vue";
import CardElement from '@/components/CardElement.vue'; import CardElement from '@/components/CardElement.vue';
import InputElement from '@/components/InputElement.vue'; import InputElement from '@/components/InputElement.vue';
import { handleResponse, authHeader } from '@/utils/authentication'; import { handleResponse, authHeader } from '@/utils/authentication';
import { BIconInfoCircle } from 'bootstrap-icons-vue';
import type { PowerMeterHttpPhaseConfig, PowerMeterConfig } from "@/types/PowerMeterConfig"; import type { PowerMeterHttpPhaseConfig, PowerMeterConfig } from "@/types/PowerMeterConfig";
export default defineComponent({ export default defineComponent({
@ -196,21 +196,9 @@ export default defineComponent({
BasePage, BasePage,
BootstrapAlert, BootstrapAlert,
CardElement, CardElement,
InputElement, InputElement
BIconInfoCircle,
}, },
data() { data() {
const people: { name: string; age: number; }[] = [
{
age: 27,
name: 'Tim'
},
{
age: 28,
name: 'Bob'
}
];
return { return {
dataLoading: true, dataLoading: true,
powerMeterConfigList: {} as PowerMeterConfig, powerMeterConfigList: {} as PowerMeterConfig,
@ -224,7 +212,7 @@ export default defineComponent({
alertMessage: "", alertMessage: "",
alertType: "info", alertType: "info",
showAlert: false, showAlert: false,
testHttpRequestAlert: <{ message: string; type: string; show: boolean; }[]> [ ], testHttpRequestAlert: [{message: "", type: "", show: false}] as { message: string; type: string; show: boolean; }[]
}; };
}, },
created() { created() {
@ -239,15 +227,6 @@ export default defineComponent({
this.powerMeterConfigList = data; this.powerMeterConfigList = data;
this.dataLoading = false; this.dataLoading = false;
type MyType = {
id: number;
name: string;
}
type MyGroupType = {
[key:string]: MyType;
}
for (var i = 0; i < this.powerMeterConfigList.http_phases.length; i++) { for (var i = 0; i < this.powerMeterConfigList.http_phases.length; i++) {
this.testHttpRequestAlert.push({ this.testHttpRequestAlert.push({
message: "", message: "",