Feature: Detect if inverter supports 'Power Distribution Logic'
The detection of 'Power Distribution Logic' is based on the firmware version for specific models and is needed to disable any means of overscaling, as it simply does not work when 'Power Distrbution Logic' is available. Based on the code from @AndreasBoehm
This commit is contained in:
parent
c37397acca
commit
a0e6942537
@ -45,7 +45,9 @@
|
|||||||
"Refreshing": "Refrescando",
|
"Refreshing": "Refrescando",
|
||||||
"Pull": "Tira hacia abajo para refrescar",
|
"Pull": "Tira hacia abajo para refrescar",
|
||||||
"Release": "Soltar para refrescar",
|
"Release": "Soltar para refrescar",
|
||||||
"Close": "Cerrar"
|
"Close": "Cerrar",
|
||||||
|
"Yes": "Yes",
|
||||||
|
"No": "No"
|
||||||
},
|
},
|
||||||
"wait": {
|
"wait": {
|
||||||
"NotReady": "OpenDTU is not yet ready",
|
"NotReady": "OpenDTU is not yet ready",
|
||||||
@ -193,7 +195,10 @@
|
|||||||
"FirmwareVersion": "Versión del firmware",
|
"FirmwareVersion": "Versión del firmware",
|
||||||
"FirmwareBuildDate": "Fecha de construcción del firmware",
|
"FirmwareBuildDate": "Fecha de construcción del firmware",
|
||||||
"HardwarePartNumber": "Número de parte de hardware",
|
"HardwarePartNumber": "Número de parte de hardware",
|
||||||
"HardwareVersion": "Versión de hardware"
|
"HardwareVersion": "Versión de hardware",
|
||||||
|
"SupportsPowerDistributionLogic": "'Power Distribution Logic' supported",
|
||||||
|
"Yes": "@:base.Yes",
|
||||||
|
"No": "@:base.No"
|
||||||
},
|
},
|
||||||
"gridprofile": {
|
"gridprofile": {
|
||||||
"NoInfo": "@:devinfo.NoInfo",
|
"NoInfo": "@:devinfo.NoInfo",
|
||||||
|
|||||||
@ -45,7 +45,9 @@
|
|||||||
"Refreshing": "Aggiorna",
|
"Refreshing": "Aggiorna",
|
||||||
"Pull": "Trascina in basso per aggiornare",
|
"Pull": "Trascina in basso per aggiornare",
|
||||||
"Release": "Rilascia per aggiornare",
|
"Release": "Rilascia per aggiornare",
|
||||||
"Close": "Chiudi"
|
"Close": "Chiudi",
|
||||||
|
"Yes": "Yes",
|
||||||
|
"No": "No"
|
||||||
},
|
},
|
||||||
"wait": {
|
"wait": {
|
||||||
"NotReady": "OpenDTU is not yet ready",
|
"NotReady": "OpenDTU is not yet ready",
|
||||||
@ -193,7 +195,10 @@
|
|||||||
"FirmwareVersion": "Versione Firmware",
|
"FirmwareVersion": "Versione Firmware",
|
||||||
"FirmwareBuildDate": "Data Firmware",
|
"FirmwareBuildDate": "Data Firmware",
|
||||||
"HardwarePartNumber": "Hardware Part Number",
|
"HardwarePartNumber": "Hardware Part Number",
|
||||||
"HardwareVersion": "Hardware Version"
|
"HardwareVersion": "Hardware Version",
|
||||||
|
"SupportsPowerDistributionLogic": "'Power Distribution Logic' supported",
|
||||||
|
"Yes": "@:base.Yes",
|
||||||
|
"No": "@:base.No"
|
||||||
},
|
},
|
||||||
"gridprofile": {
|
"gridprofile": {
|
||||||
"NoInfo": "@:devinfo.NoInfo",
|
"NoInfo": "@:devinfo.NoInfo",
|
||||||
|
|||||||
@ -75,3 +75,10 @@ uint8_t HMS_4CH::getByteAssignmentSize() const
|
|||||||
{
|
{
|
||||||
return sizeof(byteAssignment) / sizeof(byteAssignment[0]);
|
return sizeof(byteAssignment) / sizeof(byteAssignment[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool HMS_4CH::supportsPowerDistributionLogic()
|
||||||
|
{
|
||||||
|
// This feature was added in inverter firmware version 01.01.12 and
|
||||||
|
// will limit the AC output instead of limiting the DC inputs.
|
||||||
|
return DevInfo()->getFwBuildVersion() >= 10112U;
|
||||||
|
}
|
||||||
|
|||||||
@ -10,4 +10,5 @@ public:
|
|||||||
String typeName() const;
|
String typeName() const;
|
||||||
const byteAssign_t* getByteAssignment() const;
|
const byteAssign_t* getByteAssignment() const;
|
||||||
uint8_t getByteAssignmentSize() const;
|
uint8_t getByteAssignmentSize() const;
|
||||||
|
bool supportsPowerDistributionLogic() final;
|
||||||
};
|
};
|
||||||
@ -219,3 +219,8 @@ bool HM_Abstract::sendGridOnProFileParaRequest()
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool HM_Abstract::supportsPowerDistributionLogic()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|||||||
@ -16,6 +16,7 @@ public:
|
|||||||
bool sendRestartControlRequest();
|
bool sendRestartControlRequest();
|
||||||
bool resendPowerControlRequest();
|
bool resendPowerControlRequest();
|
||||||
bool sendGridOnProFileParaRequest();
|
bool sendGridOnProFileParaRequest();
|
||||||
|
bool supportsPowerDistributionLogic() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint8_t _lastAlarmLogCnt = 0;
|
uint8_t _lastAlarmLogCnt = 0;
|
||||||
|
|||||||
@ -103,6 +103,9 @@ public:
|
|||||||
virtual bool sendChangeChannelRequest();
|
virtual bool sendChangeChannelRequest();
|
||||||
virtual bool sendGridOnProFileParaRequest() = 0;
|
virtual bool sendGridOnProFileParaRequest() = 0;
|
||||||
|
|
||||||
|
// This feature will limit the AC output instead of limiting the DC inputs.
|
||||||
|
virtual bool supportsPowerDistributionLogic() = 0;
|
||||||
|
|
||||||
HoymilesRadio* getRadio();
|
HoymilesRadio* getRadio();
|
||||||
|
|
||||||
AlarmLogParser* EventLog();
|
AlarmLogParser* EventLog();
|
||||||
|
|||||||
@ -35,6 +35,7 @@ void WebApiDevInfoClass::onDevInfoStatus(AsyncWebServerRequest* request)
|
|||||||
root["hw_model_name"] = inv->DevInfo()->getHwModelName();
|
root["hw_model_name"] = inv->DevInfo()->getHwModelName();
|
||||||
root["max_power"] = inv->DevInfo()->getMaxPower();
|
root["max_power"] = inv->DevInfo()->getMaxPower();
|
||||||
root["fw_build_datetime"] = inv->DevInfo()->getFwBuildDateTimeStr();
|
root["fw_build_datetime"] = inv->DevInfo()->getFwBuildDateTimeStr();
|
||||||
|
root["pdl_supported"] = inv->supportsPowerDistributionLogic();
|
||||||
}
|
}
|
||||||
|
|
||||||
WebApi.sendJsonResponse(request, response, __FUNCTION__, __LINE__);
|
WebApi.sendJsonResponse(request, response, __FUNCTION__, __LINE__);
|
||||||
|
|||||||
@ -46,6 +46,12 @@
|
|||||||
<td>{{ $t('devinfo.HardwareVersion') }}</td>
|
<td>{{ $t('devinfo.HardwareVersion') }}</td>
|
||||||
<td>{{ devInfoList.hw_version }}</td>
|
<td>{{ devInfoList.hw_version }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ $t('devinfo.SupportsPowerDistributionLogic') }}</td>
|
||||||
|
<td>
|
||||||
|
<StatusBadge :status="devInfoList.pdl_supported" true_text="devinfo.Yes" false_text="devinfo.No" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</template>
|
</template>
|
||||||
@ -53,6 +59,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import BootstrapAlert from '@/components/BootstrapAlert.vue';
|
import BootstrapAlert from '@/components/BootstrapAlert.vue';
|
||||||
import type { DevInfoStatus } from '@/types/DevInfoStatus';
|
import type { DevInfoStatus } from '@/types/DevInfoStatus';
|
||||||
|
import StatusBadge from '@/components/StatusBadge.vue';
|
||||||
import { BIconInfoSquare } from 'bootstrap-icons-vue';
|
import { BIconInfoSquare } from 'bootstrap-icons-vue';
|
||||||
import { defineComponent, type PropType } from 'vue';
|
import { defineComponent, type PropType } from 'vue';
|
||||||
|
|
||||||
@ -60,6 +67,7 @@ export default defineComponent({
|
|||||||
components: {
|
components: {
|
||||||
BootstrapAlert,
|
BootstrapAlert,
|
||||||
BIconInfoSquare,
|
BIconInfoSquare,
|
||||||
|
StatusBadge,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
devInfoList: { type: Object as PropType<DevInfoStatus>, required: true },
|
devInfoList: { type: Object as PropType<DevInfoStatus>, required: true },
|
||||||
|
|||||||
@ -30,7 +30,9 @@
|
|||||||
"Refreshing": "Aktualisieren",
|
"Refreshing": "Aktualisieren",
|
||||||
"Pull": "Zum Aktualisieren nach unten ziehen",
|
"Pull": "Zum Aktualisieren nach unten ziehen",
|
||||||
"Release": "Loslassen zum Aktualisieren",
|
"Release": "Loslassen zum Aktualisieren",
|
||||||
"Close": "Schließen"
|
"Close": "Schließen",
|
||||||
|
"Yes": "Ja",
|
||||||
|
"No": "Nein"
|
||||||
},
|
},
|
||||||
"wait": {
|
"wait": {
|
||||||
"NotReady": "OpenDTU ist noch nicht bereit",
|
"NotReady": "OpenDTU ist noch nicht bereit",
|
||||||
@ -179,7 +181,10 @@
|
|||||||
"FirmwareVersion": "Firmware-Version",
|
"FirmwareVersion": "Firmware-Version",
|
||||||
"FirmwareBuildDate": "Firmware-Erstellungsdatum",
|
"FirmwareBuildDate": "Firmware-Erstellungsdatum",
|
||||||
"HardwarePartNumber": "Hardware-Teilenummer",
|
"HardwarePartNumber": "Hardware-Teilenummer",
|
||||||
"HardwareVersion": "Hardware-Version"
|
"HardwareVersion": "Hardware-Version",
|
||||||
|
"SupportsPowerDistributionLogic": "'Power Distribution Logic' unterstützt",
|
||||||
|
"Yes": "@:base.Yes",
|
||||||
|
"No": "@:base.No"
|
||||||
},
|
},
|
||||||
"gridprofile": {
|
"gridprofile": {
|
||||||
"NoInfo": "@:devinfo.NoInfo",
|
"NoInfo": "@:devinfo.NoInfo",
|
||||||
|
|||||||
@ -30,7 +30,9 @@
|
|||||||
"Refreshing": "Refreshing",
|
"Refreshing": "Refreshing",
|
||||||
"Pull": "Pull down to refresh",
|
"Pull": "Pull down to refresh",
|
||||||
"Release": "Release to refresh",
|
"Release": "Release to refresh",
|
||||||
"Close": "Close"
|
"Close": "Close",
|
||||||
|
"Yes": "Yes",
|
||||||
|
"No": "No"
|
||||||
},
|
},
|
||||||
"wait": {
|
"wait": {
|
||||||
"NotReady": "OpenDTU is not yet ready",
|
"NotReady": "OpenDTU is not yet ready",
|
||||||
@ -179,7 +181,10 @@
|
|||||||
"FirmwareVersion": "Firmware Version",
|
"FirmwareVersion": "Firmware Version",
|
||||||
"FirmwareBuildDate": "Firmware Build Date",
|
"FirmwareBuildDate": "Firmware Build Date",
|
||||||
"HardwarePartNumber": "Hardware Part Number",
|
"HardwarePartNumber": "Hardware Part Number",
|
||||||
"HardwareVersion": "Hardware Version"
|
"HardwareVersion": "Hardware Version",
|
||||||
|
"SupportsPowerDistributionLogic": "'Power Distribution Logic' supported",
|
||||||
|
"Yes": "@:base.Yes",
|
||||||
|
"No": "@:base.No"
|
||||||
},
|
},
|
||||||
"gridprofile": {
|
"gridprofile": {
|
||||||
"NoInfo": "@:devinfo.NoInfo",
|
"NoInfo": "@:devinfo.NoInfo",
|
||||||
|
|||||||
@ -30,7 +30,9 @@
|
|||||||
"Refreshing": "Refreshing",
|
"Refreshing": "Refreshing",
|
||||||
"Pull": "Pull down to refresh",
|
"Pull": "Pull down to refresh",
|
||||||
"Release": "Release to refresh",
|
"Release": "Release to refresh",
|
||||||
"Close": "Fermer"
|
"Close": "Fermer",
|
||||||
|
"Yes": "Yes",
|
||||||
|
"No": "No"
|
||||||
},
|
},
|
||||||
"wait": {
|
"wait": {
|
||||||
"NotReady": "OpenDTU is not yet ready",
|
"NotReady": "OpenDTU is not yet ready",
|
||||||
@ -179,7 +181,10 @@
|
|||||||
"FirmwareVersion": "Version du firmware",
|
"FirmwareVersion": "Version du firmware",
|
||||||
"FirmwareBuildDate": "Date de création du firmware",
|
"FirmwareBuildDate": "Date de création du firmware",
|
||||||
"HardwarePartNumber": "Numéro d'article matériel",
|
"HardwarePartNumber": "Numéro d'article matériel",
|
||||||
"HardwareVersion": "Version du matériel"
|
"HardwareVersion": "Version du matériel",
|
||||||
|
"SupportsPowerDistributionLogic": "'Power Distribution Logic' supported",
|
||||||
|
"Yes": "@:base.Yes",
|
||||||
|
"No": "@:base.No"
|
||||||
},
|
},
|
||||||
"gridprofile": {
|
"gridprofile": {
|
||||||
"NoInfo": "@:devinfo.NoInfo",
|
"NoInfo": "@:devinfo.NoInfo",
|
||||||
|
|||||||
@ -8,4 +8,5 @@ export interface DevInfoStatus {
|
|||||||
hw_version: number;
|
hw_version: number;
|
||||||
hw_model_name: string;
|
hw_model_name: string;
|
||||||
max_power: number;
|
max_power: number;
|
||||||
|
pdl_supported: boolean;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user