2
0
Files
node-red-contrib-mi-devices/dist/devices/gateway/GatewaySubdevice.js
2018-03-21 23:29:36 +01:00

41 lines
1.1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const events = require("events");
class GatewaySubdevice extends events.EventEmitter {
constructor(sid, model) {
super();
this.sid = sid;
this.model = model;
}
get batteryLevel() {
/*
When full, CR2032 batteries are between 3 and 3.4V
http://farnell.com/datasheets/1496885.pdf
*/
return this.voltage ? Math.min(Math.round((this.voltage - 2200) / 10), 100) : -1;
}
handleMessage(msg) {
if (msg.data.voltage) {
this.voltage = msg.data.voltage;
}
this.message = msg;
}
static get acceptedModels() {
return [];
}
;
toJSON() {
let json = {};
for (let prop of Object.keys(this)) {
json[prop] = this[prop];
}
delete json._events;
delete json._eventsCount;
delete json._maxListeners;
json.batteryLevel = this.batteryLevel;
json.internalModel = this.internalModel;
return json;
}
}
exports.GatewaySubdevice = GatewaySubdevice;