Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
eibd sur NAS QNAP TS-4xx
#51
On 25 mar, 21:00, Ben <tmt....@gmail.com> wrote:
> Tu devrais ainsi faire apparaître les erreurs lors de l'exécution de
> ta page dans le navigateur.

J'ai le sentiment que les librairies ne sont pas trouvées, mais
comment vérifier ?
Quelque chose me tracasse dans php.ini à propos de la ligne
include_path
d'origine
include_path=".:/etc/config/php"
changé en
include_path=".:/etc/config/php:/share/Web/Cisco/lib"

Je suppose que ce include_path doit pointer sur des directory ?
or = /etc/config/php ne pointe sur rien du tout, n'existe pas ! et
comme il est le premier sur la ligne ...
Je suppose qu'ils ne font pas de bug chez QNAP ? surtout avec un
nouveau release ?

Est-ce que un propriétaire de QNAP serait assez aimable pour vérifier
svp ?
Merci
#52
On Sat, 26 Mar 2011 09:48:52 -0700 (PDT), "marc.assin"
<raymond@warichet.com> wrote:

> Je suppose que ce include_path doit pointer sur des directory ?

Oui.

> or = /etc/config/php ne pointe sur rien du tout, n'existe pas ! et
> comme il est le premier sur la ligne ...

Ce n'est pas grave si un champ pointe dans le vide ; de toute façon, il
les parcourt tous (l'ordre importe peu, sauf si la même librairie existe
dans 2 endroits, et pas dans la même version ; là, si on veut charger l'une
plutôt que l'autre, j'imagine qu'il faut qu'elle apparaisse en premier).
Mais il en faut au moins un de valide, avec tout ce qui va bien dedans !

--
Frédéric
#53
Salut Raymond,

Qu'est-ce qui time-out exactement? Quel est le message d'erreur? Parce
que le problème dont tu parles (include_path) n'a à priori aucun
rapport avec un time-out.
Si c'est un problème d'include_path, tu peux également essayer de
mettre eibclient.php au même endroit que ton script php, puisque
include_path contient le répertoire courant (.).
A part ça, sans connaître les détails de ton script je ne vois pas
trop comment on peut t'aider, on ne va pas jouer aux devinettes...

A+

Jean-François

On 25 mar, 18:03, "marc.assin" <raym...@warichet.com> wrote:
> J'ai mon eibd qui marche, lorsque je lance une commande, à la main
>  ./groupswrite ip:x.x.x.244 0/1/31   1
> çà m'allume bien la lampe.
>
> En programmation, çà se termine sur un time-out
> Suite au déménagement sur le NAS, j'ai adapté mon programme PHP, j'ai
> corrigé les adresses IP.
>
> Je me suis rapellé que dans php.ini, il fallait rajouter l'endroit des
> librairies dans le include_path, qui devient
> include_path=".:/etc/config/php:/share/Web/Cisco/lib"
>
> J'ai copié le eibclient.php dans la lib ..... qu'est ce que j'ai
> oublié ?
#54
@Frédéric
>Ce n'est pas grave si un champ pointe dans le vide;
OK, merci

@Jean-François
>Qu'est-ce qui time-out exactement?
Je ne sais pas au juste.
Sur le téléphone, l'horloge (sablier) tourne pendant 1-2 minutes
Avec IE, le browser reste pendu.

>Quel est le message d'erreur?
Il n'y en a pas (trop facile çà !)

>Parce que le problème dont tu parles (include_path) n'a à priori aucun
rapport avec un time-out.
OK, d'accord. Je me disais que si du code php apelle une librairie
(qui est censée être loadée dès le départ) et qu'il n'y a pas de
réponse, çà pourrais
ressembler à mon symptome.

>Si c'est un problème d'include_path, tu peux également essayer de
mettre eibclient.php au même endroit que ton script php, puisque
include_path contient le répertoire courant (.).
OK, bonne idée

>sans connaître les détails de ton script je ne vois pas
trop comment on peut t'aider
Le problème est lié à eibd et à son environnement de travail. Lorsque
je mets la ligne
$status = GroupRead($ip,$ga1);
en commentaire, le script tourne (mais ne fais rien, bien sûr)

$ip = "127.0.0.1"; // IP address: localhost 127.0.0.1
$ga1 = "0/7/87"; // KNX Group address: Intrusion: Portail

GroupRead.php est en principe dans le path de la lib, et contient une
fonction que tu connais bien :-)
function GroupRead($ip,$ga)
{
require_once('eibclient.php');
eibclient.php est en principe dans le path de la lib aussi

J'ai implémenté la suggestion de Ben
"display_startup_errors = On"
Il ne devrait pas râler s'il ne trouve pas ses jeunes ?

Merci pour votre patience
#55
eibd ne tourne plus !
une tentative de démarrage donne
./eibd: error while loading shared libraries: libpthsem.so.20: cannot
open shared object file: No such file or directory
Tiens, tiens, problème déjà rencontré et supposé solutionné par une
modif de /etc/ld.so.conf
Un coup d'oeil sur /etc/ld.so.conf montre un fichier inchangé ?!?
Mwoui (je sais ce que vous pensez)
Un "find /opt -name libpthsem.so.20 -print" me trouve le fichier en
/share/MD0_DATA/optware/opt/lib
J'ajoute la ligne "/share/MD0_DATA/optware/opt/lib" à la fin de "/etc/
ld.so.conf" (Esc :wq)

Il y a un 2ième paramètre dans php.ini à propos d'erreurs. Je l'ai mis
à "On" également.

Lorsque je lance mon script dans le browser
http://x.x.fr/Cisco/interieur/rez/hall/applic.php
j'ai l'erreur
<b>Notice</b>: Undefined variable: socket in <b>/share/MD0_DATA/Web/
Cisco/lib/eibclient.php</b> on ...
Je n'ai pas modifié "eibclient.php", je suppose qu'il n'y a pas lieu ?
je pense qu'il est autonome et qu'il y a un port par défaut ?
Je lance eibd avec : ./eibd -D -T -S -d -i ipt:10.0.1.244
Faut'il spécifier un port ? je pense que non.
Est-ce que les paramètres seraient mal passé ?
#56
J'ai mis les options de Debug à ON
J'ai vérifié les droits d'accès aussi bien DOS que Linux (777
partout), mais
lorsque je lance mon script dans IE
http://x.x.fr/Cisco/interieur/rez/hall/applic.php
j'ai l'erreur

Only one top level element is allowed in an XML document. Error
processing resource 'http://nas.beausoleil.fr/Cisco/alarme/...

<b>Notice</b>: Undefined variable: socket in <b>/share/MD0_DATA/Web/
Cisco/alarme/eibclient.php</b> ...

Je pense que la vraie erreur a trait à "Undefined variable: socket"
Le fait qu'il râle sur eibdclient me donne à penser qu'il a bien
trouvé la librairie.

Est-ce que eibdclient a besoin d'une resource pour tourner ?

Quelqu'un a une idée ?
#57
> Only one top level element is allowed in an XML document. Error
> processing resource 'http://nas.beausoleil.fr/Cisco/alarme/...

Ca ressemble a une mal-formation dans un fichier xml que php essaie de
lire...


> <b>Notice</b>:  Undefined variable: socket in <b>/share/MD0_DATA/Web/
> Cisco/alarme/eibclient.php</b> ...

Ce n'est pas une erreur, tu peux fermer les yeux sur les "notices".

> Je pense que la vraie erreur a trait à "Undefined variable: socket"
> Le fait qu'il râle sur eibdclient me donne à penser qu'il a bien
> trouvé la librairie.

Oui.

> Est-ce que eibdclient a besoin d'une resource pour tourner ?

Pas à ma connaissance...

> Quelqu'un a une idée ?

Pour moi, ce n'est pas la librairie eibclint.php qui cloche.
Le problème est ailleurs, certainement du côté du répertoire "alarme"
qui contient un fichier/flux xml erroné...
#58
On 30 mar, 13:54, Ben <tmt....@gmail.com> wrote:
> > Only one top level element is allowed in an XML document. Error
> > processing resource 'http://nas.beausoleil.fr/Cisco/alarme/...

> Ca ressemble a une mal-formation dans un fichier xml que php essaie de
> lire...
Oui, c'est vrai, mais en l'occurence, je ne crois pas que ce soit le
cas, car:
- le fichier xml n'a pas été modifié
- lorsque je mets la commande "GroupRead" en commentaire, çà passe

à moins que le fait d'avoir déménagé mon appli sur le NAS n'aie rajoué
une dépendance (que je ne connais pas et qui me fout dedans, du genre
format de fichier, sécurité etc)

Il est à noter qu'avant, l'appli tournait sur un PC (Intel) sous
Linux, maitenant sur un processeur Marvell. Je suppose que le code PHP
est exécuté sur le NAS, produit du code html classique et donc, en
principe çà devrait marcher ...

> > Quelqu'un a une idée ?
> Pour moi, ce n'est pas la librairie eibclint.php qui cloche.
> Le problème est ailleurs, certainement du côté du répertoire "alarme"
> qui contient un fichier/flux xml erroné...
Oui, logiquement, tout donne à penser que c'est le cas.
Pour vérifier cette hypothèse, il faudrais solliciter eibd par un
autre moyen.
Est-ce que tu aurais sous le coude, un bout de code PHP tout à fait
minimaliste, que je puisse lancer dans IE et voir ce que çà donne ?
Peut-être que je me suis complètement planté et que ce que j'essaye de
faire n'est pas possible :-(

Merci Ben
#59
> Pour vérifier cette hypothèse, il faudrais solliciter eibd par un
> autre moyen.
> Est-ce que tu aurais sous le coude, un bout de code PHP tout à fait
> minimaliste, que je puisse lancer dans IE et voir ce que çà donne ?

Je viens de t'envoyer un zip par email.

Ben
#60
On 30 mar, 22:41, Ben <tmt....@gmail.com> wrote:
> Je viens de t'envoyer un zip par email.

Merci beaucoup.

Je vais essayer de me débrouiller
#61
Il a râlé sur
include_once("linknx_config.php"); dans common.php
Je suppose que je n'en ai pas besoin, je l'ai mis en commentaire.

Je bloque sur la ligne 27 de list.php
Warning: Invalid argument supplied for foreach() in /share/MD0_DATA/
Web/Test/list.php on line 27

Tout porte à croire qu'il y a une erreur dans config.php
J'ai vérfié, pas vu !
J'ai remis celui d'origine (non-modifé), c'est pareil.
Je suppose que le config.php est censé être OK pour un test de
chargement dans le navigateur, même si rien ne fonctionne (pour cause
de GA non modifié) ?


Est-ce que çà peut être un problème de version de PHP ?
#62
> Il a râlé sur
> include_once("linknx_config.php");  dans common.php
> Je suppose que je n'en ai pas besoin, je l'ai mis en commentaire.

En fait c'est include_once("config.php") et non "linknx_config.php".
Tu as besoin de cette ligne, il faut la décommenter.

Ben
#63
On 31 mar, 13:07, Ben <tmt....@gmail.com> wrote:
> En fait c'est include_once("config.php") et non "linknx_config.php".
BINGO !
du premier coup !

Voilà qui élimine déjà le NAS proprement dit, PHP et les paramètres de
démarrage de eibd de la liste des suspects (encore que, il n'y avait
pas lieu)
Je pense que j'ai un gros problème, gros comme une maison, il est
devant mon nez, mais je ne le vois pas.
Ce ne serais pas une mistrouille d'encodage ISO/UTF ? (j'emploie des
caractères accentués). J'avais choisi UTF-8 pour afficher les
caractères accentués correctement sur le téléphone, p'têt à revoir...

Mais ... mais ... elle est super cette petite Visu eibd !
Voilà qui devrait faire l'affaire pour tout qui n'a pas des besoins
sophistiqués et qui ne veut pas investir dans une usine à gaz.
Pour info, j'ai déposé une copie d'écran eibdVisu.JPG dans
https://sites.google.com/site/domotiquee...knx_knxweb

Merci Ben
#64
> Je pense que j'ai un gros problème, gros comme une maison, il est
> devant mon nez, mais je ne le vois pas.
> Ce ne serais pas une mistrouille d'encodage ISO/UTF ? (j'emploie des
> caractères accentués). J'avais choisi UTF-8 pour afficher les
> caractères accentués correctement sur le téléphone, p'têt à revoir...

Si tu veux bien m'envoyer ton fichier xml par email, je te dirai ce
que j'en pense...

Ben
#65
Bonjour,

J'ai encore un bobo avec ma Visu sur tf Cisco, c'est hors sujet, mais
peut-être qu'un oeil d'expert verra de suite où est le problème..
Avec mes scripts PHP, j'arrive à afficher correctement l'état d'un GA,
lorqu'il s'agit d'un actuateur TOR.
Pour les GA à base de dimmer, je n'y arrive pas, je pense que j'ai un
problème d'encapsulation dans la ligne ci-dessous
$menu .= "<URL>http://$server/Cisco/icones/GetVarDeviceIcon?status=
$status&amp;icon_on=$icon_on&amp;icon_off=$icon_off</URL>\n";
NB: ce script a fonctionné avant que je ne le déménage sur le NAS

Lorsque j'exécute le script complet dans le navigateur, j'ai une image
qui aparait sur l'écran, alors que normalement, çà devrait être du
code XML, ce qui me fait dire que la fonction GetVarDeviceIcon n'est
pas exécutée correctement.

Merci
#66
Bonjour,

> Pour les GA à base de dimmer, je n'y arrive pas, je pense que j'ai un
> problème d'encapsulation dans la ligne ci-dessous
> $menu .= "<URL>http://$server/Cisco/icones/GetVarDeviceIcon?status=
> $status&amp;icon_on=$icon_on&amp;icon_off=$icon_off</URL>\n";

Essaie avec "&" à la place de "&amp;".
Cette simplification devrait fonctionner.

Ben
#67
On 9 avr, 11:11, Ben <tmt....@gmail.com> wrote:
> Essaie avec "&" à la place de "&amp;".
Merci pour le tuyau, mais il ne veut rien entendre.
J'arrive au bout du rouleau
#68
> $menu .= "<URL>http://$server/Cisco/icones/GetVarDeviceIcon?status=
> $status&amp;icon_on=$icon_on&amp;icon_off=$icon_off</URL>\n";

Essaie en déspécialisant l'url comme ceci :
$menu .= "<URL><![CDATA[http://$server/Cisco/icones/GetVarDeviceIcon?
status=$status&icon_on=$icon_on&icon_off=$icon_off]]></URL>\n";

Ben
#69
On 9 avr, 22:01, Ben <tmt....@gmail.com> wrote:
> Essaie en déspécialisant l'url comme ceci :
Hélas
Je me vois forcé d'abandonner le projet...si près du but.
Le plus frustrant, c'est que tout çà a fonctionné sur une autre
platforme

Merci
#70
J'ai re-déménagé mon appli sur une platforme Intel Toshiba Tecra,
OpenSuSe, Câble RS232 vers un I/F série Hager .
eibd tourne et est configuré pour une porte RS232.
groupswrite marche du premier coup.
l'appli tf aussi

Pour les conclusions, c'est une autre histoire: pas le même serveur
web, ni PHP, ni php.ini, ni OS. On peut juste exclure le script php et
le tf qui sont restés les mêmes...
#71
On 10 avr, 18:14, "marc.assin" <raym...@warichet.com> wrote:
> Pour les conclusions, c'est une autre histoire: pas le même serveur
> web, ni PHP, ni php.ini, ni OS.
Quelqu'un a une suggestion pour les paramètres du php.ini ? ou une
autre idée ?
Je me focalise sur php.ini car je ne crois pas que ce soit un problème
eibd (le fait qu'il tourne en RS232 ou IP ne devrait rien changer)
#72
> Quelqu'un a une suggestion pour les paramètres du php.ini ? ou une
> autre idée ?

Dans le php.ini, essaie en mettant
register_globals = On
#73
On 11 avr, 18:37, Ben <tmt....@gmail.com> wrote:
> Dans le php.ini, essaie en mettant
> register_globals = On

Hélas.
Est-ce qu'il peut y avoir des paramètres autres que dans le php.ini ?
Je pense que non, vu qu'il n'y a qu'une seule ligne dans le script php
qui pose problème, mais on ne sait jamais ....
#74
Si tu ré-actives le debug, qu'obtiens-tu comme message d'erreur ?

As-tu essayer de bien séparer les variables dans ta chaîne comme
ceci ?
$menu .= "<URL>http://".$server."/Cisco/icones/GetVarDeviceIcon?
status=".$status."&amp;icon_on=".$icon_on."&amp;icon_off=".
$icon_off."</URL>\n";
#75
On 12 avr, 00:17, Ben <tmt....@gmail.com> wrote:
> Si tu ré-actives le debug, qu'obtiens-tu comme message d'erreur ?
Je vais re-essayer, mais en fait, je n'ai pas de message d'erreur.
Le résultat n'est pas bon, en ce sens que lorsque j'essaye le script
avec mon navigateur, j'ai une image png affichée sur l'écran, au lieu
d'un fichier xml en texte clair (ce xml est à destination du tf)

> As-tu essayer de bien séparer les variables dans ta chaîne comme
> ceci ?
Oui, j'avais déja essayé, sans résultat, j'ai recommencé ....
hélas....
Je pense que la solution est effectivement en rapport avec ton idée.
Quelque part, une variable est interprêtée pour son contenu au lieu de
rester un littéral (et apparaitre en texte dans le fichier xml généré
par le php).
Le problème n'apparait que dans les scripts "dimmer" (pas dans les
scripts éclairage On/Off).
Dans les scripts "dimmer" plusieurs fonctions sont appelées en
cascade, alors est-ce que les paramètres sont bien passés de l'un à
l'autre ? (et retour du résultat)
Est-ce qu'il y a des précautions particulières à prendre dans ce cas
de figure ?
Est-ce qu'il y a un paramètre php.ini qui concerne cet aspect ?

Merci


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)