@camstack/addon-provider-enpal 0.0.0-stage → 0.1.2
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 +12 -0
- package/README.md +38 -2
- package/assets/icon.svg +11 -0
- package/dist/addon.js +91427 -0
- package/dist/addon.mjs +91398 -0
- package/dist/index.js +31 -0
- package/dist/index.mjs +2 -0
- package/i18n/en.json +18 -0
- package/i18n/it.json +18 -0
- package/package.json +81 -4
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,39 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @camstack/addon-provider-enpal
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Enpal solar box provider for CamStack: the box is an integration, and the equipment it reports (photovoltaic, battery, grid, house, heat pump) is adopted as Container devices with history. There is no device for the box itself.
|
|
4
|
+
|
|
5
|
+
## What it does
|
|
6
|
+
|
|
7
|
+
- **Enpal** (`provider-enpal`): add an integration with the box's host. The addon polls the box's InfluxDB 2.x (or, as fallback, its local device page) and offers one Container per piece of equipment the box actually reports. Adopting a container adopts its children.
|
|
8
|
+
- Node placement: `hub-only`.
|
|
9
|
+
- Capabilities: `device-provider`, `device-adoption`.
|
|
10
|
+
|
|
11
|
+
Containers and their children (a container is offered only when the box reported at least one of its values; a child only when the box reported its value):
|
|
12
|
+
|
|
13
|
+
| Container | Child | Caps |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| Photovoltaic | Production | `power-meter` (W, lifetime kWh) |
|
|
16
|
+
| | Inverter temperature | `numeric-sensor` |
|
|
17
|
+
| Battery | Battery | `battery` (state of charge), `power-meter` (signed W, V, A) |
|
|
18
|
+
| | Energy charged / discharged | `meter` (lifetime kWh) |
|
|
19
|
+
| | Temperature, Health | `numeric-sensor` |
|
|
20
|
+
| Grid | Import, Export | `power-meter` (W, lifetime kWh) |
|
|
21
|
+
| House | Consumption | `power-meter` |
|
|
22
|
+
| Heat pump | Consumption | `power-meter` |
|
|
23
|
+
| | Hot water temperature, Outside temperature | `numeric-sensor` |
|
|
24
|
+
|
|
25
|
+
Removing the integration removes its devices. 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.
|
|
26
|
+
|
|
27
|
+
## Integration settings
|
|
28
|
+
|
|
29
|
+
- **Box host / IP** — the box on the LAN. The box does not advertise itself, so the integration is added by hand.
|
|
30
|
+
- **Source** — `auto` (InfluxDB when a token is set, the device page otherwise or when InfluxDB cannot be read), `influx`, or `page`.
|
|
31
|
+
- **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.
|
|
32
|
+
- **Poll interval** — 30 s by default, 10 s minimum.
|
|
33
|
+
- **Invert battery power sign** — flip it when charging shows as negative.
|
|
34
|
+
|
|
35
|
+
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.
|
|
36
|
+
|
|
37
|
+
## Requirements
|
|
38
|
+
|
|
39
|
+
- A CamStack hub on the same network as the box.
|
package/assets/icon.svg
ADDED
|
@@ -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>
|