Smart Device Inventory Management

Anyone do some kind of inventory control for their smart devices? Myself I apply a number (purchased 1-600 number .5 inch round stickers) on my devices and log them in a spreadsheet. I basically use the numbers on plugs, switches, sensors, etc... I don't use them on TV, vacuum, washer that have smart built in. Makes it a lot easier to tell one from another.

The only time I've needed to label devices is for seasonal things that get unplugged for part of the year, so usually outlet plugs for Christmas stuff, and plugs used only outside in the summer. I lose track of what they go to so I just throw a label sticker on them.

I realized last christmas I needed a few extra plugs, so borrowed some of the summer ones, so those have two labels now, for their use at Xmas and their use during the summer.

I can't really think of a need otherwise, as the Hubitat device list tells me what I need to know for most things. I did use a spreadsheet of all devices when I moved from SmartThings, so I could plan how I wanted to move devices over to Hubitat in groups that made sense based on the automations that used them.

1 Like

Red fine-tip sharpie pen :smirk:

I label all battery-powered and plugin devices, but not switches/dimmers.

However, everything gets a descriptive name in Hubitat, along the lines of:

  • Bedroom Main - Lamp Dimmer East SE
  • Kitchen Under Cabinet Lights Switch IB

where the ending 2-letter code indicates manufacturer (e.g., SE = Sengled, IB = Inovelli) or core-chip (e.g., TU = Tuya). I tend to use "genus, species" type naming so that, for example, all contact sensors group together.

I use the "Device Data Item Display" app from @thebearmay to periodically (typically every few weeks) extract basic device info to a CSV file for ALL devices, as well as these extra "data items to display": manufacturer, model. Here is an example of the CSV file for my testing hub:

"id","displayName","name","manufacturer","model","driverType","driverName","dni","zgId","roomName","controllerType"
"1","Motion Sensor - Presence - Office (flat) HO","Tuya Human Presence mmWave Radar HOBEIAN","HOBEIAN","CK-BL702-MWS-01(7016)","usr","Tuya Zigbee mmWave Sensor","1D4A","A4C1380B5497B57E","Office","ZGB"
"73","Motion Sensor - Presence - Office (round) TU","Tuya TS0225_LINPTECH 24Ghz Human Presence Detector","_TZ3218_t9ynfz4x","TS0225","usr","Tuya Zigbee mmWave Sensor","36EC","286847FFFE8BC36A","Office","ZGB"
"66","USB Switch - 3-port #1 - EP01 (Lincoln City) TU","USB Switch - 3-port #1 - Office Globes TU EP01",,,"sys","Generic Component Switch","52-01","null","Office","null"
"67","USB Switch - 3-port #1 - EP02 TU","USB Switch - 3-port #1 - Office Globes TU EP02",,,"sys","Generic Component Switch","52-02","null","Office","null"
"68","USB Switch - 3-port #1 - EP03 (Bubble Glass Orb) TU","USB Switch - 3-port #1 - Office Globes TU EP03",,,"sys","Generic Component Switch","52-03","null","Office","null"
"52","USB Switch - 3-port #1 - Office Globes TU","USB Switch - 3-port #1","_TZ3000_mw1pqqqt","TS0003","sys","Generic Zigbee Multi-Endpoint Switch","B2BB","A4C13899618B00D4","Office","ZGB"
"7","VD Hub Information","Virtual Button",,,"usr","Hub Information Driver v3","877da81c-9c05-49ad-8ed2-cf00724dd910","null","Hub","null"
"74","VD Pushover","Pushover driver",,,"usr","Pushover Enhanced Test","deefbd56-3ffc-4e0d-845c-c8ce9887ce7a","null","System","null"
"70","VS Felida Hubitat C8 Office","Virtual Switch",,,"sys","Virtual Switch","082237e8-1c81-4dd3-92f3-9be68d885bb6","null","System","null"
"56","VS USB Office Globes","Virtual Switch",,,"usr","Virtual Switch uDTH Lite","c987844f-f782-47f9-950d-314fbfaafb99","null","Office","null"
"75","Zigbee Map Helper","Zigbee Map Helper",,,"usr","Zigbee Map Helper","ZMH-64","null","null","null"

The CSV files are written to a directory under a unique name for each hub (I have 3). I then import the CSV data for all of the hubs into a 1st sheet of an Excel workbook using a macro I wrote that tidies up things, such as renaming and/or reordering columns or replacing "null" with "-". The macro also pre-pends a hub number (e.g., 1 or 2 or 3) to each device ID while padding the device ID to 5 characters.

To get a summery of all devices, the macro also copies all of the tidied info (one hub at a time) to a 2nd sheet in the same workbook. Here is an image of some rows of the 2nd sheet:

I have a 3rd sheet in the same workbook which is my "official record" of devices in an Excel table (so easily sortable and filterable), with extras columns that I manually maintain. Examples of the extra info: device type, subtype, power source, battery type (as applicable), most recent battery change date, previous battery change date, and battery life (calculated).

Here are 2 images of a few of the same rows in the 3rd sheet (split because the columns don't all fit on one screen):


[If you look closely, there's a button at the top of column B that says "Hide" -- that's a toggle for a separate macro that selectively hides or un-hides columns that I don't need to reference frequently, such as driver name or technology.]

The macro also compares (by calling a separate comparison macro) summary sheet #2 to record sheet #3 and color codes changed cells in columns A-L (thus not affecting my extra info columns in record sheet #3). Since many differences are often only in the 4-character Net ID that Hubitat occasionally changes on its own, the macro offers to update record sheet #3 with the new Net IDs from summary sheet #2 and then does so if the user approves.

I can run just the comparison macro manually and reconcile sheets #2 and #3 as follows:

  • Rows in sheet #2 in which all cells are highlighted are for new devices never before entered into sheet #3 (the devices IDs are unique), so these rows get manually copied to sheet #3.
  • Rows in sheet #3 in which all cells in columns A-L are highlighted are for deleted devices that do not appear on sheet #2 (again, the devices IDs are unique), so these rows get manually deleted from sheet #3.
  • The remaining color-coded cells generally reflect things like renaming a device or changing a device driver or replacing a device with a new one. I copy cells from sheet #2 and paste over corresponding cells in sheet #3 to complete the reconciliation. For replaced devices, I generally have to manually update my extra info columns to reflect the characteristics of the new device (e.g., when replacing a Jasco switch with an Inovelli switch).

The macros I use are a bit specific to my system (CSV file names, workbook and sheet names) but I can provide them along with a blank spreadsheet template if anyone is interested in adapting them to their needs.

BTW, changes to the macros can often be readily done with the help of ChatGPT.