homebridge-smartsystem 7.1.6 → 7.1.7

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/server/smartapp.js +9 -42
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-smartsystem",
3
3
  "displayname": "Duotecno Bridge",
4
- "version": "7.1.6",
4
+ "version": "7.1.7",
5
5
  "description": "SmartServer (Proxy TCP sockets to the cloud, Smappee MQTT, Duotecno IP Nodes, Homekit interface)",
6
6
  "main": "index.js",
7
7
  "author": "Johan Coppieters",
@@ -832,22 +832,9 @@ class SmartApp extends webapp_1.WebApp {
832
832
  if (!this.power.smappee)
833
833
  return null;
834
834
  try {
835
- // Channel format could be "0", "0+1", "0+1+2", etc.
836
- const channels = channel.split('+').map(c => parseInt(c.trim()));
837
- const available = this.power.smappee.bindings.map(b => `ch=${b.channel}(${b.value})`).join(', ');
838
- (0, logger_1.log)("smartapp", `getPowerFromSmappee: looking for channel(s) [${channels}], available bindings: [${available}]`);
839
- let totalPower = 0;
840
- for (const ch of channels) {
841
- const binding = this.power.smappee.bindings.find(b => b.channel === ch.toString());
842
- if (binding && binding.value !== undefined) {
843
- (0, logger_1.log)("smartapp", `getPowerFromSmappee: matched ch=${ch} -> value=${binding.value}`);
844
- totalPower += binding.value;
845
- }
846
- else {
847
- (0, logger_1.log)("smartapp", `getPowerFromSmappee: no match for ch=${ch}`);
848
- }
849
- }
850
- return totalPower;
835
+ const power = this.power.smappee.evalPower(channel);
836
+ (0, logger_1.log)("smartapp", `getPowerFromSmappee: channel="${channel}" -> power=${power}`);
837
+ return power;
851
838
  }
852
839
  catch (e) {
853
840
  (0, logger_1.err)("smartapp", `Error getting Smappee power for channel ${channel}: ${e.message}`);
@@ -858,16 +845,9 @@ class SmartApp extends webapp_1.WebApp {
858
845
  if (!this.power.p1)
859
846
  return null;
860
847
  try {
861
- // P1 meter typically has single power value
862
- const available = this.power.p1.bindings.map(b => `ch=${b.channel}(${b.value})`).join(', ');
863
- (0, logger_1.log)("smartapp", `getPowerFromP1: looking for channel "${channel}", available bindings: [${available}]`);
864
- const binding = this.power.p1.bindings.find(b => b.channel === channel);
865
- if (binding && binding.value !== undefined) {
866
- (0, logger_1.log)("smartapp", `getPowerFromP1: matched ch=${channel} -> value=${binding.value}`);
867
- return binding.value;
868
- }
869
- (0, logger_1.log)("smartapp", `getPowerFromP1: no match for channel "${channel}"`);
870
- return null;
848
+ const power = this.power.p1.evalPower(channel);
849
+ (0, logger_1.log)("smartapp", `getPowerFromP1: channel="${channel}" -> power=${power}`);
850
+ return power;
871
851
  }
872
852
  catch (e) {
873
853
  (0, logger_1.err)("smartapp", `Error getting P1 power for channel ${channel}: ${e.message}`);
@@ -878,22 +858,9 @@ class SmartApp extends webapp_1.WebApp {
878
858
  if (!this.power.shelly)
879
859
  return null;
880
860
  try {
881
- // Shelly channel format similar to Smappee
882
- const channels = channel.split('+').map(c => parseInt(c.trim()));
883
- const available = this.power.shelly.bindings.map(b => `ch=${b.channel}(${b.value})`).join(', ');
884
- (0, logger_1.log)("smartapp", `getPowerFromShelly: looking for channel(s) [${channels}], available bindings: [${available}]`);
885
- let totalPower = 0;
886
- for (const ch of channels) {
887
- const binding = this.power.shelly.bindings.find(b => b.channel === ch.toString());
888
- if (binding && binding.value !== undefined) {
889
- (0, logger_1.log)("smartapp", `getPowerFromShelly: matched ch=${ch} -> value=${binding.value}`);
890
- totalPower += binding.value;
891
- }
892
- else {
893
- (0, logger_1.log)("smartapp", `getPowerFromShelly: no match for ch=${ch}`);
894
- }
895
- }
896
- return totalPower;
861
+ const power = this.power.shelly.evalPower(channel);
862
+ (0, logger_1.log)("smartapp", `getPowerFromShelly: channel="${channel}" -> power=${power}`);
863
+ return power;
897
864
  }
898
865
  catch (e) {
899
866
  (0, logger_1.err)("smartapp", `Error getting Shelly power for channel ${channel}: ${e.message}`);