@rhizomatics/signalk-bluetti-plugin 1.4.1 → 1.5.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 +13 -0
- package/README.md +40 -4
- package/cli.js +71 -11
- package/devices/ac180.yaml +58 -0
- package/devices/ac180p.yaml +34 -0
- package/devices/ac180t.yaml +58 -0
- package/devices/ac200l.yaml +48 -0
- package/devices/ac200m.yaml +48 -0
- package/devices/ac200p.yaml +89 -0
- package/devices/ac200pl.yaml +48 -0
- package/devices/ac2a.yaml +34 -0
- package/devices/ac2p.yaml +34 -0
- package/devices/ac300.yaml +57 -0
- package/devices/ac500.yaml +56 -0
- package/devices/ac50b.yaml +31 -0
- package/devices/ac60.yaml +33 -0
- package/devices/ac60p.yaml +33 -0
- package/devices/ac70.yaml +62 -0
- package/devices/ac70p.yaml +58 -0
- package/devices/ap300.yaml +34 -0
- package/devices/eb3a.yaml +41 -0
- package/devices/el100v2.yaml +43 -0
- package/devices/el30v2.yaml +38 -0
- package/devices/ep2000.yaml +75 -0
- package/devices/ep500.yaml +57 -0
- package/devices/ep500p.yaml +57 -0
- package/devices/ep600.yaml +151 -0
- package/devices/ep760.yaml +72 -0
- package/devices/ep800.yaml +21 -0
- package/devices/handsfree1.yaml +62 -0
- package/devices/pr100v2.yaml +34 -0
- package/devices/pr30v2.yaml +34 -0
- package/docs/assets/icon.svg +36 -0
- package/docs/assets/screenshots/bluetti_data.png +0 -0
- package/docs/examples/model_definition.yaml +112 -0
- package/index.js +75 -32
- package/lib/path-mapper.js +51 -9
- package/lib/register-loader.js +120 -0
- package/lib/scanner.js +1 -1
- package/package.json +13 -6
- package/lib/csv-loader.js +0 -160
- package/registers/ac200p.csv +0 -47
- package/registers/el100v2.csv +0 -27
package/registers/ac200p.csv
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Bluetti register map example — based on AC200P / AC200MAX community reverse-engineering.
|
|
2
|
-
# Replace with your device's actual CSV. Columns the plugin recognises:
|
|
3
|
-
#
|
|
4
|
-
# field_name — a standard Bluetti register name (see lib/path-mapper.js
|
|
5
|
-
# for the ones the code already maps to a SignalK path),
|
|
6
|
-
# or any identifier you like if you're supplying signalk_path
|
|
7
|
-
# register_address — Modbus holding register number (decimal); leave blank
|
|
8
|
-
# for a fixed constant_value row instead (e.g. model specs)
|
|
9
|
-
# register_count — number of 16-bit registers this field spans (1 for uint16/int16, 2 for int32/float32)
|
|
10
|
-
# data_type — uint16 | int16 | uint32 | int32 | float32 | bool
|
|
11
|
-
# scale — multiply raw value by this to get physical value
|
|
12
|
-
# offset — add after scale (usually 0)
|
|
13
|
-
# unit — V | A | W | Wh | % | °C | Hz | min — drives SignalK unit conversion
|
|
14
|
-
# signalk_path — override; only needed for a register the code doesn't
|
|
15
|
-
# recognise by field_name. Use {name} where the device name goes
|
|
16
|
-
# constant_value — fixed value for a non-register row (register_address blank)
|
|
17
|
-
#
|
|
18
|
-
field_name,register_address,register_count,data_type,scale,offset,unit,signalk_path,constant_value
|
|
19
|
-
# ── Battery ────────────────────────────────────────────────────────────────
|
|
20
|
-
battery_percent,100,1,uint16,1,0,%,,
|
|
21
|
-
battery_voltage,101,1,uint16,0.1,0,V,,
|
|
22
|
-
battery_current,102,1,int16,0.1,0,A,,
|
|
23
|
-
battery_power,103,1,int16,1,0,W,,
|
|
24
|
-
battery_temperature,104,1,uint16,0.1,0,°C,,
|
|
25
|
-
# ── DC / Solar input ────────────────────────────────────────────────────────
|
|
26
|
-
dc_input_power,107,1,uint16,1,0,W,,
|
|
27
|
-
dc_input_voltage,108,1,uint16,0.1,0,V,,
|
|
28
|
-
dc_input_current,109,1,uint16,0.1,0,A,,
|
|
29
|
-
# ── AC output (inverter) ────────────────────────────────────────────────────
|
|
30
|
-
ac_output_power,110,1,uint16,1,0,W,,
|
|
31
|
-
ac_output_voltage,111,1,uint16,0.1,0,V,,
|
|
32
|
-
ac_output_current,112,1,uint16,0.1,0,A,,
|
|
33
|
-
ac_output_frequency,113,1,uint16,0.1,0,Hz,,
|
|
34
|
-
# ── AC input (charger / mains) ──────────────────────────────────────────────
|
|
35
|
-
ac_input_power,114,1,uint16,1,0,W,,
|
|
36
|
-
ac_input_voltage,115,1,uint16,0.1,0,V,,
|
|
37
|
-
ac_input_current,116,1,uint16,0.1,0,A,,
|
|
38
|
-
ac_input_frequency,117,1,uint16,0.1,0,Hz,,
|
|
39
|
-
# ── Internal temperature ────────────────────────────────────────────────────
|
|
40
|
-
internal_temperature,118,1,uint16,0.1,0,°C,,
|
|
41
|
-
# ── Estimated time remaining ────────────────────────────────────────────────
|
|
42
|
-
time_remaining_minutes,119,1,uint16,1,0,min,,
|
|
43
|
-
# ── Fixed model facts ────────────────────────────────────────────────────────
|
|
44
|
-
battery_chemistry,,,,,,,,LiFePO4
|
|
45
|
-
total_capacity,,,,,,Wh,,2000
|
|
46
|
-
battery_manufacturer_name,,,,,,,,Bluetti
|
|
47
|
-
battery_manufacturer_model,,,,,,,,AC200P
|
package/registers/el100v2.csv
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Bluetti Elite 100 V2 (EL100V2) register map
|
|
2
|
-
# Source: https://github.com/Patrick762/bluetti-bt-lib
|
|
3
|
-
# BaseDeviceV2 fields: BATTERY_SOC (102)
|
|
4
|
-
# EL100V2-specific fields: 140, 142, 144, 146, 1314
|
|
5
|
-
# Note: DEVICE_TYPE (110) and DEVICE_SN (116) are string/serial fields — omitted.
|
|
6
|
-
#
|
|
7
|
-
# field_name is a standard Bluetti register name — the code maps these to
|
|
8
|
-
# SignalK paths on its own (see lib/path-mapper.js). signalk_path is an
|
|
9
|
-
# override, only needed if you're exposing a register the code doesn't
|
|
10
|
-
# recognise. constant_value is for fixed, non-register facts about this model
|
|
11
|
-
# (register_address left blank for those rows).
|
|
12
|
-
#
|
|
13
|
-
field_name,register_address,register_count,data_type,scale,offset,unit,signalk_path,constant_value
|
|
14
|
-
battery_soc,102,1,uint16,1,0,%,,
|
|
15
|
-
dc_output_power,140,1,uint16,1,0,W,,
|
|
16
|
-
ac_output_power,142,1,uint16,1,0,W,,
|
|
17
|
-
dc_input_power,144,1,uint16,1,0,W,,
|
|
18
|
-
ac_input_power,146,1,uint16,1,0,W,,
|
|
19
|
-
ac_input_voltage,1314,1,uint16,0.1,0,V,,
|
|
20
|
-
# ── Fixed model facts ────────────────────────────────────────────────────────
|
|
21
|
-
battery_chemistry,,,,,,,,LiFePO4
|
|
22
|
-
total_capacity,,,,,,Wh,,1024
|
|
23
|
-
battery_manufacturer_name,,,,,,,,Bluetti
|
|
24
|
-
battery_manufacturer_model,,,,,,,,Elite 100 V2
|
|
25
|
-
# dc_output_power (140) only reports power, not current — this fixed nominal
|
|
26
|
-
# voltage (12V accessory port) is what lib/path-mapper.js derives current from.
|
|
27
|
-
dc_output_voltage,,,,,,V,,12
|