homebridge-enphase-envoy 10.2.6-beta.1 → 10.2.6-beta.11
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 +10 -0
- package/package.json +1 -1
- package/src/customcharacteristics.js +190 -162
- package/src/energymeter.js +7 -9
- package/src/envoydata.js +5 -8
- package/src/envoydevice.js +180 -133
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
- after update to v10.0.0 and above the accessory and bridge need to be removed from the homebridge / Home.app and added again
|
|
11
11
|
|
|
12
|
+
## [10.2.6] - (18.10.2025)
|
|
13
|
+
|
|
14
|
+
## Changes
|
|
15
|
+
|
|
16
|
+
- fix [#216](https://github.com/grzegorz914/homebridge-enphase-envoy/issues/216)
|
|
17
|
+
- fix [#217](https://github.com/grzegorz914/homebridge-enphase-envoy/issues/217)
|
|
18
|
+
- fix wireless connections kit publish
|
|
19
|
+
- added network interface services
|
|
20
|
+
- cleanup
|
|
21
|
+
|
|
12
22
|
## [10.2.5] - (17.10.2025)
|
|
13
23
|
|
|
14
24
|
## Changes
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"private": false,
|
|
3
3
|
"displayName": "Enphase Envoy",
|
|
4
4
|
"name": "homebridge-enphase-envoy",
|
|
5
|
-
"version": "10.2.6-beta.
|
|
5
|
+
"version": "10.2.6-beta.11",
|
|
6
6
|
"description": "Homebridge p7ugin for Photovoltaic Energy System manufactured by Enphase.",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": "grzegorz914",
|
|
@@ -251,6 +251,18 @@ export default (api) => {
|
|
|
251
251
|
}
|
|
252
252
|
Characteristic.EnpowerGridMode = EnpowerGridMode;
|
|
253
253
|
|
|
254
|
+
class AddressIp extends Characteristic {
|
|
255
|
+
constructor() {
|
|
256
|
+
super('Address IP', '00000029-000B-1000-8000-0026BB765291');
|
|
257
|
+
this.setProps({
|
|
258
|
+
format: Formats.STRING,
|
|
259
|
+
perms: [Perms.PAIRED_READ, Perms.NOTIFY]
|
|
260
|
+
});
|
|
261
|
+
this.value = this.getDefaultValue();
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
Characteristic.AddressIp = AddressIp;
|
|
265
|
+
|
|
254
266
|
class GeneratorState extends Characteristic {
|
|
255
267
|
constructor() {
|
|
256
268
|
super('Generator state', '00000301-000B-1000-8000-0026BB765291');
|
|
@@ -1073,8 +1085,8 @@ export default (api) => {
|
|
|
1073
1085
|
this.setProps({
|
|
1074
1086
|
format: Formats.FLOAT,
|
|
1075
1087
|
unit: 'A',
|
|
1076
|
-
maxValue:
|
|
1077
|
-
minValue: -
|
|
1088
|
+
maxValue: 1000000,
|
|
1089
|
+
minValue: -1000000,
|
|
1078
1090
|
minStep: 0.1,
|
|
1079
1091
|
perms: [Perms.PAIRED_READ, Perms.NOTIFY]
|
|
1080
1092
|
});
|
|
@@ -1880,56 +1892,7 @@ export default (api) => {
|
|
|
1880
1892
|
}
|
|
1881
1893
|
Service.EnvoyService = EnvoyService;
|
|
1882
1894
|
|
|
1883
|
-
//
|
|
1884
|
-
class WirelessConnectionKitService extends Service {
|
|
1885
|
-
constructor(displayName, subtype) {
|
|
1886
|
-
super(displayName, '00000010-000A-1000-8000-0026BB765291', subtype);
|
|
1887
|
-
// Mandatory Characteristics
|
|
1888
|
-
this.addCharacteristic(Characteristic.Connected);
|
|
1889
|
-
// Optional Characteristics
|
|
1890
|
-
this.addOptionalCharacteristic(Characteristic.Type);
|
|
1891
|
-
this.addOptionalCharacteristic(Characteristic.SignalStrength);
|
|
1892
|
-
this.addOptionalCharacteristic(Characteristic.SignalStrengthMax);
|
|
1893
|
-
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
1894
|
-
}
|
|
1895
|
-
}
|
|
1896
|
-
Service.WirelessConnectionKitService = WirelessConnectionKitService;
|
|
1897
|
-
|
|
1898
|
-
//Microinverter service
|
|
1899
|
-
class MicroinverterService extends Service {
|
|
1900
|
-
constructor(displayName, subtype) {
|
|
1901
|
-
super(displayName, '00000007-000A-1000-8000-0026BB765291', subtype);
|
|
1902
|
-
// Mandatory Characteristics
|
|
1903
|
-
this.addCharacteristic(Characteristic.Status);
|
|
1904
|
-
// Optional Characteristics
|
|
1905
|
-
this.addOptionalCharacteristic(Characteristic.Producing);
|
|
1906
|
-
this.addOptionalCharacteristic(Characteristic.Communicating);
|
|
1907
|
-
this.addOptionalCharacteristic(Characteristic.Provisioned);
|
|
1908
|
-
this.addOptionalCharacteristic(Characteristic.Operating);
|
|
1909
|
-
this.addOptionalCharacteristic(Characteristic.GfiClear);
|
|
1910
|
-
this.addOptionalCharacteristic(Characteristic.Phase);
|
|
1911
|
-
this.addOptionalCharacteristic(Characteristic.Firmware);
|
|
1912
|
-
this.addOptionalCharacteristic(Characteristic.PowerW);
|
|
1913
|
-
this.addOptionalCharacteristic(Characteristic.PowerPeakW);
|
|
1914
|
-
this.addOptionalCharacteristic(Characteristic.EnergyTodayWh);
|
|
1915
|
-
this.addOptionalCharacteristic(Characteristic.EnergyYesterdayWh);
|
|
1916
|
-
this.addOptionalCharacteristic(Characteristic.EnergyLastSevenDays);
|
|
1917
|
-
this.addOptionalCharacteristic(Characteristic.EnergyLifetime);
|
|
1918
|
-
this.addOptionalCharacteristic(Characteristic.Current);
|
|
1919
|
-
this.addOptionalCharacteristic(Characteristic.Voltage);
|
|
1920
|
-
this.addOptionalCharacteristic(Characteristic.Frequency);
|
|
1921
|
-
this.addOptionalCharacteristic(Characteristic.CurrentDc);
|
|
1922
|
-
this.addOptionalCharacteristic(Characteristic.VoltageDc);
|
|
1923
|
-
this.addOptionalCharacteristic(Characteristic.Temperature);
|
|
1924
|
-
this.addOptionalCharacteristic(Characteristic.PlcLevel);
|
|
1925
|
-
this.addOptionalCharacteristic(Characteristic.GridProfile);
|
|
1926
|
-
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
1927
|
-
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
1928
|
-
}
|
|
1929
|
-
}
|
|
1930
|
-
Service.MicroinverterService = MicroinverterService;
|
|
1931
|
-
|
|
1932
|
-
//qrelay service
|
|
1895
|
+
//Qrelay service
|
|
1933
1896
|
class QrelayService extends Service {
|
|
1934
1897
|
constructor(displayName, subtype) {
|
|
1935
1898
|
super(displayName, '00000002-000A-1000-8000-0026BB765291', subtype);
|
|
@@ -1960,50 +1923,6 @@ export default (api) => {
|
|
|
1960
1923
|
}
|
|
1961
1924
|
Service.QrelayService = QrelayService;
|
|
1962
1925
|
|
|
1963
|
-
//AC Batterie service
|
|
1964
|
-
class AcBatterieService extends Service {
|
|
1965
|
-
constructor(displayName, subtype) {
|
|
1966
|
-
super(displayName, '00000006-000A-1000-8000-0026BB765291', subtype);
|
|
1967
|
-
// Mandatory Characteristics
|
|
1968
|
-
this.addCharacteristic(Characteristic.ChargeState);
|
|
1969
|
-
// Optional Characteristics
|
|
1970
|
-
this.addOptionalCharacteristic(Characteristic.Status);
|
|
1971
|
-
this.addOptionalCharacteristic(Characteristic.Producing);
|
|
1972
|
-
this.addOptionalCharacteristic(Characteristic.Communicating);
|
|
1973
|
-
this.addOptionalCharacteristic(Characteristic.Provisioned);
|
|
1974
|
-
this.addOptionalCharacteristic(Characteristic.Operating);
|
|
1975
|
-
this.addOptionalCharacteristic(Characteristic.GfiClear);
|
|
1976
|
-
this.addOptionalCharacteristic(Characteristic.SleepEnabled);
|
|
1977
|
-
this.addOptionalCharacteristic(Characteristic.PercentFull);
|
|
1978
|
-
this.addOptionalCharacteristic(Characteristic.MaxCellTemp);
|
|
1979
|
-
this.addOptionalCharacteristic(Characteristic.SleepMinSoc);
|
|
1980
|
-
this.addOptionalCharacteristic(Characteristic.SleepMaxSoc);
|
|
1981
|
-
this.addOptionalCharacteristic(Characteristic.Firmware);
|
|
1982
|
-
this.addOptionalCharacteristic(Characteristic.PlcLevel);
|
|
1983
|
-
this.addOptionalCharacteristic(Characteristic.GridProfile);
|
|
1984
|
-
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
1985
|
-
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
1986
|
-
}
|
|
1987
|
-
}
|
|
1988
|
-
Service.AcBatterieService = AcBatterieService;
|
|
1989
|
-
|
|
1990
|
-
//AC Batterie summary service
|
|
1991
|
-
class AcBatterieSummaryService extends Service {
|
|
1992
|
-
constructor(displayName, subtype) {
|
|
1993
|
-
super(displayName, '00000005-000A-1000-8000-0026BB765291', subtype);
|
|
1994
|
-
// Mandatory Characteristics
|
|
1995
|
-
this.addCharacteristic(Characteristic.ChargeState);
|
|
1996
|
-
// Optional Characteristics
|
|
1997
|
-
this.addOptionalCharacteristic(Characteristic.Power);
|
|
1998
|
-
this.addOptionalCharacteristic(Characteristic.Energy);
|
|
1999
|
-
this.addOptionalCharacteristic(Characteristic.PercentFull);
|
|
2000
|
-
this.addOptionalCharacteristic(Characteristic.ActiveCount);
|
|
2001
|
-
this.addOptionalCharacteristic(Characteristic.GridProfile);
|
|
2002
|
-
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2003
|
-
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2004
|
-
}
|
|
2005
|
-
}
|
|
2006
|
-
Service.AcBatterieSummaryService = AcBatterieSummaryService;
|
|
2007
1926
|
|
|
2008
1927
|
//Meters service
|
|
2009
1928
|
class MeterService extends Service {
|
|
@@ -2058,24 +1977,109 @@ export default (api) => {
|
|
|
2058
1977
|
}
|
|
2059
1978
|
Service.PowerAndEnergyService = PowerAndEnergyService;
|
|
2060
1979
|
|
|
2061
|
-
//
|
|
2062
|
-
class
|
|
1980
|
+
//AC Batterie summary service
|
|
1981
|
+
class AcBatterieSummaryService extends Service {
|
|
2063
1982
|
constructor(displayName, subtype) {
|
|
2064
|
-
super(displayName, '
|
|
1983
|
+
super(displayName, '00000005-000A-1000-8000-0026BB765291', subtype);
|
|
1984
|
+
// Mandatory Characteristics
|
|
1985
|
+
this.addCharacteristic(Characteristic.ChargeState);
|
|
1986
|
+
// Optional Characteristics
|
|
1987
|
+
this.addOptionalCharacteristic(Characteristic.Power);
|
|
1988
|
+
this.addOptionalCharacteristic(Characteristic.Energy);
|
|
1989
|
+
this.addOptionalCharacteristic(Characteristic.PercentFull);
|
|
1990
|
+
this.addOptionalCharacteristic(Characteristic.ActiveCount);
|
|
1991
|
+
this.addOptionalCharacteristic(Characteristic.GridProfile);
|
|
1992
|
+
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
1993
|
+
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
1994
|
+
}
|
|
1995
|
+
}
|
|
1996
|
+
Service.AcBatterieSummaryService = AcBatterieSummaryService;
|
|
1997
|
+
|
|
1998
|
+
//AC Batterie service
|
|
1999
|
+
class AcBatterieService extends Service {
|
|
2000
|
+
constructor(displayName, subtype) {
|
|
2001
|
+
super(displayName, '00000006-000A-1000-8000-0026BB765291', subtype);
|
|
2002
|
+
// Mandatory Characteristics
|
|
2003
|
+
this.addCharacteristic(Characteristic.ChargeState);
|
|
2004
|
+
// Optional Characteristics
|
|
2005
|
+
this.addOptionalCharacteristic(Characteristic.Status);
|
|
2006
|
+
this.addOptionalCharacteristic(Characteristic.Producing);
|
|
2007
|
+
this.addOptionalCharacteristic(Characteristic.Communicating);
|
|
2008
|
+
this.addOptionalCharacteristic(Characteristic.Provisioned);
|
|
2009
|
+
this.addOptionalCharacteristic(Characteristic.Operating);
|
|
2010
|
+
this.addOptionalCharacteristic(Characteristic.GfiClear);
|
|
2011
|
+
this.addOptionalCharacteristic(Characteristic.SleepEnabled);
|
|
2012
|
+
this.addOptionalCharacteristic(Characteristic.PercentFull);
|
|
2013
|
+
this.addOptionalCharacteristic(Characteristic.MaxCellTemp);
|
|
2014
|
+
this.addOptionalCharacteristic(Characteristic.SleepMinSoc);
|
|
2015
|
+
this.addOptionalCharacteristic(Characteristic.SleepMaxSoc);
|
|
2016
|
+
this.addOptionalCharacteristic(Characteristic.Firmware);
|
|
2017
|
+
this.addOptionalCharacteristic(Characteristic.PlcLevel);
|
|
2018
|
+
this.addOptionalCharacteristic(Characteristic.GridProfile);
|
|
2019
|
+
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2020
|
+
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2021
|
+
}
|
|
2022
|
+
}
|
|
2023
|
+
Service.AcBatterieService = AcBatterieService;
|
|
2024
|
+
|
|
2025
|
+
|
|
2026
|
+
//Microinverter service
|
|
2027
|
+
class MicroinverterService extends Service {
|
|
2028
|
+
constructor(displayName, subtype) {
|
|
2029
|
+
super(displayName, '00000007-000A-1000-8000-0026BB765291', subtype);
|
|
2065
2030
|
// Mandatory Characteristics
|
|
2066
2031
|
this.addCharacteristic(Characteristic.Status);
|
|
2067
2032
|
// Optional Characteristics
|
|
2033
|
+
this.addOptionalCharacteristic(Characteristic.Producing);
|
|
2068
2034
|
this.addOptionalCharacteristic(Characteristic.Communicating);
|
|
2035
|
+
this.addOptionalCharacteristic(Characteristic.Provisioned);
|
|
2069
2036
|
this.addOptionalCharacteristic(Characteristic.Operating);
|
|
2070
2037
|
this.addOptionalCharacteristic(Characteristic.GfiClear);
|
|
2038
|
+
this.addOptionalCharacteristic(Characteristic.Phase);
|
|
2071
2039
|
this.addOptionalCharacteristic(Characteristic.Firmware);
|
|
2040
|
+
this.addOptionalCharacteristic(Characteristic.PowerW);
|
|
2041
|
+
this.addOptionalCharacteristic(Characteristic.PowerPeakW);
|
|
2042
|
+
this.addOptionalCharacteristic(Characteristic.EnergyTodayWh);
|
|
2043
|
+
this.addOptionalCharacteristic(Characteristic.EnergyYesterdayWh);
|
|
2044
|
+
this.addOptionalCharacteristic(Characteristic.EnergyLastSevenDays);
|
|
2045
|
+
this.addOptionalCharacteristic(Characteristic.EnergyLifetime);
|
|
2046
|
+
this.addOptionalCharacteristic(Characteristic.Current);
|
|
2047
|
+
this.addOptionalCharacteristic(Characteristic.Voltage);
|
|
2048
|
+
this.addOptionalCharacteristic(Characteristic.Frequency);
|
|
2049
|
+
this.addOptionalCharacteristic(Characteristic.CurrentDc);
|
|
2050
|
+
this.addOptionalCharacteristic(Characteristic.VoltageDc);
|
|
2051
|
+
this.addOptionalCharacteristic(Characteristic.Temperature);
|
|
2052
|
+
this.addOptionalCharacteristic(Characteristic.PlcLevel);
|
|
2053
|
+
this.addOptionalCharacteristic(Characteristic.GridProfile);
|
|
2054
|
+
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2055
|
+
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2056
|
+
}
|
|
2057
|
+
}
|
|
2058
|
+
Service.MicroinverterService = MicroinverterService;
|
|
2059
|
+
|
|
2060
|
+
// Enpower service
|
|
2061
|
+
class EnpowerService extends Service {
|
|
2062
|
+
constructor(displayName, subtype) {
|
|
2063
|
+
super(displayName, '00000008-000A-1000-8000-0026BB765291', subtype);
|
|
2064
|
+
// Mandatory Characteristics
|
|
2065
|
+
this.addCharacteristic(Characteristic.AdminState);
|
|
2066
|
+
// Optional Characteristics
|
|
2067
|
+
this.addOptionalCharacteristic(Characteristic.Communicating);
|
|
2068
|
+
this.addOptionalCharacteristic(Characteristic.CommLevelSubGhz);
|
|
2069
|
+
this.addOptionalCharacteristic(Characteristic.CommLevel24Ghz);
|
|
2070
|
+
this.addOptionalCharacteristic(Characteristic.Temperature);
|
|
2071
|
+
this.addOptionalCharacteristic(Characteristic.OperatingState);
|
|
2072
|
+
this.addOptionalCharacteristic(Characteristic.GridMode);
|
|
2073
|
+
this.addOptionalCharacteristic(Characteristic.EnchgGridMode);
|
|
2074
|
+
this.addOptionalCharacteristic(Characteristic.Status);
|
|
2072
2075
|
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2073
2076
|
this.addOptionalCharacteristic(Characteristic.CommInterface);
|
|
2074
|
-
this.addOptionalCharacteristic(Characteristic.
|
|
2077
|
+
this.addOptionalCharacteristic(Characteristic.PlcLevel);
|
|
2078
|
+
this.addOptionalCharacteristic(Characteristic.GridProfile);
|
|
2075
2079
|
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2076
2080
|
}
|
|
2077
2081
|
}
|
|
2078
|
-
Service.
|
|
2082
|
+
Service.EnpowerService = EnpowerService;
|
|
2079
2083
|
|
|
2080
2084
|
//Ennsemble service
|
|
2081
2085
|
class EnsembleSummaryService extends Service {
|
|
@@ -2110,6 +2114,81 @@ export default (api) => {
|
|
|
2110
2114
|
}
|
|
2111
2115
|
Service.EnsembleSummaryService = EnsembleSummaryService;
|
|
2112
2116
|
|
|
2117
|
+
//Wireless connection kit service
|
|
2118
|
+
class WirelessConnectionKitService extends Service {
|
|
2119
|
+
constructor(displayName, subtype) {
|
|
2120
|
+
super(displayName, '00000010-000A-1000-8000-0026BB765291', subtype);
|
|
2121
|
+
// Mandatory Characteristics
|
|
2122
|
+
this.addCharacteristic(Characteristic.Type);
|
|
2123
|
+
// Optional Characteristics
|
|
2124
|
+
this.addOptionalCharacteristic(Characteristic.SignalStrength);
|
|
2125
|
+
this.addOptionalCharacteristic(Characteristic.Connected);
|
|
2126
|
+
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2127
|
+
}
|
|
2128
|
+
}
|
|
2129
|
+
Service.WirelessConnectionKitService = WirelessConnectionKitService;
|
|
2130
|
+
|
|
2131
|
+
//Ensemble inventory service
|
|
2132
|
+
class EnsembleService extends Service {
|
|
2133
|
+
constructor(displayName, subtype) {
|
|
2134
|
+
super(displayName, '00000011-000B-1000-8000-0026BB765291', subtype);
|
|
2135
|
+
// Mandatory Characteristics
|
|
2136
|
+
this.addCharacteristic(Characteristic.Status);
|
|
2137
|
+
// Optional Characteristics
|
|
2138
|
+
this.addOptionalCharacteristic(Characteristic.Communicating);
|
|
2139
|
+
this.addOptionalCharacteristic(Characteristic.Operating);
|
|
2140
|
+
this.addOptionalCharacteristic(Characteristic.GfiClear);
|
|
2141
|
+
this.addOptionalCharacteristic(Characteristic.Firmware);
|
|
2142
|
+
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2143
|
+
this.addOptionalCharacteristic(Characteristic.CommInterface);
|
|
2144
|
+
this.addOptionalCharacteristic(Characteristic.AdminState);
|
|
2145
|
+
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2146
|
+
}
|
|
2147
|
+
}
|
|
2148
|
+
Service.EnsembleService = EnsembleService;
|
|
2149
|
+
|
|
2150
|
+
//Live data service
|
|
2151
|
+
class LiveDataService extends Service {
|
|
2152
|
+
constructor(displayName, subtype) {
|
|
2153
|
+
super(displayName, '00000012-000A-1000-8000-0026BB765291', subtype);
|
|
2154
|
+
// Mandatory Characteristics
|
|
2155
|
+
this.addCharacteristic(Characteristic.Power);
|
|
2156
|
+
// Optional Characteristics
|
|
2157
|
+
this.addOptionalCharacteristic(Characteristic.PowerL1);
|
|
2158
|
+
this.addOptionalCharacteristic(Characteristic.PowerL2);
|
|
2159
|
+
this.addOptionalCharacteristic(Characteristic.PowerL3);
|
|
2160
|
+
this.addOptionalCharacteristic(Characteristic.ApparentPower);
|
|
2161
|
+
this.addOptionalCharacteristic(Characteristic.ApparentPowerL1);
|
|
2162
|
+
this.addOptionalCharacteristic(Characteristic.ApparentPowerL2);
|
|
2163
|
+
this.addOptionalCharacteristic(Characteristic.ApparentPowerL3);
|
|
2164
|
+
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2165
|
+
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2166
|
+
}
|
|
2167
|
+
}
|
|
2168
|
+
Service.LiveDataService = LiveDataService;
|
|
2169
|
+
|
|
2170
|
+
//Generator service
|
|
2171
|
+
class GerneratorService extends Service {
|
|
2172
|
+
constructor(displayName, subtype) {
|
|
2173
|
+
super(displayName, '00000013-000A-1000-8000-0026BB765291', subtype);
|
|
2174
|
+
// Mandatory Characteristics
|
|
2175
|
+
this.addCharacteristic(Characteristic.AdminMode);
|
|
2176
|
+
// Optional Characteristics
|
|
2177
|
+
this.addOptionalCharacteristic(Characteristic.Type);
|
|
2178
|
+
this.addOptionalCharacteristic(Characteristic.AdminState);
|
|
2179
|
+
this.addOptionalCharacteristic(Characteristic.OperatingState);
|
|
2180
|
+
this.addOptionalCharacteristic(Characteristic.StartSoc);
|
|
2181
|
+
this.addOptionalCharacteristic(Characteristic.StopSoc);
|
|
2182
|
+
this.addOptionalCharacteristic(Characteristic.ExexOn);
|
|
2183
|
+
this.addOptionalCharacteristic(Characteristic.Shedule);
|
|
2184
|
+
this.addOptionalCharacteristic(Characteristic.Present);
|
|
2185
|
+
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2186
|
+
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2187
|
+
}
|
|
2188
|
+
}
|
|
2189
|
+
Service.GerneratorService = GerneratorService;
|
|
2190
|
+
|
|
2191
|
+
|
|
2113
2192
|
//Encharge service
|
|
2114
2193
|
class EnchargeService extends Service {
|
|
2115
2194
|
constructor(displayName, subtype) {
|
|
@@ -2140,34 +2219,10 @@ export default (api) => {
|
|
|
2140
2219
|
}
|
|
2141
2220
|
Service.EnchargeService = EnchargeService;
|
|
2142
2221
|
|
|
2143
|
-
// Enpower service
|
|
2144
|
-
class EnpowerService extends Service {
|
|
2145
|
-
constructor(displayName, subtype) {
|
|
2146
|
-
super(displayName, '00000008-000A-1000-8000-0026BB765291', subtype);
|
|
2147
|
-
// Mandatory Characteristics
|
|
2148
|
-
this.addCharacteristic(Characteristic.AdminState);
|
|
2149
|
-
// Optional Characteristics
|
|
2150
|
-
this.addOptionalCharacteristic(Characteristic.Communicating);
|
|
2151
|
-
this.addOptionalCharacteristic(Characteristic.CommLevelSubGhz);
|
|
2152
|
-
this.addOptionalCharacteristic(Characteristic.CommLevel24Ghz);
|
|
2153
|
-
this.addOptionalCharacteristic(Characteristic.Temperature);
|
|
2154
|
-
this.addOptionalCharacteristic(Characteristic.OperatingState);
|
|
2155
|
-
this.addOptionalCharacteristic(Characteristic.GridMode);
|
|
2156
|
-
this.addOptionalCharacteristic(Characteristic.EnchgGridMode);
|
|
2157
|
-
this.addOptionalCharacteristic(Characteristic.Status);
|
|
2158
|
-
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2159
|
-
this.addOptionalCharacteristic(Characteristic.CommInterface);
|
|
2160
|
-
this.addOptionalCharacteristic(Characteristic.PlcLevel);
|
|
2161
|
-
this.addOptionalCharacteristic(Characteristic.GridProfile);
|
|
2162
|
-
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2163
|
-
}
|
|
2164
|
-
}
|
|
2165
|
-
Service.EnpowerService = EnpowerService;
|
|
2166
|
-
|
|
2167
2222
|
//Collar service
|
|
2168
2223
|
class CollarService extends Service {
|
|
2169
2224
|
constructor(displayName, subtype) {
|
|
2170
|
-
super(displayName, '
|
|
2225
|
+
super(displayName, '00000015-000A-1000-8000-0026BB765291', subtype);
|
|
2171
2226
|
// Mandatory Characteristics
|
|
2172
2227
|
this.addCharacteristic(Characteristic.AdminState);
|
|
2173
2228
|
// Optional Characteristics
|
|
@@ -2186,7 +2241,7 @@ export default (api) => {
|
|
|
2186
2241
|
//C6 combiner controler service
|
|
2187
2242
|
class C6CombinerControlerService extends Service {
|
|
2188
2243
|
constructor(displayName, subtype) {
|
|
2189
|
-
super(displayName, '
|
|
2244
|
+
super(displayName, '00000016-000A-1000-8000-0026BB765291', subtype);
|
|
2190
2245
|
// Mandatory Characteristics
|
|
2191
2246
|
this.addCharacteristic(Characteristic.AdminState);
|
|
2192
2247
|
// Optional Characteristics
|
|
@@ -2202,7 +2257,7 @@ export default (api) => {
|
|
|
2202
2257
|
//C6 rgm servicee
|
|
2203
2258
|
class C6RgmService extends Service {
|
|
2204
2259
|
constructor(displayName, subtype) {
|
|
2205
|
-
super(displayName, '
|
|
2260
|
+
super(displayName, '00000017-000A-1000-8000-0026BB765291', subtype);
|
|
2206
2261
|
// Mandatory Characteristics
|
|
2207
2262
|
this.addCharacteristic(Characteristic.Status);
|
|
2208
2263
|
// Optional Characteristics
|
|
@@ -2214,46 +2269,19 @@ export default (api) => {
|
|
|
2214
2269
|
}
|
|
2215
2270
|
Service.C6RgmService = C6RgmService;
|
|
2216
2271
|
|
|
2217
|
-
//
|
|
2218
|
-
class
|
|
2219
|
-
constructor(displayName, subtype) {
|
|
2220
|
-
super(displayName, '00000013-000A-1000-8000-0026BB765291', subtype);
|
|
2221
|
-
// Mandatory Characteristics
|
|
2222
|
-
this.addCharacteristic(Characteristic.AdminMode);
|
|
2223
|
-
// Optional Characteristics
|
|
2224
|
-
this.addOptionalCharacteristic(Characteristic.Type);
|
|
2225
|
-
this.addOptionalCharacteristic(Characteristic.AdminState);
|
|
2226
|
-
this.addOptionalCharacteristic(Characteristic.OperatingState);
|
|
2227
|
-
this.addOptionalCharacteristic(Characteristic.StartSoc);
|
|
2228
|
-
this.addOptionalCharacteristic(Characteristic.StopSoc);
|
|
2229
|
-
this.addOptionalCharacteristic(Characteristic.ExexOn);
|
|
2230
|
-
this.addOptionalCharacteristic(Characteristic.Shedule);
|
|
2231
|
-
this.addOptionalCharacteristic(Characteristic.Present);
|
|
2232
|
-
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2233
|
-
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2234
|
-
}
|
|
2235
|
-
}
|
|
2236
|
-
Service.GerneratorService = GerneratorService;
|
|
2237
|
-
|
|
2238
|
-
//Live data service
|
|
2239
|
-
class LiveDataService extends Service {
|
|
2272
|
+
//Network interafe service
|
|
2273
|
+
class NetworkInterfaceService extends Service {
|
|
2240
2274
|
constructor(displayName, subtype) {
|
|
2241
|
-
super(displayName, '
|
|
2275
|
+
super(displayName, '00000018-000A-1000-8000-0026BB765291', subtype);
|
|
2242
2276
|
// Mandatory Characteristics
|
|
2243
|
-
this.addCharacteristic(Characteristic.
|
|
2277
|
+
this.addCharacteristic(Characteristic.Type);
|
|
2244
2278
|
// Optional Characteristics
|
|
2245
|
-
this.addOptionalCharacteristic(Characteristic.
|
|
2246
|
-
this.addOptionalCharacteristic(Characteristic.
|
|
2247
|
-
this.addOptionalCharacteristic(Characteristic.PowerL3);
|
|
2248
|
-
this.addOptionalCharacteristic(Characteristic.ApparentPower);
|
|
2249
|
-
this.addOptionalCharacteristic(Characteristic.ApparentPowerL1);
|
|
2250
|
-
this.addOptionalCharacteristic(Characteristic.ApparentPowerL2);
|
|
2251
|
-
this.addOptionalCharacteristic(Characteristic.ApparentPowerL3);
|
|
2252
|
-
this.addOptionalCharacteristic(Characteristic.ReadingTime);
|
|
2279
|
+
this.addOptionalCharacteristic(Characteristic.SignalStrength);
|
|
2280
|
+
this.addOptionalCharacteristic(Characteristic.AddressIp);
|
|
2253
2281
|
this.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
2254
2282
|
}
|
|
2255
2283
|
}
|
|
2256
|
-
Service.
|
|
2284
|
+
Service.NetworkInterfaceService = NetworkInterfaceService;
|
|
2257
2285
|
|
|
2258
2286
|
// EVE electric meter
|
|
2259
2287
|
class EvePower extends Characteristic {
|
package/src/energymeter.js
CHANGED
|
@@ -21,8 +21,6 @@ class EnergyMeter extends EventEmitter {
|
|
|
21
21
|
this.log = log;
|
|
22
22
|
this.url = url;
|
|
23
23
|
this.name = deviceName;
|
|
24
|
-
this.host = device.host;
|
|
25
|
-
|
|
26
24
|
this.envoyFirmware7xxTokenGenerationMode = device.envoyFirmware7xxTokenGenerationMode;
|
|
27
25
|
this.enlightenUser = device.enlightenUser;
|
|
28
26
|
this.enlightenPasswd = device.enlightenPasswd;
|
|
@@ -962,8 +960,8 @@ class EnergyMeter extends EventEmitter {
|
|
|
962
960
|
const key = MetersKeyMap[meterType];
|
|
963
961
|
const measurementType = ApiCodes[meterType];
|
|
964
962
|
|
|
965
|
-
let sourceMeter, sourceEnergy
|
|
966
|
-
let power, energyLifetime;
|
|
963
|
+
let sourceMeter, sourceEnergy;
|
|
964
|
+
let power, energyLifetime, energyLifetimeWithOffset;
|
|
967
965
|
switch (key) {
|
|
968
966
|
case 'production': {
|
|
969
967
|
const sourcePcu = this.pv.powerAndEnergy[key].pcu;
|
|
@@ -972,7 +970,7 @@ class EnergyMeter extends EventEmitter {
|
|
|
972
970
|
sourceEnergy = meterEnabled ? sourceEim : sourcePcu;
|
|
973
971
|
power = this.functions.isValidValue(sourceMeter.power) ? sourceMeter.power : null;
|
|
974
972
|
energyLifetime = this.functions.isValidValue(sourceMeter.energyLifetime) ? sourceMeter.energyLifetime / 1000 : null;
|
|
975
|
-
energyLifetimeWithOffset = this.functions.isValidValue(
|
|
973
|
+
energyLifetimeWithOffset = this.functions.isValidValue(energyLifetime) ? energyLifetime + this.energyProductionLifetimeOffset : null;
|
|
976
974
|
break;
|
|
977
975
|
}
|
|
978
976
|
case 'consumptionNet': {
|
|
@@ -980,7 +978,7 @@ class EnergyMeter extends EventEmitter {
|
|
|
980
978
|
sourceEnergy = this.pv.powerAndEnergy.consumptionNet;
|
|
981
979
|
power = this.functions.isValidValue(sourceMeter.power) ? sourceMeter.power : null;
|
|
982
980
|
energyLifetime = this.functions.isValidValue(sourceMeter.energyLifetime) ? sourceMeter.energyLifetime / 1000 : null;
|
|
983
|
-
energyLifetimeWithOffset = this.functions.isValidValue(
|
|
981
|
+
energyLifetimeWithOffset = this.functions.isValidValue(energyLifetime) ? energyLifetime + this.energyConsumptionNetLifetimeOffset : null;
|
|
984
982
|
break;
|
|
985
983
|
}
|
|
986
984
|
case 'consumptionTotal': {
|
|
@@ -988,7 +986,7 @@ class EnergyMeter extends EventEmitter {
|
|
|
988
986
|
sourceEnergy = this.pv.powerAndEnergy.consumptionTotal;
|
|
989
987
|
power = this.functions.isValidValue(sourceMeter.power) ? sourceMeter.power : null;
|
|
990
988
|
energyLifetime = this.functions.isValidValue(sourceMeter.energyLifetime) ? sourceMeter.energyLifetime / 1000 : null;
|
|
991
|
-
energyLifetimeWithOffset = this.functions.isValidValue(
|
|
989
|
+
energyLifetimeWithOffset = this.functions.isValidValue(energyLifetime) ? energyLifetime + this.energyConsumptionTotalLifetimeOffset : null;
|
|
992
990
|
break;
|
|
993
991
|
}
|
|
994
992
|
}
|
|
@@ -1017,8 +1015,8 @@ class EnergyMeter extends EventEmitter {
|
|
|
1017
1015
|
|
|
1018
1016
|
// Create characteristics energy meter
|
|
1019
1017
|
const characteristics = [
|
|
1020
|
-
{ type: Characteristic.EvePower, value:
|
|
1021
|
-
{ type: Characteristic.EveEnergyLifetime, value:
|
|
1018
|
+
{ type: Characteristic.EvePower, value: power },
|
|
1019
|
+
{ type: Characteristic.EveEnergyLifetime, value: energyLifetimeWithOffset },
|
|
1022
1020
|
];
|
|
1023
1021
|
|
|
1024
1022
|
// Create characteristics energy meter
|
package/src/envoydata.js
CHANGED
|
@@ -13,7 +13,6 @@ class EnvoyData extends EventEmitter {
|
|
|
13
13
|
|
|
14
14
|
//device configuration
|
|
15
15
|
this.url = url;
|
|
16
|
-
this.host = device.host;
|
|
17
16
|
this.envoyFirmware7xxTokenGenerationMode = device.envoyFirmware7xxTokenGenerationMode;
|
|
18
17
|
this.envoyPasswd = device.envoyPasswd;
|
|
19
18
|
this.enlightenUser = device.enlightenUser;
|
|
@@ -27,8 +26,6 @@ class EnvoyData extends EventEmitter {
|
|
|
27
26
|
this.ensembleDataRefreshTime = (device.ensembleDataRefreshTime || 15) * 1000;
|
|
28
27
|
|
|
29
28
|
//log
|
|
30
|
-
this.logDeviceInfo = device.log?.deviceInfo || true;
|
|
31
|
-
this.logInfo = device.log?.info || false;
|
|
32
29
|
this.logWarn = device.log?.warn || true;
|
|
33
30
|
this.logError = device.log?.error || true;
|
|
34
31
|
this.logDebug = device.log?.debug || false;
|
|
@@ -936,7 +933,7 @@ class EnvoyData extends EventEmitter {
|
|
|
936
933
|
this.feature.home.networkInterfaces.count = networkInterfaces.length;
|
|
937
934
|
|
|
938
935
|
this.feature.home.wirelessConnections.supported = wirelessConnections.length > 0;
|
|
939
|
-
this.feature.home.wirelessConnections.installed = wirelessConnections.some(w => w.connected
|
|
936
|
+
this.feature.home.wirelessConnections.installed = wirelessConnections.some(w => w.connected);
|
|
940
937
|
this.feature.home.wirelessConnections.count = wirelessConnections.length;
|
|
941
938
|
this.feature.home.supported = true;
|
|
942
939
|
|
|
@@ -2043,11 +2040,11 @@ class EnvoyData extends EventEmitter {
|
|
|
2043
2040
|
|
|
2044
2041
|
try {
|
|
2045
2042
|
const response = await this.axiosInstance.get(ApiUrls.EnsemblePower);
|
|
2046
|
-
const
|
|
2047
|
-
if (this.logDebug) this.emit('debug', `Ensemble power response:`,
|
|
2043
|
+
const responseData = response.data;
|
|
2044
|
+
if (this.logDebug) this.emit('debug', `Ensemble power response:`, responseData);
|
|
2048
2045
|
|
|
2049
|
-
const
|
|
2050
|
-
if (!
|
|
2046
|
+
const devices = responseData.devices ?? [];
|
|
2047
|
+
if (!devices.length === 0) return false;
|
|
2051
2048
|
|
|
2052
2049
|
// update encharges
|
|
2053
2050
|
const enchargesRealPowerSummary = [];
|