De mon point de vue, device et device-feature ne doivent pas être traitées à égal:
Le nom du device, même si défini par défaut par le système doit être modifiable. Dans ton exemple, @pierre-gilles, garage door est sûrement défini par l’utilisateur. Dans un cas pratique où on aurait 2 portes de garage, le système pourrait les appeler garage-door-1 et garage-door-2 et l’utilisateur de les modifier en garage-front-door et garage-back-door parce que bon, c’est plus facile pour savoir kikoikece.
Pour les device-features je ne vois pas en quoi l’utilisateur devrait renommer quoi que ce soit. Ouvert/Fermé/Allumé/Éteint /%batterie/couleur… c’est intimement lié au type de device et aux fonctionnalités dont il dispose. Ces fonctionnalités sont hard codées et liées à des constantes dans le système.
Une feature = « une action » = une appellation / un état.
Si on prend l’exemple d’un capteur de température aka “temperature-sensor”.
Il peut implémenter différentes features (fonction de la marque du modèle…) ça n’en reste pas moins un capteur de température.
Maintenant en fonction de ces features, l’UI fera apparaître :
- 24°C
- 84% humidity (ou pas)
- 1020 hPa (ou pas)
Hormis des réglages globaux d’environnement sur le système métrique (°C /F etc), je ne vois pas d’intérêt de personnaliser la sortie de ces features. C’est normalisé, y’a un nom, une icône, des boutons (et des actions liées).
Et pourtant, je suis un user qui aime personnaliser