Ajouter d'autres caractéristiques et gestionnaires
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
<ph type="x-smartling-placeholder">
Vous pouvez ajouter autant de caractéristiques que vous le souhaitez au modèle de votre appareil. Ces caractéristiques sont
non liés à un seul type d'appareil, vous pouvez les utiliser comme vous le souhaitez.
Voici le processus permettant d'ajouter une caractéristique et de gérer la commande entrante:
Retrouvez les informations dont vous avez besoin pour chaque variable dans le bloc de code ci-dessus.
command-name
Accédez à la page de la caractéristique spécifique
Étape 1 (par exemple, ColorTemperature)
Utilisez une commande du tableau Commandes relatives à l'appareil.
parameter-name
Consultez de nouveau les commandes Device COMMANDS
sur la page des caractéristiques. Chaque commande comporte un ou plusieurs paramètres
qui lui est associée. Ils sont répertoriés sous "params" dans EXECUTE
requête JSON. Utilisez le nom exact du paramètre. Notez que certains de ces
sont des objets qui contiennent d'autres paramètres. Il vous suffit d'utiliser
objet de premier niveau.
conditional
Il n'est pas nécessaire d'utiliser strictement
dans le code de votre gestionnaire, mais cela peut vous aider à différencier la façon dont vous exécutez
sur l'appareil.
ifcommand=="action.devices.commands.BrightnessAbsolute":ifparams['brightness']:ifparams['brightness']>50:print('brightness > 50')else:print('brightness <= 50')ifcommand=="action.devices.commands.ColorAbsolute":ifparams['color']:ifparams['color'].get('name')=="blue":print('The color is blue.')else:print('The color is not blue.')
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[null,null,["Dernière mise à jour le 2025/07/26 (UTC)."],[[["\u003cp\u003eThe Google Assistant Library for Python is deprecated; use the Google Assistant Service instead.\u003c/p\u003e\n"],["\u003cp\u003eYou can add traits, like Brightness or ColorTemperature, to your device model to extend its functionality.\u003c/p\u003e\n"],["\u003cp\u003eTo add a trait, modify the \u003ccode\u003ehotword.py\u003c/code\u003e file to handle the incoming commands associated with that trait.\u003c/p\u003e\n"],["\u003cp\u003eUpdate the device model with the added trait and run the modified code to test it.\u003c/p\u003e\n"]]],[],null,["# Add More Traits and Handlers\n\n| **Warning:** The Google Assistant Library for Python is deprecated as of June 28th, 2019. Use the [Google Assistant Service](/assistant/sdk/guides/service/python) instead.\n\n\u003cbr /\u003e\n\nYou can add as many traits to your device model as you wish. These traits are\nnot tied to just one device type, you can use them as you choose.\n\nThis is the process to add any trait and handle the incoming command:\n\n1. Determine which [trait](/assistant/sdk/reference/traits) you want\n to add.\n\n2. Open the `hotword.py` file.\n\n ```\n cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library\n ``` \n\n ```\n nano hotword.py\n ```\n3. Add the following code block under the existing one that\n handles the `action.devices.commands.OnOff` command (don't delete the existing\n code block).\n\n ```python\n if command == \"action.devices.commands.\u003cvar translate=\"no\"\u003ecommand-name\u003c/var\u003e\":\n if params['\u003cvar translate=\"no\"\u003eparameter-name\u003c/var\u003e']:\n if conditional:\n print('Something happened.')\n else:\n print('Something else happened.')\n ```\n4. Find the information you need for each variable in the above code block.\n\n |------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | `command-name` | Go to the specific trait page from Step 1 (for example, [ColorTemperature](/assistant/sdk/reference/traits/colortemperature)). Use a command from the **Device COMMANDS** table. |\n | `parameter-name` | Look again at the **Device COMMANDS** table on the trait page. Each command has one or more parameters associated with it. These are listed under `\"params\"` in the EXECUTE request JSON. Use the exact parameter name. Note that some of these parameters are objects that contain other parameters - just use the top-level object. |\n | `conditional` | You don't strictly need to use a conditional in your handler code, but it may help to differentiate how you execute the command on the device. |\n\n Here are some examples for traits [Brightness](/assistant/sdk/reference/traits/brightness)\n and [ColorTemperature](/assistant/sdk/reference/traits/colortemperature): \n\n ```python\n if command == \"action.devices.commands.BrightnessAbsolute\":\n if params['brightness']:\n if params['brightness'] \u003e 50:\n print('brightness \u003e 50')\n else:\n print('brightness \u003c= 50')\n\n if command == \"action.devices.commands.ColorAbsolute\":\n if params['color']:\n if params['color'].get('name') == \"blue\":\n print('The color is blue.')\n else:\n print('The color is not blue.')\n ```\n5. [Update the device model](/assistant/sdk/guides/library/python/extend/register-device-traits)\n with the trait you added in Step 1.\n\n6. Run the modified source code.\n\n ```\n cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library\n ``` \n\n ```\n python hotword.py --device-model-id my-model\n ```\n7. Try a query.\n\n *Hey Google, set brightness to 65%.*\n\n *Ok Google, make it blue.*\n\nNext step\n---------\n\n[Register Custom Device Actions](/assistant/sdk/guides/library/python/extend/custom-actions)"]]