making noise

This commit is contained in:
legop3
2026-04-30 04:53:42 -04:00
parent 963499fa8e
commit ff877f04cc
2 changed files with 73 additions and 51 deletions
+28 -1
View File
@@ -78,9 +78,36 @@ function hasEntity(entityIdValue) {
return Boolean(readRaw(entityIdValue));
}
function isEntityAvailable(entityIdValue) {
const raw = readRaw(entityIdValue);
if (!raw) return false;
const state = String(raw.state ?? '').trim().toLowerCase();
if (!state) return false;
return state !== 'unavailable';
}
function requiredEntityIds() {
return [
ENTITY_IDS.buttons.start,
ENTITY_IDS.buttons.sendHome,
ENTITY_IDS.buttons.locate,
ENTITY_IDS.buttons.clearErrors,
ENTITY_IDS.sensors.batteryPercent,
ENTITY_IDS.sensors.batteryVoltage,
ENTITY_IDS.binarySensors.chargingActive,
ENTITY_IDS.binarySensors.extPowerPresent,
ENTITY_IDS.textSensors.uiState,
ENTITY_IDS.textSensors.robotError,
ENTITY_IDS.textSensors.robotAlert,
].filter(Boolean);
}
function buildState() {
const configured = Boolean(device);
const connected = isHomeAssistantConnected();
const haConnected = isHomeAssistantConnected();
const requiredIds = requiredEntityIds();
const entitiesAvailable = requiredIds.length > 0 && requiredIds.every((id) => isEntityAvailable(id));
const connected = Boolean(haConnected && entitiesAvailable);
const enabled = Boolean(homeAssistantEnabled && configured);
const controls = {