Dimmer updates

This commit is contained in:
Bill 2021-09-15 18:56:48 -04:00
parent 4e3af05d1f
commit 17968b7265
6 changed files with 45 additions and 39 deletions

View File

@ -2,8 +2,8 @@
{
constructor(
public id: number,
public bgOnly: boolean,
public color: string,
public type: number,
public color: number,
public brightness: number)
{}
}

View File

@ -28,11 +28,11 @@ export class RoomDimmerPresetsMessageParser implements IMessageParser
for(let i = 0; i < totalPresets; i++)
{
const presetId = wrapper.readInt();
const bgOnly = (wrapper.readInt() === 2);
const color = wrapper.readString();
const type = wrapper.readInt();
const color = parseInt(wrapper.readString().substr(1), 16);
const brightness = wrapper.readInt();
this._presets.push(new RoomDimmerPresetsMessageData(presetId, bgOnly, color, brightness));
this._presets.push(new RoomDimmerPresetsMessageData(presetId, type, color, brightness));
}
return true;

View File

@ -84,6 +84,8 @@ export class FurnitureRoomDimmerLogic extends FurnitureLogic
{
if(!data) return;
console.log(data);
const parts = data.split(',');
if(parts.length >= 5)
@ -122,21 +124,21 @@ export class FurnitureRoomDimmerLogic extends FurnitureLogic
{
super.update(time);
if(this.object && this.object.model)
{
const realRoomObject = this.object.model.getValue<number>(RoomObjectVariable.FURNITURE_REAL_ROOM_OBJECT);
// if(this.object && this.object.model)
// {
// const realRoomObject = this.object.model.getValue<number>(RoomObjectVariable.FURNITURE_REAL_ROOM_OBJECT);
if(realRoomObject === 1)
{
const data = this.object.model.getValue<string>(RoomObjectVariable.FURNITURE_DATA);
// if(realRoomObject === 1)
// {
// const data = this.object.model.getValue<string>(RoomObjectVariable.FURNITURE_DATA);
if(data && data.length > 0)
{
this.object.model.setValue(RoomObjectVariable.FURNITURE_DATA, '');
// if(data && data.length > 0)
// {
// this.object.model.setValue(RoomObjectVariable.FURNITURE_DATA, '');
this.processDimmerData(data);
}
}
}
// this.processDimmerData(data);
// }
// }
// }
}
}

View File

@ -16,6 +16,18 @@ export class RoomSessionDimmerPresetsEvent extends RoomSessionEvent
this._presets = [];
}
public storePreset(id: number, type: number, color: number, brightness: number): void
{
this._presets[(id - 1)] = new RoomSessionDimmerPresetsEventPresetItem(id, type, color, brightness);
}
public getPreset(id: number): RoomSessionDimmerPresetsEventPresetItem
{
if((id < 0) || (id >= this._presets.length)) return null;
return this._presets[id];
}
public get presetCount(): number
{
return this._presets.length;
@ -30,16 +42,4 @@ export class RoomSessionDimmerPresetsEvent extends RoomSessionEvent
{
this._selectedPresetId = id;
}
public storePreset(id: number, bgOnly: boolean, color: string, brightness: number): void
{
this._presets[(id - 1)] = new RoomSessionDimmerPresetsEventPresetItem(id, bgOnly, color, brightness);
}
public getPreset(id: number): RoomSessionDimmerPresetsEventPresetItem
{
if((id < 0) || (id >= this._presets.length)) return null;
return this._presets[id];
}
}

View File

@ -1,14 +1,14 @@
export class RoomSessionDimmerPresetsEventPresetItem
{
private _id: number;
private _bgOnly: boolean;
private _color: string;
private _type: number;
private _color: number;
private _brightness: number;
constructor(id: number, bgOnly: boolean, color: string, brightness: number)
constructor(id: number, type: number, color: number, brightness: number)
{
this._id = id;
this._bgOnly = bgOnly;
this._type = type;
this._color = color;
this._brightness = brightness;
}
@ -18,12 +18,12 @@
return this._id;
}
public get bgOnly(): boolean
public get type(): number
{
return this._bgOnly;
return this._type;
}
public get color(): string
public get color(): number
{
return this._color;
}

View File

@ -29,11 +29,15 @@ export class RoomDimmerPresetsHandler extends BaseHandler
presetEvent.selectedPresetId = parser.selectedPresetId;
for(let i = 0; i < parser.presetCount; i++)
let i = 0;
while(i < parser.presetCount)
{
const preset = parser.getPreset(i);
if(preset) presetEvent.storePreset(preset.id, preset.bgOnly, preset.color, preset.brightness);
if(preset) presetEvent.storePreset(preset.id, preset.type, preset.color, preset.brightness);
i++;
}
this.listener && this.listener.events.dispatchEvent(presetEvent);