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

2.4.1 (2026-03-01)

  • Fixing issues with polling from senec api when token expires
  • Old entries in changelog moved to old.

2.4.0 (2026-02-28)

  • Senec changed login procedure (again). Adapter now also works with 2-stage login where senec asks for username/email first and password second.
  • Dependency updates

2.3.0 (2026-02-17)

  • Measurements for today and yesterday are also available by the hour
  • Measurements for month and previous month are also available by day
  • Measurements for year are also available by month
  • Unit calculation fixed if we don't know the unit yet per state_attr.js
  • Added definitions for cascadeDevicesCount and mode
  • Dependency update

2.2.2 (2026-02-06)

  • Migrated to i18n
  • Update handling of "new" states that are just an "extra" to an existing state like state and state.1 or state.42
  • Dependency Updates

2.2.1 (2026-02-06)

  • Fixed: History rebuild will only run once now when requested (remember: To force rebuild you need to configure this in settings)

2.2.0 (2026-02-05)

  • Polling yearly measurements as year from API - not months (and summing them up)
  • Added back AllTimeHistory with BATTERY_LEVEL_IN_PERCENT averaged and AUTARKY_IN_PERCENT calculated
  • Removed selection to use https or http for lala.cgi. https is enforced now.

2.1.3 (2026-02-04)

  • reading all previous years (up to inception of SENEC) added again (to make this happen: activate recalculation of full history via settings)
  • added today / yesterday again
  • optimizations for measurements handling
  • less log noise

2.1.2 (2026-02-04)

  • more silencing log messages
  • housekeeping

2.1.1 (2026-02-04)

  • fixed datatype for WIZARD.SG_READY_CURR_MODE
  • less logging (moved some info to debug again)

2.1.0 (2026-02-04) - the API returns - finally finally hopefully finally

  • Complete rewrite of the Senec API functionality. Thanks to @timfxtones for pointing me in the right direction
  • No longer using the web-interface at mein-senec.de - it didn't work properly on the long run ...
  • Still missing some datapoints so far. They will be implemented in the future.

2.0.0 (maett81, NoBl)

  • Updated to use new SENEC API via mein-senec.de - Thanks to @maett81
  • Some code and dependency housekeeping

License

MIT License

Copyright (c) 2020-2026 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.

About

ioBroker adapter for Senec Home

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors