Hiérarchie et structure de données des classes PHP

Bonjour à tous,
J’utilise Jeedom depuis bientot 5 ans avec une VM installée sur Unraid et un mini PC, j’ai déjà créé quelques bouts de code en PHP intégrés à la classe user prévue à cet effet, mais j’ai beau lire la doc de l’API PHP, je n’arrive pas à m’y retrouver car je n’arrive pas à faire le lien entre les méthodes décrites dans la doc et les structures de données associées, par exemple, la classe eqLogic contient les objets (ou équipements), mais quelles sont les données qui caratérisent chaque objet (équipement, noeud), y a t’il quelque part une documentation qui décrit ça ? Ou sont répertoriés les noeuds morts, etc, etc …
Après 40 ans de développement, ces aspects documentaires me font défaut, mais peut etre que je ne prends pas les choses par le bon bout ?
Si vous pouvez m’aider, merci d’avance, et vive Jeedom, système domotique que j’adore !

Rodrigo

mon retour d’expérience c’est que le seul moyen de comprendre comment ça marche, c’est de regarder le code des plugins et du core. la documentation ne sert presque à rien. la documentation sur comment créer un plugin permet de démarrer mais sans plus.

sinon pour faire du code dans les scénario, tu cherches « petit scénario entre amis » sur le forum ou internet et tu aurais toutes les commandes de base, rien de plus.

si tu cherches à faire quelque chose de spécifique, expliques nous et tu auras sans doute des réponses avec des exemples.

Bonjour,
Avez vous regarder la https://doc.jeedom.com/fr_FR/dev/, ainsi que ici API Documentation ou la pour la partie api https://doc.jeedom.com/fr_FR/core/4.3/jsonrpc_api ?

Bonjour,

Je suppose que tu fais référence à cette « documentation » ? API Documentation
Ce n’est pas de la doc, c’est généré automatiquement à partir du code… Pour que ça devienne de la doc, il faudrait qu’on ajoute des commentaires dans le code sous forme de blocs « phpdoc ». J’ai essayé de le faire à une époque (ici) mais je n’ai pas réussi, les classes sont déjà trop grosses et le code bouge trop vite. Ce n’est pas quelque chose qu’on peut faire tout seul dans son coin.

Je pense que tu es tombé au mauvaise moment, les prototypes ne bougent pas si souvent que ça…

Quand le code est très dynamique, surtout s’il s’agit de documentation/commentaires qui n’impacte pas directement le fonctionnement du code, il faut y aller par petit bouts et faire fréquemment des PR.

Merci à tous pour ces réponses super rapides, je regarde tout ça et je reviens …

Je me rends compte que j’en demande peut etre trop, un « manuel de référence » comme ceux que j’ai pu utiliser dans mon passé pro (manuel de référence de l’OS de WindRiver par exemple, des centaines de pages ou chaque primitive était documentée, paramètres, retours, exemples, des centaines de pages, absolument indispensable !), on ne peut décemment pas demander ça au team Jeedom, alors je vais devoir continuer, comme j’ai déjà fait, au coup par coup en piochant ici ou là, et avec un peu de chance ça finit par tomber en marche même si je n’ai pas vraiment compris ce que j’ai fait …
Par exemple je cherchais à savoir si u ou plusieurs noeuds étaient morts, mais je ne sais pas ou se cache cette info, je tentais d’y aller via l’« API Documentation » mais sans succès à ce jour; j’ai bien trouvé une autre approche, mais sans comprendre, c’est délicat.

Bonjour,
Cette info ne se cache pas elle n’existe simplement pas dans l’api (enfin je pense pas). Tu peux voir toute les informations d’un équipement en allant sur celui-ci puis configuration avancé puis information (si ca y est c’est dans configuration je pense).

Et ce que tu demande n’est simplement pas possible car il n’y a pas de cadre sur les équipements ou commande (hormis 4/5 truc de base) chaque plugin definit les parametres/fonction qu’il veut en fonction de ses besoins.

La la notion de noeud mort je suis pas sur que le plugin le stock a mon avis il affiche juste un message quand le démon zwavejs le remonte rien de plus.

Merci, je vais donc faire avec ça.