Aller au contenu
Dgille

HC3 - Table de routage ZWave

Recommended Posts

moi, c'est le fichier .ini qui ne veut pas se charger.

Partager ce message


Lien à poster
Partager sur d’autres sites

ok j'ai réglé le pb les 2 fichiers se téléchargent maintenant, celui qui doit être le .ini est nommé aussi avec l'extension .php pour juste assurer le téléchargement (il doit être copié/modifié et nommé my_z-wave_network_hc3.ini)

sinon effectivement le forum ne veut pas le télécharger correctement

Modifié par jluc2808

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai regardé le code, et j'ai trouvé ceci

$HC3Ip = $ini_array['ip_ss'] . ":" .  $ini_array['port'];

en fait "ip_ss", vient de mon exemple  où ss est pour Surveillance  Station.

ne serait-ce pas mieux d'avoir "ip" ?

Comme il y a un problème avec le download du fichier exemple .ini plus haut, pourquoi ne pas le corriger et en profiter pour corriger le php et donc remplacer les 2 fichiers plus haut ?

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 8 minutes, jojo a dit :

j'ai regardé le code, et j'ai trouvé ceci


$HC3Ip = $ini_array['ip_ss'] . ":" .  $ini_array['port'];

en fait "ip_ss", vient de mon exemple  où ss est pour Surveillance  Station.

ne serait-ce pas mieux d'avoir "ip" ?

Comme il y a un problème avec le download du fichier exemple .ini plus haut, pourquoi ne pas le corriger et en profiter pour corriger le php et donc remplacer les 2 fichiers plus haut ?

oui c'est mieux je corrige et remets à jour les 2 fichiers

 

PS : c'est fait

Modifié par jluc2808
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Juste pour info, ce n'est pas une bonne idée de laisser un fichier INI sur un serveur Web, surtout si celui-ci est exposé sur Internet.
En effet, il suffit de taper le nom du fichier INI dans l'URL de son navigateur pour voir apparaitre le contenu du fichier, car sans configuration particulière du serveur Web (Apache, etc), celui-ci va le considérer comme un simple fichier texte et afficher son contenu.... révélant ainsi les paramètres de configuration et notamment le mot de passe !

 

Il faut mieux conserver une extension PHP, au moins le contenu sera interprété par le moteur PHP appelé par Apache, et on ne verra pas en clair les infos contenues dedans.

Ensuite on peut inclure le fichier de config dans le script php principal à l'aide d'une directive include.

 

C'est ce que j'ai fait pour DomoCharts par exemple.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
à l’instant, Lazer a dit :

Juste pour info, ce n'est pas une bonne idée de laisser un fichier INI sur un serveur Web, surtout si celui-ci est exposé sur Internet.
En effet, il suffit de taper le nom du fichier INI dans l'URL de son navigateur pour voir apparaitre le contenu du fichier, car sans configuration particulière du serveur Web (Apache, etc), celui-ci va le considérer comme un simple fichier texte et afficher son contenu.... révélant ainsi les paramètres de configuration et notamment le mot de passe !

 

Il faut mieux conserver une extension PHP, au moins le contenu sera interprété par le moteur PHP appelé par Apache, et on ne verra pas en clair les infos contenues dedans.

Ensuite on peut inclure le fichier de config dans le script php principal à l'aide d'une directive include.

 

C'est ce que j'ai fait pour DomoCharts par exemple.

Yes , je comprend , sans le savoir j'ai fait pareil que toi , maintenant le ini est avec l'extension .php , de toute manière il doit être modifié et nommé autrement donc pas grave qu'il soit en .php pour le téléchargement.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ben ce que je dis c'est qu'une fois renommé entre chose que PHP, alors on crée une brèche de sécurité....

 

Quand je parlais de serveur Web, je ne parlais pas de celui du forum, mais de celui chez vous sur lequel vous allez héberger le script.

Partager ce message


Lien à poster
Partager sur d’autres sites

ah ok j'avais visiblement pas compris

 

je viens de regarder comment tu as fais avec domocharts , c'est facile à reproduire et si c'est plus sécure alors je vais faire la modif pour faire pareil.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

En revanche à partir du moment où c'est un fichier PHP, ça ne permettra pas l'écriture simplifiée comme dans l'exemple qu'avait partagé Jojo en page précédente.

Il faut respecter la syntaxe du PHP, avec les guillemets, points virgules, etc.
Donc un peu moins ergonomique.

Partager ce message


Lien à poster
Partager sur d’autres sites

pour reprendre à la remarque pertinente sur l'aspect sécuritaire de @lazer la version 5 remplace le fichier .ini par un fichier .php

 

de même que précédemment le fichier distribuer devra être copié, personnalisé avec les données vos données de connexion et modifier les paramètres par défaut si vous le souhaitez

une fois réalisé via un éditeur au choix (par exemple Notepad++) le fichier devra s'appeler My_config.hc3.php ce nom n'est pas modifiable et est celui repris dans le programme principal

Dans ce fichier il est impératif de respecter les "", '' ou  ; lors de vos modifications.

 

le contenu du fichier de config :

<?php
/******************************************************************************/
/*** File    : config.hc3.php                                               ***/
/*** Author  : Jean-luc Berno                                               ***/
/*** Version : 1.0                                                          ***/
/*** History : October 2023  : Initial release                              ***/
/*** Note    : Configuration file                                           ***/
/******************************************************************************/

// HC3 IP : port si nécessaire "
$HC3Ip = '192.168.x.x:80';
// HC3 User account
$HC3Login = 'le_login_hc3';
// User password
$HC3Pass = 'le_pswd_hc3';
// affiche graphique et liste - les valeurs possibles sont : graph, table, all
$Display = 'all';
// selectionne les routes directes, avec rebond, uniques (les plus courtes), multiples - les valeurs possibles sont all, unique, direct, rebond
$Route = "unique";
// graphique dynamique ou fixe - valeurs possibles FALSE, TRUE 
$Fix = FALSE;

?>

 

Pour le reste, mis à part cette modification d'archirecture générale, pas d'évolutions sur le contenu.

 

les fichiers à télécharger :   ==> attention V5.2 plus loin dans les posts

config.hc3.php  ==> éditez lr fichier de config pour personnaliser et le nommer My_config.hc3.php

z-wave_network_hc3_mod V5.php

 

 

Modifié par jluc2808
  • Like 3

Partager ce message


Lien à poster
Partager sur d’autres sites

@jluc2808,

je commence enfin à exploiter ton développement (il était temps !) :13:

Du coup j'ai eu une idée :

Pour le paramètre &route, rajouter des valeurs possibles, pour limiter les tableaux et graphes en fonction du nombre de rebonds :

&route=all (comme maintenant) |

            unique (comme maintenant) |

            direct (comme maintenant) |

            rebond (comme maintenant) |

            rebond0 (= synonyme de direct) |

            rebond1 (= uniquement modules avec 1 rebond)|

            rebond2 (= uniquement modules avec 2 rebonds)|

            rebond3 (= uniquement modules avec 3 rebonds)|

            rebond4 (= uniquement modules avec 4 rebonds)|

            rebond5 (= uniquement modules avec 5 rebonds)|

            rebond6 (= uniquement modules avec 6 rebonds)|

            rebond7 (= uniquement modules avec 7 rebonds)

Ayant des modules allant jusque 4 rebonds (ce que je trouve déjà beaucoup), je pense qu'en se limitant à 7, cela devrait couvrir tous les cas (pour être certain, la valeur rebond7 pourrait être = uniquement modules avec 7 ou + de rebonds).

Juste une idée pour une v5.1

Partager ce message


Lien à poster
Partager sur d’autres sites

 oui , je peux ajouter cette fonction , mais je pense que dans ce cas la syntaxe et les actions peuvent être envisagée de la manière suivante :

 

&rebond=x  x étant le nombre de rebond que l'on veut exploiter, si on ne précise pas quelque chose dans &route alors on ne listera que les routes avec x rebond (fonction par défaut)

- &route=direct ==> la valeur &rebond n'a pas de sens

- &route=unique&rebond=3 ==>  on ne listera que les id avec 3 rebonds si c'est le chemin le plus court pour l'Id

- &route=all&rebond=3 ==> toutes les routes jusque 3 rebonds

- &rebond=3 , équivalent à &route=rebond&rebond=3 ==> liste que les routes avec 3 rebonds 

 si x=all /tout/tous alors ce sera comme &route=rebond

 

vos avis sur cette proposition ?

 

@jojo j'ai déjà la 5.1 qui est prête alors ce sera pour une 5.2 :D

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

version 5.1

  • corrections de quelques bugs (résiduels de la version initiale sur les parties vis.js - graphiques - ou les options n'étaient pas dans les bonnes syntaxes)
  • ajout du changement de couleur du contrôleur maitre (la HC3) ==> par défaut dans cette version il est en gris (ça devrait faire plaisir à @lazer) + un paramètre dans le fichier de config  - pour plus d'info voir le détail des explications plus loin
  • simplification des infos listées pour les Id qui sont en liens directs et sans rebonds
  • modification interne sans impact utilisateur pour la gestion du paramètre &fixe

==>  Attention V5.2 plus loin dans les posts

z-wave_network_hc3_mod V5.1.php

optionnel vous pouvez modifier votre fichier My_config.hc3.php  ou les nouvelles installations partir avec cette version

config.hc3.php

 

la  modification à votre fichier My_config.hc3.php est la suivante

ajouter en fin de fichier avant le "?>"

// couleur du noeud principal HC3  - vous pouvez mettre soit le code Hexa (#70726E pour gris), soit rgb(R,B,V), soit rgba(R,B,V,I), soit une couleur (red, black, grey....)
$HC3_color = "grey"; 

ne pas toucher à 
?>

 

explications des changements :

- vous pouvez mettre la couleur que vous voulez pour la représentation graphique du contrôleur HC3, soit le code Hexa (#70726E pour gris), soit rgb(R,B,V), soit rgba(R,B,V,I), soit une couleur (red, black, grey....)

si vous ne changez rien à votre fichier config avec cette version 5.1 , la rétrocompatibilité est assuré et la couleur du contrôleur HC3 sera grise

 

- les correctifs internes sur la gestion du graphique, que ce soit les options ou la fonction dynamique / statique n'impactent pas la vision utilisateur, ni la manière de mettre les paramètres 

 

- les Id en liens directs et sans rebonds étaient listés avec une redondance des infos sur Id et Noms, le correctif consiste en une simplification de la lecture pour enlever ces doublons d'info.

Modifié par jluc2808
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

/**************** grosse évolution d'architecture interne ******************/

 je pensais que la demande/suggestion de @jojo serait simple :15: my bad :wub:

 je me suis aperçu à cette occasion que la construction graphique n'étaient pas en accord avec les listes de liens / routes / nœuds 

 

==> pour y arriver j'ai dû reprendre (même si pas visible de l’extérieur) l'architecture de construction des nœuds (nodes) et des liens (edges)

ça m' a permis de corriger les décalages entre graphique et liste 

 

maintenant l'affichage des rebonds est conforme aux listes (qui elles étaient exactes) et intègre des nœuds qui ne sont pas dans les même pièces (déjà le cas avant) mais aussi les liens des routes qui y amènent.

 

j'espère que dans cette évolution je n'ai pas ajouté trop de bugs :60:

/********************* voilà pour l'interne ****************************/

 

la v5.2 :

  • ajout de la possibilité de travailler avec des données stockées : &enregistre et &reuse
  • ajout d'une fonction &debug pour rendre verbeux
  • ajout de la fonction &rebond

z-wave_network_hc3_mod V5.2.php 

 

explications :

 

- &enregistre ==> va enregistrer (normalement dans le répertoire du programme PHP) 2 fichiers : donnees_devices.json et donnees_rooms.json

si ces fichiers existaient déjà, ils sont supprimés avant d'être recréés tout neufs

 

- &reuse ==> permet d'utiliser ces fichiers comme données d'entrée et ne fait plus appel à l'API tant que les fichiers existent et que la condition est dans les arguments de la commande

si les fichiers n'existent pas (supprimés, déplacés, pas encore générés, pbs de droits , ......) alors le programme va faire un appel API HC3 comme avant.

 

- &debug ==> ne pas utiliser sans une bonne raison, va tracer dans la fenêtre d'affichage plein de données afin de comprendre ce qui est utilisé.

 

- &rebond=x ==> reprend ce que j'avais spécifié plusieurs posts auparavant

  •  &rebond=x  x étant le nombre de rebond que l'on veut exploiter, si on ne précise pas quelque chose dans &route alors on ne listera que les routes avec x rebond (fonction par défaut)
  • - &route=direct ==> la valeur &rebond n'a pas de sens comme &rebond=0  c'est  &route=direct qui sera appliqué  
  • - &route=unique&rebond=3 ==>  on ne listera que les id avec 3 rebonds si c'est le chemin le plus court pour l'Id 
  • - &route=all&rebond=3 ==> toutes les routes jusque 3 rebonds 
  • - &rebond=3 , équivalent à &route=rebond&rebond=3 ==> liste que les routes avec 3 rebonds 
  •  si x=all /tout/tous alors ce sera comme &route=rebond

 

 

 

 

Modifié par jluc2808
  • Like 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Bravo pour ton travail.

 

Perso j'utilise l'option $Fix = TRUE; sinon je m'enrage à faire une présentation lisible.

 

Il y une option ou un traitement qui à changé le comportement de l'affichage lors du déplacement d'une ellispse ID entre la version V5.php et V5.2.php

 

En V5.php Si on déplace  l'élipse verte la flèche entre la rose et la verte se rétabli à une flèche droite

 522647246_Capturedecran2023-10-09a17_49_23.png.0316dc4a15975f50520c2bd4c744027d.png

 

V5.2.php ( et en V5.1.php aussi ) la flèche est ovale et son ancrage n'est pas forcément situé du bon coté de l'ellispse Cela devient illisible avec beaucoup de device

 1985607492_Capturedecran2023-10-09a17_47_10.png.4f419b9372a15960e34553966a203742.png

 

 

Si tu as une idée pour corriger ce comportement je suis preneur.

 

Autre idée pour quelqu'un à l'aise avec le php :

Le nombre de choix d'options à passer en paramètre devient important et c'est bien pour utile.

Plutôt que de les fixer dans le init.php ou modifier les paramètres de l'url peut on faire un formulaire de choix d'option.

J'avais fait cela pour le php de sauvegarde des sources mais je ne maitrise pas le choix de plusieurs paramètres 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@heni-allauch

- pour répondre précisément à tes questions :

entre la V5 et avant et la v5.1 et V5.2 j'ai modifié la fonction qui est supportée par &fix

en V5 et avant l'argument physics: false était porté sur chaque nœud individuellement , par mesure de simplification dans la V5.2 cet argument physics: false est portée au niveau global des options du programme vis.js

si ça te dérange réellement je peux mettre 2 arguments &fix=node (en direct sans elipse) et &fix=global (avec des elipses) qui permet de choisir la manière de contrôler les déplacements des flèches

 

la modif est simple donc dis moi .

 

Pour la suggestion d'avoir une page de configuration j'y ai pensé, mais je n'ai pas eu le temps de la prévoir, c'est pas trop compliqué mais ça demande un peu de travail pour contrôler tous les arguments dans un programme en plus de celui qui existe déjà, ou l'ajout des arguments s'est fait au fur à mesure et donc naturellement.

 

je retiens la suggestion pour une future release V6

  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Parfait  ok pour les modifs  &fix=node (en direct sans elipse) et &fix=global (avec des elipses) mais rien d'urgent ça attendra une prochaine version.

Et bienvenue à la future version 6 

Attend d'avoir d'autres avis et suggestions Cela va devenir un outil indispensable

Merci

 

Au fait Peynier dans le 13 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour

 

J'ai ce message d'erreur

Or j'ai bien les deux fichiers dans dossier Web de mon serveur

Et mes autres sites fonctionnent comme il faut

 

 

Citation


Warning: require(My_config.hc3.php): Failed to open stream: No such file or directory in /share/CACHEDEV1_DATA/Web/z-wave_network_hc3_mod V5.2.php on line 74

Fatal error: Uncaught Error: Failed opening required 'My_config.hc3.php' (include_path='.:/etc/config/php') in /share/CACHEDEV1_DATA/Web/z-wave_network_hc3_mod V5.2.php:74 Stack trace: #0 {main} thrown in /share/CACHEDEV1_DATA/Web/z-wave_network_hc3_mod V5.2.php on line 74

 

Modifié par flacon030

Partager ce message


Lien à poster
Partager sur d’autres sites

tu peux checker le fichier que tu as configuré à partir de config.hc3.php s'appelle My_config.hc3.php avec "M" et pas "m", si c'est le cas peut-être que les droits ne sont pas bons ?

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens de renommer le fichier "config.hc3.php" en" My_config.hc3.php" et cela fonctionne

Merci

A présent j'ai la liste des rebonds, comment passer en mode graphique?

Partager ce message


Lien à poster
Partager sur d’autres sites

tu ajoutes dans la ligne de commande ?display=graph ou si tu as dejà des arguments &display=graph

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est bien ce que j'ai essayé de faire

Je n'ai qu'une page blanche pour la partie graphique

Et j'ai bien la liste des rebonds

Petite précision je suis en php8.2, et j'ai fait aussi un essai en php7.4, mais c'est pareil

 

du coup j'ai réussi a le faire fonctionner avec MAMP sous mon mac

Pourquoi cela ne fonctionne plus sur mon NAS???

 

Voici mon paquet de nouille

 

Sans titre.jpg

Modifié par flacon030

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×