feat: Update sensor initialization to use existing hardware values and adjust pin change handling

This commit is contained in:
Siwat Sirichai 2025-06-21 19:12:16 +07:00
parent 17fb57f1d4
commit 83286c318e

View file

@ -84,20 +84,19 @@ export class BedHardwareMQTT extends EventEmitter implements IBedHardware {
this.pinStates.set(data.pin, pinState);
this.emit('pinInitialized', pinState);
}
} else if (topic === this.topics.pinChange) {
if (data.pin !== undefined && data.previousState !== undefined && data.currentState !== undefined) {
} } else if (topic === this.topics.pinChange) {
if (data.pin !== undefined && data.previousValue !== undefined && data.currentValue !== undefined) {
const pinChange: PinChange = {
pin: data.pin,
previousState: data.previousState,
currentState: data.currentState,
previousState: data.previousValue,
currentState: data.currentValue,
timestamp: new Date(data.timestamp || Date.now())
};
// Update stored pin state
const pinState: PinState = {
pin: data.pin,
state: data.currentState,
state: data.currentValue,
name: data.name || `PIN${data.pin}`,
timestamp: new Date(data.timestamp || Date.now())
};