UNPKG

node-red-contrib-miio-localdevices

Version:

Node for Node-Red to control Mi Devices locally via node-mihome (Humidifiers, Air Purifiers, Heaters, Fans, Vacuums, Lights - list of devices to be enlarged). See latest updates in documentation.

55 lines (47 loc) 1.57 kB
const Device = require('../device-miio'); module.exports = class extends Device { static model = 'zhimi.toilet.sa1'; static name = 'Smartmi Smart Bidet Toilet Seat Pro'; static image = 'https://cdn.cnbj1.fds.api.mi-img.com/iotweb-product-center/developer_1577765179435CyXcWINp.png'; constructor(opts) { super(opts); this._propertiesToMonitor = [ 'power', 'mode', 'buzzer', 'seat_temp', 'water_temp', 'warm_air_temperature', 'filter_use_percentage', 'filter_remaining_time' ]; } setPower(v) { //boolean if (v === true) { return this.miioCall('set_power', ["on"]) } else if (v === false) { return this.miioCall('set_power', ["off"]) } return Promise.reject(new Error(`Invalid value: ${v}. Choose true or false`)); } setAlarm(v) { //boolean if (v === true) { return this.miioCall('set_buzzer', ["on"]) } else if (v === false) { return this.miioCall('set_buzzer', ["off"]) } return Promise.reject(new Error(`Invalid value: ${v}. Choose true or false`)); } setMode(v) { // 1-Posterior Wash, 2-Feminine Wash, 3-Air Dry, 4-Idle if (v === 1) { return this.miioCall('set_mode', ["hipclean"]) } else if (v === 2) { return this.miioCall('set_mode', ["womanclean"]) } else if (v === 3) { return this.miioCall('set_mode', ["heatwind"]) } else if (v === 4) { return this.miioCall('set_mode', ["idle"]) } return Promise.reject(new Error(`Invalid Mode: ${v}. Choose 1, 2, 3 or 4`)); } };