[Bash] Couleur TEMPO d'EDF

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Datawolf
Messages : 273
Inscription : 03 avr. 2018, 13:51

Re: Script SH pour la couleur TEMPO d'EDF

Message par Datawolf »

Salut,
je me suis résolu à utiliser le wget... mais dans dzvents.
Malheureusement au lieu d'un résultat (json) il semble que je reçoive du code ?

Le script

Code : Tout sélectionner

return {
    active = true,
    on      =   { timer = { 'at 16:42' }
                },

	execute = function(domoticz, item)
	    
            local today=tostring(os.date("%Y-%m-%d"))
            local edf_url = "https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter="..today.."&TypeAlerte=TEMPO"
            domoticz.log('url = '..edf_url, domoticz.LOG_INFO)      
            
            local fname = "/home/pi/domoticz/tempo.txt"
            os.execute("wget -O "..fname.." "..edf_url)

            local f = io.open(fname, 'r')
            if f then
              repeat
                lig = f:read("*l")
                if not ( lig == nil ) then
                    domoticz.log('lig = '..lig, domoticz.LOG_INFO)                
                end
              until lig == nil 
              f:close()
            else
              domoticz.log('Erreur ouverture de '..fname, domoticz.LOG_INFO)                      
            end
            
	end -- execute function
}
Le fichier

Code : Tout sélectionner

<meta name="apple-itunes-app" content="app-id=563799142"/>
<meta name="google-play-app" content="app-id=com.edf.edfetmoi"/>

<script type="text/javascript">
var contenueSmartBanner = "";
$(function () {
if (window.location.href.indexOf('Appli_EDF') < 0 && contenueSmartBanner!='') {
var eltBaneers = $('[id^="bandeau-info"]');
var tempsMaxApparition = parseInt("")*1000;
var contenuSb = "".replace(/<p>/g,"").replace(/<\/p>/g,"");

$.smartbanner({
title: 'EDF & MOI',
author: 'EDF',
inAppStore: 'Sur l\'App Store',
inGooglePlay: 'Sur Google Play',
contenuBanner: contenuSb,
appStoreLanguage: 'fr',
buttonIOS: "",
buttonAndroid: "",
price: 'Gratuit',
daysHidden: 15,
daysReminder: 15,
layer: true
});

$("#smartbanner").addClass("");

$(window).scroll(function () {
if ($(document).scrollTop() >= 10) {
if ($headerMenu.data("headertype") != "stickyHeader") {
$("html").addClass("scrolled");

$.each(eltBaneers, function(i, banner) {
var textContent = $.trim($(banner).find('.information-banner__text').html());
if(textContent !== ""){
if ($("#smartbanner").css("display") != "none"){
$(banner).addClass('top80');
}
}
});
}
$("#smartbanner").css("position", "fixed");
if ($('#smartbanner').length && $('#smartbanner').css('display') !== 'none') {
$("#bar_top").css("top", $('#smartbanner').outerHeight(true) + "px");
}
} else {
if ($headerMenu.data("headertype") != "stickyHeader") {
$("html").removeClass("scrolled");
}
$("#smartbanner").css("position", "absolute");

$.each(eltBaneers, function(i, banner) {
var textContent = $.trim($(banner).find('.information-banner__text').html());
if(textContent !== ""){
$(banner).removeClass("top80");
}
});
}
});

if ($("#smartbanner").length) {
$("#smartbanner").show();
}

$(".sb-close").click(function() {
$.each(eltBaneers, function(i, banner) {
var textContent = $.trim($(banner).find('.information-banner__text').html());
if(textContent !== ""){
$(banner).removeClass("top80");
}
});
});

// Si plus de 2 pages ont été visité alors la bannière ne s'affiche plus
if(getCookie('nbpageVisit') && parseInt(getCookie('nbpageVisit'))>2){
fermerLaBanniere();
}

//Lors de l'écoulement du timmer
if(tempsMaxApparition){
setTimeout('fermerLaBanniere()', tempsMaxApparition);
}
}
});

// Fonction de fermeture de la bannière
function fermerLaBanniere(){
setCookie('sb-closed', 'true', $.smartbanner.defaults.daysHidden);
$("#smartbanner").hide();
}

// Fonction d'insertion d'un cookies bloquant l'affichage de la bannière
function setCookie(name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
value = encodeURIComponent(value) + ((exdays =
:oops:
Toute aide sera bienvenue.

The Datawolf
higgins91
Messages : 668
Inscription : 17 nov. 2016, 11:06

Re: Script SH pour la couleur TEMPO d'EDF

Message par higgins91 »

Malheureusement je ne peux pas t'aider. J'essaie de passer au maximum par des scripts externe a domoticz pour ne pas avoir de problème avec et pour pouvoir modifier plus facilement...
Je ne maîtrise pas le dzvents...
Dz version : 2023.2
Rpi 4 avec dongle téléinfo, RFXCom, sondes 1-wire et GPIO
higgins91
Messages : 668
Inscription : 17 nov. 2016, 11:06

Re: Script SH pour la couleur TEMPO d'EDF

Message par higgins91 »

Le site à été mis à jour, maintenant il ne faut plus chercher "BLEU" mais "TEMPO_BLEU", c'est pareil pour les autres couleurs.
J'ai mis à jour le script de la 1ère page...
Dz version : 2023.2
Rpi 4 avec dongle téléinfo, RFXCom, sondes 1-wire et GPIO
moijf
Messages : 1
Inscription : 16 nov. 2019, 09:23

Re: Script SH pour la couleur TEMPO d'EDF

Message par moijf »

Bonjour
Je vois que tu as indiqué la consommation de ton compteur.
comment est-ce possible
Merci
higgins91
Messages : 668
Inscription : 17 nov. 2016, 11:06

Re: Script SH pour la couleur TEMPO d'EDF

Message par higgins91 »

Je récupère la teleinfo via un stick usb. Relié entre le compteur sortie teleinfo et le Pi.
Dz version : 2023.2
Rpi 4 avec dongle téléinfo, RFXCom, sondes 1-wire et GPIO
didi
Messages : 32
Inscription : 27 janv. 2018, 22:15

Re: Script SH pour la couleur TEMPO d'EDF

Message par didi »

bonjour,

j'ai essayé de reformuler le script de la page 1 en LUA sur Domoticz... et je n'y arrive pas.
j'ai commencé par ceci :
*****************************************
Date_jour=os.date("%Y/%m/%d")
print (Date_jour)
adresse="https://particulier.edf.fr/bin/edf_rc/s ... _remonter="
finadresse="&TypeAlerte=TEMPO"
adresse=adresse..Date_jour..finadresse
print (adresse)
a="site.txt"
os.execute ('wget adresse -q -O ' .. a )
************************************************
mais je pense qu'il y a des erreurs.

je souhaite donc récupérer la couleur du jour et du lendemain dans 2 variables.

Ensuite je souhaiterai envoyer la couleur du lendemain sur mon smartphone .

Comment je pourrai faire cela?

je suis un peu perdu.

merci
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script SH pour la couleur TEMPO d'EDF

Message par Keros »

Il a ouvert un sujet dans la section script :arrow: https://easydomoticz.com/forum/viewtopi ... 967a6bac78
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Datawolf
Messages : 273
Inscription : 03 avr. 2018, 13:51

Re: Script SH pour la couleur TEMPO d'EDF

Message par Datawolf »

Hello,
Je ne lâche pas l'affaire, et je suis toujours déterminé à récupérer la couleur Tempo en dzVents.
Il faut donc passer par un openURL mais j'ai une erreur 28 (Timeout ?).
Alors qu'en direct dans un navigateur je reçois bien le resultat json espéré.

Code : Tout sélectionner

return {
    on =        {       timer           = { 'at 11:19' },
                        httpResponses   = { 'trigger'  } 
                },                         


	execute = function(domoticz, item)

	    if item.isTimer then
            domoticz.log("Beg timer", domoticz.LOG_INFO)	        
            local today=tostring(os.date("%Y-%m-%d"))
            local edf_url = "https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter="..today.."&TypeAlerte=TEMPO"

            domoticz.openURL({
                  url      = edf_url,
                  method   = 'GET',
                  callback = 'trigger'
			})
            domoticz.log("End timer", domoticz.LOG_INFO)	        			

		end

        if item.isHTTPResponse then
            
            domoticz.log("Beg HTTP response", domoticz.LOG_INFO)
            
            if item.ok then
                
               domoticz.log("item is okay", domoticz.LOG_INFO)                
            
--            if (item.statusCode == 200) then
--				if (item.isJSON) then            

                    local myString = domoticz.utils.toJSON(item.data)
                    domoticz.log("Réponse    : " .. myString, domoticz.LOG_INFO)              
--                end
--            end

            else

               domoticz.log("item is NOT okay", domoticz.LOG_INFO)
               domoticz.log("item status code="..item.statusCode, domoticz.LOG_INFO)                

            end

            domoticz.log("End HTTP response", domoticz.LOG_INFO)
            
        end


	end -- execute function
}

              
Help !

Merci d'avance

The Datawolf
acuponctus
Messages : 107
Inscription : 13 sept. 2016, 12:10
Localisation : Vaucluse (84)
Contact :

Re: [Bash] Couleur TEMPO d'EDF

Message par acuponctus »

Bonjour,
Avez vous vu que la couleur du jour ne remontait plus ?
En ce moment c'est peu important, car c'est que du bleu pendant plusieurs semaines.
L'ennui c'est que la page appelée donne une erreur 404.
https://particulier.edf.fr/bin/edf_rc/s ... erte=TEMPO

Vous constatez le même chose que moi ?
L'un d'entre vous a t il des infos ?
Avez vous contourné la chose ?

Merci
Rpi4 domoticz V2021.1 - Stick Aeon - 3x multisensors 6+ - Fibaro FGSD-002 - 4 prises Horsky flashées - 2 cameras sv3c + 1 wansview - 3xTH16 2xBasic et 1xRF sous EasyESP
17 Shelly Plug S + (non installés : 3 relais 4PM Pro + 1 EM + Shelly 1)
higgins91
Messages : 668
Inscription : 17 nov. 2016, 11:06

Re: [Bash] Couleur TEMPO d'EDF

Message par higgins91 »

Je ne pourrai olus aider sur le sujet, j'ai laissé tombé le tempo, olus du tout rentable comparé a la contrainte que c'est. Je suis en HP/HC simple et je peux faire une machine à laver sans me préoccuper de la couleur du jour :D
Dz version : 2023.2
Rpi 4 avec dongle téléinfo, RFXCom, sondes 1-wire et GPIO
Répondre