🚀 Big News:Socket Has Acquired Secure Annex.Learn More →
Socket
Book a DemoSign in
Socket

panasonic-comfort-cloud-api

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

panasonic-comfort-cloud-api

Client for Panasonic Comfort Cloud API to control air conditioners

latest
Source
npmnpm
Version
1.4.0
Version published
Weekly downloads
40
344.44%
Maintainers
1
Weekly downloads
 
Created
Source

panasonic-comfort-cloud-api

DeepScan grade GitHub last commit Travis (.com) npm npm NPM

Client for Panasonic Comfort Cloud API to control air conditioners.

Features

  • Get groups of devices.
  • Get information on specific device.
  • Control specific devices depending on its capabilities.

Install

Using npm:

$ npm install panasonic-comfort-cloud-api

Examples

Login

import { ComfortCloud } from 'panasonic-comfort-cloud-api';

const client = new ComfortCloud('username', 'password');

const token = await client.login();
console.log(token);

Get Groups

const groups = await client.getGroups();
console.log(groups);
const deviceId = groups[0].deviceList[0].deviceGuid;

Get Device

const device = await client.getDevice(deviceId);
console.log(device);

Set Device parameters

// Set single parameters based on device ID without knowing the device parameters.
const par: DeviceParameters = { temperatureSet: 21.5 };
const parRes = await client.setParameters(deviceId, par);
console.log(parRes);

// Set parameters from device. First get device, then manipulate the values.
device.parameters.temperatureSet = 22;
device.parameters.ecoMode = EcoMode.Quiet;
const parDev = await client.setDevice(device);
console.log(parDev);

Setting parameters

// Use enums for correct values.
const par: DeviceParameters = {
    operate: Power.On,
    operationMode: OperationMode.Auto,
    ecoMode: EcoMode.Auto,
    temperatureSet: 22,
    airSwingUD: AirSwingUD.Mid,
    airSwingLR: AirSwingLR.Mid,
    fanAutoMode: FanAutoMode.AirSwingAuto,
    fanSpeed: FanSpeed.Auto
};
const parRes = await client.setParameters(deviceId, par);

Full code example

import { ComfortCloud, DeviceParameters, AirSwingLR, AirSwingUD, EcoMode, FanAutoMode, FanSpeed, OperationMode, Power } from 'panasonic-comfort-cloud-api';
import { exit } from 'process';
import * as dotenv from 'dotenv';

dotenv.config();

const runner = new Promise<any>(async (resolve, reject) => {
    const client = new ComfortCloud(process.env.USERNAME as string, process.env.PASSWORD as string);

    const token = await client.login();
    console.log(token);

    const groups = await client.getGroups();
    console.log(groups);

    const deviceId = groups[0].deviceList[0].deviceGuid;
    const device = await client.getDevice(deviceId);
    console.log(device);

    const deviceNow = await client.getDeviceNow(deviceId);
    console.log(deviceNow);

    const par: DeviceParameters = {
        operate: Power.On,
        operationMode: OperationMode.Auto,
        ecoMode: EcoMode.Auto,
        temperatureSet: 22,
        airSwingUD: AirSwingUD.Mid,
        airSwingLR: AirSwingLR.Mid,
        fanAutoMode: FanAutoMode.AirSwingAuto,
        fanSpeed: FanSpeed.Auto
    };
    const parRes = await client.setParameters(deviceId, par);
    console.log(parRes);

    device.parameters.temperatureSet = 22;
    device.parameters.ecoMode = EcoMode.Quiet;
    const parDev = await client.setDevice(device);
    console.log(parDev);

    resolve('OK');
});

runner.then(x => {
    console.log(x);
    exit();
}).catch(x => {
    console.error(x);
    exit();
});

Keywords

panasonic

FAQs

Package last updated on 03 Oct 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts