diff --git a/interface/src/project/SettingsCustomization.tsx b/interface/src/project/SettingsCustomization.tsx index 7e4daf26d..1bf5a5464 100644 --- a/interface/src/project/SettingsCustomization.tsx +++ b/interface/src/project/SettingsCustomization.tsx @@ -110,7 +110,7 @@ const SettingsCustomization: FC = () => { <> - Customize which entities to exclude from all all services (MQTT, API). This will have immediate effect. + Customize which entities to exclude. This will have immediate effect on all services including MQTT and API. { const saveCustomization = async () => { if (deviceEntities && selectedDevice) { - const exclude_entities = deviceEntities.filter((de) => de.x).map((new_de) => "07" + new_de.s); + const masked_entities = deviceEntities + .filter((de) => de.m) + .map((new_de) => new_de.m.toString(16).padStart(2, '0') + new_de.s); try { - const response = await EMSESP.writeExcludeEntities({ + const response = await EMSESP.writeMaskedEntities({ id: selectedDevice, - entity_ids: exclude_entities + entity_ids: masked_entities }); if (response.status === 200) { enqueueSnackbar('Customization saved', { variant: 'success' }); @@ -160,11 +162,11 @@ const SettingsCustomization: FC = () => { return; } - const toggleDeviceEntity = (id: number) => { + const toggleDeviceEntity = (id: number, mask: number) => { setDeviceEntities( deviceEntities.map((o) => { if (o.i === id) { - return { ...o, x: !o.x }; + return { ...o, m: mask ^ o.m }; } return o; }) @@ -177,7 +179,7 @@ const SettingsCustomization: FC = () => { - ({deviceEntities.reduce((a, v) => (v.x ? a + 1 : a), 0)}/{deviceEntities.length}) + ({deviceEntities.reduce((a, de) => (de.m === 7 ? a + 1 : a), 0)}/{deviceEntities.length}) ENTITY NAME CODE @@ -188,10 +190,10 @@ const SettingsCustomization: FC = () => { {deviceEntities.map((de) => ( toggleDeviceEntity(de.i)} - sx={de.x ? { backgroundColor: '#f8696b' } : { backgroundColor: 'black' }} + onClick={() => toggleDeviceEntity(de.i, 7)} + sx={de.m === 7 ? { backgroundColor: '#f8696b' } : { backgroundColor: 'black' }} > - {de.x && } + {de.m === 7 && } {de.n}