New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

homebridge-panasonic-heat-pump

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

homebridge-panasonic-heat-pump - npm Package Compare versions

Comparing version 1.2.0 to 1.2.1

2

config.schema.json
{
"pluginAlias": "PanasonicHeatPumpHomebridgePlugin",
"pluginType": "platform",
"headerDisplay": "Supports only Panasonic AQUAREA Heat Pump, that has a cloud adapter installed .\n\nCheck out the [Setup Guide](https://github.com/bimusiek/homebridge-panasonic-heat-pump#setup-the-app)",
"footerDisplay": "**Caution!** It is recommended to setup another login for the *Comfort Cloud* and share your home to that login. [Read how](https://github.com/bimusiek/homebridge-panasonic-heat-pump#sharing-panasonic-heatpump-with-another-account)",
"singular": true,

@@ -5,0 +7,0 @@ "schema": {

@@ -42,3 +42,4 @@ import { PlatformAccessory } from 'homebridge';

private refreshTimeout;
private setupTankService;
}
//# sourceMappingURL=platformAccessory.d.ts.map

107

dist/platformAccessory.js

@@ -57,37 +57,2 @@ "use strict";

});
// Water
this.tankService = this.accessory.getService('Water')
|| this.accessory.addService(this.platform.Service.Thermostat, 'Water', 'water');
this.tankService.setCharacteristic(this.platform.Characteristic.Name, 'Water');
this.tankService.getCharacteristic(this.platform.Characteristic.TargetTemperature).onSet(async (temp) => {
panasonicApi.setTankTargetHeat(this.accessory.context.device.uniqueId, temp);
await this.getReadings(true);
}).onGet(async () => {
return (await this.getReadings()).tankTemperatureSet;
});
this.tankService.getCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState).onSet(async (state) => {
if (state === this.platform.Characteristic.TargetHeatingCoolingState.OFF ||
state === this.platform.Characteristic.TargetHeatingCoolingState.COOL) {
// turn off water heating
this.tankService.getCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState)
.updateValue(this.platform.Characteristic.TargetHeatingCoolingState.OFF);
this.panasonicApi.setTankStatus(this.accessory.context.device.uniqueId, false);
await this.getReadings(true, true);
return;
}
// turn on water heating
this.tankService.getCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState)
.updateValue(this.platform.Characteristic.TargetHeatingCoolingState.HEAT);
this.panasonicApi.setTankStatus(this.accessory.context.device.uniqueId, true);
await this.getReadings(true, true);
}).onGet(async () => {
return (await this.getReadings()).tankTargetHeatingCoolingState;
});
this.tankService.getCharacteristic(this.platform.Characteristic.CurrentTemperature).setProps({
minValue: 0,
maxValue: 100,
minStep: 1,
}).onGet(async () => {
return (await this.getReadings()).tankTemperatureNow;
});
// Outdoor temperature

@@ -270,10 +235,23 @@ this.outdoorTemperatureService = this.accessory.getService('Outdoor') ||

this.outdoorTemperatureService.getCharacteristic(this.platform.Characteristic.StatusActive).updateValue(true);
this.tankService.getCharacteristic(this.platform.Characteristic.TargetTemperature).setProps({
minValue: tankTemperatureMin,
maxValue: tankTemperatureMax,
minStep: 1,
}).updateValue(tankTemperatureSet);
this.tankService.getCharacteristic(this.platform.Characteristic.CurrentTemperature).updateValue(tankTemperatureNow);
this.tankService.getCharacteristic(this.platform.Characteristic.CurrentHeatingCoolingState).updateValue(tankHeatingCoolingState);
this.tankService.getCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState).updateValue(tankTargetHeatingCoolingState);
if (tankTemperatureNow !== null) {
this.setupTankService();
if (this.tankService) {
this.tankService.getCharacteristic(this.platform.Characteristic.TargetTemperature).setProps({
minValue: tankTemperatureMin,
maxValue: tankTemperatureMax,
minStep: 1,
}).updateValue(tankTemperatureSet);
this.tankService.getCharacteristic(this.platform.Characteristic.CurrentTemperature).updateValue(tankTemperatureNow);
this.tankService.getCharacteristic(this.platform.Characteristic.CurrentHeatingCoolingState).updateValue(tankHeatingCoolingState);
this.tankService.getCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState)
.updateValue(tankTargetHeatingCoolingState);
}
}
else {
const existingTankService = this.accessory.getService('Water');
if (existingTankService) {
this.accessory.removeService(existingTankService);
this.tankService = undefined;
}
}
this.ecoModeService.getCharacteristic(this.platform.Characteristic.On).updateValue(ecoModeIsActive);

@@ -290,4 +268,47 @@ this.comfortModeService.getCharacteristic(this.platform.Characteristic.On).updateValue(comfortModeIsActive);

}
setupTankService() {
if (this.tankService !== undefined) {
return;
}
// Water
this.tankService = this.accessory.getService('Water')
|| this.accessory.addService(this.platform.Service.Thermostat, 'Water', 'water');
this.tankService.setCharacteristic(this.platform.Characteristic.Name, 'Water');
this.tankService.getCharacteristic(this.platform.Characteristic.TargetTemperature).onSet(async (temp) => {
this.panasonicApi.setTankTargetHeat(this.accessory.context.device.uniqueId, temp);
await this.getReadings(true);
}).onGet(async () => {
return (await this.getReadings()).tankTemperatureSet;
});
this.tankService.getCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState).onSet(async (state) => {
if (!this.tankService) {
return;
}
if (state === this.platform.Characteristic.TargetHeatingCoolingState.OFF ||
state === this.platform.Characteristic.TargetHeatingCoolingState.COOL) {
// turn off water heating
this.tankService.getCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState)
.updateValue(this.platform.Characteristic.TargetHeatingCoolingState.OFF);
this.panasonicApi.setTankStatus(this.accessory.context.device.uniqueId, false);
await this.getReadings(true, true);
return;
}
// turn on water heating
this.tankService.getCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState)
.updateValue(this.platform.Characteristic.TargetHeatingCoolingState.HEAT);
this.panasonicApi.setTankStatus(this.accessory.context.device.uniqueId, true);
await this.getReadings(true, true);
}).onGet(async () => {
return (await this.getReadings()).tankTargetHeatingCoolingState;
});
this.tankService.getCharacteristic(this.platform.Characteristic.CurrentTemperature).setProps({
minValue: 0,
maxValue: 100,
minStep: 1,
}).onGet(async () => {
return (await this.getReadings()).tankTemperatureNow;
});
}
}
exports.PanasonicHeatPumpPlatformAccessory = PanasonicHeatPumpPlatformAccessory;
//# sourceMappingURL=platformAccessory.js.map
{
"displayName": "Homebridge Panasonic Heat Pump",
"name": "homebridge-panasonic-heat-pump",
"version": "1.2.0",
"version": "1.2.1",
"description": "Allows basic control of Panasonic Heat Pump (AQUAREA)",

@@ -6,0 +6,0 @@ "license": "MIT",

@@ -7,5 +7,10 @@ [![NPM](https://img.shields.io/npm/v/homebridge-panasonic-heat-pump)](https://npmjs.org/package/homebridge-panasonic-heat-pump)

![HomeKit Screenshot](.github/statics/homekit-1.png)
## Things to know
* Supports only a single Heat Pump per Comfort Cloud account
* Supports *AQUAREA* Heat Pumps only.
* Supports **AQUAREA** Heat Pumps only.
* Plugin implements all modes of floor heating: cooling, heating, auto (If you don't have cooling enabled in service menu, not sure if this will work)
* In case of water heating, Apple does not allow to hide *cooling* & *auto* mode. When selecting cooling, the plugin sets it to *off* and when selecting *auto*, it switches to *heating*.
* In case your water heater does not report current tank temperature, the plugin will show target temperature.

@@ -27,8 +32,9 @@ ## Getting started

### Sample configuration
```{
"platform": "PanasonicHeatPumpHomebridgePlugin",
"email": "<YOUR_EMAIL_HERE>",
"password": "<YOUR_PASSWORD_HERE>"
}
```
{
"platform": "PanasonicHeatPumpHomebridgePlugin",
"email": "<YOUR_EMAIL_HERE>",
"password": "<YOUR_PASSWORD_HERE>"
}
```

@@ -39,3 +45,3 @@ ### Sharing Panasonic heatpump with another account

2. Verify email using the link sent to the email id specified
3. Sign into the Panasonic Comfort Cloud app on your smart device using the newly created Panasonic ID
3. Sign into the *Panasonic Comfort Cloud* app on your smart device using the newly created *Panasonic ID*
4. Agree to the terms and conditions displayed in app

@@ -48,3 +54,3 @@ 5. Agree to the privacy notice displayed in app

10. Enter the device password you used when originally setting up the device
11. In step 3: Enter a name for the heatpump, a message="HomeBridge account" and note="HomeBridge account")
11. In step 3: Enter a name for the heatpump, a message="HomeBridge account" and note="HomeBridge account"
12. Click Send Request

@@ -51,0 +57,0 @@ 13. Log out of the app

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc