GithubHelp home page GithubHelp logo

pixcept / iobroker.plenticore Goto Github PK

View Code? Open in Web Editor NEW
24.0 13.0 15.0 405 KB

ioBroker Adapter for the KOSTAL Plenticore

License: MIT License

HTML 5.22% CSS 0.07% JavaScript 94.71%
iobroker-adapter kostal plenticore inverter battery

iobroker.plenticore's Introduction

Logo

Number of Installations Downloads

NPM

Stable NPM version Build Status License

Eine deutsche Beschreibung ist hier zu finden.

ioBroker.plenticore

An ioBroker adapter for KOSTAL Plenticore Plus inverter (i. e. Plenticore Plus 8.5)

This adapter uses the internal web interface of the inverter to access the properties and settings of your inverter and connected devices (e. g. battery or smart energy meter). To use the adapter you need to have the ioBroker instance connected to the network your KOSTAL Plenticore is in.

This adapter is NOT an official product of KOSTAL neither it is supported or endoresed by KOSTAL. It is a private project still in early development state, so use at your own risk!

Config

Set the IP address of your inverter (e. g. 192.168.0.23) and your password you are using to connect as plant owner to the inverter's web interface. The polling interval is in milliseconds (i. e. 10000 is 10 seconds).

Adapter

The adapter does not use screenscraping. It uses the same REST API that the web interface does. There might be (lots of) features that are not (yet) used by the adapter.

Why not (simply) use modbus?

The inverter has modbus tcp enabled so you could use the modbus adapter to query values. KOSTAL has not allowed writing any of the modbus addresses, though. So you can't set e. g. battery minimum SoC using ioBroker.

Using the adapter

The adapter should fill some objects under the plenticore.X object tree. Some of those are read-only, e. g. the current PV output or home power consumption. Others are changeable, e. g. the battery's minimum SoC or the battery management modes. I tested the adapter on the Plenticore Plus 10.

Objects

Following is an excerpt of the most important objects used and filled by this adapter. All Settings marked with [**] should be editable but not all of them were tested and there might be bugs.

plenticore.X.devices.local

The devices.local tree contains information about the inverter and possibly attached smart energy meter and / or battery.

plenticore.X.devices.local.Dc_P - the current DC power including the self-used power of the inverter. This value should be near the value of plenticore.X.devices.local.ac.P (about +30-40W)
plenticore.X.devices.local.Pv_P - the current PV power generated. This value is calculated by the adapter by summing up the pvx.P values.
plenticore.X.devices.local.Home_P - the current total home power used
plenticore.X.devices.local.HomeBat_P - the current home power provided by the battery
plenticore.X.devices.local.HomePv_P - the current home power directly provided by the plant
plenticore.X.devices.local.HomeGrid_P - the current home power provided by the grid
plenticore.X.devices.local.ToGrid_P - the current power sent to the grid. This value is calculated by the adapter and may not be 100% acurate.
plenticore.X.devices.local.LimitEvuAbs - the calculated current limit of power that may leave the converter. if more power is generated by the plant it will be lost.
plenticore.X.devices.local.StateKey0 - if true the battery management of the inverter has been unlocked

plenticore.X.devices.local.ac

This channel contains information about the AC side of the inverter. Most important are:
plenticore.X.devices.local.ac.Frequency - the net frequency
plenticore.X.devices.local.ac.L1_P - the current power of phase 1 in W
plenticore.X.devices.local.ac.L2_P - the current power of phase 2 in W
plenticore.X.devices.local.ac.L3_P - the current power of phase 3 in W
plenticore.X.devices.local.ac.P - the current total power emitted by the inverter, including battery discharge

plenticore.X.devices.local.battery

plenticore.X.devices.local.battery.Cycles - the lifetime battery cycles up to now
[**] plenticore.X.devices.local.battery.DynamicSoc - true if dynamic SoC is enabled (only if SmartBatteryControl is true, too)
[**] plenticore.X.devices.local.battery.MinHomeConsumption - the minimum home power consumption that is needed for the battery to be used
[**] plenticore.X.devices.local.battery.MinSoc - the desired minimum SoC (State of Charge) of the battery. The actual SoC might go below this if there is lacking sun power.
plenticore.X.devices.local.battery.MinSocDummy - This value is set by the adapter if the MinSoC management is disabled in the config. It is to show to what value the MinSoC would be set.
plenticore.X.devices.local.battery.P - the current battery power (negative if charging, positive if discharging)
plenticore.X.devices.local.battery.Charge_P - the current battery charging power (0 if discharging)
plenticore.X.devices.local.battery.Discharge_P - the current battery discharging power (0 if charging)
[**] plenticore.X.devices.local.battery.SmartBatteryControl - true if the smart battery management is enabled. Regarding the official manual this shall only be enabled if there is no further AC source like a second inverter involved
[**] plenticore.X.devices.local.battery.ExternControl - Can only be set from web interface as installateur. For control via ioBroker use the states ExternControl_DcPowerAbs and ExternControl_MaxChargePowerAbs while ExternControl is set to 2 (Modbus TCP). [**] plenticore.X.devices.local.battery.ExternControl_DcPowerAbs - DANGER:Use this only if you know what you do, wrong usage can damage your battery! IMPORTANT: The value has to be Updated every 3 minutes, otherwise the plenticore switches to internal control unless it receives a new value. This state is only available if ExternControl is set to 2 (Modbus TCP). The value is in Watt and can be set from -10000 to 10000. A negative value means that the battery is discharging, a positive value means that the battery is charging. [**] plenticore.X.devices.local.battery.ExternControl_MaxChargePowerAbs - DANGER: Use this only if you know what you are doing, wrong use can damage your battery! IMPORTANT: The value has to be Updated every 3 minutes, otherwise the plenticore switches to internal control unless it receives a new value. This state is only available if ExternControl is set to 2 (Modbus TCP). plenticore.X.devices.local.battery.SoC - the current state of charge of the battery

plenticore.X.devices.local.inverter

plenticore.X.devices.local.inverter.MaxApparentPower - the maximum power that the inverter can provide

plenticore.X.devices.local.pv1 / pv2 / pv3

plenticore.X.devices.local.pvX.P - the current power that is provided by phase X of the plant

plenticore.X.scb

This channel contains information and settings of the device itself

plenticore.X.scb.modbus

[**] plenticore.X.scb.modbus.ModbusEnable - true if the modbus tcp is enabled
[**] plenticore.X.scb.modbus.ModbusUnitId - modbus unit id of the device

plenticore.X.scb.network

[**] plenticore.X.scb.network.Hostname - the current host name of the inverter
[**] plenticore.X.scb.network.IPv4Auto - use DHCP to provide the ip address settings for the inverter
[**] plenticore.X.scb.network.IPv4Address - the current ip address of the inverter
[**] plenticore.X.scb.network.IPv4DNS1 and plenticore.X.scb.network.IPv4DNS2 - the currently used DNS servers
[**] plenticore.X.scb.network.IPv4Gateway - the currently used network gateway
[**] plenticore.X.scb.network.IPv4Subnetmask - the network subnet mask

plenticore.X.scb.time

[**] plenticore.X.scb.time.NTPservers - the currently used time servers (NTP). Those can be multiple ones separated by space.
[**] plenticore.X.scb.time.NTPuse - use NTP to set current device time settings
[**] plenticore.X.scb.time.Timezone - the time zone of the device

plenticore.X.scb.statistic.EnergyFlow

The datapoints in this section contain the statistics that are visible in the Plenticore web UI. Following only the Day datapoints are mentioned, but each of them is also available for Month, Year and Total.

plenticore.0.scb.statistic.EnergyFlow.AutarkyDay - the autarky in percent for the current day
plenticore.0.scb.statistic.EnergyFlow.CO2SavingDay - the estimated saved CO2 in kg for the current day
plenticore.0.scb.statistic.EnergyFlow.EnergyHomeDay - the total home consumption in Wh for the current day
plenticore.0.scb.statistic.EnergyFlow.EnergyHomePvDay - the total home consumption provided by the PV plant for the current day
plenticore.0.scb.statistic.EnergyFlow.EnergyHomeBatDay - the total home consumption provided by the battery for the current day
plenticore.0.scb.statistic.EnergyFlow.EnergyHomeGridDay - the total home consumption provided by the power grid for the current day
plenticore.0.scb.statistic.EnergyFlow.EnergyToGridDay - the total power sent to the power grid for the current day
plenticore.0.scb.statistic.EnergyFlow.OwnConsumptionRateDay - the own consumption rate (generated plant power NOT sent to the grid) for the current day
plenticore.0.scb.statistic.EnergyFlow.YieldDay - the total yield of the plant for the current day

Forecast data

To power forecast feature uses different weather data sources. It works out-of-the-box but you can improve the results by adding instances of one or more of the following weather adapters: ioBroker.darksky, ioBroker.weatherunderground, ioBroker.daswetter. For the feature to work you need to have the system's global geo position (longitude and latitude) configured and set the extended config of the plenticore adapter (panel and battery data if applicable).

How does the forecast work

The forecast feature uses the provided data of your power plant and battery to calculate the maximum possible power generated at each time of the day. This is done by using the system's location to get the sun elevation and azimuth and calculate solar radiance values. Those values are combined with weather forecast data from different sources to get the cloudiness, fog and rain forecast for each hour of the day. Using those data the adapter calculates a possible power the plant might be able to generate in each our of sunlight.

The forecast values can then be used to set the MinSoC of the battery, enable or disable the dynamic "intelligent battery management" of the converter (both done internally by the adapter) or control other decives in the household, e. g. heating, washing machine, dryer, dishwasher etc. (done by external JavaScript/Blockly of the user).

plenticore.0.forecast.consumption

plenticore.0.forecast.consumption.day - current power consumption average for daytime during last 3 days
plenticore.0.forecast.consumption.night - current power consumption average for nighttime during last 3 days
plenticore.0.forecast.consumption.remaining - estimated remaining power consumption for current forecast day until sunset

plenticore.0.forecast.current

plenticore.0.forecast.current.power.generated - generated plant power on current day until current time
plenticore.0.forecast.current.power.max - calculated maximum plant power on clear sky (0% cloud coverage)
plenticore.0.forecast.current.power.sky - calculated plant power taking into account current cloud coverage from weather adapters
plenticore.0.forecast.current.power.skyvis - calculated plant power taking into account current cloud coverage and visibility from weather adapters
plenticore.0.forecast.current.power.skyvisrain - calculated plant power taking into account current cloud coverage, visibility and rain forecast from weather adapters
plenticore.0.forecast.current.visibility.* - current visibility forecast provided by the corresponding weather adapter
plenticore.0.forecast.current.rain.* - current rain forecast provided by the corresponding weather adapter
plenticore.0.forecast.current.rainChance.* - current rain probability forecast provided by the corresponding weather adapter
plenticore.0.forecast.current.sky.* - current cloud forecast provided by the corresponding weather adapter
plenticore.0.forecast.current.sky_high.* - current cloud forecast (upper air layers) provided by the corresponding weather adapter
plenticore.0.forecast.current.sky_medium.* - current cloud forecast (middle air layers) provided by the corresponding weather adapter
plenticore.0.forecast.current.sky_low.* - current cloud forecast (lower air layers) provided by the corresponding weather adapter
plenticore.0.forecast.current.sun.azimuth - current sun position (azimuth)
plenticore.0.forecast.current.sun.elevation - current sun position (eleevation)

plenticore.0.forecast.day1 – same applies for day2

plenticore.0.forecast.day1.power.date - date the current power forecast info is for
plenticore.0.forecast.day1.power.day - total power forecast for the day
plenticore.0.forecast.day1.power.day_adjusted - total power forecast for the day keeping into account the generated power until now and using forecast data only for remaining sun hours
plenticore.0.forecast.day1.power.day_high - total power forecast for the day ignoring the weather adapter's visibility data
plenticore.0.forecast.day1.power.remaining - remaining power of forecast total for the day, based on forecast for remaining sun hours
plenticore.0.forecast.day1.power.Xh.power - estimated total power from plant on sun hour X of the forecast day, where 1h is the hour of sunrise
plenticore.0.forecast.day1.power.Xh.power_high - estimated total power from plant on sun hour X of the forecast day, but without keeping into account the visibility or rain data
plenticore.0.forecast.day1.power.Xh.time - the time the sun hour for plenticore.0.forecast.power.Xh.power starts
plenticore.0.forecast.day1.sun.sunrise - sunrise time of forecast date
plenticore.0.forecast.day1.sun.sunset - sunset time of forecast date

Smart battery control

The smart battery control from KOSTAL does not use a weather forecast. Therefore, it does not always control ideally to ensure on the one hand that the battery is fully charged and on the other hand to avoind feed-in limitation as much as possible. This adapter tries to optimize this. Two strategies are offered for this, which can be selected in the settings of the adapter. If the smart battery control from KOSTAL is active, it decides when and how much electricity goes into the grid or into the battery. The adapter can only decide whether the KOSTAL smart control is active, but not how it operates.

Strategy 1: Double day forecast vs. battery capacity

Brief description: Switch KOSTAL Smart Management on, if (minimum SoC is reached) AND (remaining power until sunset - remaining consumption - free battery capacity) >= 2 * battery capacity.

Strategy 2: Remaining forecast vs. consumption and free battery capacity

The KOSTAL Smart Management is only activated if (according to the prognosis) both of the following conditions are met:

  • There is at least one hour in which the feed limit is exceeded (otherwise you don't need the Smart Management because everything can be fed in to the grid).
  • Presumably more electricity is available than needed during the day for consumption during the day and for charging the battery (otherwise, space in the battery would be free throughout the day even without Smart Management) The actual control is a bit more complex as it also prevents the intelligent control from being turned on/off many times.

Details:

  • If all hourly forecast values ​​are lower than "Maximum feed-in", the KOSTAL control is not activated. The maximum feed-in is assumed 15% lower in order to anticipate variations caused by clouds.
  • Between 3 p.m. and sunrise, the setting of the KOSTAL smart control is not changed. The KOSTAL control seems to work better if it is not switched on/off unnecessarily often. During this period, the KOSTAL control has no disadvantage.
  • A hysteresis is used to switch on/off less often. It will turn off when the current SoC is less than the "Minimum SoC to activate battery management" or when the free power is below 0. It will turn on when the current SoC is greater than "Minimum SoC to activate battery management"+1 and the free power is greater than 10% of the battery capacity.

Changelog

2.3.1

  • Added further option to control battery management [PastCoder]

2.3.0

  • (Jey Cee) Added possibility to control battery charging

2.2.2

  • Added alternative smart battery strategy (Description see above) [PastCoder]

2.2.1

  • Fixed forecast zickzack [PastCoder]

2.2.0

  • Fixed state value types for new version of js-controller
    Warning: Please delete state object scb.export.LastExportOk after update and restart adapter
  • Allow providing a custom port for connection to converter
  • Allow using https connection to converter
  • Fixed some state object types

2.1.9

  • Fixed met.no rain forecast value

2.1.8

  • Update of met.no API to locationforecast 2.0
  • Removed xml2js library
  • Update of base library

2.1.7

  • Updated base library to support js controller 3.2

2.1.6

  • Copyright year updated

2.1.5

  • Package information fixed

2.1.4

  • Disable smart battery control as long as SoC is lower than MinSoC + 8% to avoid using grid power on consumption peaks
  • Disable darksky usage (service discontinued)

2.1.3

  • Fixed wrong hour of weather forecast from daswetter adapter

2.1.2

  • Added setting for minimum SoC to enable battery management

2.1.1

  • Fixed problems in config and translations

2.1.0

  • Added further forecast sources to provide better power forecasts
  • Added second day forecast
  • Improved code and fixed some minor issues
  • New dependency for xml2js
  • Updated readme

2.0.0

  • Code rework
  • Outsourced many functions to libraries
  • This version has new dependencies and requires a newer adapter-core version!
  • Several fixes

1.1.1

  • No changes

1.1.0

  • Added support for weatherunderground weather adapter. The adapter can be choosen as alternative forecast source over the DarkSky adapter.

1.0.2

  • Fixed a warning message occuring far too often

1.0.1

  • Added forecast features to readme

1.0.0

  • Added power forecast feature

0.1.5

  • Added translations
  • Fixed shadow management handling.

0.1.4

  • Added shadow management datapoint.

0.1.3

  • Do not query battery values if battery management is not unlocked.

0.1.2

  • Resolved adapter check issues, see #1
  • Added statistics data points.

0.1.1

  • Removed admin adapter dependency

0.1.0

  • First running Version

License

The MIT License (MIT)

Copyright (c) 2022 Marius Burkard

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Donate

paypal

iobroker.plenticore's People

Contributors

apollon77 avatar jey-cee avatar nobl avatar pastcoder avatar pixcept avatar strathcole avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iobroker.plenticore's Issues

wrong types with js-controller 3.3.5

after update to js-controller 3.35 the plenticore adapter produces lots of infos: I changed log level to warning, to avoid an overload of the logfile...

`plenticore.0 2021-05-02 13:36:03.113 info State value to set for "plenticore.0.scb.export.Portal" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.111 info State value to set for "plenticore.0.scb.export.LastExport" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.110 info State value to set for "plenticore.0.scb.modbus.ModbusUnitId" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.097 info State value to set for "plenticore.0.devices.local.StateKey0" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.096 info State value to set for "plenticore.0.devices.local.inverter.MaxApparentPower" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.095 info State value to set for "plenticore.0.devices.local.generator.ShadowMgmt" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.089 info State value to set for "plenticore.0.devices.local.EnergySensor" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.089 info State value to set for "plenticore.0.devices.local.battery.Type" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.088 info State value to set for "plenticore.0.devices.local.battery.SupportedTypes" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.087 info State value to set for "plenticore.0.devices.local.battery.Strategy" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.086 info State value to set for "plenticore.0.devices.local.battery.MinSoc" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.085 info State value to set for "plenticore.0.devices.local.battery.MinHomeConsumption" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.083 info State value to set for "plenticore.0.devices.local.battery.ExternControl" has to be type "number" but received type "string"
plenticore.0 2021-05-02 13:36:03.082 info State value to set for "plenticore.0.devices.local.battery.DynamicSoc" has to be type "boolean" but received type "string"

`

Release?

Hallo,
es scheint, als würde der Adapter gut funktionieren.
Wann wird dieser denn offiziell in den ioBroker aufgenommen?
Vielen Dank & Gruß, Bernd

Uncaught exception when Plenticore is down.

If the Kostal Plenticore goes down for whatever reason (for debugging purposes a simple restart is sufficient) the adapter breaks with an uncaught exception.

Once the plenticore is available again the adapter properly restarts and situation is fixed.
But maybe you want to see if you can catch this so it handles this more gracefully.

Errorlog:

2020-03-09 14:19:01.567 - warn: modbus.0 (14169) Poll error count: 1 code: {"errorCode":131,"exceptionCode":4,"message":"SLAVE DEVICE FAILURE"}
2020-03-09 14:19:01.889 - error: plenticore.0 (17737) uncaught exception: connect ECONNREFUSED 192.168.xxx.xxx:80
2020-03-09 14:19:01.890 - error: plenticore.0 (17737) Error: connect ECONNREFUSED 192.168.xxx.xxx:80
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
2020-03-09 14:19:01.895 - info: plenticore.0 (17737) [END] Stopping plenticore adapter...
2020-03-09 14:19:01.931 - info: plenticore.0 (17737) terminating
2020-03-09 14:19:01.932 - info: plenticore.0 (17737) Terminated (NO_ERROR): Without reason
2020-03-09 14:19:02.052 - error: plenticore.0 (17737) uncaught exception: connect ECONNREFUSED 192.168.xxx.xxx:80
2020-03-09 14:19:02.058 - error: plenticore.0 (17737) Error: connect ECONNREFUSED 192.168.xxx.xxx:80
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
2020-03-09 14:19:02.460 - error: host.iobroker Caught by controller[0]: { Error: connect ECONNREFUSED 192.168.xxx.xxx:80
2020-03-09 14:19:02.461 - error: host.iobroker Caught by controller[0]: at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
2020-03-09 14:19:02.461 - error: host.iobroker Caught by controller[0]: errno: 'ECONNREFUSED',
2020-03-09 14:19:02.461 - error: host.iobroker Caught by controller[0]: code: 'ECONNREFUSED',
2020-03-09 14:19:02.461 - error: host.iobroker Caught by controller[0]: syscall: 'connect',
2020-03-09 14:19:02.462 - error: host.iobroker Caught by controller[0]: address: '192.168.xxx.xxx',
2020-03-09 14:19:02.462 - error: host.iobroker Caught by controller[0]: port: 80 }
2020-03-09 14:19:02.462 - error: host.iobroker Caught by controller[1]: { Error: connect ECONNREFUSED 192.168.xxx.xxx:80
2020-03-09 14:19:02.462 - error: host.iobroker Caught by controller[1]: at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
2020-03-09 14:19:02.462 - error: host.iobroker Caught by controller[1]: errno: 'ECONNREFUSED',
2020-03-09 14:19:02.462 - error: host.iobroker Caught by controller[1]: code: 'ECONNREFUSED',
2020-03-09 14:19:02.462 - error: host.iobroker Caught by controller[1]: syscall: 'connect',
2020-03-09 14:19:02.462 - error: host.iobroker Caught by controller[1]: address: '192.168.xxx.xxx',
2020-03-09 14:19:02.463 - error: host.iobroker Caught by controller[1]: port: 80 }
2020-03-09 14:19:02.463 - info: host.iobroker instance system.adapter.plenticore.0 terminated with code 0 (NO_ERROR)
2020-03-09 14:19:02.463 - info: host.iobroker Restart adapter system.adapter.plenticore.0 because enabled
2020-03-09 14:19:02.571 - info: modbus.0 (14169) Disconnected from slave xxx

Error getting forecast data from met.no api: null

Seit heute Morgen werden die Prognose Daten nicht mehr aktualisiert.

Könnte es vielleicht mit dem Update der Metno API zusammenhängen?.

Siehe

https://api.met.no/

News:
Locationforecast and Nowcast
As mentioned previously, the old versions of Locationforecast (1.9), Nowcast (0.9) and Weathericon (1.1) will terminate on March 1st, 2021. Incredibly, almost 70 % of the current API traffic is still using version 1.9, This means a lot of sites and apps will stop working shortly. We recommend everyone not yet upgraded to start working on this ASAP. Please see our docs for more information:

Gruß Seffe

LastExportOk

Hallo,
ich bekomme immer wieder die Fehlermeldung im Log:
State value to set for "plenticore.0.scb.export.LastExportOk" has to be type "boolean" but received type "number"
v2.2.0
Viele Grüße,
Bernd

Fehlermeldung "Longitude or latitude does not set. Cannot use astro."

Ich bekomme im ioBroker Log folgende Fehlermeldung:

plenticore.0 | 2020-01-18 10:35:28.538 | error | (19951) Longitude or latitude does not set. Cannot use astro.
plenticore.0 | 2020-01-18 10:35:28.538 | error | (19951) Longitude or latitude does not set. Cannot use astro.
plenticore.0 | 2020-01-18 10:35:28.537 | error | (19951) Longitude or latitude does not set. Cannot use astro.
plenticore.0 | 2020-01-18 10:35:28.536 | error | (19951) Longitude or latitude does not set. Cannot use astro.

Diese kommt jede Minute 4x.

PV power to the grid

Hi,
excellent work and very useful. Two questions: How can I read the power from PV which was sent to the grid? And is there also a possibilty to access the data from a PIKO 3.0-2 plus via API?

Adapter startet nicht, wenn keine Ortsangaben im iobroker eingetragen sind

Hallo,

ich nutze die Prognose nicht, daher hab ich im Plenticore Adapter auch nichts konfiguriert.

Im iobroker selber habe ich auch nichts konfiguriert, da ich die Prognose-Funktion nicht nutze/nutzen möchte.

Der Adapter lässt sich aber so nicht starte und bricht mit der Fehlermeldung "error (21200) Astro functions not available as system's longitude and latitude were not found. Please check ioBroker global system config." ab.

VG,
KoMa

Using Plenticore Adapter only for forecast

Hello,
I have a Kostal BA inverter which is connected via Javascript to iobroker.
I want to use your adapter for forecast reasons,
Is there any chance to deactivate the polling to Plenticore address?
beside of Plenticore adapter I have daswetter. Where are the datapoints stored for forecast?
under Plenticore/forecast I have 2 DP's. one is website to kachelmann, second DP is my city.

Cheers,
Kay

Unterstützung von HTTPs

Hi,

es wäre klasse, wenn der Connect zum Wechselrichter wahlweise per HTTP oder HTTPS erfolgen könnte.

Der Einbau als Option dürfte ja relativ einfach sein, da Kostal HTTPs aber sehr stiefmütterlich behandelt, bitte unbedingt daran denken, dass ungültige Zertifikate ignoriert werden (ich vermute die Option ist "rejectUnauthorized: false").

Ansonsten läuft der Adapter hier mit einem Plenticore Plus 10 (Firmware 01.17.05075) auf anhieb und echt gut!!
Du solltest gucken, ob man den nicht in Richtung "stable" bringen kann, damit er im iobroker direkt zum Download angeboten wird.

Besten Dank,
KoMa

Some Review Comments ...

Hi,

to allow an easier addition to the repository later I did a short rough review and here are some comments.

  • Please check your adapter with https://adapter-check.iobroker.in/ and fix the found stuff
  • testing is missing, please add. A blueprint could be https://github.com/ioBroker/ioBroker.template/tree/master/JavaScript - the test directory, some scripts in package.json and the .github directory these days ...
  • Please use https://translator.iobroker.in/ to auto-translate all nws texts for io-package and also the words.js
  • please make sure to store the password only encrypted! Check Adapters like meross from mee for this (two functions in index_m.html and decrypt method in adapter class)
  • make sure to always clear the timeout in "on-unload" ... currently it could be missed when an exception happens with the request. Also: should not the logic https://github.com/StrathCole/iobroker.plenticore/blob/master/main.js#L176 go into the request callback instead of "In parallel"?
  • Please also check if adapter and adapter.log exists before accessing it in on-unload!
  • If your on-unload needs longer then 500ms think about increasing the shutdown time in io-package (see tuya adapter)
  • If you do not need object changes or messages please also do not implement the method
  • Are the roles with "value.info" all correct? Please check https://www.iobroker.net/#de/documentation/dev/stateroles.md
  • You create a lot of objects and then you do dthe login and poll the state values. Because all the object creation runs asynchronous formally you can not be sure that all objects were already created when you want to set the states ... The effect could be that some values will not be visible directly after the first poll but after the next one ...

Personal note: I do not like to use intervals for external communication becaue the interval fires also when last communication was not finished because of timeouts or such. I more like setting a timeout for the next run once the current one is finished ... But up to you :-)

Have fun and great christmas time

Compatibility check and testing for Node.js 14 and 16

Dear Adapter developer,

Node.js 14 is now available for a year and Node.js 16 was release just some days ago and will become LTS by October 2021. We plan to update the ioBroker Node.js recommendation (currently 12.x) to 14.x later this year.

Please check your adapter with Node.js 14 especially, and ideally also directly with Node.js 16

Please add both versions to the adapter testing which is executed on commits.

If your adapter requires a certain minimum version of Node.js please set the 'engine' setting in package.json accordingly! Please also do this if the adapter is not able to work in certain Node.js versions, so that ioBroker can prevent users from installing te adapter if not compatible!

On questions please talk to us at ioBroker/ioBroker.js-controller#1138

Please close the issue after you checked it.

Thank you very much for your support!

Multi-Plenticore

Wir haben zwei Plenticores hinter einem Zähler, einer davon mit Batterie. Gibt es eine Möglichkeit beide in einem Adapter anzeigen zu lassen?

Warnung vor neuer Firmware

Falls noch nicht gesehen - mit der neuen Firmware wandert die Batteriesteuerung in den Installateurbereich und dürfte damit den Adapter hier kaputt machen was die Batteriesteuerung betrifft! :-(

Datum (JJJJ.MM.TT): 2020.11.20
KOSTAL_Update_PLENTICORE_plus_PIKO_IQ_01.17.05075

Release Notes

Compatibility check to js-controller 4.0

Dear Adapter developer,

with js-controller 4.0 object definitions are now also checked that min/max in only provided for number/mixed objects and that the type of the default value matches to the object type.

If something is not correct this is logged as 'warning' or 'info' log.

Please also make sure to update to the lastest @iobroker/testing dependency 2.5.4 or to accept the PR from Apollon77 for legacy testing!

Please spent some time to verify your adapter by ideally starting with a fresh instance and do some actions and verify the log. If you see a warn or info log there from these checks please adjust the adapter and fix the relevant cases.

For questions please refer to ioBroker/ioBroker.js-controller#1749

Please close the issue after you checked it.

Thank you very much for your support to get the best experience for the growing numbers of ioBroker users!

Glätten der Werte in plenticore.0.forecast.day1.power.day_adjusted

Ich nutze den Wert, um zu entscheiden ob ich noch Strom verschwenden darf oder nicht, Allerdings ergeben sich innerhalb einer Stunde mehrere Schwankungen die meines Erachtens auf einen unglücklichen Rechenweg hindeuten. Lässt sich das vielleicht glätten?
Ich kann mir die Werte zwar auch selbst weg schreiben und glätten, vermute aber das das so nicht gewollt ist.

image

Vielen Dank.

Second pv area for forecast

Hey, great job, especially the forecast function with edit the min SoC. I have pv area on two roof sides. They are 180 degrees opposite and have different sizes. Is it possible to take the second area into calculating of minimum SoC?
Best wishes

Polling interval has a min of 5000?

I would like to poll more often than every 5 seconds but it appears adapter has a minimum of 5000ms set? At least if I set it to 3000 it uses 5000.

If this is intentional - so be it. But maybe have a tooltip added like:
<span class="tooltiptext translate">Here you set the polling interval [min 5000, max 100000]. Default = 5000.</span>

Also (and just a suggestion): is it reasonable to update all states although they didn't change?
Good example is network settings. States for them are updated upon every poll and they do rarely change.

Same for local.HomeBat_P for example (unless you have a kostal-supported battery).

(by the way: German is ok for discussion :) )

warn | Found no valid KOSTAL moduleid or settingid for

Erhalte mehrere Warnungen im Iobroker Protokoll.

Kostal Version 2.2.0
Admin Version 5.1.25
Web Version 3.4.9

Habe zwei Instanzen installiert da ich alle drei MPP Tracker des Wechselrichters verwende.

12 Module Westseite 31 Grad Dachneigung
9 Module Westseite 12 Grad Dachneigung
9 Module Ostseite 12 Grad Dachneigung

Fehler Jedoch nur bei Instanz plenticore.0. glaube dies hängt aber wohl mit den ack-flag Fehlern der Web.0 Instanz zusammen
Instanz plenticore.1. ist Fehlerfrei.

Habe schon den Adapter deinstalliert und Neu installiert und dabei die zwei Instanzen neu angelegt.

plenticore.0 | 2021-11-16 11:11:11.557 | warn | Found no valid KOSTAL moduleid or settingid for scb.statistic.EnergyFlow.OwnConsumptionRateYear
plenticore.0 | 2021-11-16 11:11:11.552 | warn | Found no valid KOSTAL moduleid or settingid for scb.statistic.EnergyFlow.OwnConsumptionRateTotal
plenticore.0 | 2021-11-16 11:11:11.550 | warn | Found no valid KOSTAL moduleid or settingid for scb.statistic.EnergyFlow.OwnConsumptionRateMonth
plenticore.0 | 2021-11-16 11:11:11.540 | warn | Found no valid KOSTAL moduleid or settingid for scb.statistic.EnergyFlow.OwnConsumptionRateDay
plenticore.0 | 2021-11-16 11:11:11.495 | warn | Found no valid KOSTAL moduleid or settingid for scb.statistic.EnergyFlow.AutarkyYear
plenticore.0 | 2021-11-16 11:11:11.494 | warn | Found no valid KOSTAL moduleid or settingid for scb.statistic.EnergyFlow.AutarkyTotal
plenticore.0 | 2021-11-16 11:11:11.492 | warn | Found no valid KOSTAL moduleid or settingid for scb.statistic.EnergyFlow.AutarkyMonth
plenticore.0 | 2021-11-16 11:11:11.490 | warn | Found no valid KOSTAL moduleid or settingid for scb.statistic.EnergyFlow.AutarkyDay

web.0 | 2021-11-16 11:11:11.463 | warn | Read-only state "plenticore.0.scb.statistic.EnergyFlow.OwnConsumptionRateYear" has been written without ack-flag with value "18.9893347904"
web.0 | 2021-11-16 11:11:11.424 | warn | Read-only state "plenticore.0.scb.statistic.EnergyFlow.OwnConsumptionRateTotal" has been written without ack-flag with value "19.7870781595"
web.0 | 2021-11-16 11:11:11.424 | warn | Read-only state "plenticore.0.scb.statistic.EnergyFlow.OwnConsumptionRateMonth" has been written without ack-flag with value "43.4001711922"
web.0 | 2021-11-16 11:11:11.423 | warn | Read-only state "plenticore.0.scb.statistic.EnergyFlow.OwnConsumptionRateDay" has been written without ack-flag with value "99.9988354024"
web.0 | 2021-11-16 11:11:11.395 | warn | Read-only state "plenticore.0.scb.statistic.EnergyFlow.AutarkyYear" has been written without ack-flag with value "46.4311805965"
web.0 | 2021-11-16 11:11:11.394 | warn | Read-only state "plenticore.0.scb.statistic.EnergyFlow.AutarkyTotal" has been written without ack-flag with value "46.2664220642"
web.0 | 2021-11-16 11:11:11.359 | warn | Read-only state "plenticore.0.scb.statistic.EnergyFlow.AutarkyMonth" has been written without ack-flag with value "23.5931269182"
web.0 | 2021-11-16 11:11:11.358 | warn | Read-only state "plenticore.0.scb.statistic.EnergyFlow.AutarkyDay" has been written without ack-flag with value "5.5615267244"

ENOTFOUND when starting the adapter

Version I am using: 2.1.6

I am getting these two errors when trying to start the plenticore adapter:
(5285) Login failed with code 0:
(5285) API request failed with error {"errno":"ENOTFOUND","code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"http://huntworker.ddns.net:81/"}

By firefox, I can access the plenticore frontend.

plenticore.0.devices.local.generator.ShadowMgmt has to be type "boolean" but received type "number"

2022-05-16 21:12:59.574 - info: plenticore.0 (351740) State value to set for "plenticore.0.devices.local.generator.ShadowMgmt" has to be type "boolean" but received type "number" 
2022-05-16 21:13:21.067 - info: plenticore.0 (351740) State value to set for "plenticore.0.devices.local.generator.ShadowMgmt" has to be type "boolean" but received type "number" 
2022-05-16 21:13:42.106 - info: plenticore.0 (351740) State value to set for "plenticore.0.devices.local.generator.ShadowMgmt" has to be type "boolean" but received type "number" 
2022-05-16 21:14:03.173 - info: plenticore.0 (351740) State value to set for "plenticore.0.devices.local.generator.ShadowMgmt" has to be type "boolean" but received type "number" 

adapter 2.2.2
nodejs 14.19.2
js-controller 4.0.23

State value has to be type "number" but received type "string"

There are several warnings in the log after update to latest js-controller
For example:

plenticore.0 2021-05-06 22:49:54.090 info (8881) State value to set for "plenticore.0.forecast.current.power.max" has to be type "number" but received type "string"
plenticore.0 2021-05-06 22:49:54.089 info (8881) State value to set for "plenticore.0.forecast.current.sun.azimuth" has to be type "number" but received type "string"
plenticore.0 2021-05-06 22:49:54.088 info (8881) State value to set for "plenticore.0.forecast.current.sun.elevation" has to be type "number" but received type "string"

Adapter version is 2.1.9
Node.js is v12.22.1

forecast kills adapter

Hi,

after updating my wifi access points yesterday in the night I noticed a problem with the adapter today. I checked my grafana data this morning and noticed that there are no data for my pv.
So I had a look into iobroker itself and the log:

`host.raspberrypi 2020-04-08 08:08:31.972 info Restart adapter system.adapter.plenticore.0 because enabled
host.raspberrypi 2020-04-08 08:08:31.971 info instance system.adapter.plenticore.0 terminated with code 0 (NO_ERROR)
host.raspberrypi 2020-04-08 08:08:31.971 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:68:7)
host.raspberrypi 2020-04-08 08:08:31.971 error Caught by controller[0]: at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
host.raspberrypi 2020-04-08 08:08:31.971 error Caught by controller[0]: at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
host.raspberrypi 2020-04-08 08:08:31.970 error Caught by controller[0]: at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:572:33)
host.raspberrypi 2020-04-08 08:08:31.970 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.plenticore/lib/plenticore.js:2065:22
host.raspberrypi 2020-04-08 08:08:31.969 error Caught by controller[0]: TypeError: Cannot read property 'val' of null
plenticore.0 2020-04-08 08:08:31.599 info (7036) Logged out from API
plenticore.0 2020-04-08 08:08:31.443 info (7036) Terminated (NO_ERROR): Without reason
plenticore.0 2020-04-08 08:08:31.442 info (7036) terminating
plenticore.0 2020-04-08 08:08:31.266 info (7036) [END] Stopping plenticore adapter...
plenticore.0 2020-04-08 08:08:31.260 error at process._tickCallback (internal/process/next_tick.js:68:7)
plenticore.0 2020-04-08 08:08:31.260 error at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
plenticore.0 2020-04-08 08:08:31.260 error at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
plenticore.0 2020-04-08 08:08:31.260 error at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:572:33)
plenticore.0 2020-04-08 08:08:31.260 error at /opt/iobroker/node_modules/iobroker.plenticore/lib/plenticore.js:2065:22
plenticore.0 2020-04-08 08:08:31.260 error (7036) TypeError: Cannot read property 'val' of null
plenticore.0 2020-04-08 08:08:31.260 error (7036) uncaught exception: Cannot read property 'val' of null
plenticore.0 2020-04-08 08:08:30.644 info (7036) calcMinSoC for day 2.
plenticore.0 2020-04-08 08:08:29.899 info (7036) Using forecast of day 1 for MinSoC calculation.
plenticore.0 2020-04-08 08:08:29.898 info (7036) calcMinSoC for day 1.
plenticore.0 2020-04-08 08:08:29.724 info (7036) Read forecast data before calcMinSoC.
plenticore.0 2020-04-08 08:08:29.722 info (7036) Still 1 adapters to check.
plenticore.0 2020-04-08 08:08:29.719 info (7036) Using darksky.0 in weather forcast.
plenticore.0 2020-04-08 08:08:29.675 info (7036) Still 2 adapters to check.
plenticore.0 2020-04-08 08:08:29.653 info (7036) Still 3 adapters to check.
plenticore.0 2020-04-08 08:08:29.651 info (7036) Enabling MinSoC forecast data.
plenticore.0 2020-04-08 08:08:29.637 info (7036) Enabling forecast data.
plenticore.0 2020-04-08 08:08:28.533 info (7036) [INFO] Configured polling interval: 20000
plenticore.0 2020-04-08 08:08:28.531 info (7036) Configured Wp of panel(s) is xxxxx
plenticore.0 2020-04-08 08:08:28.530 info (7036) Got all internal forecast data and made it available to main process.
plenticore.0 2020-04-08 08:08:28.509 info (7036) Requested alternative weather data from kachelmannwetter.com
plenticore.0 2020-04-08 08:08:28.372 info (7036) Requested weather data from kachelmannwetter.com
plenticore.0 2020-04-08 08:08:28.210 info (7036) City id for coordinates xx.xxxx/yy.yyyy is yxyxyxyx
plenticore.0 2020-04-08 08:08:27.717 info (7036) got weather data from met.no with 235 elements.
plenticore.0 2020-04-08 08:08:26.789 info (7036) [START] Starting adapter plenticore v2.1.1r217

`

So I checked for updates and there was an update for the plenticore adapter from 2.1.0 to 2.1.1
JS controller has been up-to-date which I checked by:
sudo iobroker stop sudo iobroker update sudo iobroker upgrade self sudo iobroker start

The error persisted...

Finally I deactivated the forecast option as I saw in the log that the connection to the inverter was fine so far. This made the adapter stable.

Any idea what to do in order to make forecast work again?

Best regards

pwrcons.json does contain only values with "0"

As I understood the code, the consumption values saved into pwrcons.json and read from there when starting.
In my case the plenticore.0.forecast.consumption.day was 0 after restart of the adapter.
When I had a look on pwrcons.json, the file was updated, but I had a look with the editor, all values are 0.
So far I did not figure out why.

Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:

https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/StrathCole/ioBroker.plenticore

  • [E145] No news found for actual version 2.2.1
  • [E153] common.dependencies must contain {"js-controller": ">=1.5.8"} or {"js-controller": ">=2.0.0"} or {"js-controller": ">=3.0.0"}
  • [E605] No actual year found in copyright. Please add "Copyright (c) 2022 Marius Burkard [email protected]" at the end of README.md
  • [E701] No actual year found in LICENSE. Please add "Copyright (c) 2022 Marius Burkard [email protected]" at the start of LICENSE

Thanks,
your automatic adapter checker.

P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Update 2.1.8 Prognose mit Metno V2.0

Danke für die schnelle Reaktion.

Forecast_Current_Power:

Max wird nun aktualisiert

Jedoch die Werte:
Sky
Skyvis
Skyrain

werden nicht aktualisiert.

Bei Rain steht bei metno noch

null mm

Kann mich nicht Erinnern ob dies schon immer so war?

Gruß Seffe

Add possibility to configure the feed-in limit

Currently the factor for the feed-in limit is hardcoded to 0.7.
In some cases not 0.7 of the peak power is allowed to be fed into the grid but other percentage (e.g. 0.5 in case of some promotion for batteries).

Fehler bei "Dynamisches Batterie Management" aktivieren?

Hier herrscht gerader purer Sonnenschein. Ortsangaben im Adapter stimmen.
Im Adapter ist "Dynamisches Batterie Management" angeschaltet.

Das hat zur Folge, das aktuell im Plenticore "intelligente Batteriesteuerung aktivieren" aktiv wird, der Akku NICHT geladen wird , dafür aber 7,3kW in Netz eingespeist werden. Prognose ist hier top, müßte der Adapter die Einstellung im Plenticore aktuell nicht deaktivieren, das primär der Akku geladen wird? Der steht bei 50% ... und wird eben nicht geladen. MAche ich das manuell, wird der Akku geladen ... was ich bei der Überproduktion auch erwartet hätte.

Bei aktiviertem "Dynamisches Batterie Management" im Adapter, habe ich allerdings auch noch NIE die Option "intelligente Batteriesteuerung aktivieren" im Plenticore deaktiviert gesehen.

Alles etwas verwirrend in der Bezeichnung. Sicher, das dies korrekt arbeitet?

In wie fern spielt "Minimaler SoC zur Aktivierung des Batteriemanagements" da noch mit rein?

Read out events logged in Plenticore

It would be very helpful to get the logged events, to trigger an alarm if an event is longer active than xx minutes.
In my opinion the API should provide the events.
Thanks for this great working adapter.

EnergyFlow.Yield

Hey...

The data EnergyFlow.Yield is not the complete yield of the PV-Plant. The energy that is used for charching the battery is missing. Can you add data fields (day, month, year, total) so that all the yield of the plant can be logged?

Can not query settings: "internal communication error, try again later"

My PLENTICORE plus 10 seems to not support the setting Battery:ExternControl. I see always warnings in the ioBroker logs that the settings request is failing. I've checked this request and the property Battery:ExternControl seems to cause the error. If I remove this setting the Request succeeds. Can we somehow exclude this setting by configuration in ioBroker.

POST http://192.168.x.x/api/v1/settings
Content-Type: application/json
Authorization: Session *********************************
[
  {
    "moduleid": "devices:local",
    "settingids": [
      "Battery:ExternControl"
    ]
  }
]

HTTP/1.1 503 SERVICE UNAVAILABLE
Server: nginx/1.15.2
Date: Thu, 09 Sep 2021 09:01:18 GMT
Content-Type: application/json
Content-Length: 60
Connection: keep-alive
Access-Control-Allow-Origin: *

{
  "message": "internal communication error, try again later"
}
Device
Name: Kostal-Wechselrichter
Type designation: PLENTICORE plus 10
Article number: 10335959
UI version: 01.15.04581
MC version: 01.43
IOC version: 01.42
HW version: 0200
Guideline: DE VDE4105 cosphi=1
Battery input: released

Erweiterung der Eingabe mit einem Port

Hallo und vielen Dank für deine tolle Arbeit.

Besteht die Möglichkeit die Eingabe des Ports (anstelle der 80) mit einzubeziehen? Hintergrund ist die Abfrage eines nicht lokalen Wechselrichters, welcher über Portforwarding eine Freigabe hat.

Ich bin die Einstellungen mal händisch durchgegangen und habe dies erfolgreich getestet.

Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:

https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/StrathCole/ioBroker.plenticore

  • [E145] No news found for actual version 2.2.1
  • [E153] common.dependencies must contain {"js-controller": ">=1.5.8"} or {"js-controller": ">=2.0.0"} or {"js-controller": ">=3.0.0"}
  • [E605] No actual year found in copyright. Please add "Copyright (c) 2022 Marius Burkard [email protected]" at the end of README.md
  • [E701] No actual year found in LICENSE. Please add "Copyright (c) 2022 Marius Burkard [email protected]" at the start of LICENSE

Thanks,
your automatic adapter checker.

P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Some warnings

With latest changes to iobroker, adapter is throwing this warning several times:

adapter.objects.getObjectView is deprecated, and will be removed in the future. Please use adapter.getObjectView/Async. Report this to Developer!

Further: Travis fails on node.js 8 testing - but that is due to changes in iobroker and 8 is removed from adapter templates meanwhile anyways.

Going to send a pull request (if you want to accept it).
Works here for me and travis is also ok with it.

Falsche Ortsbestimmung für Kachelmann

Leider wird der Ort bei mir falsch bestimmt

Kachelmann nimmt den Ort lindenberg, ich wohne aber in der Nähe von Wuppertal.
Die Koordinaten in den Haupteinstellungen von IoBroker stimmen

"Warning: Request Settings ..." for each polling interval

Hey guys,

just want to let you know that I get a lot of new warnings for plenticore adapter in iobroker log since I updated the adapter too newest version 2.1.4

The warnings look all the same:

2021-01-04 10:30:17.658 - warn: plenticore.0 (20388) Requesting settings - [{"moduleid":"devices:local","processdataids":["Dc_P","DigitalIn","EM_State","HomeBat_P","HomeGrid_P","HomeOwn_P","HomePv_P","Home_P","Inverter:State","LimitEvuAbs"]},{"moduleid":"devices:local:ac","processdataids":["CosPhi","Frequency","L1_I","L1_P","L1_U","L2_I","L2_P","L2_U","L3_I","L3_P","L3_U","P","Q","S"]},{"moduleid":"devices:local:battery","processdataids":["Cycles","SoC","I","U","P"]},{"moduleid":"devices:local:pv1","processdataids":["I","U","P"]},{"moduleid":"devices:local:pv2","processdataids":["I","U","P"]},{"moduleid":"scb:export","processdataids":["PortalConActive"]},{"moduleid":"scb:statistic:EnergyFlow","processdataids":["Statistic:Autarky:Day","Statistic:Autarky:Month","Statistic:Autarky:Total","Statistic:Autarky:Year","Statistic:EnergyHome:Day","Statistic:EnergyHome:Month","Statistic:EnergyHome:Total","Statistic:EnergyHome:Year","Statistic:EnergyHomeBat:Day","Statistic:EnergyHomeBat:Month","Statistic:EnergyHomeBat:Total","Statistic:EnergyHomeBat:Year","Statistic:EnergyHomeGrid:Day","Statistic:EnergyHomeGrid:Month","Statistic:EnergyHomeGrid:Total","Statistic:EnergyHomeGrid:Year","Statistic:EnergyHomePv:Day","Statistic:EnergyHomePv:Month","Statistic:EnergyHomePv:Total","Statistic:EnergyHomePv:Year","Statistic:OwnConsumptionRate:Day","Statistic:OwnConsumptionRate:Month","Statistic:OwnConsumptionRate:Total","Statistic:OwnConsumptionRate:Year","Statistic:Yield:Day","Statistic:Yield:Month","Statistic:Yield:Total","Statistic:Yield:Year","Statistic:CO2Saving:Day","Statistic:CO2Saving:Month","Statistic:CO2Saving:Year","Statistic:CO2Saving:Total"]}]) failed with code 503: {"message":"internal communication error, try again later"}

Maybe, you can spend a minute and take a look for the reason of the new warnings.

Thanks in advance and best regards,
David

2.1.9 legt Datenpunkte unter Devices nicht mehr an

Mir ist eben aufgefallen, dass die Datenpunkte unter "Devices" nicht mehr aktualisiert wurden.
Löscht man den gesamten Pfad, werden diese auch nicht mehr neu angelegt.

Ein Downgrade auf 2.1.8 hat das Problem sofort behoben.

Warnings wegen nicht existierendem Objekt

Folgende Warnings kommen bei jedem Datenabruf:

(840) State "plenticore.0.forecast.day1.power.4h.generated" has no existing object, this might lead to an error in future versions
(840) State "plenticore.0.forecast.day1.power.4h.generated" has no existing object, this might lead to an error in future versions
(840) State "plenticore.0.forecast.day1.power.4h.generated" has no existing object, this might lead to an error in future versions

Dabei ist der Teil "4h" variabel. Mal 1h, 3h, ...
Der betreffende Datenpunkt ist nicht angelegt.

Stoppt man den Adapter, löscht "forecast.day1" komplett und startet den Adapter danach wieder, so wird der Datenpunkt angelegt.
Einen Tag später ist er dann wieder gelöscht und die Warnings trudeln erneut ein.

Dynamischer MinSoC immer aktiv

Hallo zusammen,

seit dem letzten Update des Adapters (v2.2.1) habe ich ein seltsames Verhalten festgestellt. Ich betreibe den Adapter mit einem Kostal Plenticore Plus 5.5 und einem BYD Batteriespeicher. Ich habe den MinSoC in der Weboberfläche des Plenticore Wechselrichters statisch auf 10 % festgelegt. Der dynamische MinSoC ist in der Konfiguration des Plenticore-Adapters und auch im Plenticore Wechselrichter selbst ausgeschaltet.

Etwa einen Tag nach dem Update habe ich festgestellt, dass sich plötzlich der MinSoC von 10 % auf 40 % geändert wurde, obwohl ich diesen nicht manuell gesetzt habe. Daraufhin habe ich im Plenticore-Adapter zu Testzwecken den min. MinSoc auf 9 % und den max. MinSoc auf 11 % eingestellt. Den dynamischen MinSoc habe ich nach wie vor deaktiviert.

Heute Nacht wurde der MinSoc ohne händisches Eingreifen wie von Zauberhand auf 11 % erhöht. Ich vermute deshalb, dass im Plenticore-Adapter der dynamische MinSoc auch dann angewendet wird, wenn dieser in der Konfiguration deaktiviert wurde.

Kann sich das mal jemand anschauen?

Vielen Dank vorab und viele Grüße!

Compatibility check to js-controller 3.3 and Admin5 React UI

Dear Adapter developer,

with js-controller 3.2 and js-controller 3.3 some additional checks were added to make sure that created objects match to the specifications and also written state values match to the object definition.

If something is not correct this is logged as 'warning' or 'info' log.

Please take the time to verify your adapter by ideally starting with a fresh instance and do some actions and verify the log. If you see a warn log there from these checks please adjust the adapter and fix the relevant cases.

For questions please refer to ioBroker/ioBroker.js-controller#1301

Additionally we are preparing Admin 5 which will have a completely rewritten UI. Please install Admin 5, activate that new UI and verify that the configuration of you adapter works as expected also there.

More informations on Admin 5 can be found in Forum https://forum.iobroker.net/topic/44282/test-adapter-admin-5-0-x-alpha-der-neuen-ui

Please close the issue after you checked it.

Thank you very much for your support!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.