Merci pour ce super tuto que je vais suivre pour essayer de créer ma première intégration Par contre y-a-t’il un autre outil que VSCode utilisable ? car je refuse de cochonner mon ordi avec des logiciels émanant de Microsoft et consorts
Tu peux utiliser Codium c’est la meme chose mais sans le code propriétaire de Microsoft
Merci effectivement j’aurais du y penser qu’il y avait probablement une version clean en ium après Chromium et compagnie
bon allez plus qu’à s’y mettre
@Jean-Marc_Collin tout d’abord merci pour ce super tutorial pour attaquer le dev pour HA
quelques petites remarques:
- A l’étape Démarrer dans un répertoire avec VSCode, tu dis:
Cliques sur
puis va chercher le répertoire créé ci-dessus
Je suis prêt à cliquer sur tout ce qui est possible mais il manque quelque chose non ? En l’occurrence c’est « Choisir un Répertoire » dans VScode je pense
- Dans les extensions à installer dans VSCode, Pylance, Dev Containers, Intellicode, Intellicode API n’existent plus. Une équivalence ?
Du coup je peux pas poursuivre parce que l’étape suivante utilise la fonction Dev Containers qui n’est pas disponible à l’installation Comment faire ?
Je suis avec VSCodium pour les raisons expliquées précédemment !
Tu choisis un répertoire de ton disque pour installer le projet (je pense que tu en es là).
Je pense qu’elles existent encore puisque je les ai:
ben je veux bien te croire mais elles sont pas présentes chez moi, je viens de revérifier Est-ce dû au fait que ce sont des extensions Microsoft ? et que donc elles ne sont disponibles que sur VSCode et pas sur VScodium ?
Après vérification il s’avère que Microsoft n’autorise pas la redistribution de ses modules, rien de surprenant vu leur vision de l’open-source
Bon j’ai plus qu’à trouver un autre tutoriel
Effectivement, VSCdode offre tous les plugins de Microsoft et ils sont vraiment intéressant.
Je ne peux que te conseiller de passer sous VSCdode !
Tu es mauvaise langue… Microsoft s’est amélioré dernièrement. VSCodium est une copie de VSCode car il est open-source
Ensuite si tu lis la documentation de VSCodium, tu peux utiliser des extensions : https://github.com/VSCodium/vscodium/blob/master/DOCS.md#extensions-marketplace
Cadeau : un tuto en français pour installer les extensions: Vscodium: mais où sont passées les extensions? – tutox.fr
Merci pour les liens qui m’ont effectivement permis d’aller plus loin mais malgré tout l’étape d’installation avorte. En effet quand j’essaye de créer le container Python3 comme indiqué dans le Tuto, cela finit sur un 404:
[3596 ms] Start: Run: docker rm -f 78772200a30e453e6bcd61df56e09bac5ddea0f4da56e4633a4d23b030ce7470
[3603 ms] Error: Server returned 404
at h (vscode-file://vscode-app/usr/share/codium/resources/app/out/vs/workbench/workbench.desktop.main.js:676:36488)
at T.download (vscode-file://vscode-app/usr/share/codium/resources/app/out/vs/workbench/workbench.desktop.main.js:677:1873)
[7883 ms] Error opening dev container configurations: CodeExpectedError: ENOPRO : aucun fournisseur de système de fichiers pour la ressource « vscode-remote://dev-container%2B7b22766f6c756d654e616d65223a22707974686f6e2d32222c22666f6c646572223a22707974686f6e2d32227d/workspaces/python-2 »
at r.withProvider (vscode-file://vscode-app/usr/share/codium/resources/app/out/vs/workbench/workbench.desktop.main.js:645:15395)
at async r.exists (vscode-file://vscode-app/usr/share/codium/resources/app/out/vs/workbench/workbench.desktop.main.js:645:18034)
at async Promise.all (index 0)
at async vscode-file://vscode-app/usr/share/codium/resources/app/out/vs/workbench/workbench.desktop.main.js:1867:3343
Même si je remets le fichiers d’origine dans Codium pour qu’il utilise son repo et pas celui de Microsoft cela ne change rien
Hello,
Merci pour ces tutos très enrichissants! super job.
Je coince à l’install de HA. J’ai l’erreur suivante:
Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects
Merci d’avance pour l’aide que vous pourriez m’apporter.
Nico
J’ai downgradé la version de python, et j’ai pu arriver au bout de l’install de HA
Désolé pour le dérangement, et encore merci pour ces tutos !
Nico
Faut être en python 3.11 pour développer sur HA.
C’est bien ce que tu as ?
Hello,
Oui je suis en 3.11, ça fonctionne.
J’avance et je tombe sur l’erreur suivante:
2023-11-17 16:21:37.521 ERROR (MainThread) [homeassistant.config] Platform error: sensor
Traceback (most recent call last):
File "/home/vscode/.local/lib/python3.11/site-packages/homeassistant/config.py", line 923, in async_process_component_config
platform = p_integration.get_platform(domain)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vscode/.local/lib/python3.11/site-packages/homeassistant/loader.py", line 836, in get_platform
cache[full_name] = self._import_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vscode/.local/lib/python3.11/site-packages/homeassistant/loader.py", line 853, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'custom_components.ecoledirecte.sensor'
Voici mon configuration.yaml:
ecoledirecte:
sensor:
- platform: ecoledirecte
entity_id: ecoledirecte_id
name: ecoledirecte_name
Je ne comprends pas cette erreur, quelqu’un pourrait me mettre sur une piste ?
Merci d’avance !
Nico
C’est ton intégration Ecole directe ?
ModuleNotFoundError: No module named ‹ custom_components.ecoledirecte.sensor ›
Ca ça veut dire que le module n’est pas trouvé ou n’est pas un module au sens Python. Fais voir l’import de ce module dans ton code.
Je pense que le path est pas bon. Chez moi j’ai ça quand je fais des imports de mes fichiers Python locaux:
init.py:
from .base_thermostat import BaseThermostat
Voici le const.py:
""" Les constantes pour l'intégration Ecole Directe """
from homeassistant.const import Platform
DOMAIN = "ecoledirecte"
PLATFORM: list[Platform] = [Platform.SENSOR]
et le init.py:
"""Initialisation du package de l'intégration HACS Tuto"""
import logging
from homeassistant.core import HomeAssistant
from homeassistant.config_entries import ConfigEntry
from .const import DOMAIN, PLATFORM
_LOGGER = logging.getLogger(__name__)
async def async_setup(hass: HomeAssistant, config: ConfigEntry): # pylint: disable=unused-argument
"""Initialisation de l'intégration"""
_LOGGER.info(
"Initializing %s integration with plaforms: %s with config: %s",
DOMAIN,
PLATFORM,
config,
)
# Mettre ici un eventuel code permettant l'initialisation de l'intégration
# Ca peut être une connexion sur le Cloud qui fournit les données par ex
# (pas nécessaire pour le tuto)
# L'argument config contient votre fichier configuration.yaml
my_config = config.get(DOMAIN) # pylint: disable=unused-variable
# Return boolean to indicate that initialization was successful.
return True
Merci
Nicolas
Je tente de créer une intégration pour Ecole Directe, c’est la même chose que Pronote mais pour les écoles privées.
Nico
Il te manque pas le extraPaths dans le settings.xml des fois ? Ca sert à ajouter ce path dans le PYTHON_PATH (je crois) pour que Python trouve tes classes.
Le mien:
{
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
},
"pylint.lintOnChange": false,
"files.associations": {
"*.yaml": "home-assistant"
},
"python.testing.pytestArgs": [
"tests"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"python.analysis.extraPaths": [
"/workspaces/versatile_thermostat/custom_components/versatile_thermostat"
],
"python.formatting.provider": "none"
}
Je ne suis pas un vrais dev mais je sais lire/interpréter … je copie/colle beauoup…donc peut-être c’est pas trops intéressant pour toi mais pourquoi pas copier le repo de Pronote et commencer par adapter ça ?
Tu peux commencer seul par avoir un coordinator qui collectes des données … et ensuite ajouter des sensors.
delphiki/hass-pronote: Pronote integration for Home Assistant (github.com)
Hello Jean Marc,
J’ai repassé le tuto en vu et je ne trouve pas le fichier settings.xml. S’agirait-il d’un fichier de configuration d’un module VSC ? Si oui, où se trouve t-il ?
Merci
Nico
Ah oui c’est dans le devcontainer.json. Je regarde ça merci.
Nico