@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/dist/index.js ADDED
@@ -0,0 +1,26 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_addon = require("./addon.js");
3
+ exports.ENPAL_SPECS = require_addon.ENPAL_SPECS;
4
+ exports.EnpalBoxDevice = require_addon.EnpalBoxDevice;
5
+ exports.EnpalBoxResolver = require_addon.EnpalBoxResolver;
6
+ exports.EnpalError = require_addon.EnpalError;
7
+ exports.EnpalIntegrationManager = require_addon.EnpalIntegrationManager;
8
+ exports.EnpalProviderAddon = require_addon.EnpalProviderAddon;
9
+ exports.EnpalSensorDevice = require_addon.EnpalSensorDevice;
10
+ exports.LifetimeCounterGuard = require_addon.LifetimeCounterGuard;
11
+ exports.availableSpecs = require_addon.availableSpecs;
12
+ exports.buildCandidates = require_addon.buildCandidates;
13
+ exports.buildConnectionFormSchema = require_addon.buildConnectionFormSchema;
14
+ exports.capsOfSpec = require_addon.capsOfSpec;
15
+ exports.computeSlices = require_addon.computeSlices;
16
+ exports.enpalBoxSchema = require_addon.enpalBoxSchema;
17
+ exports.enpalBoxes = require_addon.enpalBoxes;
18
+ exports.enpalConnectionSchema = require_addon.enpalConnectionSchema;
19
+ exports.enpalSensorSchema = require_addon.enpalSensorSchema;
20
+ exports.findSpec = require_addon.findSpec;
21
+ exports.parseSpecNativeId = require_addon.parseSpecNativeId;
22
+ exports.readConnection = require_addon.readConnection;
23
+ exports.readEnpalSnapshot = require_addon.readEnpalSnapshot;
24
+ exports.settingsToConnection = require_addon.settingsToConnection;
25
+ exports.slugifyHost = require_addon.slugifyHost;
26
+ exports.specNativeId = require_addon.specNativeId;
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import { C as slugifyHost, EnpalProviderAddon, S as settingsToConnection, _ as buildConnectionFormSchema, a as enpalBoxes, b as enpalSensorSchema, c as readEnpalSnapshot, d as specNativeId, f as ENPAL_SPECS, g as findSpec, h as computeSlices, i as EnpalBoxResolver, l as buildCandidates, m as capsOfSpec, n as EnpalSensorDevice, o as EnpalIntegrationManager, p as availableSpecs, r as LifetimeCounterGuard, s as EnpalError, t as EnpalBoxDevice, u as parseSpecNativeId, v as enpalBoxSchema, x as readConnection, y as enpalConnectionSchema } from "./addon.mjs";
2
+ export { ENPAL_SPECS, EnpalBoxDevice, EnpalBoxResolver, EnpalError, EnpalIntegrationManager, EnpalProviderAddon, EnpalSensorDevice, LifetimeCounterGuard, availableSpecs, buildCandidates, buildConnectionFormSchema, capsOfSpec, computeSlices, enpalBoxSchema, enpalBoxes, enpalConnectionSchema, enpalSensorSchema, findSpec, parseSpecNativeId, readConnection, readEnpalSnapshot, settingsToConnection, slugifyHost, specNativeId };
package/i18n/en.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "connection.s_identity.title": "Box",
3
+ "connection.s_identity.name.label": "Name",
4
+ "connection.s_identity.host.label": "Box host / IP",
5
+ "connection.s_source.title": "Data source",
6
+ "connection.s_source.description": "InfluxDB needs the access token Enpal support issues (ask in the Enpal app chat). Without it the box device page is used.",
7
+ "connection.s_source.source.label": "Source",
8
+ "connection.s_source.source.o_auto.label": "Automatic (InfluxDB, then device page)",
9
+ "connection.s_source.source.o_influx.label": "InfluxDB only",
10
+ "connection.s_source.source.o_page.label": "Device page only",
11
+ "connection.s_source.token.label": "InfluxDB access token",
12
+ "connection.s_source.org.label": "InfluxDB organisation",
13
+ "connection.s_source.bucket.label": "InfluxDB bucket",
14
+ "connection.s_source.influxPort.label": "InfluxDB port",
15
+ "connection.s_source.pagePort.label": "Device page port",
16
+ "connection.s_polling.title": "Polling",
17
+ "connection.s_polling.pollIntervalMs.label": "Poll interval (ms)",
18
+ "connection.s_polling.invertBatteryPower.label": "Invert battery power sign"
19
+ }
package/i18n/it.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "connection.s_identity.title": "Box",
3
+ "connection.s_identity.name.label": "Nome",
4
+ "connection.s_identity.host.label": "Host / IP del box",
5
+ "connection.s_source.title": "Origine dei dati",
6
+ "connection.s_source.description": "InfluxDB richiede il token di accesso rilasciato dal supporto Enpal (chiedilo nella chat dell'app Enpal). Senza token si usa la pagina del dispositivo.",
7
+ "connection.s_source.source.label": "Origine",
8
+ "connection.s_source.source.o_auto.label": "Automatica (InfluxDB, poi pagina del dispositivo)",
9
+ "connection.s_source.source.o_influx.label": "Solo InfluxDB",
10
+ "connection.s_source.source.o_page.label": "Solo pagina del dispositivo",
11
+ "connection.s_source.token.label": "Token di accesso InfluxDB",
12
+ "connection.s_source.org.label": "Organizzazione InfluxDB",
13
+ "connection.s_source.bucket.label": "Bucket InfluxDB",
14
+ "connection.s_source.influxPort.label": "Porta InfluxDB",
15
+ "connection.s_source.pagePort.label": "Porta pagina dispositivo",
16
+ "connection.s_polling.title": "Polling",
17
+ "connection.s_polling.pollIntervalMs.label": "Intervallo di polling (ms)",
18
+ "connection.s_polling.invertBatteryPower.label": "Inverti il segno della potenza batteria"
19
+ }
package/package.json CHANGED
@@ -1,6 +1,80 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-enpal",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.1",
4
+ "description": "Enpal solar-box device-provider addon for CamStack — PV, battery, grid, house and heat-pump readings from the box's local InfluxDB (device page as fallback)",
5
+ "keywords": [
6
+ "camstack",
7
+ "addon",
8
+ "camstack-addon",
9
+ "enpal",
10
+ "solar",
11
+ "battery",
12
+ "influxdb",
13
+ "provider"
14
+ ],
15
+ "license": "MIT",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/camstack/server.git",
19
+ "directory": "packages/addon-provider-enpal"
20
+ },
21
+ "homepage": "https://camstack-docs.zentik.app",
22
+ "bugs": {
23
+ "url": "https://github.com/camstack/server/issues"
24
+ },
25
+ "main": "./dist/index.js",
26
+ "module": "./dist/index.mjs",
27
+ "exports": {
28
+ ".": {
29
+ "import": "./dist/index.mjs",
30
+ "require": "./dist/index.js"
31
+ },
32
+ "./package.json": "./package.json"
33
+ },
34
+ "camstack": {
35
+ "displayName": "Enpal Provider",
36
+ "addons": [
37
+ {
38
+ "id": "provider-enpal",
39
+ "category": "providers",
40
+ "name": "Enpal",
41
+ "version": "0.1.0",
42
+ "description": "Adopt an Enpal solar box over the local network (InfluxDB, device page as fallback): PV production, battery charge and power, grid import and export, house consumption and heat pump",
43
+ "entry": "./dist/addon.js",
44
+ "icon": "assets/icon.svg",
45
+ "color": "#f5a623",
46
+ "instanceMode": "multiple",
47
+ "mode": "standalone",
48
+ "execution": {
49
+ "placement": "hub-only"
50
+ },
51
+ "capabilities": [
52
+ {
53
+ "name": "device-provider"
54
+ }
55
+ ]
56
+ }
57
+ ]
58
+ },
59
+ "files": [
60
+ "dist",
61
+ "i18n",
62
+ "assets",
63
+ "README.md",
64
+ "CHANGELOG.md"
65
+ ],
66
+ "scripts": {
67
+ "build": "vite build",
68
+ "dev": "vite build --watch",
69
+ "typecheck": "tsc --noEmit -p tsconfig.spec.json",
70
+ "test": "vitest run",
71
+ "publish:npm": "npm publish --access public"
72
+ },
73
+ "devDependencies": {
74
+ "@camstack/types": "*",
75
+ "typescript": "~6.0.3",
76
+ "vite": "^8.0.11",
77
+ "vitest": "^2.0.0",
78
+ "zod": "^4.3.6"
79
+ }
80
+ }