Best answer by UKMedia
This is a very valid question and one which a lot of people don't think about until they have problems. You'll get multiple answers I suspect but here are my naming standards.
First off, the principals behind the standard:
P1/ Make the name of a device easy to determine for infrequent and non-tech-savvy users;
P2/ Keep the basic and most common commands as simple as possible. My ultimate goal is to be able to walk into a room and ask ‘Alexa, turn on the lights;
P3/ Reduce as much as possible Alexa getting confused about which Device the command relates to:
I try to use lower case letters in all names, as this appears to improve Alexa's understanding.
Alexa and Sonos Device names:
I set-up my Devices with the structure of ‘[Room Name] & [Device Type]'. e.g. kitchen sonos, kitchen echo dot, etc.
I use wall light switches from LightWaveRF and use the naming standard ‘[Room Name] Main Lights’ for the ceiling lights and [Room Name] Background Lights’ for secondary lights, normally controlled via Teckin Smart Plugs. e.g. kitchen main lights, lounge background lights, etc.
For Room specific devices I have also created ‘table light’ and ‘craft light’ but then create Groups to contain these to ensure P1 is maintained.
I create a group for each room in the house that contains any Smart Device. e.g. kitchen, lounge, etc and then add all applicable Devices to these Groups. With the additional structure for Sonos Devices as per my post here: https://en.community.sonos.com/amazon-alexa-and-sonos-229102/an-overview-and-explanation-of-the-new-support-for-alexa-grouping-6817788/index1.html#post16298346
I also have a Smart Heating system from a UK company called Genius Hub. Although this doesn’t yet have full Alexa support, it is supported within IFTTT. This product allows the set-up of heating zones and has occupancy detectors in each room. The system then creates an occupancy profile for which rooms are occupied at which time and days over a 2 week period. It then heats the rooms when the room is occupied, including pre heating but obviously there is a need to override this at times. I have now created IFTTT AppLets to switch my heating on in a room, overriding the occupancy detection, for 60 mins. The naming standard used is ‘trigger [Room Name] override’ e.g. 'trigger kitchen override' (This system has reduced my heating costs by circa 45%)
I have the Logitech Harmony Hub remote control which is now able to be controlled via Alexa and so it is worthwhile having a naming standard for Harmony Routines, I use ‘Watch [Harmony Device Name]’ e.g. ‘watch tv’, the Alexa command is then ‘Alexa, Turn on TV’
This all sounds complicated but the usability once set-up is very simple.
I have security light Groups which are controlled via a time trigger and so there are limited occasions when I need to mention these in an Alexa Command. And with regard to requesting music via Sonos, I don’t need to remember Device Names as the ‘Preferred Speaker’ setting controls which speakers the music is output on.
To reduce maintenance, I also nest Groups. e.g. If I have two Groups called 'downstairs lights' and 'upstairs lights' and want to create a new Group called 'whole house lights'. Instead of adding Devices to the new Group, I add the upstairs & downstairs Groups. This means that if subsequently I add a new light downstairs, I only need to add the device to the downstairs Group and it's automatically included within the 'whole house lights' Group.