aide script python pluviomètre raspberry

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 <\>.
jeromec
Messages : 10
Inscription : 31 mars 2016, 07:29

aide script python pluviomètre raspberry

Message par jeromec »

Bonjour
domoticz c'est génial mais c'est très chronophage

voilà mon problème, j'ai un script python qui surveille un pluviomètre maplin relié à mon pi
le script fonctionne, je cherche mais je ne trouve pas comment lier les résultats de ce script à domoticz, quelqu'un aurait-il une idée ?

mon script :

Code : Tout sélectionner

#!/usr/bin/python3
import RPi.GPIO as GPIO
import time

# nombre de mm par bucket
CALIBRATION = 0.2794
# gpio 
PIN = 23
# fichier pour logger les relevés
LOGFILE = "log.csv"

GPIO.setmode(GPIO.BCM)  
GPIO.setup(PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)

# variable pour la quantité de pluie
pluie = 0

# fonction pour chaque bucket
def cb(channel):
	global pluie
	pluie = pluie + CALIBRATION


GPIO.add_event_detect(PIN, GPIO.FALLING, callback=cb, bouncetime=300)

# ouvrons logfile
file = open(LOGFILE, "a")

# affichons et loggons les résultats
while True:
	ligne = "%i, %f" % (time.time(), pluie)
	print(ligne)
	file.write(ligne + "\n")
	file.flush()
	pluie = 0
	time.sleep(5)

# fermons le log
file.close()
GPIO.cleanup()
je ne sais pas par quel bout prendre le problème ...

merci d'avance
jeromec
Messages : 10
Inscription : 31 mars 2016, 07:29

Re: aide script python pluviomètre raspberry

Message par jeromec »

Petite précision
le pluviomètre agit comme un interrupteur
à chaque fois qu'il est rempli, il vient actionner un reed switch, ce qui correspond à 0.2794 mm d'eau

le script attend chaque changement d'état...
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: aide script python pluviomètre raspberry

Message par patrice »

Bonjour

Tu dois activer un switch dans Domoticz
il faut utiliser l'api json Domoticz https://www.domoticz.com/wiki/Domoticz_ ... Fswitch_on sur le bon switch
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: aide script python pluviomètre raspberry

Message par rimram31 »

jeromec a écrit :...je ne sais pas par quel bout prendre le problème ...
Pourrais-tu nous exposer ton problème, ton idée ? Parce que je ne vois pas ce que tu veux faire: alimenter un capteur sous domoticz, actionner un switch, les deux ??? Ton script surveille une gpio et a chaque front descendant incrémente un compteur, ok mais après on en fait quoi dans domoticz ? Ca tourne de temps en temps, tout le temps ?

Si c'est mettre a jour un capteur ou actionner un switch, il faut alors le créer dans dz et utiliser l'API json comme te l'indique patrice (pymoticz par exemple http://easydomoticz.com/une-libraire-py ... -domoticz/ ou curl via script ...)

Après si tu veux que ça tourne tout le temps va se poser un autre problème, comment tu va surveiller en permanence ta gpio. Tu as essayer d'utiliser le hardware gpio de domoticz ?
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
jeromec
Messages : 10
Inscription : 31 mars 2016, 07:29

Re: aide script python pluviomètre raspberry

Message par jeromec »

Merci pour les réponses

en fait j'aimerai avoir un rapport toutes les heures par exemple de la pluviométrie.
il faut que le script tourne en tâche de fond et surveille tout ça.
je vais jeter un oeil du côté des gpio domoticz, je suis tout nouveau et je ne connais pas.
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: aide script python pluviomètre raspberry

Message par rimram31 »

Je vois deux possibilités.

La première c'est avec le hardware gpio de domoticz. Ce hardware permet de gérer un etat on/off - switch associés a une gpio, soit en sortie (pour commande), soit en entrée (pour lire un etat). Dans ton cas, tu devrais avoir des événements Off/On associés au changement d'etat de ta gpio, après il faudrait ajouter de la logique dans domoticz avec un objet compteur et un script qui vient l'alimenter a chaque changement d'etat de ton switch "gpio" un peu comme le fait ton script python.

Dans ce cas tu te retrouves avec un compteur domoticz qui reflète ce que permet de mesurer ton capteur, graphiques, courbes quotidiennes, mensuelles ... La seule difficulté que je vois c'est lié au bounce, le rebond, qui peut faire que le hardware domoticz détecte plusieurs On/Off successifs, ça peut se contourner (avec un test last update par ex).

Autre solution, ton script ou équivalent s'exécute en permanence. Deux sous cas :-) soit ce script vient mettre a jour un fichier, fichier lu régulièrement (script time) par dz pour aller mettre a jour le compteur, soit le script appelle dz (web api) pour mettre a jour le capteur.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
jeromec
Messages : 10
Inscription : 31 mars 2016, 07:29

Re: aide script python pluviomètre raspberry

Message par jeromec »

Merci beaucoup pour ces précisions.

Maintenant j'ai de quoi réfléchir et j'ai le choix.
je vais m'y pencher !

jerome
Répondre