Release v3.32

ModioAB/afase

New features:

  • Improvements for search result and presentation
  • Add suppport for Nibe S40 series
  • Allow prototypes to be edited by customer admins
  • Allow customer admins to edit Triggers & Titles
  • Add alfen to configuration interface for freqmeter & freqctrl
  • Add a UI to configure fever service
  • Add config file support for multiple mqtt servers
  • Add config validation to contain to check if other sections are valid
  • Make scada-fcr configurable via afase
  • add Identity and CTMode fields for freqmeter / freqctrl
  • Add more of our supported Inverters & frequency Meters to the list
  • Prevent changing container tag when a service has not been configured
  • Allow configuration of multiple freqmeter & freqctrl devices

Bug fixes:

  • Replace types-pkg-resources with types-setuptools
  • Fix up the freqmeter exports
  • Prevent empty config exports for collector, freqmeter, freqctrl
  • Fix python json logger 3.2.0
  • Add proper validation on item names

ModioAB/modio-api

New features:

  • V1 config delegates expected validation to submit-server
  • Add Dependent item to item-filter
  • Filter end user prototypes to intersect with the current instance only

ModioAB/mytemp-backend

New features:

  • modbus: Add value map data for enumerations
  • modbus: Add support for Nibe S40
  • hack: Add the Idle and Not Defined types for balans
  • Use modio-logger v0.10.0
  • mbus / modbus / collector: Reconnect to modio-logger each cycle
  • Drop debian 10 from supported platforms
  • Modernize some dependencies & settings after deprecating python 3.7
  • contain: Add fever-iec service to Network services
  • Bump modio-logger to 0.11.0
  • collector: Log/cmd from customer instance

Bug fixes:

  • contain: Do not start services all the time
  • modbus: Do not keep a long connection to modio-logger
  • Add IP Allow list for collector to reach private networks

ModioAB/submit

New features:

  • Store description data as JSON when it is sent from the device, and add value_map
  • Set up an error trigger for freqmeter/Freqctrl
  • Add missing keys (mqttbridge, net%103)
  • Add new eripx keys for setpoints and outdoor temps
  • Add eripx parameters as configurable items
  • Add balans time to active counter
  • Add the last error message from freqmeter to customer backends
  • Allow freqmeter counter/error/latencies to be reported to customers
  • Add mqttbridge.version to allowed keys
  • Allow Metadata updates for freqmeter/ctrl
  • add support for Collector Probe / Scan keys
  • Add support for balans tick + time before idle
  • Add the balans socrate key as well
  • Make balans service 100 & 101 available
  • Add metadata change notification from logger

Bug fixes:

  • Fix truncation of string values due to Text vs String data types
  • Ensure associated items are created when setting up metadata

Misc changes:

  • Allow devices to pass in the complete resulting item
  • Add an missing eripx key

ModioAB/CI

New features:

  • Update default images to Fedora 40
  • Make merge request workflow rules the default
  • Switch default Fedora release to 41

Bug fixes:

  • Fix invalid podman pull flags in container template

ModioAB/aiozabbix

New features:

  • Update packaging & fix type errors with new aiohttp

ModioAB/base-image

New features:

  • Update with Fedora 40 image defaults
  • Update storage config for podman to match official image
  • Drop fedora 39 from CI build matrix
  • Start building images for Fedora 41
  • Install DNF from future
  • Trim bootstrap image, and initialize for Fedora 41 builds
  • rust: Add bindgen + cmake to containers
  • Start building Fedora 42, and drop Fedora 40

Bug fixes:

  • Actually include Fedora 40 in the matrix
  • Trim documentation bloat from containers built with container container

ModioAB/build.mk

New features:

  • Prepare for DNF 5 transition

Bug fixes:

  • Update podman pull flag to match modern versions

ModioAB/clientconfig

New features:

  • Support identity and ctmode configurations for freqmeter/freqctrl
  • Prepare devices for Group Simulation
  • One more run of group sim tests.
  • Implement support for multiple freqmeter devices

Bug fixes:

  • tensorpack: Fix ip address

Misc changes:

  • Restore test topic ot grid devs
  • Solkraft: make development
  • Set development for six gh-boxes to be able to scan

ModioAB/containers

Bug fixes:

  • CI: Build fixes for Fedora-41

ModioAB/fcr-control

New features:

  • Add a "runtime" simulation mode for FCR selection
  • sim: Add more dynamic SoC limits
  • fcr: Don't log at high rate during power works
  • balans: Move default buffer value from global to per-class scope
  • Teach the FCR code to return Inverter control when not scheduled
  • Use the "new" Ctrl socket reader for total_power
  • Add an Idle scheduling item
  • Add support for KSTAR
  • Add metadata name/description/unit to fcr keys
  • Add support for Huawei SmartLogger
  • Add support for Zoe ECS
  • Add support for Pixii Powershaper
  • Make scheduled idle time configurable and reactive and implement dynamic SOC idle-scaling
  • Attempt to handle errors from the service not running
  • Log currently active services, add kw as available, and add a kw_max setting
  • implement storing of soc_rate and retrieving it again from modio-logger
  • Log the tick counter of the Balans service every minute
  • A fully working Group Simulation tool
  • Teach simulation that it can use power values from Inverter
  • Changes to scada-fcr from the GroupSim branch
  • Add support for FCR with multiple inverters
  • Rename FFR to FCRD
  • Add manual effect control schedule

Bug fixes:

  • Do not trigger AEM/NEM modes unless in FCR modes
  • Only log status every 10s from balans
  • schedule: Store balans.schedule on startup
  • Use modio-logger's Logger1 for Store() calls
  • schedule: Fix is_idle if a schedule is shorter than the period
  • schedule: Work around that we do not pass token from logger => subbmiter => submit
  • Clean out the logging bulk spam
  • Add a filter for NaN values in Hz/Ctrl readers
  • Fix idle_key parsing float strings as integers
  • fcr: Set a -1.0 value for time to active with no schedule
  • fcr: Properly log service state

Misc changes:

  • Estimate gentle charging rate in idle

ModioAB/fever-iec

New features:

  • Build & Test a container
  • Add a first prototype of a DBus service with properties
  • Add a first IEC client & socket opener

ModioAB/journal-gelf-proxy

Bug fixes:

  • CI: Build fixes for Fedora 41

ModioAB/modbus_lookup

New features:

  • Add an importer for APlus page 13 + data
  • Nibe-S: Add support for Nibe S-series devices
  • Add support for Goodwe BTC/ETC
  • Add support for Zoe ECS 100
  • ECL 310: Add registers for A266.9
  • Import registers for kstar
  • acuvim_ii: Add CT1/CT2/Basic Program registers
  • Do not store unnecessary decimal precision in CSV data factor

Bug fixes:

  • ECL310_A266_9: more readings in offsets group
  • Zoe: Adjust scaling values of some registers
  • aplus: Replace f32be with f32le
  • huawei: Rescale values properly (again)
  • Again with Huawei, and the inverted Scale

Misc changes:

  • ECL310_A266_9: add setpoint and scada-offset to groups

ModioAB/modio-contain

Bug fixes:

  • Work around gitlab-ci entrypoint script hanging with busybox as sh

ModioAB/modio-localapi

New features:

  • Bump zbus to version 4.4.x
  • Rustls upgrade
  • Add concurrency limits to the modio-logger infra
  • Updated outdated deps and add request-logging
  • Tell tower_http to add URI and request info at info level

ModioAB/modio-logger

New features:

  • Bump zbus to 4.x series
  • Pass the change token back to submit server

Bug fixes:

  • DB: Delete invalid rows from changes before migrating

ModioAB/nagger

New features:

  • Drop the (deprecated) include template in favour of our CI/default.yml

ModioAB/rust-fsipc

New features:

  • Bump zbus to 4.x series and fix deprecations
  • Upgrade zbus to version 5.x

ModioAB/scada-freqmeter

New features:

  • acuvim: Add CT1/CT2/Param Mode to read status
  • Move rumqttc to a devel branch to test the ipv6/happy eyeballs connectivity issue
  • GoodWe: Delay between reconnects due to TCP/Serial dongle
  • Add an DBus interface with a list of all inverters
  • Accuvim: Double the timeout needed in case we are sadder than usual
  • Add "Total Power" to GoodWeHV and rename GoodWeHV => GoodWeET
  • Re-import Zoe ECS from modbus_lookup and implement scaling
  • solax: Read feedin as total_power
  • solis: Add total power to readings, maybe even a correct one
  • Implement rudimentary support for connecting to multiple MQTT services
  • huawei: Always read power value
  • Implement initial support for Pixii devices
  • Also report stats to customer instances
  • Add tracking of setpoint changes
  • Implement the DBus side for ReadStatus also for Frequency meters
  • Make it possible to confiugure Acuvim via the config-files
  • Expose "identity" field on the dbus, and attempt to figure out remote MAC when connecting
  • huawei: Implement a state management and control of work mode
  • Bump rust edition to 2024 and update dependencies
  • Clarify if it is freqmeter or ctrl that logs data into zabbix
  • Implement watchdog for no new data on mqtt and for changed config files
  • Implement basic support for Capture Energy devices
  • Implement Tensorpack devices
  • Delay device initialization until runtime
  • Delay more device initialization until runtime
  • Implement support for multiple freq meters and rewrite error handling
  • Move initialization into a specific part of modbus code
  • Drop the "FreqMeter" Dbus API from Inverters
  • Implement MQTT broadcast and recieve of Frequency data
  • Misc refactorings that happend for MQTT development
  • Implement first part of Solis support
  • Initial implementation of Aplus meters
  • Implement support for multiple inverters
  • sungrow: Implement Charge command + power as one block
  • Improve logging around handling of timeouts
  • Add initial support for Alfen as an Inverter and Frequency meter
  • Split Kinds into Meters / Inverters
  • Add support for GoodWe BTC/ETC Inverters
  • Implement a proper abort procedure for Sungrow
  • Always reconnect after the first modbus timeout
  • Make read periods be defined per device
  • Implement total_power reading for sungrow devices
  • Add support for kstar inverters
  • Add initial support for Zoe Zbox inverter
  • Log error messages to customer instances too
  • alfen: Add Available Energy and Avg SoH registers
  • Bump huawei timings and disable TCP drain before write in favour of reconnect delay
  • kstar: use registers from modbus_lookup

Bug fixes:

  • Goodwe: Bump reconnect time as it seems to casue failures otherwise
  • log error stats & counters at each error
  • Do not save all previous socket-listeners
  • Adjust the Huawei scale when writing setpoints
  • mqtt: Actually update the read counter
  • Reduce the time we hold a lock on borrowed values in MQTT
  • Filter out NAN setpoints before sending upstream
  • sinexcel: Break apart initialization due to timeout
  • Reset "read" counts on start & fix freq_client accidentally closing socket
  • sungrow: Fix the BE/LE conversion
  • Do not block MQTT eventloop while publishing
  • Adjust service restart intervals and timeouts for Alfen

Misc changes:

  • Drop "total_power" from Freq data over Mqtt

ModioAB/spilo

Bug fixes:

  • Build fixes

ModioAB/sshca

Bug fixes:

  • Fix builds on Fedora 41

ModioAB/sysadmin

New features:

  • Molom-api: add v1
  • An initial MQTT role to develop with
  • Bump a.fa.se to release v3.32.0
  • afase: Bump to v3.32.3
  • Submit: bump version to v3.32.2
  • Bump submit to 3.32.6
  • Add kub.modio.se volumes for grafana / *.v.modio.se
  • kube/api: Add setting to use acme for tls
  • kub: Bump submit to 3.32.10

Bug fixes:

  • Bump nanomq cpu limit & explicitly configure queue lengths

Release v3.33

Release v3.31