-
Notifications
You must be signed in to change notification settings - Fork 433
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Edge * GoodWe: increase minimum power that will be ignored. * Bigger systems still have 79W permanent charge power, while the dynamic tariff would charge/discharge with zero. * After a longer discussion the values below 100W will be now ignored to avoid a lot of service cases that can not be explained. * **Clever-PV Controller** * New Controller `Controller.Clever-PV` sends core data to Clever-PV Push API every 15 seconds * See docs: https://www.clever-pv.com/anleitungen/push-api * Evcs: add helpers for phases * add `Evcs:addCalculatePhasesListeners()` * add `Evcs:addCalculatePhasesFromActivePowerAndPhaseCurrents()` * Note: typical EVCS hardware models provide `CURRENT_L1-3`, and `ActivePower`, but some models provide only `CURRENT_L1-3` and some other models provide only `ACTIVE_POWER_L1-3`. Therefore these methods are added to easily compute the missing channel values. * **Electrical Vehicle Supply Equipment (EVSE)** * This is WIP for a future replacement of the current EVCS APIs. The new namespace is "Electrical Vehicle Supply Equipment (EVSE)". * This PR provides: * APIs for * Electric Vehicle * Charge Point * Implementations: * KEBA P30/P40 via Modbus/TCP (`Evse.ChargePoint.Keba`) * Generic Electric Vehicle (`Evse.ElectricVehicle.Generic`) * Controllers: * Single Charge-Point (`Evse.Controller.Single`) * Cluster of Charge-Point-Controllers (`Evse.Controller.Cluster`) * Simple UI to control the Charge-Mode of Charge-Points * NOTE: All of this might be heavily refactored in future. Having it on develop helps us to test it easier in production. It does not affect any existing EVCS implementations. * BitsWordElement: Extend it via setToNullIfBit to indicate the invalid bit value input * Integrate the convert option for BitsWordELement * According to the given function/condition each bit channel values can be manipulated * The main reason of this implementation is to in order to indicate if value present or default value delivered * As an example; with this approach in case of default value detection, the values can be set to null * Similar approach was implemented in ElementToChannelConverter as "Set_to_null_for_default()" method * Implement UpdateUserSettingsRequest for edge-uiwebsocket * Adding updateUserSettingsRequest support for edge-ui-websocket request handler * Follow up to darkmode settings not being able to set locally * AppCenter: Only try to get Component if needed * If a component is not satisfied and therfor not startet an exception gets throw because the component can not be obtained * Solution: only get component if first method fails or can not provide the properties * KEBA: fix EnergyLimitReached when no Limit configured * Currently a bug starts to popup more and more in ticket. * -> Keba Charging Station has the Status ENERGY_LIMIT_REACHED eventhough energyLimit is not activated * Added removed check for limit != 0 (limit 0 should mean that no limit is set) in status mapping in ReadHandler of Keba * UI: * time-of-use rename state to status * Dark-mode Popup * Displaying Popup after successful log in, to announce the Dark-mode new feature for users, showing it only once after users get the new software release. * Angular 19 migration fixes * setting chart afterTitle directly * Formly Radio Button * Add last setup protocol download to profile * Downloading latest setup protocol in `profile` * IOS Fixes * file download for excel export and last setup protocol did also not work on mobile with browser, now only *in app* downloads are not working * theme selection popover radio buttons not shown, due to default ios design, changing to material design * -> before checkmark as radio icon with no circle, now with circle * Enforce datetime format for ion-datetime * fix datetime format of `ion-datetime`, ionic changed returned format of the date string * unit test to avoid this in future migrations * Change visibility of producttype and sumState filter * changing visibility of producttype and sumState filters in ems-overview from `admin` to `installer` * Enable darkmode locally & restrict float number decimals * Enabling setting darkmode for local monitoring * restrict float number decimals in y Axis ticks * Phase-accurate button change * Correcting buttons names on the footer navigation in history Consumption chart view. * Fix evcs modal range slider bug * Fixing ion-range bug * Common/CI * Increased karma Timeout
- Loading branch information
1 parent
a6dc8dc
commit c37c1fb
Showing
218 changed files
with
6,229 additions
and
1,356 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 20 additions & 0 deletions
20
...pi.websocket/src/io/openems/edge/controller/api/websocket/handler/UserRequestHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
package io.openems.edge.controller.api.websocket.handler; | ||
|
||
import org.osgi.service.component.annotations.Component; | ||
|
||
import io.openems.common.jsonrpc.base.GenericJsonrpcResponseSuccess; | ||
import io.openems.common.jsonrpc.request.UpdateUserSettingsRequest; | ||
import io.openems.edge.common.jsonapi.JsonApi; | ||
import io.openems.edge.common.jsonapi.JsonApiBuilder; | ||
|
||
@Component(property = "entry=" + RootRequestHandler.ENTRY_POINT) | ||
public class UserRequestHandler implements JsonApi { | ||
|
||
@Override | ||
public void buildJsonApiRoutes(JsonApiBuilder builder) { | ||
|
||
builder.handleRequest(UpdateUserSettingsRequest.METHOD, | ||
call -> new GenericJsonrpcResponseSuccess(call.getRequest().getId())); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<classpath> | ||
<classpathentry kind="con" path="aQute.bnd.classpath.container"/> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/> | ||
<classpathentry kind="src" output="bin" path="src"/> | ||
<classpathentry kind="src" output="bin_test" path="test"> | ||
<attributes> | ||
<attribute name="test" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry kind="output" path="bin"/> | ||
</classpath> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/bin_test/ | ||
/generated/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>io.openems.edge.controller.cleverpv</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.eclipse.jdt.core.javabuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>bndtools.core.bndbuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
<nature>bndtools.core.bndnature</nature> | ||
</natures> | ||
</projectDescription> |
3 changes: 3 additions & 0 deletions
3
io.openems.edge.controller.cleverpv/.settings/org.eclipse.core.resources.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
eclipse.preferences.version=1 | ||
encoding/<project>=UTF-8 | ||
encoding/bnd.bnd=UTF-8 |
11 changes: 11 additions & 0 deletions
11
io.openems.edge.controller.cleverpv/.settings/org.eclipse.jdt.core.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 | ||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||
org.eclipse.jdt.core.compiler.compliance=21 | ||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||
org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled | ||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning | ||
org.eclipse.jdt.core.compiler.release=enabled | ||
org.eclipse.jdt.core.compiler.source=21 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
Bundle-Name: OpenEMS Edge Controller Clever-PV | ||
Bundle-Vendor: FENECON GmbH | ||
Bundle-License: https://opensource.org/licenses/EPL-2.0 | ||
Bundle-Version: 1.0.0.${tstamp} | ||
|
||
-buildpath: \ | ||
${buildpath},\ | ||
Java-WebSocket,\ | ||
io.openems.common,\ | ||
io.openems.edge.bridge.http,\ | ||
io.openems.edge.common,\ | ||
io.openems.edge.controller.api,\ | ||
io.openems.edge.controller.api.common,\ | ||
io.openems.wrapper.okhttp,\ | ||
|
||
-testpath: \ | ||
${testpath},\ | ||
io.openems.wrapper.okhttp,\ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
= Clever-PV | ||
|
||
Sends current power data to the clever-PV cloud service via their Push-API. | ||
|
||
See https://www.clever-pv.com/anleitungen/push-api for details and how to get the configuration URL. | ||
|
||
https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.cleverpv[Source Code icon:github[]] |
28 changes: 28 additions & 0 deletions
28
io.openems.edge.controller.cleverpv/src/io/openems/edge/controller/cleverpv/Config.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package io.openems.edge.controller.cleverpv; | ||
|
||
import org.osgi.service.metatype.annotations.AttributeDefinition; | ||
import org.osgi.service.metatype.annotations.AttributeType; | ||
import org.osgi.service.metatype.annotations.ObjectClassDefinition; | ||
|
||
@ObjectClassDefinition(// | ||
name = "Controller Clever-PV", // | ||
description = "This controller connects to Clever-PV") | ||
@interface Config { | ||
|
||
@AttributeDefinition(name = "Component-ID", description = "Unique ID of this Component") | ||
String id() default "ctrlCleverPv0"; | ||
|
||
@AttributeDefinition(name = "Alias", description = "Human-readable name of this Component; defaults to Component-ID") | ||
String alias() default ""; | ||
|
||
@AttributeDefinition(name = "Is enabled?", description = "Is this Component enabled?") | ||
boolean enabled() default true; | ||
|
||
@AttributeDefinition(name = "URL", description = "Full API URL. See https://www.clever-pv.com/anleitungen/push-api", type = AttributeType.PASSWORD) | ||
String url(); | ||
|
||
@AttributeDefinition(name = "Log-Verbosity", description = "The log verbosity.") | ||
LogVerbosity logVerbosity() default LogVerbosity.NONE; | ||
|
||
String webconsole_configurationFactory_nameHint() default "Controller Clever-PV [{id}]"; | ||
} |
Oops, something went wrong.