-
Notifications
You must be signed in to change notification settings - Fork 121
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces "Verbrauchersteuerung" (consumer/device load control) across the backend control loop, MQTT plumbing, logging/graphing, and multiple web themes, while also aligning some MQTT topic paths (notably battery mode) and removing the PV "feed-in limit" option from charge templates/UI.
Changes:
- Add a full consumer domain model (configs, usage modes, state/store/simcounter, control-loop integration, MQTT subscription/publication, logging & graph support).
- Update UIs (Koala, Cards, Standard Legacy, Colors) to display and interact with consumers, and add consumer datasets to charts/totals.
- Update MQTT topics for battery mode/power reserve and remove PV feed-in-limit controls across UIs and templates; refactor Shelly status handling reuse.
Reviewed changes
Copilot reviewed 187 out of 226 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| simpleAPI/src/ParameterHandler.php | Update MQTT topic path for battery mode setting. |
| simpleAPI/simpleAPI_mqtt.py | Update MQTT topic paths for battery mode and power reserve operations. |
| packages/modules/web_themes/standard_legacy/web/setupMqttServices.js | Subscribe to updated battery mode topic. |
| packages/modules/web_themes/standard_legacy/web/processAllMqttMsg.js | Remove feed-in-limit UI handling; update battery mode topic handling. |
| packages/modules/web_themes/standard_legacy/web/index.html | Update battery mode publish topic; remove feed-in-limit control from PV settings. |
| packages/modules/web_themes/koala/source/src/stores/mqtt-store-model.ts | Extend MQTT data model: consumers + consumer datasets in graph points; remove feed-in-limit field. |
| packages/modules/web_themes/koala/source/src/stores/localData-store.ts | Switch legend hide/show storage from label text to stable dataset keys. |
| packages/modules/web_themes/koala/source/src/pages/IndexPage.vue | Add "Verbraucher" tab/panel and availability gating. |
| packages/modules/web_themes/koala/source/src/css/quasar.variables.scss | Add consumer color variable and expose as CSS var. |
| packages/modules/web_themes/koala/source/src/components/ConsumerModeButtons.vue | New consumer mode selector UI component. |
| packages/modules/web_themes/koala/source/src/components/ConsumerMessage.vue | New consumer status/fault message component. |
| packages/modules/web_themes/koala/source/src/components/ConsumerInformation.vue | New consumer overview/grid/carousel component. |
| packages/modules/web_themes/koala/source/src/components/charts/historyChart/HistoryChartLegendStandard.vue | Legend now uses dataset keys (not label text) and typed categorized items. |
| packages/modules/web_themes/koala/source/src/components/charts/historyChart/HistoryChartLegendCategory.vue | Same legend keying/type updates for categorized legend menu. |
| packages/modules/web_themes/koala/source/src/components/charts/historyChart/HistoryChartLegendCategoriesGroup.vue | Add consumer legend category and refine menu props/styles. |
| packages/modules/web_themes/koala/source/src/components/charts/historyChart/HistoryChartLegend.vue | Introduce stable dataset keys/categories; add consumer category; keep hidden state by key. |
| packages/modules/web_themes/koala/source/src/components/charts/historyChart/history-chart-model.ts | Add consumer category + dataset keys/constants and consumer dataset key helper. |
| packages/modules/web_themes/koala/source/src/components/charts/energyFlowChart/EnergyFlowChart.vue | Add consumer node to energy flow chart including styling/animation. |
| packages/modules/web_themes/koala/source/src/components/charts/dailyTotals/DailyTotalsRow.vue | Add consumer icon mapping/power direction handling. |
| packages/modules/web_themes/koala/source/src/components/charts/dailyTotals/DailyTotals.vue | Add consumer totals and per-consumer expansion rows. |
| packages/modules/web_themes/koala/source/src/components/ChargePointPvSettings.vue | Remove feed-in-limit toggle from PV settings. |
| packages/modules/web_themes/koala/source/src/assets/icons/owbConsumer.svg | Add consumer SVG icon asset. |
| packages/modules/web_themes/koala/source/src/assets/icons/icon_Data.md | Document icon source attribution URL. |
| packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts | Remove feed-in-limit field and accessors from chargepoint model/template. |
| packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigPv.vue | Remove feed-in-limit configuration item from PV config panel. |
| packages/modules/loadvars.py | Add threaded update handling for consumer modules during loadvars. |
| packages/modules/display_themes/colors/source/src/components/chargePointList/model.ts | Remove feed-in-limit field and accessors. |
| packages/modules/display_themes/colors/source/src/components/chargePointList/configPanels/ConfigPv.vue | Remove feed-in-limit config item. |
| packages/modules/display_themes/cards/source/src/views/ChargePointsView.vue | Remove feed-in-limit UI/actions from cards theme chargepoint config. |
| packages/modules/display_themes/cards/source/src/stores/mqtt.js | Update battery mode topic; add consumer power getter; remove feed-in-limit getter. |
| packages/modules/display_themes/cards/source/src/main.scss | Add consumer color CSS variable. |
| packages/modules/display_themes/cards/source/src/components/Dashboard/FlowCard.vue | Add consumer component to flow visualization. |
| packages/modules/display_themes/cards/source/src/components/Battery/BatteryModeModal.vue | Update battery mode topics used to publish changes. |
| packages/modules/display_themes/cards/source/src/assets/icons/owbConsumer.svg | Add consumer SVG icon asset for cards theme. |
| packages/modules/display_themes/cards/source/src/App.vue | Subscribe to consumer total power topic and updated battery mode topic. |
| packages/modules/devices/shelly/shelly/inverter.py | Refactor to shared Shelly status handler (request/parse). |
| packages/modules/devices/shelly/shelly/device.py | Refactor generation detection to shared helper. |
| packages/modules/devices/shelly/shelly/constants.py | Remove unused constants (alphabetical index). |
| packages/modules/devices/shelly/shelly/bat.py | Refactor to shared Shelly status handler (request/parse). |
| packages/modules/devices/generic/virtual/counter_test.py | Fix CounterAll import path. |
| packages/modules/devices/generic/http/api.py | Add helper to create POST functions for generic HTTP integrations. |
| packages/modules/consumers/viessmann/viessmann_heat_pump/consumer.py | Add Viessmann heat pump consumer module (Modbus switch). |
| packages/modules/consumers/viessmann/viessmann_heat_pump/config.py | Add Viessmann heat pump consumer config setup. |
| packages/modules/consumers/viessmann/viessmann_heat_pump/init.py | Package init for Viessmann heat pump consumer. |
| packages/modules/consumers/viessmann/vendor.py | Add Viessmann vendor descriptor. |
| packages/modules/consumers/viessmann/init.py | Package init for Viessmann consumers. |
| packages/modules/consumers/vendors.py | Introduce consumer vendor grouping enum. |
| packages/modules/consumers/stiebel/vendor.py | Add Stiebel vendor descriptor. |
| packages/modules/consumers/stiebel/stiebel/consumer.py | Add Stiebel consumer module (Modbus on/off). |
| packages/modules/consumers/stiebel/stiebel/config.py | Add Stiebel consumer config setup. |
| packages/modules/consumers/stiebel/stiebel/init.py | Package init for Stiebel consumer module. |
| packages/modules/consumers/stiebel/init.py | Package init for Stiebel consumers. |
| packages/modules/consumers/solvis/vendor.py | Add Solvis vendor descriptor. |
| packages/modules/consumers/solvis/solvis/consumer.py | Add Solvis consumer module (Modbus metering). |
| packages/modules/consumers/solvis/solvis/config.py | Add Solvis consumer config setup. |
| packages/modules/consumers/solvis/solvis/init.py | Package init for Solvis consumer module. |
| packages/modules/consumers/solvis/init.py | Package init for Solvis consumers. |
| packages/modules/consumers/shelly/vendor.py | Add Shelly consumer vendor descriptor. |
| packages/modules/consumers/shelly/shelly_pm/consumer.py | Add Shelly PM consumer (metering + switching). |
| packages/modules/consumers/shelly/shelly_pm/config.py | Add Shelly PM consumer config setup. |
| packages/modules/consumers/shelly/shelly_pm/init.py | Package init for Shelly PM consumer module. |
| packages/modules/consumers/shelly/shelly_em/consumer.py | Add Shelly EM consumer (metering). |
| packages/modules/consumers/shelly/shelly_em/config.py | Add Shelly EM consumer config setup. |
| packages/modules/consumers/shelly/shelly_em/init.py | Package init for Shelly EM consumer module. |
| packages/modules/consumers/shelly/init.py | Package init for Shelly consumers. |
| packages/modules/consumers/ratiotherm/vendor.py | Add Ratiotherm vendor descriptor. |
| packages/modules/consumers/ratiotherm/ratiotherm/consumer.py | Add Ratiotherm consumer (power limit set via Modbus). |
| packages/modules/consumers/ratiotherm/ratiotherm/config.py | Add Ratiotherm consumer config setup. |
| packages/modules/consumers/ratiotherm/ratiotherm/init.py | Package init for Ratiotherm consumer module. |
| packages/modules/consumers/ratiotherm/init.py | Package init for Ratiotherm consumers. |
| packages/modules/consumers/ovum/vendor.py | Add Ovum vendor descriptor. |
| packages/modules/consumers/ovum/ovum/config.py | Add Ovum consumer config setup. |
| packages/modules/consumers/ovum/ovum/init.py | Package init for Ovum consumer module. |
| packages/modules/consumers/ovum/init.py | Package init for Ovum consumers. |
| packages/modules/consumers/nibe/vendor.py | Add Nibe vendor descriptor. |
| packages/modules/consumers/nibe/nibe_s_series/consumer.py | Add Nibe S-Series consumer (Modbus metering). |
| packages/modules/consumers/nibe/nibe_s_series/config.py | Add Nibe S-Series consumer config setup. |
| packages/modules/consumers/nibe/nibe_s_series/init.py | Package init for Nibe S-Series consumer module. |
| packages/modules/consumers/nibe/init.py | Package init for Nibe consumers. |
| packages/modules/consumers/mystrom/vendor.py | Add MyStrom vendor descriptor. |
| packages/modules/consumers/mystrom/mystrom/consumer.py | Add MyStrom consumer (HTTP report + relay). |
| packages/modules/consumers/mystrom/mystrom/config.py | Add MyStrom consumer config setup. |
| packages/modules/consumers/mystrom/mystrom/init.py | Package init for MyStrom consumer module. |
| packages/modules/consumers/mystrom/init.py | Package init for MyStrom consumers. |
| packages/modules/consumers/my_pv/vendor.py | Add my-PV vendor descriptor. |
| packages/modules/consumers/my_pv/elwa_e/consumer.py | Add Elwa-E consumer (Modbus metering + setpoint). |
| packages/modules/consumers/my_pv/elwa_e/config.py | Add Elwa-E consumer config setup. |
| packages/modules/consumers/my_pv/elwa_e/init.py | Package init for Elwa-E consumer module. |
| packages/modules/consumers/my_pv/acthor/consumer.py | Add Acthor consumer (Modbus metering + setpoint). |
| packages/modules/consumers/my_pv/acthor/config.py | Add Acthor consumer config setup. |
| packages/modules/consumers/my_pv/acthor/init.py | Package init for Acthor consumer module. |
| packages/modules/consumers/my_pv/init.py | Package init for my-PV consumers. |
| packages/modules/consumers/lambda_/vendor.py | Add Lambda vendor descriptor. |
| packages/modules/consumers/lambda_/lambda_/consumer.py | Add Lambda consumer (Modbus send_values + metering + set_limit). |
| packages/modules/consumers/lambda_/lambda_/config.py | Add Lambda consumer config setup. |
| packages/modules/consumers/lambda_/lambda_/init.py | Package init for Lambda consumer module. |
| packages/modules/consumers/lambda_/init.py | Package init for Lambda consumers. |
| packages/modules/consumers/idm/vendor.py | Add IDM vendor descriptor. |
| packages/modules/consumers/idm/idm/consumer.py | Add IDM consumer (Modbus send_values + metering + set_limit). |
| packages/modules/consumers/idm/idm/config.py | Add IDM consumer config setup. |
| packages/modules/consumers/idm/idm/init.py | Package init for IDM consumer module. |
| packages/modules/consumers/idm/init.py | Package init for IDM consumers. |
| packages/modules/consumers/generic/vendor.py | Add generic consumer vendor descriptor. |
| packages/modules/consumers/generic/mqtt/consumer.py | Add generic MQTT consumer module (subscribe get/, publish set/). |
| packages/modules/consumers/generic/mqtt/config.py | Add generic MQTT consumer config setup. |
| packages/modules/consumers/generic/mqtt/init.py | Package init for generic MQTT consumer. |
| packages/modules/consumers/generic/json/consumer.py | Add generic JSON consumer module (HTTPS + jq extraction + POST hooks). |
| packages/modules/consumers/generic/json/config.py | Add generic JSON consumer config setup. |
| packages/modules/consumers/generic/json/init.py | Package init for generic JSON consumer. |
| packages/modules/consumers/generic/http/consumer.py | Add generic HTTP consumer module (HTTPS + GET/POST paths). |
| packages/modules/consumers/generic/http/config.py | Add generic HTTP consumer config setup. |
| packages/modules/consumers/generic/http/init.py | Package init for generic HTTP consumer. |
| packages/modules/consumers/generic/dac/model.py | Add DAC model enum scaffold. |
| packages/modules/consumers/generic/dac/consumer.py | Add DAC consumer skeleton (set_limit placeholder). |
| packages/modules/consumers/generic/dac/config.py | Add DAC consumer config setup. |
| packages/modules/consumers/generic/dac/init.py | Package init for generic DAC consumer. |
| packages/modules/consumers/generic/init.py | Package init for generic consumers. |
| packages/modules/consumers/avm/vendor.py | Add AVM vendor descriptor. |
| packages/modules/consumers/avm/avm/config.py | Add AVM consumer config setup (credentials/session fields). |
| packages/modules/consumers/avm/avm/init.py | Package init for AVM consumer module. |
| packages/modules/consumers/avm/init.py | Package init for AVM consumers. |
| packages/modules/consumers/askoma/vendor.py | Add ASKOMA vendor descriptor. |
| packages/modules/consumers/askoma/askoheat/consumer.py | Add ASKOMA consumer module (Modbus metering + set_limit). |
| packages/modules/consumers/askoma/askoheat/config.py | Add ASKOMA consumer config setup. |
| packages/modules/consumers/askoma/askoheat/init.py | Package init for ASKOMA consumer module. |
| packages/modules/consumers/askoma/init.py | Package init for ASKOMA consumers. |
| packages/modules/consumers/init.py | Package init for consumers root package. |
| packages/modules/common/utils/peak_filter.py | Extend peak filter to support consumer components. |
| packages/modules/common/store/_inverter_test.py | Fix CounterAll import path. |
| packages/modules/common/store/_factory.py | Add consumer store selection to component store factory. |
| packages/modules/common/store/_counter_test.py | Fix CounterAll import path. |
| packages/modules/common/store/_consumer.py | Add consumer value store publishing + extra-meter purge wrapper. |
| packages/modules/common/simcount/_simcounter.py | Add SimCounterConsumer for consumer energy simulation/counting. |
| packages/modules/common/consumer_setup.py | Add base ConsumerSetup type (name/type/id/vendor/usage/color). |
| packages/modules/common/configurable_consumer.py | Add configurable consumer wrapper (init/update/switch/set_limit/send_values). |
| packages/modules/common/component_type.py | Add CONSUMER (and VEHICLE) component types and topic/type mapping. |
| packages/modules/common/component_state.py | Add ConsumerState to shared component state definitions. |
| packages/modules/common/abstract_consumer.py | Add CurrentValues dataclass used for SELF_CONTROLLED consumer integrations. |
| packages/main.py | Call consumer midnight handlers within midnight processing. |
| packages/helpermodules/update_config_test.py | Add datastore upgrade test coverage for v139 EV chargemode conversion. |
| packages/helpermodules/timecheck.py | Extend plan/time utilities to support consumer schedule/time plans. |
| packages/helpermodules/subdata.py | Subscribe/process consumer topics; add Enum parsing; wire consumer module loading. |
| packages/helpermodules/mosquitto_dynsec/missing_role_topics_test.py | Add missing-role topics for consumer plan IDs. |
| packages/helpermodules/measurement_logging/write_log.py | Add consumer logging; skip extra-meter counters; include consumer names/colors. |
| packages/helpermodules/measurement_logging/write_log_test.py | Update tests to include consumer names. |
| packages/helpermodules/measurement_logging/update_yields.py | Include consumer yields in daily yield publishing. |
| packages/helpermodules/measurement_logging/test_data_analyse_percentage_totals.json | Extend test data for consumer percentage totals. |
| packages/helpermodules/measurement_logging/process_log.py | Add consumer sections into processing/analysis and ensure colors are aggregated. |
| packages/helpermodules/measurement_logging/process_log_unit_test.py | Extend percentage totals unit tests to include consumer totals. |
| packages/helpermodules/graph.py | Add consumer power series to graph data output. |
| packages/helpermodules/create_debug.py | Update debug output to new chargemode_config structure and fix indentation. |
| packages/helpermodules/constants.py | Add default consumer color. |
| packages/helpermodules/command_test_data.py | Update command test data to include consumer and PV changes. |
| packages/helpermodules/changed_values_handler.py | Include consumer values in changed-values publishing. |
| packages/helpermodules/auto_str.py | Add repr generation to auto_str helper. |
| packages/helpermodules/abstract_plans.py | Add consumer variants of time/scheduled plans. |
| packages/control/process.py | Integrate consumers into algorithm result processing (state updates + control threads). |
| packages/control/prepare.py | Ensure consumers are updated and summed during preparation step. |
| packages/control/loadmanagement_test.py | Adjust signature usage in test to match implementation changes. |
| packages/control/load_protocol.py | Introduce protocol/dataclasses to generalize "load" across chargepoints/consumers. |
| packages/control/ev/ev.py | Remove feed-in-limit dependency and use new surplus config fields. |
| packages/control/ev/charge_template.py | Remove feed-in-limit from PV charging template; mark prio as obsolete. |
| packages/control/data.py | Add consumer data/all-data to core data container and copying logic. |
| packages/control/counter_test.py | Update tests for hierarchy/load naming changes and surplus config refactors. |
| packages/control/counter_all/loadmanagement_prio.py | Add loadmanagement priority mixin supporting consumer entries. |
| packages/control/counter_all/hierarchy_test.py | Rename/extend hierarchy helpers from "chargepoints" to generic "loads". |
| packages/control/counter_all/counter_home_consumption_test.py | Fix CounterAll import path. |
| packages/control/consumer/usage.py | Add consumer usage enum and "not controlled" grouping. |
| packages/control/consumer/consumer_data.py | Add consumer data model (usage/config/get/set/reset/wait states). |
| packages/control/consumer/consumer_all.py | Add aggregate consumer totals/fault reporting. |
| packages/control/chargepoint/get_phases_test.py | Update tests to new surplus config path. |
| packages/control/chargepoint/control_parameter.py | Change current_plan type; remove prio from control parameters. |
| packages/control/chargepoint/chargepoint.py | Make Chargepoint implement Load protocol; remove prio propagation/logging; add stop-allowed hook. |
| packages/control/chargepoint/chargepoint_test.py | Update tests to new surplus config path. |
| packages/control/chargelog/chargelog_test.py | Include consumer sections in logged data fixtures. |
| packages/control/auto_phase_switch_test.py | Update test call signature for auto_phase_switch (no charge_template arg). |
| packages/control/algorithm/no_current.py | Generalize "no current" logic to handle consumers as loads. |
| packages/control/algorithm/min_current.py | Generalize min-current handling to grouped loads per counter, not just chargepoints. |
| packages/control/algorithm/integration_test/conftest.py | Extend integration test setup to include consumers in hierarchy/prios. |
| packages/control/algorithm/common_test.py | Update tests for renamed "available_current_for_load" helper. |
| packages/control/algorithm/chargemodes.py | Simplify charge mode ordering tuples and adjust considered-mode sets. |
| packages/control/algorithm/bidi_charging.py | Refactor to new load filtering helpers; keep bidi logic on chargepoints. |
| packages/control/algorithm/algorithm.py | Update auto_phase_switch invocation signature. |
| packages/control/algorithm/additional_current.py | Generalize additional-current allocation to loads, not just chargepoints. |
| packages/conftest.py | Fix CounterAll import path. |
| docs/samples/sample_consumer/vendor.py | Add vendor descriptor for the sample consumer package. |
| docs/samples/sample_consumer/sample_consumer/consumer.py | Add sample consumer implementation (Modbus example). |
| docs/samples/sample_consumer/sample_consumer/config.py | Add sample consumer config setup. |
| docs/samples/sample_consumer/sample_consumer/init.py | Package init for sample consumer module. |
| docs/samples/sample_consumer/init.py | Package init for sample consumer docs package. |
| data/config/mosquitto/public/role-templates.json | Add dynamic security role templates for consumer access/write access. |
| data/config/mosquitto/local/openwb_local.conf | Update version marker; add consumer topic bridging; broaden counter get/# bridging. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
3ceea9d to
b2b3bea
Compare
4e1fd10 to
4f3098d
Compare
5b0e450 to
f5df263
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 107 out of 113 changed files in this pull request and generated 1 comment.
Suppressed comments (8)
data/config/mosquitto/public/default-dynamic-security.json:1791
- The three send ACLs omit the broker's
openWB/set/...prefix, unlike the charge-point configuration ACLs above and the per-consumer role template. With user management enabled, writes to config, module, and usage are therefore denied. Addsetto all three send topics; keep the receive topics unchanged.
"topic": "openWB/consumer/+/config",
packages/modules/web_themes/koala/source/src/components/charts/dailyTotals/DailyTotalsRow.vue:138
- Only the aggregate
consumerID is handled. Expanded rows use IDs such asconsumer-7, so their nonzeropoweris rendered with the no-current horizontal line. Resolveconsumer-*IDs withconsumerPower, as is already done for individual counters.
packages/control/counter_all/loadmanagement_prio.py:24 - Vehicle IDs and consumer IDs use separate namespaces, but removal now matches only the numeric ID and removes the first vehicle or consumer entry encountered. Deleting consumer 2 can therefore remove vehicle 2's priority entry (or vice versa). Pass the component type through the removal API and require both type and ID to match.
packages/control/counter_all/hierarchy.py:56 - Returning consumers here exposes a caller incompatibility:
Counter._get_loadmanagement_state()iterates this result but always indexesdata.data.cp_data[load_key]. If a counter enters fault state with a consumer below it, that raisesKeyErrorand aborts counter setup, leaving its load-management limits stale. Update that caller to resolve bothcp...andconsumer...keys before including consumers here.
elif child["type"] == ComponentType.CONSUMER.value:
self.connected_loads.append(f"consumer{child['id']}")
packages/modules/devices/shelly/shelly/status_handler.py:119
- For
em1:0devices, totalpowerandcurrentsapplyfactor, but the per-phasepowersvalue does not. With any factor other than 1, the emitted phase power no longer sums to total power. Apply the same factor here.
packages/control/general.py:61 - The consumer surplus switch-on delay defaults to 30 seconds here, while datastore initialization adds the same topic with 60 seconds (
helpermodules/update_config.py:666). This makes behavior depend on whether the value came from the dataclass or initialized broker data. Use one default consistently.
data/config/mosquitto/public/default-dynamic-security.json:1776 - The consumer configuration role has no ACL for the
addConsumerorremoveConsumercommand topics. Unlike the charge-point configuration role at lines 1674-1684, a user granted this role cannot actually create or delete consumers. Add both command ACLs to this role.
"acls": [
data/config/mosquitto/public/default-dynamic-security.json:1815
- The configuration role never grants access to
openWB/set/consumer/+/extra_meteror its corresponding receive topic, although consumer creation and configuration use that topic. Users relying on this role cannot configure an external meter. Add scoped send and receive ACLs forextra_meter.
"topic": "openWB/system/configurable/consumers",
f5df263 to
64f9b91
Compare
2949258 to
1f63aeb
Compare
1f63aeb to
41637a7
Compare
41637a7 to
f0b4a8d
Compare
f0b4a8d to
195bb53
Compare
571b12e to
dee4146
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ggfs. Kommentar anpassen. Es werden nicht nur die LP, sondern alle Vebraucher ermittelt
* fix colors, lookup dict names and colors for consumers * review
* fix colors, lookup dict names and colors for consumers * review * extend tests * add colors for yearly graph data * remove extra meters from log data * remove comment * flake8
* usage type self controlled * fix * review
* calc on time * review
* IDM: send PV/Hausverbrauch/Batterie via GLT statt Leistungsvorgabe * Lambda: PV-Überschuss statt power_limit an E-Manager senden * Add OVUM CubeSpeicher/MPlus consumer module * IDM: revert scaling factor, fix flake8 formatting * flake8 * Rename send_grid_values to send_values in config.py * Adjust surplus calculation to account for charging power Include charging power in surplus calculation to avoid misreporting surplus to the heat pump. * Update send_values function to send grid power * Add Self_Controlled for IDM and Lambda * flake8: fix syntax error and whitespace in consumer modules Stray pasted line broke lambda_ consumer.py syntax; idm/lambda_/ovum files had trailing whitespace on blank lines and missing EOF newlines.
* clean up * fix loadmanagement * review * review * flake8
#3840) * no charge for loads * consider non charging for consumers and update consumer state messages * flake8 * review
c7b68bd to
f5b00ae
Compare
* fixes delete consumer, add consumer * review
No description provided.