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 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.1",
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: 1000,
1077
- minValue: -1000,
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
- //Wireless connection kit service
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
- //Ensemble inventory service
2062
- class EnsembleService extends Service {
1980
+ //AC Batterie summary service
1981
+ class AcBatterieSummaryService extends Service {
2063
1982
  constructor(displayName, subtype) {
2064
- super(displayName, '00000011-000B-1000-8000-0026BB765291', subtype);
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.AdminState);
2077
+ this.addOptionalCharacteristic(Characteristic.PlcLevel);
2078
+ this.addOptionalCharacteristic(Characteristic.GridProfile);
2075
2079
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
2076
2080
  }
2077
2081
  }
2078
- Service.EnsembleService = EnsembleService;
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, '00000014-000A-1000-8000-0026BB765291', subtype);
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, '00000015-000A-1000-8000-0026BB765291', subtype);
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, '00000016-000A-1000-8000-0026BB765291', subtype);
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
- //Generator service
2218
- class GerneratorService extends Service {
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, '00000012-000A-1000-8000-0026BB765291', subtype);
2275
+ super(displayName, '00000018-000A-1000-8000-0026BB765291', subtype);
2242
2276
  // Mandatory Characteristics
2243
- this.addCharacteristic(Characteristic.Power);
2277
+ this.addCharacteristic(Characteristic.Type);
2244
2278
  // Optional Characteristics
2245
- this.addOptionalCharacteristic(Characteristic.PowerL1);
2246
- this.addOptionalCharacteristic(Characteristic.PowerL2);
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.LiveDataService = LiveDataService;
2284
+ Service.NetworkInterfaceService = NetworkInterfaceService;
2257
2285
 
2258
2286
  // EVE electric meter
2259
2287
  class EvePower extends Characteristic {
@@ -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, energyLifetimeWithOffset;
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(sourceMeter.energyLifetime) ? energyLifetime + this.energyProductionLifetimeOffset : null;
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(sourceMeter.energyLifetime) ? energyLifetime + this.energyConsumptionNetLifetimeOffset : null;
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(sourceMeter.energyLifetime) ? energyLifetime + this.energyConsumptionTotalLifetimeOffset : null;
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: obj.power },
1021
- { type: Characteristic.EveEnergyLifetime, value: obj.energyLifetimeWithOffset },
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 && w.signal_strength > 0);
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 devices = response.data.devices || [];
2047
- if (this.logDebug) this.emit('debug', `Ensemble power response:`, devices);
2043
+ const responseData = response.data;
2044
+ if (this.logDebug) this.emit('debug', `Ensemble power response:`, responseData);
2048
2045
 
2049
- const devicesSupported = devices.length > 0;
2050
- if (!devicesSupported) return false;
2046
+ const devices = responseData.devices ?? [];
2047
+ if (!devices.length === 0) return false;
2051
2048
 
2052
2049
  // update encharges
2053
2050
  const enchargesRealPowerSummary = [];