stawen / okovision

Web Interface Supervision for OKofen Pellematic Touch Boiler
http://okovision.dronek.com
28 stars 15 forks source link

Configuration linux #41

Closed antec51 closed 8 years ago

antec51 commented 8 years ago

Salut Stawen,

J'essaye de configurer okovision sur un raspberry avec raspbian. Apache, Php, Mysql c'est OK par contre j'ai des erreurs du style :

Donc principalement des fonctions de rendu graphique. Il me manque quoi comme module php à installer à ton avis ?

A+ et félicitation !

stawen commented 8 years ago

quelle est la version de php ? peux tu mettre dans le fichier de config.php debug à true, faire ton test, et joindre au ticket le fichier de log _logs/okovision.log

As-tu le module mysqli ? merci

antec51 commented 8 years ago

PHP Version => 5.6.14-0+deb8u1 MysqlI Support => enabled

Le fichier log (je n'ai pas la permission de joindre un fichier) : "DEBUG | Class administration | updateMatriceFromFile | Update oko_capteur | UPDATE oko_capteur set position_column_csv=52 where id=51; 05.11.2015 | 11:47:26 | DEBUG | Class administration | getHeaderFromOkoCsv | select id, name, original_name, type from oko_capteur where position_column_csv <> -1 order by position_column_csv 05.11.2015 | 11:47:57 | DEBUG | Class administration | statusMatrice | 52 05.11.2015 | 11:47:57 | DEBUG | Class administration | getHeaderFromOkoCsv | select id, name, original_name, type from oko_capteur where position_column_csv <> -1 order by position_column_csv 05.11.2015 | 11:55:06 | DEBUG | Class rendu | getConsoByday | select round (sum((1/(a.col_19 + a.col_20)) * a.col_19)*(0.15),2) as consoPellet from oko_historiquefull as a WHERE a.jour = '2015-11-05' 05.11.2015 | 11:55:06 | DEBUG | Class rendu | getTcMinByDay | SELECT round(min(a.col),2) as tcExtMin FROM oko_historique_full as a WHERE a.jour = '2015-11-05' 05.11.2015 | 11:55:09 | DEBUG | Class gstGraphique | getCapteurs | select id, name from oko_capteur order by id asc 05.11.2015 | 11:55:09 | DEBUG | Class gstGraphique | getGrapheAsso | SELECT capteur.id, capteur.name, asso.correction_effect as coeff from oko_asso_capteur_graphe as asso LEFT JOIN oko_capteur as capteur ON asso.oko_capteur_id = capteur.id WHERE asso.oko_graphe_id= ORDER BY asso.position 05.11.2015 | 11:55:13 | DEBUG | Class administration | getDayWithoutSynthese | SELECT a.jour as jour FROM oko_historique_full as a LEFT OUTER JOIN oko_resume_day as b ON a.jour = b.jour WHERE b.jour is NULL AND a.jour <> '2015-11-05'group by a.jour; 05.11.2015 | 11:55:15 | DEBUG | Class okofen | deleteSyntheseDay | DELETE FROM oko_resumeday where jour = '2015-11-03' 05.11.2015 | 11:55:15 | DEBUG | Class rendu | getTcMaxByDay | SELECT round(max(a.col),2) as tcExtMax FROM oko_historique_full as a WHERE a.jour = '2015-11-03'

Ce qui à l'air de coincé c'est dans la BDD, la table oko_capteur, j'ai encore les name en AT [?C], KT Ist [?C] au lieu de T°C Exterieure, T°C Chaudiere, et pas de tc_ext. Donc c'est vers le adminMatrix.php qu'il faudrai regarder peut être

stawen commented 8 years ago

ok, on voit ça : 05.11.2015 | 11:55:06 | DEBUG | Class rendu | getTcMinByDay | SELECT round(min(a.col_),2) normalement c'est col_(un numero)

Donc cela correspond a ton probleme d'encodage des caracteres... les locals sont en UTF 8 ?

Sinon, j'ai un rpi a la maison, je trouve une sd qui traine et je fais le test.

tu as pris la derniere version dispo chez raspbian ?

antec51 commented 8 years ago

Oui j'ai mis Raspbian Jessie sur un pi 2, http://raspbian-france.fr/telechargements/ Dans sudo raspi-config , j'ai bien fr_FR.UTF-8 UTF-8 de séléctionné Quand j'ouvre les CSV avec openoffice, et que j'essaye le UTF-8 ça ne prend pas les caractéres ° correctement. Je test en mettant en ISO-8859-1...

Suspense...

Bon, ça ne marche pas il faut peut être aussi le paramétrer dans les fichiers de config d'apache

stawen commented 8 years ago

envoi par mail un dump de ta base (stawen at dronek.com) ou tu le met a dispo sur http://demo.ovh.com/

stawen commented 8 years ago

ok j'ai compris, tout vient du faite qu'à la création de la matrice, oko a eu un prob. Du coup, les capteurs imperatifs (comme la T°C ext) n'ont pas été identifiés, donc y a des requettes qui tombent en erreurs. la traduction des capteurs vient du fichier /langs/fr.matrice.json Verifies que les caracteres sont bons et l'encodage du fichier.

si ils sont merdeux, tu corriges, tu supprimes le fichier config.json et confi.php, l'installation se relance (attention, cela efface la base)

stawen commented 8 years ago

ou la requette magique pour ton cas uniquement

update oko_capteur set type = 'tc_ext' where id = 1;

ca te debloque, mais ça n'explique pas pkoi le setup a raté

stawen commented 8 years ago

antec51 : et si https://github.com/stawen/okovision/blob/f01d28ab2314290c9c0d83b86ed17d4a2d306f33/_include/okofen.class.php#L29 on remplace par if (fwrite($wh, utf8_encode(fread($rh, 4096))) === FALSE) { Ca devrait marcher ? et c'est plus propre que d'aller changer l'encodage ailleurs ?

stawen:

c'est pas faux, je vais faire aussi la meme manip dans la lecture du fr.matrice.json (car la merde vient de la principalement)

antec51 commented 8 years ago

if (fwrite($wh, utf8_encode(fread($rh, 4096))) === FALSE) { marche pas, mais bon : file -i touch_20151105.csv touch_20151105.csv: text/plain; charset=iso-8859-1 alors que tout est en UTF-8... c'est ça qui coince je pense. Faudrai mettre des utf8_encode( partout où on lis dans le csv ?!?

Autre chose, au tout début, aprés la configuration, on bascule sur le fichier adminMatrix.php, j'ai une page blanche si je ne met pas le dossier okovision en 777... je ne sais pas faire autrement.

antec51 commented 8 years ago

Ma solution temporaire qui marche :

Voila, j'espère que tout ça a pu t'aider, en tout cas tout à l'air bon de mon coté.

et pour pas oublier je crois que j'ai fait : apt-get install apache2 php5 mysql-server php5-mysql phpmyadmin openssl aprés mysql : verifier avec mysql --user=root --password=votrepasswd aprés phpmyadmin, ajouter dans le fichier " /etc/apache2/apache2.conf " Include /etc/phpmyadmin/apache.conf sur le dossier okovision sudo chmod -R 777 * (pas très propre je crois)

stawen commented 8 years ago

tu peux faire chown www-data:www-data -R * okovision/ car l'install doit creer les fichier config.php et config.json comme le repertoire okovison que tu as créé doit avoir comme proprietaire root, apache ne peux pas ecrire, mais que lire

je vais faire un tuto sur linux / rpi ca sera plus simple.

Sinon, tu es arrivé au meme conclusion que moi, c'est à la creation de la matrice que le proleme d'encodage est genant.

stawen commented 8 years ago

Faire un tuto pour linux, et voir pour la creation de la matrice a bien forcer l'utf8

antec51 commented 8 years ago

Et si tu veux des idées de devs :

Voila...

Sinon encore une fois, beau travail, c'est plaisant à utiliser et c'est beau ce qui ne gache rien !

stawen commented 8 years ago

conversion du fichier matrice pour etre sur qu'il est en UTF8 livré en 1.5.4