Page 28 sur 37

Re: Teleinfo WIFI

Publié : 27 janv. 2018, 09:13
par chris.tof
Oui je me suis inspiré de votre travail sur le switch pour faire de même pour IINST, ADPS,

Ensuite je vais modifier de le switch pour qu'il soit actionneur et faire un truc du genre si ADPS ou IINST > 120%ISOUSC pendant 30sec j'active le switch délestage qui coupe un circuit que j'ai identifié.

le seul truc etrange, c'est que depuis peu mon esp12e n’arrête pas de reboot, j'ai l'impression que c'est depuis que je suis passé en sdk 2.1 ou alors peut etre dois je refaire une ecriture avec un blank, en effet j'ai fait beaucoup d'essais... avez vous eu des cas similaires?

niveau mémoire ça l'air daller du coup ça me fait déclarer que 2 variables Globales et 2 constantes. après je pensais faire un peut le ménage quand j'aurai le temps pour enlever tout ce qui concerne emoncms et jeedom.

Re: Teleinfo WIFI

Publié : 27 janv. 2018, 09:37
par Doume
Personnellement, je n'utilise que des Wemos, et je n'ai pas constaté de reboots intempestifs, sauf en cours de développement !
La moindre erreur de programmation ( débordement d'indice, pointeur mal initialisé, etc... ) provoque une exception et un reboot
Attention aussi à la topographie de la carte configurée lors de la compile Arduino IDE ( sketch/SPIFFS ) : ça peut envoyer le sketch au tapis si c'est inadapté.
Dans ce cas, il faut re-flasher le SPIFFS avec les bons paramètres, puis reflasher le sketch.

Re: Teleinfo WIFI

Publié : 27 janv. 2018, 10:06
par pilou13
bonjour ,
jai téléchargé le programme de Doumé.
j'ai bien la led qui clignote indiquant que je recois sur la carte la téléinfo. or dans la page où je devrais recevoir les données je garde toujours les deux lignes par défaut.
Je voudrai savoir sur quelle entée (gpio) in faut cabler la signal:
si je regarde le avec arduino il me semble que ligne 120 se serait D5 mais par ailleurs j'ai vu aussi D7.
J'ai essayé les 2 sans résultats .
Y at il un moyen de savoir sile wemos recois bien l'info diode , terminal série , voir le device (comme avec ESPEASY) ou autre
merci

Re: Teleinfo WIFI

Publié : 27 janv. 2018, 11:12
par Doume
ATTENTION : Si tu vois les 2 lignes par défaut (ADCO et HCHC ) , c'est que tu as flashé une version 'SIMU' !
Dans ce cas, les données Teleinfo ne sont pas gérées : C'est une version de simulation pour tests...
Tu dois recompiler en commentant la ligne #define SIMU dans Wifinfo.h

Au 1er appel du serveur Web, les données Teleinfo ne s'affichent pas (je n'ai pas trouvé pourquoi)
Il faut attendre quelques secondes, cliquer sur l'onglet 'Système' pour voir s'afficher les données techniques du Wifinfo, puis cliquer sur l'onglet Teleinfo.
Si les données sont bien reçues et décodées, elles devraient apparaître sur cette page.

L'interface avec le compteur (optocoupleur et Mosfet ) se connecte sur Ground et D7

Il est possible de connecter une autre Wemos sur le port D4, pour recevoir les données de debug (port Serial1)
Cette seconde Wemos reçoit sur port série, et est accessible via Telnet sur l'interface Wifi, si on lui flashe le soft adéquat.

Re: Teleinfo WIFI

Publié : 27 janv. 2018, 13:17
par pilou13
merci doumé
ça marche
toujours aussi serviable .

Re: Teleinfo WIFI

Publié : 27 janv. 2018, 13:39
par Doume
C'est un plaisir ;)

Re: Teleinfo WIFI

Publié : 29 janv. 2018, 20:24
par Le ptit Nicolas
Bonsoir,
J'ai réalisé ce montage issu du topic sur le forum jeedom, téléversé la lib static de Doume et les données ESP8266FS-0.2.0.zip :
Image

Mais rien ne se passe... ou plutôt si, j'ai bien le serveur web, mais dans l'onglet Téléinformation, "Aucun résultat trouvé" :(

Le problème peut venir de mon montage, du fil de téléinfo, ou du compteur, donc mes questions sont les suivantes :
  • Est-il possible de tester avec un multimètre ou un oscilloscope pour voir s'il y a un signal en sortie du compteur ou du fil de téléinfo ? Car peut-être que la téléinfo n'est pas activée sur mon compteur ?
  • Existe-il un mode Debug pour voir si le wemos reçoit quelque chose ? Sur le navigateur web ou sur le moniteur série de l'IDE Arduino ? Pour voir s'il y a un message d'erreur ?
  • Serait-il possible de simuler un signal de téléinfo, en envoyant par exemple 5V ? La diode s'allumerait-elle ? Pour vérifier mon montage

Re: Teleinfo WIFI

Publié : 06 févr. 2018, 09:59
par jeyf
bonjour Doume

Apres avoir installé quelques wemos avec des ptits capteurs dans domoticz je me lance enfin sur le module wifinfo...
j'ai pas mal galéré pour flasher le spiff mais ca y'est ma carte wifinfo est opérationelle.

par contre je suis en tri phasé avec option tempo ...

je n'ai aps trouvé quel path mettre dans http request , ni quel capteur mettre dans domoticz pour gerer les heures creuses heures pleines en triphasé avec tempo ..?

Re: Teleinfo WIFI

Publié : 06 févr. 2018, 10:25
par Doume
Dans l'état actuel de cette version, rien n'est prévu pour gérer correctement le triphasé, et encore moins les options comme le 'tempo'
En effet, pour prendre en compte ces infos dans Domoticz, il faut utiliser plusieurs dispositifs, et pas seulement un P1 Smart Meter
Or, Wifinfo n'est capable que d'envoyer une seule requête HTTP à Domoticz....

Pour ma part, j'ai aussi du triphasé, avec seulement HP / HC
La seule solution que j'aie trouvé est la suivante :
1 - sur Wifinfo, je n'ai pas activé le HttpRequest
2- sur le Raspberry Pi qui tourne Domoticz, je fais tourner un script shell en boucle, avec une tempo de 30 secondes entre 2 tours
Il interroge le Wifinfo, et récupère l'ensemble des variables en 1 seule requête :
ret=`curl -m 15 -H "Accept: text/json" "http://ip_wifinfo/json" 2>/dev/null`
la variable $ret contient alors une chaine json contenant toutes les données Teleinfo

Voici mon script, dont tu peux t'inspirer ?
Note : pour utiliser ce script, tu devras installer :
apt-get install jq

Code : Tout sélectionner

#
# Script effectuant la collecte des donnees gerees par le module Wifinfo
# et envoi vers Domoticz et Emoncms
# 
##############################
# Declaration des parametres #
##############################
wifinfo_host=192.168.2.89:80
#

dz_hosts="127.0.0.1:8080"
# Les datas peuvent etre envoyees a plusieurs instances Domoticz : exemple
#dz_hosts="127.0.0.1:8080 192.168.2.22:8080 192.168.2.6:8080"
#
#
# frequence d'interrogation Wifinfo
interval=30
# indexs des dummy devices dans Domoticz pour stocker IINST1, 2 et 3 (triphase)
#I1=88		#I phase 1
#I2=91		#I phase 2
#I3=90		#I phase 3
PAPP=92		#Puissance apparente instantanee
TARIF=74	#Alerte Heures pleines/heures creuses
P1=62		#P1 Smart meter
TRI=93		#Courant instantané Tri
##############################
# variables de travail
##############################
V1=0
V2=0
V3=0
V4=0
V5=0
V6=0
LASTTARIF="A"
COLOR=0
# Les valeurs superieures a ce seuil ne seront pas envoyees
# a Domoticz (cas des valeurs farfelues qui rendent dingue le grapheur !)
# 500.000.000 de Watts/heure devrait représenter 50 ans pour un particulier
# normal
SEUIL=500000000
#
dz_idx=0
dz_value=0
#
abort=0
##############################
# fonctions
##############################
#
# envoi Domoticz valeur dz_value, vers index dz_idx (1 valeur)
#
send_dz()
{
	if [ ! -z $dz_value ]
	then
		#envoi Domoticz
		for host in $dz_hosts
		do
		request="http://$host/json.htm?type=command&param=udevice&idx=$dz_idx&nvalue=$COLOR&svalue=$dz_value"
		#echo $request
        	curl -s -q -i -m 15 -H  "Accept: application/json" $request >/dev/null
		done

		#if [ ! -z $dz_host_2 ]
		#then
			#request="http://$dz_host_2/json.htm?type=command&param=udevice&idx=$dz_idx&nvalue=$COLOR&svalue=$dz_value"
        		#curl -s -q -i -m 10 -H  "Accept: application/json" $request >/dev/null
		#fi
	fi
    COLOR=0
}
#########################################
#
# fonction mettant a jour le virtual 'Courant instantané triphasé' de Domoticz (3 valeurs)
#
send_tri()
{
   for host in $dz_hosts
   do
    request="http://$host/json.htm?type=command&param=udevice&idx=$TRI&nvalue=0&svalue=$V1;$V2;$V3"
    curl -s -q -i -m 10 -H  "Accept: application/json" $request >/dev/null
   done

    #if [ ! -z $dz_host_2 ]
    #then
    	#request="http://$dz_host_2/json.htm?type=command&param=udevice&idx=$TRI&nvalue=0&svalue=$V1;$V2;$V3"
    	#curl -s -q -i -m 15 -H  "Accept: application/json" $request >/dev/null
    #fi
    V1=0; V2=0; V3=0
}
########################################
#
# fonction mettant a jour le P1 SmartMeter de Domoticz ( 6 valeurs)
#
send_compteur()
{
	if [ ! -z $V1 -a ! -z $V2 -a ! -z $V5 ]
	then	
		if [ $V1 -lt $SEUIL -a $V2 -lt $SEUIL ]
		then
		   for host in $dz_hosts
 		   do
			request="http://$host/json.htm?type=command&param=udevice&idx=$P1&nvalue=0&svalue=$V1;$V2;0;0;$V5;0"
			curl -s -q -i -m 10 -H  "Accept: application/json" $request >/dev/null
		   done
			#if [ ! -z $dz_host_2 ]
			#then
				#request="http://$dz_host_2/json.htm?type=command&param=udevice&idx=$P1&nvalue=0&svalue=$V1;$V2;0;0;$V5;0"
				#curl -s -q -i -m 15 -H  "Accept: application/json" $request >/dev/null
			#fi
		fi
 	fi
	V1=0; V2=0; V5=0
}

##############################
# Main loop
##############################
#
while [  $abort != 1 ]
do
	# Lecture unique des valeurs Wifinfo dans une variable 'ret'
	ret=`curl -m 15 -H "Accept: text/json" "http://$wifinfo_host/json" 2>/dev/null`
	#echo $ret > ./wifinfo.txt

	# Exploite les variables json
	dz_value=`echo $ret | jq -r '.IINST1'`
	V1=$dz_value
	dz_value=`echo $ret | jq -r '.IINST2'`
	V2=$dz_value
	dz_value=`echo $ret | jq -r '.IINST3'`
	V3=$dz_value
#
	send_tri
#
    dz_value=`echo $ret | jq -r '.PAPP'`
    dz_idx=$PAPP
	send_dz
	V5=$dz_value
#
    dz_value=`echo $ret | jq -r '.PTEC'`
    #echo "LASTTARIF = $LASTTARIF , dz_value = $dz_value"
	if [ ! -z $dz_value ]
	then
		if [ $dz_value != $LASTTARIF ]
		then
		   LASTTARIF=$dz_value
			if [ $dz_value = "HP.." ]
			then
			   dz_value="Heures%20Pleines"
			   COLOR=3	#orange
			else
			   dz_value="Heures%20Creuses"
		       COLOR=1	#vert
			fi
			dz_idx=$TARIF
			send_dz
		fi
	fi
#
    V1=`echo $ret | jq -r '.HCHP'` 
	V2=`echo $ret | jq -r '.HCHC'`
	if [ ! -z $V1 ]
	then
		if [ ! -z $V2 ]
		then
		    send_compteur 
		fi
	fi
#
	sleep $interval
done
##############################################

Re: Teleinfo WIFI

Publié : 10 févr. 2018, 12:15
par Doume
@jeyf : Quoi de neuf ?