Repository navigation
RBgrid v1.1.5
RBgrid v1.1.5
A release on top of v1.1.4: the tariff plan now survives a restart, and a three-phase input can be metered per phase.
Fixed
- The saved tariff plan was lost at every restart (power cut, reboot, firmware update). The hub fell back to its built-in placeholder plan "Test Day/Night" until the plan was saved again, and energy measured in between was costed at the placeholder's prices. The saved plan now comes back complete after a restart: name, zones, weekend days, per-kWh charges and VAT.
- After updating from v1.1.4, open Tariffs. If it shows "Test Day/Night", save your plan once more; from now on it stays.
New: a three-phase input as one point, or one point per phase
- A three-phase module (STD-U3I3) on the input can be metered:
- as one point: the phases are netted every 15 minutes, like a meter that sums the phases. Export on one phase is offset by import on the others.
- or as one point per phase: each phase has its own import and export, like a meter that counts each phase. Nothing is offset.
- Choose it in the app: Points → the STD-U3I3 card that carries the input → One point per phase / One point, phases netted. The hub applies it after a restart; the app offers the restart.
- The input point keeps its history on L1; L2 and L3 start from zero. Back to one point, the L2/L3 points are deleted and their totals move into the input, so the site's totals don't go down.
- With the input per phase, the hub's system totals (power, energy in/out, cost, export value, and Home Assistant) are the sum of all phases.
- Before installing an older firmware on a hub whose input is metered per phase, switch it back to one point: older firmware handles only one supply point.
Changed: Generation points
- A point with role Generation now counts the flow in the direction of the sensor arrow (from the source to the consumers) as production: negative power, energy into Energy Out.
- If you had set
invert_signon a Generation point to make it read production, clear it after updating (POST /api/v1/units/<id> {"invert_sign":false}).
Web app 1.1.5
- The three-phase input switch above.
- Tariffs: every zone shows its sell price whatever the net-metering setting (export-only tariffs such as SEG).
- Time: southern-hemisphere zones with summer time; "today" and hour axes start at the hub's real midnight on clock-change days.
- Car park: a three-phase charger bound as one point per conductor counts as one station when its points share a group.
- Its source is in
webapp/, and the built app is attached asrbgrid-ui_v1.1.5.zip. Full list:webapp/CHANGELOG.md.
Known limitation
- With the input metered per phase, history and money per period in the app (Economics balance, Overview month and "vs yesterday", the energy chart) show the L1 point only. Live values and the hub's system totals are the full sum. A summed history is planned for the next release.
Full list: CHANGELOG.md. User guide: webapp/docs/user/.
Files
| File | What it is |
|---|---|
main_release.bin |
Application image. Use it for an over-the-air update from the app (Settings → Hub firmware) or at 0x20000 for a USB flash. |
bootloader.bin, partition-table.bin, ota_data_initial.bin |
The other three files for a USB flash of a blank hub. |
rbgrid-ui_v1.1.5.zip |
The web app for the hub: kit/ + ui-manifest.json (built from webapp/ in this tag). |
THIRD_PARTY_LICENSES.md |
Open-source packages bundled in the web app. |
SHA256:
82dfe3db145f627254ea788a5321d5b2789edc4e14664abff1aa015e98decea2 main_release.bin
3a50c4260bff0ce0aa0f909f230bdf7b11c2f3bfc1f62f40300f4cb49161da1b bootloader.bin
8fbeacb18a26ac27c6500c00c4dfcd5ee5aac4c237312174d0cce5b4781e38ce partition-table.bin
7d2c7ac4888bfd75cd5f56e8d61f69595121183afc81556c876732fd3782c62f ota_data_initial.bin
f96add49392a69890b23bf4cce242aa0cbccdef9644c90f7f882262f69663c75 rbgrid-ui_v1.1.5.zip
Update
- Hubs on v1.1.x:
- Update over the air from the app (Settings → Hub firmware) with
main_release.bin. Wi-Fi, settings, points and history are kept. Right after an update the hub accepts the next one after about a minute. - Then install the new web app (below).
- Update over the air from the app (Settings → Hub firmware) with
- USB flash (ESP32, 16 MB):
python -m esptool --chip esp32 -p <PORT> -b 460800 write_flash --flash_mode dio --flash_size 16MB --flash_freq 40m \
0x1000 bootloader.bin 0x10000 partition-table.bin 0x17000 ota_data_initial.bin 0x20000 main_release.bin
- Flashing the four files as above keeps the hub's settings, Wi-Fi and history.
- To start clean, run
python -m esptool --chip esp32 -p <PORT> erase_flashfirst. - A clean (or new) hub starts its own Wi-Fi
rbgrid-xxxx(setup passwordRBGRID123). Openhttp://192.168.4.1/, choose your home Wi-Fi and enter its password.
Install the web app on the hub
Unzip rbgrid-ui_v1.1.5.zip, then:
HUB=http://<hub-address>
cd kit
for f in $(find . -type f | sed 's|^\./||'); do
curl -sf -X POST "$HUB/api/system/ui-upload?path=$f" -H 'Content-Type: application/octet-stream' --data-binary "@$f" || { echo "upload failed: $f"; exit 1; }
done
curl -sf -X POST "$HUB/api/system/ui-commit" -H 'Content-Type: application/json' --data-binary @../ui-manifest.jsonIf you have set an API token, add -H "Authorization: Bearer <token>" to both calls. Then open http://<hub-address>/. You can also use the hosted app at https://webapp.rbgrid.io.
Validation
The images in this release were validated on hardware (ESP32-WROVER, 16 MB, chip revision v1.1):
- over-the-air update from v1.1.4;
- USB flash of all four files, keeping settings, totals and the tariff plan;
- API contract 96/96;
- the tariff plan kept across restarts and updates;
- the three-phase input switched through the app both ways, each under load on the bench (one phase exporting): per phase, L1 and L3 counted import and L2 export; as one point, L2's export was netted against L1 and L3;
- a Generation point under load: negative power, energy into Energy Out;
- the web app on the hub.
A build from source produces a different SHA256 than these images: the build embeds its date and time. That's expected.