mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-18 02:20:47 -04:00
green mode slop 1
This commit is contained in:
@@ -22,6 +22,9 @@ function createButtonBoxCore(deps) {
|
||||
getHomeAssistantState,
|
||||
setHomeAssistantEntityState,
|
||||
setHomeAssistantLightsLockedOn,
|
||||
setGreenMode,
|
||||
isGreenModeEnabled,
|
||||
onGreenModeChange,
|
||||
store,
|
||||
} = deps;
|
||||
|
||||
@@ -215,6 +218,11 @@ function createButtonBoxCore(deps) {
|
||||
setHomeAssistantEntityState(entityId, state, { source: 'buttonBoxReward' }),
|
||||
setHomeAssistantLightsLockedOn: (next, options = {}) =>
|
||||
setHomeAssistantLightsLockedOn(next, options),
|
||||
// Rewards receive the standalone feature boundary rather than reaching
|
||||
// into Home Assistant or duplicating green-mode state and alerts.
|
||||
setGreenMode: (next, options = {}) => setGreenMode(next, options),
|
||||
isGreenModeEnabled: () => isGreenModeEnabled(),
|
||||
onGreenModeChange: (listener) => onGreenModeChange(listener),
|
||||
saveEffect: (effectId, payload = {}) => saveEffect(effectId, payload, { broadcast: false }),
|
||||
clearEffect: (effectId) => clearEffect(effectId, { broadcast: false }),
|
||||
};
|
||||
|
||||
@@ -24,6 +24,7 @@ const { isLocalNetwork, normalizeIp } = require('../../helpers/ipResolver');
|
||||
const { createButtonBoxStore } = require('./store');
|
||||
const { createButtonBoxCore } = require('./core');
|
||||
const { registerButtonBoxRoute } = require('./httpRoute');
|
||||
const greenModeService = require('../greenModeService');
|
||||
|
||||
const DATA_DIR = resolveDataDir();
|
||||
const STORE_PATH = resolveDataPath('buttonbox-state.json');
|
||||
@@ -61,6 +62,14 @@ const core = createButtonBoxCore({
|
||||
getHomeAssistantState,
|
||||
setHomeAssistantEntityState,
|
||||
setHomeAssistantLightsLockedOn,
|
||||
setGreenMode: greenModeService.setEnabled,
|
||||
isGreenModeEnabled: greenModeService.isEnabled,
|
||||
// Return an explicit cleanup function so timed rewards can stop observing
|
||||
// the global service when they expire, rerun, or are recovered.
|
||||
onGreenModeChange: (listener) => {
|
||||
greenModeService.greenModeEvents.on('change', listener);
|
||||
return () => greenModeService.greenModeEvents.off('change', listener);
|
||||
},
|
||||
store,
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user