@camstack/addon-provider-enpal 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ # Changelog
2
+
3
+ All notable changes to this package are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+
12
+ - Enpal solar box provider: InfluxDB 2.x source with the local device page as fallback, device adoption for PV, battery, grid, house and heat pump.
package/README.md CHANGED
@@ -1,3 +1,37 @@
1
- # Temporary Holding Version
1
+ # @camstack/addon-provider-enpal
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Enpal solar box device-provider addon for CamStack — PV production, inverter, battery, grid import/export, house consumption and heat pump as Sensor devices with history.
4
+
5
+ ## What it does
6
+
7
+ - **Enpal** (`provider-enpal`): add a box by its host; the box is a Hub device that polls the box's InfluxDB 2.x (or, as fallback, its local device page) and offers the data groups it actually reports for adoption.
8
+ - Node placement: `hub-only`.
9
+ - Capabilities: `device-provider`.
10
+
11
+ Devices (each adopted from the box's discovery panel, only when the box reports them):
12
+
13
+ | Device | Caps |
14
+ | --- | --- |
15
+ | PV production | `power-meter` (W, lifetime kWh) |
16
+ | Battery | `battery` (state of charge), `power-meter` (signed W, V, A) |
17
+ | Battery charged / discharged | `meter` (lifetime kWh) |
18
+ | Grid import / export | `power-meter` (W, lifetime kWh) |
19
+ | House consumption | `power-meter` |
20
+ | Heat pump, hot water, outside temperature | `power-meter` / `numeric-sensor` |
21
+ | Inverter / battery temperature, battery health | `numeric-sensor` |
22
+
23
+ An unreachable box marks its devices offline; it never publishes zeros. A lifetime counter that drops for one poll is held at its previous value.
24
+
25
+ ## Settings
26
+
27
+ - **Box host / IP** — the box on the LAN. The box does not advertise itself, so it is added by hand.
28
+ - **Source** — `auto` (InfluxDB when a token is set, the device page otherwise or when InfluxDB cannot be read), `influx`, or `page`.
29
+ - **InfluxDB access token** — issued by Enpal support (ask in the Enpal app chat). Stored in the keychain. Organisation (`enpal`), bucket (`solar`) and port (`8086`) default to the usual values.
30
+ - **Poll interval** — 30 s by default, 10 s minimum.
31
+ - **Invert battery power sign** — flip it when charging shows as negative.
32
+
33
+ Firmware 8.51 and later render the device rows of the device page only through a web socket; on those boxes the page fallback finds nothing and InfluxDB is required.
34
+
35
+ ## Requirements
36
+
37
+ - A CamStack hub on the same network as the box.
@@ -0,0 +1,11 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="#f5a623" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2
+ <circle cx="12" cy="12" r="4" />
3
+ <path d="M12 2v2" />
4
+ <path d="M12 20v2" />
5
+ <path d="M2 12h2" />
6
+ <path d="M20 12h2" />
7
+ <path d="M4.9 4.9l1.4 1.4" />
8
+ <path d="M17.7 17.7l1.4 1.4" />
9
+ <path d="M4.9 19.1l1.4-1.4" />
10
+ <path d="M17.7 6.3l1.4-1.4" />
11
+ </svg>