Domotique Piscine

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
le belge
Messages : 346
Inscription : 12 déc. 2016, 19:02

Re: Domotique Piscine

Message par le belge »

ha ! et pourquoi c'est pas bien ?
Sans titre5.jpg
Sans titre5.jpg (130.32 Kio) Consulté 7536 fois
aleph0
Messages : 328
Inscription : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: Domotique Piscine

Message par aleph0 »

ha ! et pourquoi c'est pas bien ?
Parce que si un hacker arrive à exploiter une faille dans domoticz, il aura un accès administrateur à ta machine et pourra faire ce qu'il en veut. Alors que si domoticz tourne sous un utilisateur non privilégié (et non sudoer's, hein ?!) le même pirate n'aura qu'un accès limité à ta machine et ne pourra faire que moins de dégats, ou devra faire plus d'efforts pour devenir administrateur et tu auras une chance de voir ce qu'il fait dans le logs

Mais ça n'a rien à voir avec ton problème actuel. sqlite3 est aussi accessible par root, donc c'est bon et du coup je commence à sécher. Va falloir creuser la ligne os.capture plus en détail, mais je vais devoir décrocher pour ce soir. Me reconnecte demain dans la journée

Bonne soirée !
le belge
Messages : 346
Inscription : 12 déc. 2016, 19:02

Re: Domotique Piscine

Message par le belge »

dakodak , va falloir que je regarde à ça alors ...

pas de souci , ça ne presse pas !
merci pour ton aide en tous cas ...

bonne soirée
le belge
Messages : 346
Inscription : 12 déc. 2016, 19:02

Re: Domotique Piscine

Message par le belge »

Bonjour ,
comment faire pour indiquer le chemin dans les appels système ?
Edit : J'ai oublié une dépendence importante !! Vous aurez noté que le script fait des requêtes sql sur la base domoticz pour récupérer la température moyenne de la veille, ou la durée de fonctionnement de la pompe. Il faut donc avoir sqlite3 d'installé sur l'ordi qui fait tourner domoticz, et déclaré dans le PATH. S'il n'est pas dans le path, indiquer le chemin complet dans les appels système
aleph0
Messages : 328
Inscription : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: Domotique Piscine

Message par aleph0 »

le belge a écrit :comment faire pour indiquer le chemin dans les appels système ?
Il te faut prendre un terminal, passer en root (utilisateur qui fait tourner domoticz) avec sudo su puis taper la commande

Code : Tout sélectionner

which sqlite3
qui te retournera un truc du style : /usr/bin/sqlite3 Ensuite, dans les commandes os.capture, il te faut remplacer sqlite3 par /usr/bin/sqlite3 (le résultat de la commande which). Je ne pense pas que ce soit l'origine de ton problème, au vu des tests qu'on a fait avant-hier, mais ça ne coûte rien d'essayer !

Pour aller plus loin dans le diagnostic, remplace

Code : Tout sélectionner

PpeFait=os.capture('sqlite3 '..dbPath..' "select sum(percentage) from percentage where devicerowid='..idx_DebitFl..' and Date(date)=\''..today..'\'"')*5/cst_DebitFlNom
par

Code : Tout sélectionner

cmd='sqlite3 '..dbPath..' "select sum(percentage) from percentage where devicerowid='..idx_DebitFl..' and Date(date)=\''..today..'\'"'
print(cmd)
PpeFait=os.capture(cmd)*5/cst_DebitFlNom
et poste le résultat de la commande print(cmd) stp
aleph0
Messages : 328
Inscription : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: Domotique Piscine

Message par aleph0 »

@lebelge :

Oops, je viens de réaliser qqch avec sqlite3 !! Si on lance sqlite3 avec un nom de dB non existant, il la crée au lieu de donner une erreur !! du coup, les tests qu'on a fait ne permettent pas de vérifier qu'on ouvre la bonne dB ! Vérifie que le champs local dbPath = "/var/domoticz/domoticz.db" pointe bien sur le chemin d'accès de TA dB domoticz !
le belge
Messages : 346
Inscription : 12 déc. 2016, 19:02

Re: Domotique Piscine

Message par le belge »

Bonjour ,
désolé , je viens juste de rentrer du travail ...

je viens de tester la commande : wich sqlite3
et voici la réponse : /usr/bin/sqlite3
Vérifie que le champs local dbPath = "/var/domoticz/domoticz.db" pointe bien sur le chemin d'accès de TA dB domoticz !
désolé mais je fais comment pour ça ? :?:

je ne trouve pas la ligne :
PpeFait=os.capture('sqlite3 '..dbPath..' "select sum(percentage) from percentage where devicerowid='..idx_DebitFl..' and Date(date)=\''..today..'\'"')*5/cst_DebitFlNom
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Domotique Piscine

Message par Jeff »

En haut du script, 1ère ligne après --paramètres...
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
le belge
Messages : 346
Inscription : 12 déc. 2016, 19:02

Re: Domotique Piscine

Message par le belge »

bonjour ,
je viens de modifier l'accès à la db ...

j'attends pour voir le changement !
le belge
Messages : 346
Inscription : 12 déc. 2016, 19:02

Re: Domotique Piscine

Message par le belge »

on progresse :
Error: EventSystem: in gestion piscine: [string "--[[ Script de gestion de la piscine ..."]:214: attempt to compare nil with number
La ligne en question :
if (val_Tair <= 1) and val_PpeFl == "Off" then
Répondre