Merge branch 'development'
This commit is contained in:
commit
1d62e36303
@ -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;
|
||||||
|
|||||||
@ -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";
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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>();
|
||||||
|
|||||||
@ -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: "",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user