Some entities not visible in RFXCOM RFXtrx

Finally after many hours I managed to install the integration of RFXCOM RFXtrx. I have enabled auto add. A number of devices and entities have been added automatically.

I am running into 2 problems with this.

  1. Numerous RM174RF Smoke Detector were added which are not in my home. Possibly from the vicinity of my home.

  2. I have several switches from klikaan-klikuit As soon as I press the remote the switch should be added. This has been successful for some.

With some I see that when pressing the remote control the entities in the icon of the integration screen are incremented. I see some and some not in develepertools->states.

1.Is there a way to remove all Smoke detectors at once?

2.Where or how can I make the entities visible?

thanks,

Peter

Hi, I have the exact same issue with numerous RM174RF sensors added to Home Assistant (via RFXtrx integration) - we’re talking hundreds of Smoke Detector devices, consisting of more than 2000 entities. And no, I do not live in a huge palace :wink:

Is there an easy way to mass-delete these devices without clicking each one in turn?

Nope… numerous posts with same amount or people asking for this… only (!) switch on auto–add when you really want to add
Only solution so far: re-install if the number of items is too much…much easier than removing 1-by-1

Try opening the device and check if they are (in)active

Hi, I’ve developed this Javascript code to mass delete devices corresponding to a certain model:

async function deleteDevices(model_to_delete) {
    let hass = document.querySelector("home-assistant").hass;
    let message = { type: "config/device_registry/list" };
    let count = 0;

    await hass.callWS(message).then(async(response) => {
        for (let i = 0; i < response.length; i++) {
            device = response[i];
            if (device["model"] === model_to_delete) {
                await hass.callWS({
                    "type":"config/device_registry/remove_config_entry",
                    "device_id": device["id"],
                    "config_entry_id": device["config_entries"][0],
                }).then((response) => {
                    console.log(`Deleted device ${JSON.stringify(device)}`);
                    count++;
                })
            }
        }
        console.log(`Deleted ${count} devices`);
    })
}
await deleteDevices("RM174RF Smoke Detector");

This can be executed directly from a browser’s developer tool console when browsing one’s Home Assistant UI.

5 Likes

Thank you very much!!! That solved my problem.

1 Like

I thought it was a pyscript, but i got an error.

  • Exception in </config/pyscript/test2.py> line 1: async function deleteDevices(RM174RF Smoke Detector) { ^ SyntaxError: invalid syntax (test2.py, line 1)
    I don’t know how you can run this script, what do you ment with a browser’s developer tool? Please can you help me how to solve my problem?

Hi @Jojotjo, this is Javascript code, not Python. It can be executed in web browsers using their developer tools’ console, which is accessible by pressing F12 in Firefox and Chrome.

I have try that but I still got an error. Several try’s done

async function deleteDevices(RM174RF Smoke Detector) {
let hass = document.querySelector(“home-assistant”).hass;
let message = { type: “config/device_registry/list” };
let count = 0;

await hass.callWS(message).then(async(response) => {
    for (let i = 0; i < response.length; i++) {
        device = response[i];
        if (device["RM174RF Smoke Detector"] === model_to_delete) {
            await hass.callWS({
                "type":"config/device_registry/remove_config_entry",
                "device_id": device["id"],
                "config_entry_id": device["config_entries"][0],
            }).then((response) => {
                console.log(`Deleted device ${JSON.stringify(device)}`);
                count++;
            })
        }
    }
    console.log(`Deleted ${count} devices`);
})

}
await deleteDevices(“RM174RF Smoke Detector”);
VM764:1 Uncaught SyntaxError: Unexpected identifier ‘Smoke’
async function deleteDevices(RM174RF) {
let hass = document.querySelector(“home-assistant”).hass;
let message = { type: “config/device_registry/list” };
let count = 0;

await hass.callWS(message).then(async(response) => {
    for (let i = 0; i < response.length; i++) {
        device = response[i];
        if (device["RM174RF"] === model_to_delete) {
            await hass.callWS({
                "type":"config/device_registry/remove_config_entry",
                "device_id": device["id"],
                "config_entry_id": device["config_entries"][0],
            }).then((response) => {
                console.log(`Deleted device ${JSON.stringify(device)}`);
                count++;
            })
        }
    }
    console.log(`Deleted ${count} devices`);
})

}
await deleteDevices(“RM174RF”);
VM768:10 Uncaught ReferenceError: model_to_delete is not defined
at :9:39
at async deleteDevices (:6:5)
at async :23:1
(anonymous) @ VM768:9
async function deleteDevices(RM174RF Smoke Detector 16eff4:32) {
let hass = document.querySelector(“home-assistant”).hass;
let message = { type: “config/device_registry/list” };
let count = 0;

await hass.callWS(message).then(async(response) => {
    for (let i = 0; i < response.length; i++) {
        device = response[i];
        if (device["RM174RF Smoke Detector 16eff4:32"] === model_to_delete) {
            await hass.callWS({
                "type":"config/device_registry/remove_config_entry",
                "device_id": device["id"],
                "config_entry_id": device["config_entries"][0],
            }).then((response) => {
                console.log(`Deleted device ${JSON.stringify(device)}`);
                count++;
            })
        }
    }
    console.log(`Deleted ${count} devices`);
})

}
await deleteDevices(“RM174RF Smoke Detector 16eff4:32”);
VM772:1 Uncaught SyntaxError: Unexpected identifier ‘Smoke’