homebridge-enphase-envoy 9.20.2-beta.21 → 9.20.2-beta.210

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/README.md CHANGED
@@ -308,7 +308,7 @@ REST POST calls must include a content-type header of `application/json`.
308
308
 
309
309
  | Method | URL | Path | Response | Type |
310
310
  | --- | --- | --- | --- | --- |
311
- | GET | `http//ip:port` | `token`, `info`, `home`, `inventory`, `microinverters`, `devicesdata`, `meters`, `metersreading`, `metersreports`, `ensembleinventory`, `ensemblestatus`, `enchargeettings`, `tariff`, `drycontacts`, `drycontactssettinge`, `generator`, `generatorsettings`, `gridprofile`, `livedata`, `production`, `productionpdm`, `energypdm`, `productionct`,`productionall`, `powermode`, `plclevel`, `datasampling`. | `{wNow: 2353}` | JSON |
311
+ | GET | `http//ip:port` | `token`, `info`, `home`, `inventory`, `microinvertersstatus`, `meters`, `metersreading`, `metersreports`, `detaileddevicesdata`, `microinvertersdata`, `qrelaysdata`, `metersdata`, `production`, `productionpdm`, `energypdm`, `productionct`,`powerandenergydata`, `acbatterydata`, `ensembleinventory`, `ensemblestatus`, `enchargeettings`, `tariff`, `drycontacts`, `drycontactssettinge`, `generator`, `generatorsettings`, `gridprofile`, `livedata`, `powermode`, `plclevel`, `datasampling`. | `{wNow: 2353}` | JSON |
312
312
 
313
313
  | Method | URL | Key | Value | Type | Description |
314
314
  | --- | --- | --- | --- | --- | --- |
@@ -325,7 +325,7 @@ Subscribe using JSON `{ "EnchargeProfile": "savings" }`
325
325
 
326
326
  | Method | Topic | Message | Type |
327
327
  | --- | --- | --- | --- |
328
- | Publish | `Token`, `Info`, `Home`, `Inventory`, `Microinverters`, `Devices Data`, `Meters`, `Meters Reading`, `Meters Reports`, `Ensemble Inventory`, `Ensemble Status`, `Encharge Settings`, `Tariff`, `Dry Contacts`, `Dry Contacts Settings`, `Generator`, `Generator Settings`, `Grid Profile`, `Live Data`, `Production`, `Production Pdm`, `Energy Pdm`, `Production CT`,`Production All`, `Power Mode`, `PCU Comm Level`, `Data Sampling` | `{wNow: 2353}` | JSON |
328
+ | Publish | `Token`, `Info`, `Home`, `Inventory`, `Microinverters Status`, `Meters`, `Meters Reading`, `Meters Reports`, `Detailed Devices Data`, `Microinverters Data`, `Q-Relays Data`, `Meters Data`, `Production`, `Production Pdm`, `Energy Pdm`, `Production CT`, `Power And Energy Data`, `AC Battery Data`, `Ensemble Inventory`, `Ensemble Status`, `Encharge Settings`, `Tariff`, `Dry Contacts`, `Dry Contacts Settings`, `Generator`, `Generator Settings`, `Grid Profile`, `Live Data`, `Power Mode`, `PCU Comm Level`, `Data Sampling` | `{wNow: 2353}` | JSON |
329
329
 
330
330
  | Method | Topic | Key | Value | Type | Description |
331
331
  | --- | --- | --- | --- | --- | --- |
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": "9.20.2-beta.21",
5
+ "version": "9.20.2-beta.210",
6
6
  "description": "Homebridge plugin for Photovoltaic Energy System manufactured by Enphase.",
7
7
  "license": "MIT",
8
8
  "author": "grzegorz914",
package/src/constants.js CHANGED
@@ -354,6 +354,14 @@ export const ApiCodes = {
354
354
  "lwui.home.warnings.cross_domain_traffic": "Cross Domain Traffic"
355
355
  };
356
356
 
357
+ export const MetersKeyMap = {
358
+ 'Production': 'production',
359
+ 'Consumption Net': 'net',
360
+ 'Consumption Total': 'total',
361
+ 'Storage': 'storage',
362
+ 'Pcu': 'pcu'
363
+ };
364
+
357
365
  export const LedStatus = {
358
366
  "0": "Off",
359
367
  "1": "Standby",
@@ -197,7 +197,7 @@ export default (api) => {
197
197
 
198
198
  class LastEnlightenReporDate extends Characteristic {
199
199
  constructor() {
200
- super('Last report to Enlighten', '00000026-000B-1000-8000-0026BB765291');
200
+ super('Report to enlighten', '00000026-000B-1000-8000-0026BB765291');
201
201
  this.setProps({
202
202
  format: Formats.STRING,
203
203
  perms: [Perms.PAIRED_READ, Perms.NOTIFY]
@@ -429,9 +429,9 @@ export default (api) => {
429
429
  }
430
430
  Characteristic.Status = Status;
431
431
 
432
- class LastReportDate extends Characteristic {
432
+ class ReadingTime extends Characteristic {
433
433
  constructor() {
434
- super('Last report', '00000044-000B-1000-8000-0026BB765291');
434
+ super('Reading time', '00000044-000B-1000-8000-0026BB765291');
435
435
  this.setProps({
436
436
  format: Formats.STRING,
437
437
  perms: [Perms.PAIRED_READ, Perms.NOTIFY]
@@ -439,7 +439,7 @@ export default (api) => {
439
439
  this.value = this.getDefaultValue();
440
440
  }
441
441
  }
442
- Characteristic.LastReportDate = LastReportDate;
442
+ Characteristic.ReadingTime = ReadingTime;
443
443
 
444
444
  // current meters
445
445
  class Type extends Characteristic {
@@ -490,18 +490,6 @@ export default (api) => {
490
490
  }
491
491
  Characteristic.MeteringStatus = MeteringStatus;
492
492
 
493
- class StatusFlags extends Characteristic {
494
- constructor() {
495
- super('Status flag', '00000056-000B-1000-8000-0026BB765291');
496
- this.setProps({
497
- format: Formats.STRING,
498
- perms: [Perms.PAIRED_READ, Perms.NOTIFY]
499
- });
500
- this.value = this.getDefaultValue();
501
- }
502
- }
503
- Characteristic.StatusFlags = StatusFlags;
504
-
505
493
  class Power extends Characteristic {
506
494
  constructor() {
507
495
  super('Power', '00000057-000B-1000-8000-0026BB765291');
@@ -590,7 +578,7 @@ export default (api) => {
590
578
  unit: 'A',
591
579
  maxValue: 1000,
592
580
  minValue: -1000,
593
- minStep: 0.001,
581
+ minStep: 0.1,
594
582
  perms: [Perms.PAIRED_READ, Perms.NOTIFY]
595
583
  });
596
584
  this.value = this.getDefaultValue();
@@ -614,7 +602,72 @@ export default (api) => {
614
602
  }
615
603
  Characteristic.Frequency = Frequency;
616
604
 
605
+ class VoltageL1 extends Characteristic {
606
+ constructor() {
607
+ super('Voltage L1', '00000065-000B-1000-8000-0026BB765291');
608
+ this.setProps({
609
+ format: Formats.FLOAT,
610
+ unit: 'V',
611
+ maxValue: 1000,
612
+ minValue: 0,
613
+ minStep: 0.1,
614
+ perms: [Perms.PAIRED_READ, Perms.NOTIFY]
615
+ });
616
+ this.value = this.getDefaultValue();
617
+ }
618
+ }
619
+ Characteristic.VoltageL1 = VoltageL1;
620
+
621
+ class VoltageL2 extends Characteristic {
622
+ constructor() {
623
+ super('Voltage L2', '00000066-000B-1000-8000-0026BB765291');
624
+ this.setProps({
625
+ format: Formats.FLOAT,
626
+ unit: 'V',
627
+ maxValue: 1000,
628
+ minValue: 0,
629
+ minStep: 0.1,
630
+ perms: [Perms.PAIRED_READ, Perms.NOTIFY]
631
+ });
632
+ this.value = this.getDefaultValue();
633
+ }
634
+ }
635
+ Characteristic.VoltageL2 = VoltageL2;
636
+
637
+ class VoltageL3 extends Characteristic {
638
+ constructor() {
639
+ super('Voltage L3', '00000067-000B-1000-8000-0026BB765291');
640
+ this.setProps({
641
+ format: Formats.FLOAT,
642
+ unit: 'V',
643
+ maxValue: 1000,
644
+ minValue: 0,
645
+ minStep: 0.1,
646
+ perms: [Perms.PAIRED_READ, Perms.NOTIFY]
647
+ });
648
+ this.value = this.getDefaultValue();
649
+ }
650
+ }
651
+ Characteristic.VoltageL3 = VoltageL3;
652
+
653
+ class AcOffset extends Characteristic {
654
+ constructor() {
655
+ super('Voltage offset', '00000068-000B-1000-8000-0026BB765291');
656
+ this.setProps({
657
+ format: Formats.FLOAT,
658
+ unit: 'V',
659
+ maxValue: 1000,
660
+ minValue: -1000,
661
+ minStep: 0.1,
662
+ perms: [Perms.PAIRED_READ, Perms.NOTIFY]
663
+ });
664
+ this.value = this.getDefaultValue();
665
+ }
666
+ }
667
+ Characteristic.AcOffset = AcOffset;
668
+
617
669
  //Power and Energy characteristics
670
+
618
671
  class PowerPeak extends Characteristic {
619
672
  constructor() {
620
673
  super('Power peak', '00000072-000B-1000-8000-0026BB765291');
@@ -769,7 +822,7 @@ export default (api) => {
769
822
  Characteristic.ActiveCount = ActiveCount;
770
823
 
771
824
  //AC Batterie
772
- class ChargeStatus extends Characteristic {
825
+ class ChargeState extends Characteristic {
773
826
  constructor() {
774
827
  super('Charge status', '00000111-000B-1000-8000-0026BB765291');
775
828
  this.setProps({
@@ -779,7 +832,7 @@ export default (api) => {
779
832
  this.value = this.getDefaultValue();
780
833
  }
781
834
  }
782
- Characteristic.ChargeStatus = ChargeStatus;
835
+ Characteristic.ChargeState = ChargeState;
783
836
 
784
837
  class SleepEnabled extends Characteristic {
785
838
  constructor() {
@@ -848,8 +901,8 @@ export default (api) => {
848
901
  this.setProps({
849
902
  format: Formats.INT,
850
903
  unit: 'W',
851
- maxValue: 1000,
852
- minValue: 0,
904
+ maxValue: 1000000,
905
+ minValue: -1000000,
853
906
  minStep: 1,
854
907
  perms: [Perms.PAIRED_READ, Perms.NOTIFY]
855
908
  });
@@ -858,15 +911,31 @@ export default (api) => {
858
911
  }
859
912
  Characteristic.PowerW = PowerW;
860
913
 
914
+ class PowerPeakW extends Characteristic {
915
+ constructor() {
916
+ super('Power peak', '00000132-000B-1000-8000-0026BB765291');
917
+ this.setProps({
918
+ format: Formats.FLOAT,
919
+ unit: 'W',
920
+ maxValue: 1000000,
921
+ minValue: -1000000,
922
+ minStep: 1,
923
+ perms: [Perms.PAIRED_READ, Perms.NOTIFY]
924
+ });
925
+ this.value = this.getDefaultValue();
926
+ }
927
+ }
928
+ Characteristic.PowerPeakW = PowerPeakW;
929
+
861
930
  class EnergyTodayWh extends Characteristic {
862
931
  constructor() {
863
932
  super('Energy today', '00000133-000B-1000-8000-0026BB765291');
864
933
  this.setProps({
865
934
  format: Formats.FLOAT,
866
935
  unit: 'Wh',
867
- maxValue: 10000,
868
- minValue: -10000,
869
- minStep: 0.001,
936
+ maxValue: 1000000,
937
+ minValue: -1000000,
938
+ minStep: 1,
870
939
  perms: [Perms.PAIRED_READ, Perms.NOTIFY]
871
940
  });
872
941
  this.value = this.getDefaultValue();
@@ -880,9 +949,9 @@ export default (api) => {
880
949
  this.setProps({
881
950
  format: Formats.FLOAT,
882
951
  unit: 'Wh',
883
- maxValue: 10000,
884
- minValue: -10000,
885
- minStep: 0.001,
952
+ maxValue: 1000000,
953
+ minValue: -1000000,
954
+ minStep: 1,
886
955
  perms: [Perms.PAIRED_READ, Perms.NOTIFY]
887
956
  });
888
957
  this.value = this.getDefaultValue();
@@ -890,6 +959,38 @@ export default (api) => {
890
959
  }
891
960
  Characteristic.EnergyYesterdayWh = EnergyYesterdayWh;
892
961
 
962
+ class EnergyLastSevenDaysWh extends Characteristic {
963
+ constructor() {
964
+ super('Energy last 7 days', '00000135-000B-1000-8000-0026BB765291');
965
+ this.setProps({
966
+ format: Formats.FLOAT,
967
+ unit: 'Wh',
968
+ maxValue: 1000000,
969
+ minValue: -1000000,
970
+ minStep: 1,
971
+ perms: [Perms.PAIRED_READ, Perms.NOTIFY]
972
+ });
973
+ this.value = this.getDefaultValue();
974
+ }
975
+ }
976
+ Characteristic.EnergyLastSevenDaysWh = EnergyLastSevenDaysWh;
977
+
978
+ class EnergyLifetimeWh extends Characteristic {
979
+ constructor() {
980
+ super('Energy lifetime', '00000136-000B-1000-8000-0026BB765291');
981
+ this.setProps({
982
+ format: Formats.FLOAT,
983
+ unit: 'Wh',
984
+ maxValue: 100000000,
985
+ minValue: -100000000,
986
+ minStep: 0.1,
987
+ perms: [Perms.PAIRED_READ, Perms.NOTIFY]
988
+ });
989
+ this.value = this.getDefaultValue();
990
+ }
991
+ }
992
+ Characteristic.EnergyLifetimeWh = EnergyLifetimeWh;
993
+
893
994
  class VoltageDc extends Characteristic {
894
995
  constructor() {
895
996
  super('Voltage DC', '00000149-000B-1000-8000-0026BB765291');
@@ -897,7 +998,7 @@ export default (api) => {
897
998
  format: Formats.FLOAT,
898
999
  unit: 'V',
899
1000
  maxValue: 1000,
900
- minValue: 0,
1001
+ minValue: -1000,
901
1002
  minStep: 0.1,
902
1003
  perms: [Perms.PAIRED_READ, Perms.NOTIFY]
903
1004
  });
@@ -914,7 +1015,7 @@ export default (api) => {
914
1015
  unit: 'A',
915
1016
  maxValue: 1000,
916
1017
  minValue: -1000,
917
- minStep: 0.001,
1018
+ minStep: 0.1,
918
1019
  perms: [Perms.PAIRED_READ, Perms.NOTIFY]
919
1020
  });
920
1021
  this.value = this.getDefaultValue();
@@ -1029,7 +1130,7 @@ export default (api) => {
1029
1130
 
1030
1131
  class DcSwitchOff extends Characteristic {
1031
1132
  constructor() {
1032
- super('DC switch OFF', '00000164-000B-1000-8000-0026BB765291');
1133
+ super('DC switch', '00000164-000B-1000-8000-0026BB765291');
1033
1134
  this.setProps({
1034
1135
  format: Formats.BOOL,
1035
1136
  perms: [Perms.PAIRED_READ, Perms.NOTIFY]
@@ -1056,7 +1157,6 @@ export default (api) => {
1056
1157
  Characteristic.Rev = Rev;
1057
1158
 
1058
1159
  //Enpowe
1059
-
1060
1160
  class MainsAdminState extends Characteristic {
1061
1161
  constructor() {
1062
1162
  super('Admin state', '00000177-000B-1000-8000-0026BB765291');
@@ -1745,15 +1845,20 @@ export default (api) => {
1745
1845
  this.addOptionalCharacteristic(Characteristic.Line1Connected);
1746
1846
  this.addOptionalCharacteristic(Characteristic.Line2Connected);
1747
1847
  this.addOptionalCharacteristic(Characteristic.Line3Connected);
1748
- this.addOptionalCharacteristic(Characteristic.Producing);
1749
1848
  this.addOptionalCharacteristic(Characteristic.Communicating);
1750
1849
  this.addOptionalCharacteristic(Characteristic.Provisioned);
1751
1850
  this.addOptionalCharacteristic(Characteristic.Operating);
1752
1851
  this.addOptionalCharacteristic(Characteristic.CommLevel);
1753
1852
  this.addOptionalCharacteristic(Characteristic.Status);
1754
1853
  this.addOptionalCharacteristic(Characteristic.Firmware);
1755
- this.addOptionalCharacteristic(Characteristic.LastReportDate);
1854
+ this.addOptionalCharacteristic(Characteristic.AcOffset);
1855
+ this.addOptionalCharacteristic(Characteristic.VoltageL1);
1856
+ this.addOptionalCharacteristic(Characteristic.VoltageL2);
1857
+ this.addOptionalCharacteristic(Characteristic.VoltageL3);
1858
+ this.addOptionalCharacteristic(Characteristic.Frequency);
1859
+ this.addOptionalCharacteristic(Characteristic.Temperature);
1756
1860
  this.addOptionalCharacteristic(Characteristic.GridProfile);
1861
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
1757
1862
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
1758
1863
  }
1759
1864
  }
@@ -1770,17 +1875,17 @@ export default (api) => {
1770
1875
  this.addOptionalCharacteristic(Characteristic.PhaseCount);
1771
1876
  this.addOptionalCharacteristic(Characteristic.Type);
1772
1877
  this.addOptionalCharacteristic(Characteristic.MeteringStatus);
1773
- this.addOptionalCharacteristic(Characteristic.StatusFlags);
1878
+ this.addOptionalCharacteristic(Characteristic.Status);
1774
1879
  this.addOptionalCharacteristic(Characteristic.Power);
1775
1880
  this.addOptionalCharacteristic(Characteristic.ApparentPower);
1776
1881
  this.addOptionalCharacteristic(Characteristic.ReactivePower);
1777
1882
  this.addOptionalCharacteristic(Characteristic.EnergyLifetime);
1778
1883
  this.addOptionalCharacteristic(Characteristic.EnergyLifetimeUpload);
1779
- this.addOptionalCharacteristic(Characteristic.PwrFactor);
1780
- this.addOptionalCharacteristic(Characteristic.Voltage);
1781
1884
  this.addOptionalCharacteristic(Characteristic.Current);
1885
+ this.addOptionalCharacteristic(Characteristic.Voltage);
1886
+ this.addOptionalCharacteristic(Characteristic.PwrFactor);
1782
1887
  this.addOptionalCharacteristic(Characteristic.Frequency);
1783
- this.addOptionalCharacteristic(Characteristic.LastReportDate);
1888
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
1784
1889
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
1785
1890
  }
1786
1891
  }
@@ -1795,18 +1900,18 @@ export default (api) => {
1795
1900
  // Optional Characteristics
1796
1901
  this.addOptionalCharacteristic(Characteristic.PowerPeak);
1797
1902
  this.addOptionalCharacteristic(Characteristic.PowerPeakDetected);
1903
+ this.addOptionalCharacteristic(Characteristic.PowerPeakReset);
1904
+ this.addOptionalCharacteristic(Characteristic.ApparentPower);
1905
+ this.addOptionalCharacteristic(Characteristic.ReactivePower);
1798
1906
  this.addOptionalCharacteristic(Characteristic.EnergyToday);
1799
1907
  this.addOptionalCharacteristic(Characteristic.EnergyLastSevenDays);
1800
1908
  this.addOptionalCharacteristic(Characteristic.EnergyLifetime);
1801
1909
  this.addOptionalCharacteristic(Characteristic.EnergyLifetimeUpload);
1802
1910
  this.addOptionalCharacteristic(Characteristic.Current);
1803
1911
  this.addOptionalCharacteristic(Characteristic.Voltage);
1804
- this.addOptionalCharacteristic(Characteristic.ReactivePower);
1805
- this.addOptionalCharacteristic(Characteristic.ApparentPower);
1806
- this.addOptionalCharacteristic(Characteristic.PwrFactor);
1807
- this.addOptionalCharacteristic(Characteristic.LastReportDate);
1808
- this.addOptionalCharacteristic(Characteristic.PowerPeakReset);
1809
1912
  this.addOptionalCharacteristic(Characteristic.Frequency);
1913
+ this.addOptionalCharacteristic(Characteristic.PwrFactor);
1914
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
1810
1915
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
1811
1916
  }
1812
1917
  }
@@ -1823,7 +1928,7 @@ export default (api) => {
1823
1928
  this.addOptionalCharacteristic(Characteristic.PercentFull);
1824
1929
  this.addOptionalCharacteristic(Characteristic.ActiveCount);
1825
1930
  this.addOptionalCharacteristic(Characteristic.State);
1826
- this.addOptionalCharacteristic(Characteristic.LastReportDate);
1931
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
1827
1932
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
1828
1933
  }
1829
1934
  }
@@ -1834,7 +1939,7 @@ export default (api) => {
1834
1939
  constructor(displayName, subtype) {
1835
1940
  super(displayName, '00000006-000A-1000-8000-0026BB765291', subtype);
1836
1941
  // Mandatory Characteristics
1837
- this.addCharacteristic(Characteristic.ChargeStatus);
1942
+ this.addCharacteristic(Characteristic.ChargeState);
1838
1943
  // Optional Characteristics
1839
1944
  this.addOptionalCharacteristic(Characteristic.Producing);
1840
1945
  this.addOptionalCharacteristic(Characteristic.Communicating);
@@ -1848,7 +1953,7 @@ export default (api) => {
1848
1953
  this.addOptionalCharacteristic(Characteristic.SleepMaxSoc);
1849
1954
  this.addOptionalCharacteristic(Characteristic.Status);
1850
1955
  this.addOptionalCharacteristic(Characteristic.Firmware);
1851
- this.addOptionalCharacteristic(Characteristic.LastReportDate);
1956
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
1852
1957
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
1853
1958
  }
1854
1959
  }
@@ -1861,7 +1966,7 @@ export default (api) => {
1861
1966
  // Mandatory Characteristics
1862
1967
  this.addCharacteristic(Characteristic.PowerW);
1863
1968
  // Optional Characteristics
1864
- this.addOptionalCharacteristic(Characteristic.PowerPeak);
1969
+ this.addOptionalCharacteristic(Characteristic.PowerPeakW);
1865
1970
  this.addOptionalCharacteristic(Characteristic.EnergyTodayWh);
1866
1971
  this.addOptionalCharacteristic(Characteristic.EnergyYesterdayWh);
1867
1972
  this.addOptionalCharacteristic(Characteristic.EnergyLastSevenDays);
@@ -1873,14 +1978,14 @@ export default (api) => {
1873
1978
  this.addOptionalCharacteristic(Characteristic.CommLevel);
1874
1979
  this.addOptionalCharacteristic(Characteristic.Status);
1875
1980
  this.addOptionalCharacteristic(Characteristic.Firmware);
1876
- this.addOptionalCharacteristic(Characteristic.LastReportDate);
1877
1981
  this.addOptionalCharacteristic(Characteristic.GridProfile);
1878
1982
  this.addOptionalCharacteristic(Characteristic.Current);
1879
1983
  this.addOptionalCharacteristic(Characteristic.Voltage);
1880
1984
  this.addOptionalCharacteristic(Characteristic.Frequency);
1881
- this.addOptionalCharacteristic(Characteristic.VoltageDc);
1882
1985
  this.addOptionalCharacteristic(Characteristic.CurrentDc);
1986
+ this.addOptionalCharacteristic(Characteristic.VoltageDc);
1883
1987
  this.addOptionalCharacteristic(Characteristic.Temperature);
1988
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
1884
1989
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
1885
1990
  }
1886
1991
  }
@@ -1906,10 +2011,10 @@ export default (api) => {
1906
2011
  this.addOptionalCharacteristic(Characteristic.Capacity);
1907
2012
  this.addOptionalCharacteristic(Characteristic.DcSwitchOff);
1908
2013
  this.addOptionalCharacteristic(Characteristic.Rev);
1909
- this.addOptionalCharacteristic(Characteristic.GridProfile);
1910
2014
  this.addOptionalCharacteristic(Characteristic.Status);
1911
- this.addOptionalCharacteristic(Characteristic.LastReportDate);
1912
2015
  this.addOptionalCharacteristic(Characteristic.CommLevel);
2016
+ this.addOptionalCharacteristic(Characteristic.GridProfile);
2017
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
1913
2018
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
1914
2019
  }
1915
2020
  }
@@ -1931,9 +2036,9 @@ export default (api) => {
1931
2036
  this.addOptionalCharacteristic(Characteristic.MainsOperState);
1932
2037
  this.addOptionalCharacteristic(Characteristic.EnpwrGridMode);
1933
2038
  this.addOptionalCharacteristic(Characteristic.EnchgGridMode);
1934
- this.addOptionalCharacteristic(Characteristic.GridProfile);
1935
2039
  this.addOptionalCharacteristic(Characteristic.Status);
1936
- this.addOptionalCharacteristic(Characteristic.LastReportDate);
2040
+ this.addOptionalCharacteristic(Characteristic.GridProfile);
2041
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
1937
2042
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
1938
2043
  }
1939
2044
  }
@@ -1996,10 +2101,10 @@ export default (api) => {
1996
2101
  // Optional Characteristics
1997
2102
  this.addOptionalCharacteristic(Characteristic.Communicating);
1998
2103
  this.addOptionalCharacteristic(Characteristic.Operating);
1999
- this.addOptionalCharacteristic(Characteristic.CommLevel);
2000
2104
  this.addOptionalCharacteristic(Characteristic.Status);
2001
2105
  this.addOptionalCharacteristic(Characteristic.Firmware);
2002
- this.addOptionalCharacteristic(Characteristic.LastReportDate);
2106
+ this.addOptionalCharacteristic(Characteristic.CommLevel);
2107
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
2003
2108
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
2004
2109
  }
2005
2110
  }
@@ -2019,6 +2124,7 @@ export default (api) => {
2019
2124
  this.addOptionalCharacteristic(Characteristic.ApparentPowerL1);
2020
2125
  this.addOptionalCharacteristic(Characteristic.ApparentPowerL2);
2021
2126
  this.addOptionalCharacteristic(Characteristic.ApparentPowerL3);
2127
+ this.addOptionalCharacteristic(Characteristic.ReadingTime);
2022
2128
  this.addOptionalCharacteristic(Characteristic.ConfiguredName);
2023
2129
  }
2024
2130
  }