Release v5.9.0

This commit is contained in:
tsightler
2025-12-03 22:22:49 -05:00
parent f00d9bb3c4
commit e08e3fa8d4
4 changed files with 780 additions and 1395 deletions

View 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()
}
}

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -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",