Plugin Tiers Eco-2-watt

Bonjour,

Le plugin Eco-2-watt semble ne plus fonctionner.
Je suis intéressé pour le mode EJP.
J’ai vu qu’il y avait un correctif pour le mode Tempo mais rien pour EJP.
Je suis version 3.3.33.
L’hiver arrive bientôt …
Salutations

Jean-Paul

Bonjour à tous! :slightly_smiling_face::slightly_smiling_face:
Je suis bien intéressé aussi !
Merci d’avance
Gilles
:slightly_smiling_face::slightly_smiling_face:

Bonjour,

Pour infos : 2 réponses de Loic (sur l’ancien forum).

1- loic a écrit :

Hier, 19:03

Bonjour,
Malheureusement ce plugin n’est plus maintenu du au changement incessant d’EDF sur le site qui sert de source. Desole

2- loic a écrit :

Je comprends mais rien n’est prévu, j’ai maintenu le plugin pendant pas mal de temps mais le site EDF changeant tous les 2 mois ça obligé a réécrire le code de récupération tous les 2 mois… C’est pas gérable

Merci de ta réponse claire (je comprends).
Je vais me mettre en chasse pour régler ce Problème d’info EJP très important pour moi.
Salutations

Jean-Paul

Bonjour @TontonGilou ,

Va voir sur l’ancien forum il y a des infos de dernière minutes(ils répondent sur l’ancien forum).
https://www.jeedom.com/forum/viewtopic.php?f=149&t=10543&hilit=Eco+2+watt&start=160
Salutations

Jean-Paul

J’ai teste la solution proposee sur l’ancien forum. Celle-ci fonctionne tres bien sur ma Ubuntu 18.10 LTS et en faisant un curl j’otiens les messages suivants :

curl   -A "'Version/11.0 Mobile/15A372 Safari/604.1" -v  -s "https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter=2019-10-31&TypeAlerte=EJP"
*   Trying 104.69.98.201...
* TCP_NODELAY set
* Connected to particulier.edf.fr (104.69.98.201) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: jurisdictionC=FR; jurisdictionST=Paris; jurisdictionL=Paris; businessCategory=Business Entity; serialNumber=552 081 317 R.C.S. Paris; C=FR; ST=Paris; L=PARIS; O=ELECTRICITE DE FRANCE; CN=particulier.edf.fr
*  start date: Feb 19 14:17:27 2019 GMT
*  expire date: Feb 19 14:27:00 2020 GMT
*  subjectAltName: host "particulier.edf.fr" matched cert's "particulier.edf.fr"
*  issuer: C=BM; O=QuoVadis Limited; CN=QuoVadis EV SSL ICA G3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x5583d0c35580)
> GET /bin/edf_rc/servlets/ejptemponew?Date_a_remonter=2019-10-31&TypeAlerte=EJP HTTP/2
> Host: particulier.edf.fr
> User-Agent: 'Version/11.0 Mobile/15A372 Safari/604.1
> Accept: */*
> 
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2 200 
< x-content-type-options: nosniff
< x-frame-options: SAMEORIGIN
< x-xss-protection: 1; mode=block
< content-type: application/json
< cache-control: private
< date: Sat, 02 Nov 2019 22:02:12 GMT
< content-length: 162
< set-cookie: NSX-SSL-SRC-PROD=srv-Y5EZCc0tzTdPVVNNOtJRgQ|Xb384; path=/
< set-cookie: ak_bmsc=512C91D22CD3B2A0B56CAFF6BD9C0EF9021128570B350000E4FCBD5D1802DE32~plMSS6PG87CjoxwGYVa1qiJ8PsDHi6nwN0IeBW+IbeW3IddlpdaOOKJIJZVNxLjtHrRfbB9wpsZwn8AVD04UgyWYkNjDy4nWKKLgV2PsO5kqelhuusZ/ZReVdLRIK+Lm0ffgAyghpqXOHyNT9WAYoqHpyPq/cB5VmRbOhfef2SjyOmnqMrEfilg2Uqve4VunyiNZSCyp/jbQQ4yL2VHUowVfBonP2XdDC78wEQArhnL+PXgJIINoxNqyqM2o4wgMT0; expires=Sun, 03 Nov 2019 00:02:12 GMT; max-age=7200; path=/; domain=.particulier.edf.fr; HttpOnly
< server-timing: cdn-cache; desc=MISS
< server-timing: edge; dur=7
< server-timing: origin; dur=108
< strict-transport-security: max-age=15768000
< 
* Connection #0 to host particulier.edf.fr left intact
{"JourJ1":{"EjpNord":"NON_EJP","EjpOuest":"NON_EJP","EjpPaca":"NON_EJP","EjpSud":"NON_EJP"},"JourJ":{"EjpNord":"ND","EjpOuest":"ND","EjpPaca":"ND","EjpSud":"ND"}}

Sur mon RPI3 ou est installe Jeedom sur une Debian JEssie, deux problemes surviennent :

  • le premier est un probleme de DNS ou l’ip du domaine est inconnue. Je ne voulais pas perdre de temps et j’ai mis a jour le fichier /etc/hosts afin de resoudre rapidement le probleme.
  • le second est que le script bloque et produit les messages suivants :
curl  -A "'Version/11.0 Mobile/15A372 Safari/604.1" -v  -s "https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter=2019-10-31&TypeAlerte=EJP" 
* Hostname was NOT found in DNS cache
*   Trying 104.69.98.201...
* Connected to particulier.edf.fr (104.69.98.201) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs/
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* Server certificate:
* 	 subject: 1.3.6.1.4.1.311.60.2.1.3=FR; 1.3.6.1.4.1.311.60.2.1.2=Paris; 1.3.6.1.4.1.311.60.2.1.1=Paris; businessCategory=Business Entity; serialNumber=552 081 317 R.C.S. Paris; C=FR; ST=Paris; L=PARIS; O=ELECTRICITE DE FRANCE; CN=particulier.edf.fr
* 	 start date: 2019-02-19 14:17:27 GMT
* 	 expire date: 2020-02-19 14:27:00 GMT
* 	 issuer: C=BM; O=QuoVadis Limited; CN=QuoVadis EV SSL ICA G3
* 	 SSL certificate verify ok.
> GET /bin/edf_rc/servlets/ejptemponew?Date_a_remonter=2019-10-31&TypeAlerte=EJP HTTP/1.1
> User-Agent: 'Version/11.0 Mobile/15A372 Safari/604.1
> Host: particulier.edf.fr
> Accept: */*

Quid du HTTP2 ?
Est-ce un protocole necessaire ?
CAFile : None ? j’ai pourtant un certificat.

Bref si quequ’un peut m’aider ou tester sur des versions plus recentes de Debian, ce serait cool pour comprendre.

Merci d’avance

Avant toute chose je te conseille de résoudre ton problème de DNS, c’est peut-être de là que vient ton problème, ou alors ça cache peut-être un autre problème au niveau de ta configuration réseau.

Sinon je viens de faire l’essai sur une debian stretch, et l’API EDF me répond peut importe que j’utilise HTTP1.1 ou HTTP2 donc ton problème ne vient pas de là.

Cool merci pour le test.
Tu pourrais juste me renvoyer le resultat de curl --version s’il te plait.
J’aimerais connaitre avec quelles librairies a ete compile ton libcurl ?

Pour le DNS, c’est resolu puisque j’ai modifie le /etc/hosts. Le probleme se trouve plutot dans le protocole je pense.

Le WE prochain j’aurais le temps pour upgrader ma Raspbian.

Encore merci

En éditant ton fichier host, tu ne résous pas le problème, je dirais plutôt que tu le contournes. Je pense qu’il faudrait d’abord que tu trouves pourquoi la résolution DNS ne fonctionne pas sur ta config.
Voici les infos sur ma version de curl et les libs utilisées :

curl 7.52.1 (x86_64-pc-linux-gnu) libcurl/7.52.1 OpenSSL/1.0.2t zlib/1.2.8 libidn2/0.16 libpsl/0.17.0 (+libidn2/0.16) libssh2/1.7.0 nghttp2/1.18.1 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

En espérant que cela puisse t’aider.

1 J'aime

Merci jpp38, pour finir, j’ai abandonné le plugin eco2watt au profit du scénario:

[https://www.jeedom.com/forum/viewtopic.php?f=149&t=10543&hilit=Eco+2+watt&start=120#p726451]
et ça fonctionne très bien.
Juste que le résultat de variable a changé récemment. “BLEU” est devenu “TEMPO_BLEU”
il suffit de s’adapter ensuite.
Amicalement
Gilles

pas étonné de la part d’edf"… ils le font exprès pour que l’on quitte “tempo”…
comme ils ont “oublié volontairement” le linky tempo, tout s’explique !!
mais on a un contrat…

Salut a tous,
pour ma part j’ai resolu le probleme en combinant eco2watt et la solution proposee dans le forum :
Il suffit d’editer la fonction valueFromUrl du fichier

/var/www/html/plugins/ecowatt/core/class/ecowatt.class.php

avec ce qui suit :

public static function valueFromUrl($_url) {

                $InitPage = curl_init();
                curl_setopt($InitPage, CURLOPT_URL, $_url);
                curl_setopt($InitPage, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($InitPage, CURLOPT_USERAGENT, 'Le site de Jeedom (www.jeedom.com)');
                $dataUrl = curl_exec ($InitPage);
                curl_close($InitPage);
                return json_decode($dataUrl, true);\
        }

Le fichier du nombre de jours restants n’est pas a jour pour EJP.
Esperons qu’il le devienne lors du premier jour EJP !!!