Improvements for multimedia badges (#1074)

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
pull/1110/head
Christoph Weitkamp 2021-05-30 11:07:49 +02:00 committed by GitHub
parent d08803bda2
commit df053b9f4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 3 deletions

View File

@ -152,7 +152,8 @@ export default {
case 'speakers':
equipment = [
...findEquipment(this.element.equipment, 'Equipment_Receiver', false),
...findEquipment(this.element.equipment, 'Equipment_Speaker', false)
...findEquipment(this.element.equipment, 'Equipment_Speaker', false),
...findEquipment(this.element.equipment, 'Equipment_VoiceAssistant', false)
]
if (!equipment.length) return []
allPoints = allEquipmentPoints(equipment)
@ -189,10 +190,14 @@ export default {
return this.map.filter((state) => expr.eval(ast, { state: state, Number: Number })).length
}
switch (this.type) {
case 'lights':
return this.map.filter((state) => state === 'ON' || (state.split(',').length === 3 && state.split(',')[2] !== '0') || (state.indexOf(',') < 0 && Number.parseInt(state) > 0)).length
case 'blinds':
return this.map.filter((state) => state === 'OPEN' || state === 'ON' || Number.parseInt(state) === 0).length
case 'lights':
return this.map.filter((state) => state === 'ON' || (state.split(',').length === 3 && state.split(',')[2] !== '0') || (state.indexOf(',') < 0 && Number.parseInt(state) > 0)).length
case 'projectors':
case 'screens':
case 'speakers':
return this.map.filter((state) => state === 'ON' || state === 'PLAY' || state === 'FASTFORWARD' || state === 'REWIND').length
default:
return this.map.filter((state) => state === 'ON' || state === 'OPEN').length
}