12 KiB
Shelly Network Inventory and Home Assistant Correlation
Date: 2026-04-17
This document combines:
- OPNsense ARP visibility on
192.168.100.0/24(vtnet0) - Home Assistant
homeentity search results - Direct HTTP probing of responsive devices
The main goal is to make Shelly troubleshooting easier by keeping the likely device-to-entity mapping in one place.
Summary
- OPNsense live ARP alone did not expose Shelly hostnames reliably, but
config.xmldid expose static host reservations and DNS-style host entries for several Shelly devices. - Home Assistant
homecontains multiple Shelly devices with clear naming and entity groupings. - Three devices were positively confirmed over HTTP:
192.168.100.62is a Shelly EM namedMaddoProd.192.168.100.76is a Shelly EM namedShelly-Pompa.192.168.100.96is a Shelly EM namedshelly-pannello-ovest.
Shelly-Serveris now traced in OPNsense config as a static reservation and host entry:- hostname
Shelly-Server - reserved IP
192.168.100.75 - Kea workaround reservation MAC
02:0F:B5:73:E2:28 - physical Shelly MAC
34:94:54:73:E2:28 - live MQTT and HTTP diagnostics show the device is actually online at
192.168.100.127 - the live Shelly web API reports the same factory MAC
34:94:54:73:E2:28, so this does not look like an outdated reservation from a replaced unit - local ARP for the live IP resolves to translated on-wire MAC
02:0F:B5:73:E2:28 - the Kea workaround reservation was updated to the translated MAC so the device should become trackable once it renews DHCP
- hostname
- One additional OPNsense ARP entry has a Shelly-looking OUI but did not behave like a Shelly web UI during probing:
192.168.100.114/34:94:54:34:1e:fc
- Several remaining Home devices still rely on inferred MACs from entity IDs because they were not visible as live hosts during this pass.
- I was not able to complete the
casaMCP correlation in this pass, so theCasa IDscolumn is left asunverified.
Inventory
| Likely device | Model / type | Home IDs | Casa IDs | OPNsense IP | MAC | Network / Wi-Fi | Confidence | Notes |
|---|---|---|---|---|---|---|---|---|
| Shelly Pompa | Shelly EM (SHEM) |
switch.shelly_pompa_relay_0, sensor.shelly_pompa_power_0, sensor.shelly_pompa_power_1, update.shelly_pompa_firmware |
unverified | 192.168.100.76 |
24:4C:AB:41:6D:0C |
vtnet0, SSID Salnove, RSSI -77 |
confirmed | Confirmed by OPNsense host reservation, live HTTP UI, /shelly, /status, and /settings. Device name Shelly-Pompa. MQTT connected. Channel names: Pompa, Sottosuolo. |
| Shelly Server | Shelly EM / Shelly-family power meter | switch.shelly_server_relay_0, sensor.shelly_server_power_0, sensor.shelly_server_power_1, update.shelly_server_firmware |
unverified | live 192.168.100.127; reserved 192.168.100.75 |
physical 34:94:54:73:E2:28; effective LAN MAC 02:0F:B5:73:E2:28 |
live on Shellynet, RSSI -17 |
confirmed | Home history, MQTT discovery, live MQTT telemetry, and direct HTTP all confirm this device is active. Kea reservation was updated to the effective LAN MAC as a workaround so the device should become trackable on 192.168.100.75 after DHCP renewal or reconnect. |
| Shelly Galleria | Shelly device, likely 2-channel energy monitor | switch.shelly_galleria_relay_0, sensor.shelly_galleria_power_0, sensor.shelly_galleria_power_1, update.shelly_galleria_firmware |
unverified | not found | not found | not found | medium | Seen clearly in home. Current power sample was about -3249 W on ch0 and 3794 W on ch1. No network match found. |
| Shelly 3EM 485519D91C40 | Shelly 3EM | switch.shelly_3em_485519d91c40_relay_0, sensor.shelly_3em_485519d91c40_power_0, sensor.shelly_3em_485519d91c40_power_1, sensor.shelly_3em_485519d91c40_power_2, update.shelly_3em_485519d91c40_firmware |
unverified | not found | inferred 48:55:19:D9:1C:40 |
not found | medium | Entity naming strongly suggests MAC suffix 485519D91C40. Not present in current OPNsense ARP snapshot. Current power sample roughly -2273 / -2606 / +633 W. |
| Shelly Lorenzo | Shelly EM | switch.shelly_em_c45bbee1e684_relay_0, sensor.shelly_em_c45bbee1e684_power_0, sensor.shelly_em_c45bbee1e684_power_1, update.shelly_em_c45bbee1e684_firmware |
unverified | not found | inferred C4:5B:BE:E1:E6:84 |
not found | medium | Home naming is clear. Current power sample roughly -2614 / -2929 W. Exact MAC not seen in OPNsense ARP. |
| Shelly EM 34945478061B | Shelly EM | switch.shelly_em_34945478061b_relay_0, sensor.shelly_em_34945478061b_power_0, sensor.shelly_em_34945478061b_power_1, update.shelly_em_34945478061b_firmware |
unverified | 192.168.100.96 |
34:94:54:78:06:1B |
vtnet0, SSID Meguka, RSSI -76 |
confirmed | Confirmed by OPNsense host reservation, live ARP, and HTTP API. Device name is shelly-pannello-ovest; OPNsense description is Shelly-Pannello-Ovest. Channel 1 label is pannello-ovest. |
| Shelly EM EC64C9C6893B | Shelly EM | switch.shelly_em_ec64c9c6893b_relay_0, sensor.shelly_em_ec64c9c6893b_power_0, sensor.shelly_em_ec64c9c6893b_power_1, update.shelly_em_ec64c9c6893b_firmware |
unverified | not found | inferred EC:64:C9:C6:89:3B |
not found | medium | Device is currently unavailable in Home Assistant. Exact inferred MAC not seen in OPNsense ARP. |
| MaddoProd | Shelly EM | switch.maddoprod_relay_0, sensor.maddoprod_power_0, sensor.maddoprod_power_1, update.maddoprod_firmware |
unverified | 192.168.100.62 |
24:4C:AB:41:87:35 |
vtnet0, SSID Reisen, RSSI -81 |
confirmed | Confirmed by OPNsense host reservation, live ARP, and HTTP API. Device name is MaddoProd. Current power sample roughly -7 W / 2899 W. Secondary configured Wi-Fi SSID is Top Gun 2 il ritorno. |
| Pannelli AUX | Shelly EM | switch.pannelli_aux_relay_0, sensor.pannelli_aux_power_0, sensor.pannelli_aux_power_1, update.pannelli_aux_firmware |
unverified | not found | inferred 34:94:54:73:CD:10 |
not found | medium | Home naming is clear. Current power sample roughly 364 W / 0 W. Exact MAC not seen in current ARP. |
| Batteria AUX | Shelly EM | switch.batteria_aux_relay_0, sensor.batteria_aux_power_0, sensor.batteria_aux_power_1, update.batteria_aux_firmware |
unverified | not found | inferred E8:68:E7:D2:65:F5 |
not found | medium | Home naming is clear. Current power sample roughly 219 W / 0 W. Exact MAC not seen in current ARP. |
Unknown 34:94:54 device |
unknown | none matched | unverified | 192.168.100.114 |
34:94:54:34:1E:FC |
vtnet0 |
low | The OUI looks like a possible Shelly-family vendor, but /, /status, /shelly, and /rpc/... did not identify it as Shelly. Keep as a candidate only. |
Confirmed HTTP details for 192.168.100.76
Directly retrieved from the device web API:
- Name:
Shelly-Pompa - Type:
SHEM - Hostname:
shellyem-244CAB416D0C - MAC:
244CAB416D0C - IP:
192.168.100.76 - Wi-Fi SSID:
Salnove - RSSI:
-77 - MQTT: connected
- Firmware:
20230913-114150/v1.14.0-gcb84623 - Channel names:
PompaSottosuolo
This is a strong match for the Home Assistant Shelly Pompa entity group.
Confirmed HTTP details for 192.168.100.62
Directly retrieved from the device web API:
- Name:
MaddoProd - Type:
SHEM - Hostname:
shellyem-244CAB418735 - MAC:
244CAB418735 - IP:
192.168.100.62 - Wi-Fi SSID:
Reisen - Secondary Wi-Fi SSID:
Top Gun 2 il ritorno - RSSI:
-81 - MQTT: connected
- Firmware:
20230913-114150/v1.14.0-gcb84623
This is a strong match for the Home Assistant maddoprod entity group.
Confirmed HTTP details for 192.168.100.96
Directly retrieved from the device web API:
- Name:
shelly-pannello-ovest - Type:
SHEM - Hostname:
shellyem-34945478061B - MAC:
34945478061B - IP:
192.168.100.96 - Wi-Fi SSID:
Meguka - RSSI:
-76 - MQTT: connected
- Firmware:
20230913-114150/v1.14.0-gcb84623 - Channel 1 label:
pannello-ovest
This is a strong match for the Home Assistant shelly_em_34945478061b entity group and the OPNsense description Shelly-Pannello-Ovest.
OPNsense reservation details for Shelly-Server
Directly retrieved from OPNsense config.xml:
- Host entry:
Shelly-Server.maddo.science - Reserved IP:
192.168.100.75 - Current Kea workaround MAC:
02:0F:B5:73:E2:28 - Physical Shelly MAC:
34:94:54:73:E2:28 - Description:
Shelly-Server
Live status during this pass:
- Home Assistant
sensor.shelly_server_power_0updated every ~30 seconds for the last hour - MQTT discovery identifies this device as
shellyem-34945473E228 - MQTT discovery advertises control URL
http://192.168.100.127/ - direct HTTP to
http://192.168.100.127/succeeded - live device details from
/settingsand/status:- name
Shelly-Server - SSID
Shellynet - RSSI
-17 - MQTT connected
true - channel labels
Server-1,Server-2 - firmware
20230913-114150/v1.14.0-gcb84623
- name
- direct MQTT telemetry observed on
shellies/shellyem-34945473E228/emeter/... 192.168.100.75did not answer ping or HTTP during the same pass
That makes the identity mapping and live status both strong. The real fault is the mismatch between the live IP and the OPNsense reservation.
It also argues against the reservation MAC simply being stale from an old device replacement, because the live Shelly reports the same factory MAC as the one stored in OPNsense.
The active Kea workaround now reserves the same IP for the translated LAN-side MAC instead, with description Shelly-Server via Shellynet extender workaround; physical MAC 34:94:54:73:e2:28.
MQTT findings for Shelly-Server
Broker-level diagnostics against the local .local/mqtt-home.env credentials confirmed:
- MQTT client ID / topic base:
shellyem-34945473E228 - Home Assistant discovery prefix in use:
homeassistant/... - Shellies topic base in use:
shellies/shellyem-34945473E228/... - Availability model in discovery:
~onlinetopic withtrue/false~infoJSON fieldmqtt.connected
- Live telemetry was observed for:
shellies/shellyem-34945473E228/emeter/0/powershellies/shellyem-34945473E228/emeter/0/reactive_powershellies/shellyem-34945473E228/emeter/0/pfshellies/shellyem-34945473E228/emeter/0/voltageshellies/shellyem-34945473E228/emeter/0/totalshellies/shellyem-34945473E228/emeter/0/total_returnedshellies/shellyem-34945473E228/emeter/1/...
This proves Home Assistant is receiving live MQTT telemetry, not just stale retained state.
Home Assistant groups used for correlation
Representative entity groups found in home:
shelly_pompashelly_servershelly_galleriashelly_3em_485519d91c40shelly_em_c45bbee1e684shelly_em_34945478061bshelly_em_ec64c9c6893bmaddoprodpannelli_auxbatteria_aux
OPNsense findings worth keeping in mind
- Active Shelly-confirmed subnet:
192.168.100.0/24 - Observed interface:
vtnet0 - OPNsense static mappings were more useful than live ARP for
Shelly-Server. - For
Shelly-Server, OPNsense reservation data was useful for identity but wrong for the current live IP. - OPNsense ARP snapshot was incomplete relative to Home Assistant inventory.
- OPNsense-backed host reservations confirmed:
192.168.100.62->shelly-maddoProd/24:4c:ab:41:87:35192.168.100.75->Shelly-Server/34:94:54:73:e2:28192.168.100.76->Shelly-Pompa/24:4c:ab:41:6d:0c192.168.100.96->shellyem-34945478061b/34:94:54:78:06:1b
- MQTT discovery confirmed that
Shelly-Serveris actually live at192.168.100.127. - That usually means one or more of the following:
- the device is on a valid live IP that does not match the OPNsense reservation
- the reservation is stale, not applied, or not being served by the DHCP source the device is actually using
- OPNsense ARP visibility is incomplete because ARP only reflects neighbors the firewall itself has talked to
Best next manual checks
- Find which DHCP server actually handed out
192.168.100.127to MAC34:94:54:73:E2:28. - Check the AP or controller for the
Shellynetclient entry for MAC34:94:54:73:E2:28and confirm its DHCP source. - Renew DHCP on the device or reboot it after fixing the intended reservation path, so it either takes
192.168.100.75or the reservation is updated to192.168.100.127. - Decide whether the intended fix is: make OPNsense own the lease again, or update OPNsense to reflect the real addressing source.