Skip to content

nobl/ioBroker.senec

Repository files navigation

Logo

ioBroker.senec

NPM version Downloads Number of Installations (latest) Number of Installations (stable) Known Vulnerabilities

NPM

Tests: Test and Release

senec adapter for ioBroker

Dokumentation DE
Documentation EN

Initially targeted at the Senec Home V2.1 System. In the Senec.Home system, only selected values can be changed by the adapter. Use of this functionality is at your own risk and must be activated manually in the configuration beforehand. Senec currently also no longer provides a reliable way to influence peak shaving via the web interface. For this purpose, mein-senec.de must be used. Whether other systems (e.g. V3) also work with it depends on whether they are also based on lala.cgi and provide the same JSON information. Even with integration into the Senec.Clound it is not guaranteed that the data can still be retrieved via the web interface (for this please report your experiences).

Systems that might work:

  • Senec Home 4.0 / Blei
  • Senec Home 6.0 Pb
  • Senec Home 8.0 / Blei
  • Senec Home 10.0 Pb
  • Senec Home 5.0/7.5/10.0 / Lithium
  • Senec Home 15.0 / Lithium
  • Senec Home V2 5.0/7.5/10.0
  • Senec Home V2 10.0 / Blei
  • Senec Home V2.1 1ph / Lithium
  • Senec.Home V3 Hybrid
  • Senec.Home V3 Hybrid duo
  • Senec Business 30.0 / Blei
  • Senec Business V2 30.0 / Blei
  • Senec Business 25.0 / Lithium
  • Senec Business V2_2ph / Lithium
  • Senec Business V2 3ph / Lithium
  • ADS Tec
  • OEM LG
  • Solarinvert Storage 10.0 / Blei

SENEC Systems that don't provide a local webinterface might be monitored by using the API functionality only. Please contact the developer if you have any input on this.

Disclaimer

All product and company names or logos are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them or any associated subsidiaries! This personal project is maintained in spare time and has no business goal.

Installation

You can install the adapter via the ioBroker web interface.

  1. Open your ioBroker web interface in a browser (eg: 192.168.178.42:8081)
  2. Click on Tab "Adapters"
  3. Type "senec" in the filter
  4. Click on the "+" symbol of the senec adapter

Setup

In addition to the adapter installation you have to add an instance of the adapter.

ioBroker

  1. Open your ioBroker interface in a browser (eg: 192.168.178.42:8081) (if configuration dialogue was opened automatically after installation, skip to 4.).
  2. Navigate to Tab "Instances"
  3. Click on the wrench symbol of the senec adapter
  4. Now you can see the main settings of the adapter configuration page.
    Main Settings 4.1 Type in the IP-address of your SENEC system (FQDN is also possible if you have a working local DNS).
    4.2 You can change the polling interval, too. (Default: 10 seconds for high priority data, 60 minutes for low priority data)
    Warning! If you are polling too often, your SENEC system will not be able to connect to the SENEC servers anymore! So please be aware of this!
    4.3 If your network requires a higher timeout for requests sent to SENEC, please change the Request-Timeout in miliseconds accordingly. (Default: 5000 miliseconds)
    4.4 In case there is an issue communicating with SENEC the adapter will retry several times. You can adjust how often it will try to read from SENEC. (Default: 10)
    4.5 To space retries apart a bit more you can adjust the Polling Retry Factor. (Default: 2)
    Example: Using default settings the 1st retry will happen 20 seconds after the initial try, the 2nd will happen 40 seconds after the 2nd try.
    After each successful connect to SENEC, the number of retries is reset.
  5. Click on Save & Close

Usage

Here you can find a description of the states (list is incomplete) and how to use them. All states of this adapter are read-only states.

Example States (States differ per System and Version)

Channel: info

  • info.connection

    Data type Permission
    boolean R

    Read-only boolean which is true if the adapter is connected to the senec system.

Channel: _api

This channel contains values polled from SENEC App-API.

Channel: BMS

  • MODULES_CONFIGURED

    Data type Permission
    number R

    Read-only number, which represents the number of modules currently configured in the system.

  • MODULE_COUNT

    Data type Permission
    number R

    Read-only number, which represents the number of modules currently known the system (incl. non-configured).

Channel: ENERGY

  • GUI_BAT_DATA_CURRENT

    Data type Permission
    number R

    Read-only number, which represents the battery's current in Amps.

  • GUI_BAT_DATA_FUEL_CHARGE

    Data type Permission
    number R

    Read-only number, which represents the current level of your battery system in %.

  • GUI_BAT_DATA_VOLTAGE

    Data type Permission
    number R

    Read-only number, which represents the battery's current voltage in volt.

  • GUI_BAT_DATA_POWER

    Data type Permission
    number R

    Read-only number, which represents how much power is coming from / going into the battery in Watts. Negative values are discharging.

  • GUI_BOOSTING_INFO

    Data type Permission
    boolean R

    Read-only boolean, which we don't know the exact meaning of yet.

  • GUI_CHARGING_INFO

    Data type Permission
    boolean R

    Read-only boolean, which represents if the battery is currently charging.

  • GUI_GRID_POW

    Data type Permission
    number R

    Read-only number, which represents the power currenty coming from / going into the grid in Watts. Negative values are sending into the grid.

  • GUI_HOUSE_POW

    Data type Permission
    number R

    Read-only number, which represents the power in Watts currently consumed by the house.

  • GUI_INVERTER_POWER

    Data type Permission
    number R

    Read-only number, which represents the current power supplied by your PV system.

  • STAT_HOURS_OF_OPERATION

    Data type Permission
    number R

    Read-only number, detailing the system's uptime in hours.

  • STAT_MAINT_REQUIRED

    Data type Permission
    boolean R

    Read-only boolean, which represents if your senec system requires maintenance.

  • STAT_STATE

    Data type Permission
    number R

    Read-only number, which represents the system's state.

  • STAT_STATE_Text

    Data type Permission
    string R

    Read-only string, which represents the system's state in human readable format (sorry - we only have the german states from senec).

Channel: SYS_UPDATE

  • NPU_IMAGE_VERSION

    Data type Permission
    number R

    Read-only number, representing the Revision NPU-IMAGE

  • NPU_VER

    Data type Permission
    number R

    Read-only number, representing the Revision NPU-REGS

  • UPDATE_AVAILABLE

    Data type Permission
    boolean R

    boolean-value which is true if there is an update available (Updates happen automatically and are scheduled by SENEC).

Channel: WIZARD

  • APPLICATION_VERSION

    Data type Permission
    string R

    Read-only text, representing the Revision MCU

  • CONFIG_LOADED

    Data type Permission
    boolean R

    boolean-value which is true if configuration is loaded. This being false is very unlikely and it shouldn't persist as false.

  • INTERFACE_VERSION

    Data type Permission
    string R

    Read-only text, representing the Revision GUI

  • SETUP_NUMBER_WALLBOXES

    Data type Permission
    number R

    Read-only number, which designates how many wallboxes are configured in the system.

  • SETUP_WALLBOX_SERIAL[0..3]

    Data type Permission
    number R

    Read-only number, which designates the number of wallbox [0..3]. This is only available on systems with configured wallboxes.

Deprecated / Removed

  • STATISTIC
  • Display
  • _calc (not relevant anymore since we lost STATISTIC)
  • BAT1OBJ[2-4]

Changelog

1.6.14

  • Bugfix (values were way off)

1.6.13 (NoBl)

  • Removed Support for node 16
  • Added more translations
  • Code cleanup

1.6.12 (NoBl)

  • Updated license

1.6.11 (NoBl)

  • Moving from Senec App API 3.12.0 to 4.3.3 (thanks to oakdesign@github for providing the new API!)
  • This WILL invalidate all current API datapoints in the Statistik branch. Easiest solution to this: Delete the Statistik branch.
  • Remember to force a rebuild of historic data in adapter settings!

1.6.10 (NoBl)

  • Bugfix for AllTimeHistory (should work again)

1.6.9 (NoBl)

  • Added switch in config to enable active control of appliance (you will need activate this, if you want to control the appliance via the adapter)
  • Improved handling of forced loading (please report if we need more appliance-states covered by this)
  • Minor improvements and bugfixes

1.6.8 (NoBl)

  • Added switch control.ForceLoadBattery to start/stop charging battery. Use this to start/stop forced charging (like with dynamic power prices, ...).

1.6.7 (NoBl)

  • Added option to turn off local polling.

1.6.6 (NoBl)

  • Node 16 required
  • Bugfixes
  • Removed non-existing branches: _calc, Bat1Obj[2-4], Display, Statistic, File
  • Added branches: CURRENT_IMBALANCE_CONTROL, BMZ_CURRENT_LIMITS, CELL_DEVIATION_ROC, SENEC_IO_OUTPUT, SENEC_IO_INPUT

1.6.5 (NoBl)

  • Added AllTime Statistics (trigger initial calculations in adapter settings)
  • https is now default for new instances

1.6.4 (NoBl)

  • Bugfix (numbers are numbers again)

1.6.3 (NoBl)

  • Code optimization

1.6.2 (NoBl)

  • Added statistics values from API along with some own calculations.

1.6.1 (NoBl)

  • Bugfixes

1.6.0 (NoBl)

  • Added option to also poll SENEC App API. This requires user credentials for mein-senec.de
  • We are starting with just some information - more to follow. But with Dashboard we at least have current values and day statistics back.

License

MIT License

Copyright (c) 2024 Norbert Bluemle github@bluemle.org

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.