homebridge-enphase-envoy 9.6.2 → 9.6.4

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
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [9.6.4] - (02.12.2024)
9
+
10
+ ## Changes
11
+
12
+ - prevent crasch if PLC Level is enabled and credentials data is not installer
13
+
14
+ ## [9.6.3] - (02.12.2024)
15
+
16
+ ## Changes
17
+
18
+ - prevent crasch if production control is enabled and credentials data is not installer
19
+
8
20
  ## [9.6.0] - (30.11.2024)
9
21
 
10
22
  ## 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": "9.6.2",
5
+ "version": "9.6.4",
6
6
  "description": "Homebridge plugin for Photovoltaic Energy System manufactured by Enphase.",
7
7
  "license": "MIT",
8
8
  "author": "grzegorz914",
@@ -2705,6 +2705,13 @@ class EnvoyDevice extends EventEmitter {
2705
2705
  const mqtt = this.mqttConnected ? this.mqtt.emit('publish', 'Power Mode', powerProductionState) : false;
2706
2706
  return true;
2707
2707
  } catch (error) {
2708
+ const errorString = error.toString();
2709
+ const tokenNotValid = errorString.includes('status code 401');
2710
+ if (tokenNotValid) {
2711
+ this.emit('warn', 'Power production control will not work, you need installer credentials data.')
2712
+ return false;
2713
+ }
2714
+
2708
2715
  throw new Error(`Update power production state error: ${error.message || error}`);
2709
2716
  };
2710
2717
  };
@@ -3922,6 +3929,13 @@ class EnvoyDevice extends EventEmitter {
3922
3929
  const mqtt = this.mqttConnected ? this.mqtt.emit('publish', 'PLC Level', plcLevel) : false;
3923
3930
  return true;
3924
3931
  } catch (error) {
3932
+ const errorString = error.toString();
3933
+ const tokenNotValid = errorString.includes('status code 401');
3934
+ if (tokenNotValid) {
3935
+ this.emit('warn', 'PLC level will not work, you need installer credentials data.')
3936
+ return false;
3937
+ }
3938
+
3925
3939
  throw new Error(`Update plc level error: ${error.message || error}`);
3926
3940
  };
3927
3941
  };