mirror of
https://github.com/tsightler/ring-mqtt.git
synced 2025-12-24 13:18:16 +08:00
Release v5.9.0
This commit is contained in:
27
devices/smoke-co-kiddie.js
Normal file
27
devices/smoke-co-kiddie.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import RingSocketDevice from './base-socket-device.js'
|
||||
|
||||
export default class SmokeCoKiddie extends RingSocketDevice {
|
||||
constructor(deviceInfo) {
|
||||
super(deviceInfo, 'alarm')
|
||||
this.deviceData.mdl = 'Kiddie Smoke & CO Alarm'
|
||||
|
||||
this.entity.smoke = {
|
||||
component: 'binary_sensor',
|
||||
device_class: 'smoke'
|
||||
}
|
||||
this.entity.co = {
|
||||
component: 'binary_sensor',
|
||||
device_class: 'gas',
|
||||
name: `CO`
|
||||
}
|
||||
}
|
||||
|
||||
publishState() {
|
||||
const deviceComponents = this.device.data.components
|
||||
const smokeState = deviceComponents?.alarm?.smoke && deviceComponents.alarm.smoke.alarmStatus === 'active' ? 'ON' : 'OFF'
|
||||
const coState = deviceComponents?.alarm?.co && deviceComponents.alarm.co.alarmStatus === 'active' ? 'ON' : 'OFF'
|
||||
this.mqttPublish(this.entity.smoke.state_topic, smokeState)
|
||||
this.mqttPublish(this.entity.co.state_topic, coState)
|
||||
this.publishAttributes()
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,7 @@ import RangeExtender from '../devices/range-extender.js'
|
||||
import SecurityPanel from '../devices/security-panel.js'
|
||||
import Siren from '../devices/siren.js'
|
||||
import SmokeAlarm from '../devices/smoke-alarm.js'
|
||||
import SmokeCoKiddie from '../devices/smoke-co-kiddie.js'
|
||||
import SmokeCoListener from '../devices/smoke-co-listener.js'
|
||||
import Switch from '../devices/switch.js'
|
||||
import TemperatureSensor from '../devices/temperature-sensor.js'
|
||||
@@ -351,6 +352,8 @@ export default new class RingMqtt {
|
||||
return new SmokeAlarm(deviceInfo)
|
||||
case RingDeviceType.CoAlarm:
|
||||
return new CoAlarm(deviceInfo)
|
||||
case RingDeviceType.KiddeSmokeCoAlarm:
|
||||
return new SmokeCoKiddie(deviceInfo)
|
||||
case RingDeviceType.SmokeCoListener:
|
||||
return new SmokeCoListener(deviceInfo)
|
||||
case RingDeviceType.BeamsMotionSensor:
|
||||
@@ -397,6 +400,7 @@ export default new class RingMqtt {
|
||||
case 'adapter.sidewalk':
|
||||
case 'adapter.zigbee':
|
||||
case 'adapter.zwave':
|
||||
case 'adapter.shadow':
|
||||
case 'thermostat-operating-status':
|
||||
return "ignore"
|
||||
}
|
||||
|
||||
2114
package-lock.json
generated
2114
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
30
package.json
30
package.json
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"name": "ring-mqtt",
|
||||
"version": "5.8.1",
|
||||
"version": "5.9.0",
|
||||
"type": "module",
|
||||
"description": "Ring Devices via MQTT",
|
||||
"main": "ring-mqtt.js",
|
||||
"dependencies": {
|
||||
"@homebridge/camera-utils": "^2.2.7",
|
||||
"@homebridge/camera-utils": "^3.0.0",
|
||||
"aedes": "^0.51.3",
|
||||
"body-parser": "^1.20.3",
|
||||
"chalk": "^5.4.1",
|
||||
"body-parser": "^2.2.1",
|
||||
"chalk": "^5.6.2",
|
||||
"date-fns": "^4.1.0",
|
||||
"debug": "^4.4.0",
|
||||
"express": "^4.21.2",
|
||||
"is-online": "^11.0.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"debug": "^4.4.3",
|
||||
"express": "^5.2.1",
|
||||
"is-online": "^12.0.2",
|
||||
"js-yaml": "^4.1.1",
|
||||
"minimist": "^1.2.8",
|
||||
"mqtt": "^5.13.0",
|
||||
"ring-client-api": "^14.0.0-beta.2",
|
||||
"mqtt": "^5.14.1",
|
||||
"ring-client-api": "^14.2.0",
|
||||
"rxjs": "^7.8.2",
|
||||
"werift": "^0.22.1",
|
||||
"write-file-atomic": "^6.0.0"
|
||||
"werift": "^0.22.2",
|
||||
"write-file-atomic": "^7.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.13.0",
|
||||
"eslint": "^9.16.0",
|
||||
"globals": "^15.13.0"
|
||||
"@eslint/js": "^9.39.1",
|
||||
"eslint": "^9.39.1",
|
||||
"globals": "^16.5.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
|
||||
Reference in New Issue
Block a user