Skip to content

Commit

Permalink
2.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
marcus-j-davies committed Aug 1, 2021
1 parent 47cb78d commit b26ebc8
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 2 deletions.
61 changes: 61 additions & 0 deletions core/accessories/AirQualitySensor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
'use strict';

const { Service, Characteristic, Categories } = require('hap-nodejs');
const { SetWithBattery, BaseAccessory } = require('./BaseAccessory');

class AirQualitySensor extends BaseAccessory {
constructor(Config) {
super(Config, Categories.SENSOR);

this._service = new Service.AirQualitySensor(Config.name, Config.name);

this._service.setCharacteristic(Characteristic.StatusActive, 1);
this._service.setCharacteristic(Characteristic.StatusFault, 0);
this._service.setCharacteristic(Characteristic.StatusTampered, 0);

this._service.setCharacteristic(Characteristic.AirQuality, 1);
this._service.setCharacteristic(Characteristic.OzoneDensity, 500);
this._service.setCharacteristic(Characteristic.NitrogenDioxideDensity, 500);
this._service.setCharacteristic(Characteristic.SulphurDioxideDensity, 500);
this._service.setCharacteristic(Characteristic.PM2_5Density, 500);
this._service.setCharacteristic(Characteristic.PM10Density, 500);
this._service.setCharacteristic(Characteristic.VOCDensity, 500);
this._Properties['AirQuality'] = 1;
this._Properties['OzoneDensity'] = 500;
this._Properties['NitrogenDioxideDensity'] = 500;
this._Properties['SulphurDioxideDensity'] = 500;
this._Properties['PM2_5Density'] = 500;
this._Properties['PM10Density'] = 500;
this._Properties['VOCDensity'] = 500;

this._Properties['StatusActive'] = 1;
this._Properties['StatusFault'] = 0;
this._Properties['StatusTampered'] = 0;

var EventStruct = {
Get: [
'VOCDensity',
'PM10Density',
'PM2_5Density',
'SulphurDioxideDensity',
'NitrogenDioxideDensity',
'AirQuality',
'OzoneDensity',
'StatusActive',
'StatusTampered',
'StatusFault'
],
Set: []
};

this._wireUpEvents(this._service, EventStruct);
this._accessory.addService(this._service);

this._createBatteryService();
}
}
AirQualitySensor.prototype.setCharacteristics = SetWithBattery;

module.exports = {
AirQualitySensor: AirQualitySensor
};
2 changes: 1 addition & 1 deletion core/accessories/BaseAccessory.js
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ BaseAccessory.prototype.getAccessories = function () {
};

BaseAccessory.prototype._createBatteryService = function () {
this._batteryService = new Service.BatteryService('', '');
this._batteryService = new Service.Battery('', '');
this._batteryService.setCharacteristic(Characteristic.BatteryLevel, 100);
this._batteryService.setCharacteristic(Characteristic.StatusLowBattery, 0);
this._batteryService.setCharacteristic(Characteristic.ChargingState, 0);
Expand Down
2 changes: 1 addition & 1 deletion core/accessories/Bridge.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const { BaseAccessory } = require('./BaseAccessory');
class Bridge extends BaseAccessory {
constructor(Config) {
Config.name = 'HAP Router Bridge';
Config.model = 'HAP Router v2';
Config.model = 'HAP Router V2';
Config.manufacturer = 'Marcus Davies';
super(Config, Categories.BRIDGE);
}
Expand Down
Binary file added core/accessories/Icons/AIR_QUALITY.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions core/accessories/Types.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ const { Smoke } = require('./SmokeSensor');
const { Leak } = require('./LeakSensor');
const { Camera } = require('./Camera/Camera');
const { MultiSensor } = require('./MultiSensor');
const { AirQualitySensor } = require('./AirQualitySensor');

const Types = {
CONTACT_SENSOR: {
Expand All @@ -25,6 +26,14 @@ const Types = {
Actions: [],
ConfigProperties: []
},
AIR_QUALITY_SENSOR: {
Label: 'Air Quality Sensor',
Icon: 'AIR_QUALITY.png',
SupportsRouting: true,
Class: AirQualitySensor,
Actions: [],
ConfigProperties: []
},
INTRUDER_ALARM: {
Label: 'Intruder Alarm',
Icon: 'INTRUDER_ALARM.png',
Expand Down

0 comments on commit b26ebc8

Please sign in to comment.