Skip to content

April 16, 2026 · Release Summary#198

Merged
taulfsime merged 39 commits into
ALLTERCO:mainfrom
orlin369:main
Apr 16, 2026
Merged

April 16, 2026 · Release Summary#198
taulfsime merged 39 commits into
ALLTERCO:mainfrom
orlin369:main

Conversation

@orlin369

Copy link
Copy Markdown
Contributor

Pull Request: March 24 – April 16, 2026 · Release Summary

What's in this update

This update brings new device integrations, a BLU provisioning system, documentation standardisation across all MODBUS examples, and a set of production promotions. Changes span the the_pill/, blu-assistant/, and http-integrations/ areas.


For Installers

You wire devices — this update makes that easier and more consistent.

Standardised RS485 wiring diagram across every MODBUS example Every ## RS485 Wiring section in the repository now shows the same ASCII block diagram instead of inconsistent pin tables or bullet lists. You no longer need to interpret different formats across devices — the layout of The Pill 5-Terminal Add-on relative to the RS485 transceiver and the slave device is shown the same way everywhere.

GND note clarified The reliability note now reads "Always share GND between nodes if you share power" — the previous wording was unconditional and could cause confusion in isolated-supply setups.

New hardware you can connect:

  • GACIA AICB2SP smart circuit breaker — read voltage, current, power, energy, frequency, power factor, temperature and switch the breaker on/off over RS485
  • DFRobot SEN0492 laser ranging sensor — IP67-rated, 40–4000 mm, RS485/MODBUS-RTU, production-ready
  • MarsRock G2 SUN Series grid-tie micro-inverter — live AC power, grid voltage, DC input, temperature via RS485
  • EcoFlow STREAM Ultra — static load balancing over HTTP (cloud-independent)

BLU Assistant WiFi provisioning A two-script pair lets a BLU Assistant physical button trigger automatic Wi-Fi provisioning of nearby Gen3/Gen4 Shelly devices. Useful for commissioning devices on-site without touching each one individually.


For Integrators

You build systems — this update gives you cleaner primitives and broader device coverage.

ComWinTop MB308V refactor The mb308v.shelly.js script was significantly simplified: the verbose ENTITIES array and redundant FC/CRC_TABLE constants were removed, replaced with compact count variables. Configuration surface is cleaner. If you were building on top of this script, review the updated CONFIG block — SLAVE_ID default is now 2.

MODBUS HTTP Bridge (existing, now properly documented in the root index) modbus_http_bridge.shelly.js exposes any MODBUS-RTU slave over HTTP — GET and POST, JSON register descriptors, support for holding/input/coil/discrete register types, u16/i16/u32/i32/f32 data types, configurable byte and word order, and per-request slave address override. Use this as a universal gateway between RS485 buses and any HTTP-capable automation platform.

EcoFlow STREAM Ultra load balancing load_balancing_static.shelly.js integrates with EcoFlow's local API for static load management without cloud dependency. Full CONFIG/DEVICES_CFG reference documented in the README.

BLU WiFi provisioning wifi-provisioning.shelly.js BLE-scans for devices matching a configurable TARGET_MODEL_IDS array (full Gen3/Gen4 model ID reference in script comments), then provisions them as STA clients with retry queue. Designed to run alongside button-event-source.shelly.js.

MODBUS root README structure fixed Davis/, HTTP-Bridge/, and MarsRock/ were missing from the ## Structure index — all three now appear with descriptions. Folder list is alphabetically sorted.

9 scripts promoted to production status, 5 of which are in this period:

  • the_pill/MODBUS/ComWinTop/mb308v.shelly.js
  • the_pill/MODBUS/ComWinTop/mb308v_vc.shelly.js
  • the_pill/MODBUS/MarsRock/SUN-G2/sun_g2.shelly.js
  • the_pill/MODBUS/MarsRock/SUN-G2/sun_g2_vc.shelly.js
  • the_pill/MODBUS/wirenboard/WB-MIR-v-3/wb_mir_v3_ir.shelly.js

For DIY

You build for yourself and share what you learn — this update adds several new areas to explore.

MarsRock SUN-G2 — if you have a grid-tie micro-inverter on your solar setup, you can now read AC output power, grid voltage, DC input voltage and inverter temperature directly into Shelly Virtual Components. No cloud, no vendor app. Register map corrections and byte-order fixes went through several iterations in this period — the current scripts reflect validated addresses.

DFRobot SEN0492 — industrial laser distance sensor at 40–4000 mm, IP67. Scripts include a console reader and a Virtual Components version. A screenshot of the VC page is included in the README.

GACIA AICB2SP — smart circuit breaker with built-in metering. Read per-circuit consumption and control the breaker state over RS485. Register map was reverse-engineered from the KWS-303L/Tuya RS485 reference — notes in the script header if your unit returns unexpected values.

BLU Assistant button provisioning — walk into a room, press a button, and nearby unprovisioned Shelly devices join your Wi-Fi. The button-event-source.shelly.js / wifi-provisioning.shelly.js pair is designed to be readable and hackable. BLE scanning target list (TARGET_MODEL_IDS) is easy to customise.

EcoFlow STREAM Ultra — if you have this portable power station, load_balancing_static.shelly.js lets you manage load allocation locally using the device's HTTP API.


For End-Users

You have the system installed — here's what has changed in plain terms.

More devices are supported. Your installer or integrator can now connect MarsRock solar inverters, DFRobot distance sensors, GACIA smart circuit breakers, and EcoFlow STREAM Ultra power stations to your Shelly system and make their data visible in the Shelly app.

Wiring guides are now consistent. If someone is connecting a new RS485 device to your system, every device guide now uses the same clear wiring diagram format — less room for wiring mistakes during installation.

BLU device setup is faster. A single button press on a BLU Assistant device can now automatically connect nearby Shelly devices to your Wi-Fi network. This reduces commissioning time when new devices are being added to your installation.

Scripts are more stable. Several scripts that were marked "under development" have been tested and promoted to production status. If you had these running, no changes are needed on your end.


orlin369 and others added 30 commits March 25, 2026 23:33
…scripts

- button-event-source.shelly.js: routes physical button "one"/"two" events;
  button ONE triggers wifi-provisioning via Script.Eval
- wifi-provisioning.shelly.js: BLE scans for devices matching TARGET_MODEL_IDS
  (array of Gen3/Gen4 model IDs) and provisions them as WiFi STA clients with
  retry queue; includes full Gen3/Gen4 model ID reference in comments
- README.md: updated with section 4 documenting the two-script pair, updated
  TOC, added troubleshooting entries for the new scripts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add aicb2sp.shelly.js: polls voltage, current, power, energy,
  frequency, power factor, temperature; exposes switchOn/switchOff
- Add AICB2SP and GACIA vendor READMEs with register map and wiring
- Update MODBUS root README index with GACIA/ entry
- Update CHANGELOG

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add sen0492.shelly.js: console reader, polls distance and status
- Add sen0492_vc.shelly.js: console + Virtual Component (number:200)
- Add SEN0492 and DFRobot vendor READMEs with full register map,
  cable colours, and wiring table
- Update MODBUS root README index with DFRobot/ entry
- Promote both scripts to production
- Update CHANGELOG

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add screenshot.png showing Distance VC (188 mm) grouped under
  DFRobot SEN0492 in the Shelly UI
- Add Screenshot section to README with caption

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rder

Replace GRID_VOLTAGE (0x02) with AC_GRID_VOLTAGE (addr 70), update
DC_INPUT_VOLTAGE to addr 109, TEMPERATURE to addr 63 with offset 2,
set AC_OUTPUT_POWER byte order to LE, and remove AC_POWER_MIRROR.
Update README and file-header docs to match.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add JSDoc header with @title/@description/@status/@link, replace banner
comments with /* === SECTION === */ separators, and reindent to 4 spaces.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add stream-ultra/README.md (modes table, CONFIG/DEVICES_CFG reference,
credentials guide), ecoflow/README.md (folder overview), and update the
http-integrations/README.md index with the new entries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace verbose ENTITIES array and FC/CRC_TABLE constants with compact
count variables; remove wiring/spec comments; update SLAVE_ID to 2.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… examples

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… and wiring diagram update

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Orlin Dimitrov and others added 9 commits April 15, 2026 21:14
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace pin tables and bullet lists in all 19 MODBUS README wiring sections
with the canonical 5-Terminal Add-on ASCII block diagram. Also add missing
Davis/, HTTP-Bridge/, and MarsRock/ entries to the MODBUS root README structure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Qualify the GND sharing advice so it applies specifically when nodes
share power, avoiding confusion in isolated-supply setups.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@taulfsime taulfsime merged commit ff53b20 into ALLTERCO:main Apr 16, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants