Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## esphome_dsmr 1.0.5

Each field of the `DRIVER` table is on its own line, `host_api_min` and `host_api_max` included. FTW reads these fields line by line, so with both on the `DRIVER = {` line its bundled copy could not state its host API. No behaviour change.

## ctek 0.3.3

The `DRIVER` table's id is now `ctek`, the catalog id, instead of `ctek-chargestorm`. FTW compares the id of its bundled copy with the signed channel's to decide which file runs; the old spelling kept them from matching. No behaviour change.
Expand Down
4 changes: 2 additions & 2 deletions SUPPORT_STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ Catalog source is not proof that a target can install or run a driver.
| easee_cloud | 1.3.4 | blixt-l1 | not_assessed | — | not_recorded | not_assessed |
| esphome-dsmr | 1.0.3 | ftw-core | not_assessed | — | not_recorded | not_assessed |
| esphome-dsmr | 1.0.3 | blixt-l1 | not_assessed | — | not_recorded | not_assessed |
| esphome_dsmr | 1.0.4 | ftw-core | not_assessed | — | not_recorded | not_assessed |
| esphome_dsmr | 1.0.4 | blixt-l1 | not_assessed | — | not_recorded | not_assessed |
| esphome_dsmr | 1.0.5 | ftw-core | not_assessed | — | not_recorded | not_assessed |
| esphome_dsmr | 1.0.5 | blixt-l1 | not_assessed | — | not_recorded | not_assessed |
| etrel | 1.0.3 | ftw-core | not_assessed | — | not_recorded | not_assessed |
| etrel | 1.0.3 | blixt-l1 | not_assessed | — | not_recorded | not_assessed |
| ferroamp | 2.1.2 | ftw-core | not_assessed | — | not_recorded | not_assessed |
Expand Down
2 changes: 1 addition & 1 deletion devices.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@ manufacturers:
control: false
- protocol: http
driver: "esphome_dsmr"
version: "1.0.4"
version: "1.0.5"
ders: [meter]
control: false
firmware_versions: "DSMR 2022.10.1 on SlimmeLezer+; Sourceful Zap open firmware"
Expand Down
6 changes: 4 additions & 2 deletions drivers/lua/esphome_dsmr.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,13 @@
-- just re-reads the same numbers — default 5 s keeps the meter fresh
-- without hammering the ESP32's tiny TCP stack.

DRIVER = { host_api_min = 1, host_api_max = 1,
DRIVER = {
id = "esphome_dsmr",
name = "ESPHome DSMR (P1)",
manufacturer = "ESPHome",
version = "1.0.4",
version = "1.0.5",
host_api_min = 1,
host_api_max = 1,
protocols = { "http" },
capabilities = { "meter" },
description = "Smart meter via ESPHome web_server v3 + dsmr component (Sourceful Zap on open firmware, DIY ESP32+P1, etc.).",
Expand Down
2 changes: 1 addition & 1 deletion drivers/tests/lua_harness/test_esphome_dsmr_aliases.lua
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ end

dofile("drivers/lua/esphome_dsmr.lua")

if type(DRIVER) ~= "table" or DRIVER.id ~= "esphome_dsmr" or DRIVER.version ~= "1.0.4" then
if type(DRIVER) ~= "table" or DRIVER.id ~= "esphome_dsmr" or DRIVER.version ~= "1.0.5" then
error("ESPHome DSMR identity metadata is wrong")
end
if DRIVER.host_api_min ~= 1 or DRIVER.host_api_max ~= 1 or DRIVER.read_only ~= true then
Expand Down
6 changes: 3 additions & 3 deletions index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -213,15 +213,15 @@ drivers:
size_bytes: 16772
sha256: "f91e7c1769c239020b94aa75555dcaf830449d60d2bbbe54d09a969d2a423382"
- name: "esphome_dsmr"
version: "1.0.4"
version: "1.0.5"
tier: core
protocol: http
connectivity: local
setup: [bridge]
ders: [meter]
control: false
size_bytes: 16772
sha256: "4c51414c0eaa02d5d6e1319337e0355e4ea8af5ada3390604544ea152156b400"
size_bytes: 16776
sha256: "cae8f72ad3ddf56e8c5be28fcbfa7218801f87bfe7552c4f04394a60ef55bb3f"
- name: "etrel"
version: "1.0.3"
tier: community
Expand Down
6 changes: 3 additions & 3 deletions manifests/esphome_dsmr.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: "esphome_dsmr"
version: "1.0.4"
version: "1.0.5"
tier: core
author: "Sourceful Labs AB"
protocol: http
Expand All @@ -16,9 +16,9 @@ tested_devices:
notes: "Name-derived phase object_ids live-validated on SlimmeLezer+; explicit Sourceful aliases retained."
min_driver_version: "1.0.1"
min_host_version: "2.0.0"
size_bytes: 16772
size_bytes: 16776
dkb_id: "esphome_dsmr"
sha256: "4c51414c0eaa02d5d6e1319337e0355e4ea8af5ada3390604544ea152156b400"
sha256: "cae8f72ad3ddf56e8c5be28fcbfa7218801f87bfe7552c4f04394a60ef55bb3f"
signature: ""

bytecode_sha256: ""
2 changes: 1 addition & 1 deletion support-status.json
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,7 @@
},
{
"catalog_source": true,
"catalog_version": "1.0.4",
"catalog_version": "1.0.5",
"driver_id": "esphome_dsmr",
"targets": {
"blixt-l1": {
Expand Down
6 changes: 4 additions & 2 deletions tests/test_ftw_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,8 +210,10 @@ def test_esphome_dsmr_artifact_declares_one_ftw_host_api_range(
artifact = output / Path(driver["url"]).name
source = artifact.read_text(encoding="utf-8")

assert re.findall(r"(?m)^\s*host_api_min\s*=\s*([0-9]+)", source) == ["1"]
assert re.findall(r"(?m)^\s*host_api_max\s*=\s*([0-9]+)", source) == ["1"]
# The channel's header and the driver's own table may both state the
# range; every statement must agree.
assert set(re.findall(r"(?m)^\s*host_api_min\s*=\s*([0-9]+)", source)) == {"1"}
assert set(re.findall(r"(?m)^\s*host_api_max\s*=\s*([0-9]+)", source)) == {"1"}


def test_publication_is_deterministic(
Expand Down
Loading