Remove mobile_app from generated Lovelace (#6873)

* Hide mobile_app from generated Lovelace

* simplify

* Move to computeDefaultViewStates

* removed -> hidden

* Update src/panels/lovelace/common/generate-lovelace-config.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Adjust for Set

* Review comments

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
This commit is contained in:
Joakim Sørensen 2020-09-09 23:01:50 +02:00 committed by GitHub
parent 6c2b8c2abb
commit 498882d014
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -63,6 +63,8 @@ const HIDE_DOMAIN = new Set([
"zone",
]);
const HIDE_PLATFORM = new Set(["mobile_app"]);
let subscribedRegistries = false;
interface SplittedByAreas {
@ -206,11 +208,23 @@ export const computeCards = (
return cards;
};
const computeDefaultViewStates = (entities: HassEntities): HassEntities => {
const computeDefaultViewStates = (
entities: HassEntities,
entityEntries: EntityRegistryEntry[]
): HassEntities => {
const states = {};
const hiddenEntities = new Set(
entityEntries
.filter((entry) => HIDE_PLATFORM.has(entry.platform))
.map((entry) => entry.entity_id)
);
Object.keys(entities).forEach((entityId) => {
const stateObj = entities[entityId];
if (!HIDE_DOMAIN.has(computeStateDomain(stateObj))) {
if (
!HIDE_DOMAIN.has(computeStateDomain(stateObj)) &&
!hiddenEntities.has(stateObj.entity_id)
) {
states[entityId] = entities[entityId];
}
});
@ -317,7 +331,7 @@ export const generateDefaultViewConfig = (
entities: HassEntities,
localize: LocalizeFunc
): LovelaceViewConfig => {
const states = computeDefaultViewStates(entities);
const states = computeDefaultViewStates(entities, entityEntries);
const path = "default_view";
const title = "Home";
const icon = undefined;