Page 5 sur 9

Re: LUA : Horoscope du jour pour un signe donné

Publié : 31 mars 2017, 15:32
par Nemesis24
humm ! j'utilise vdesc autrement moi alors essaye de mettre

Code : Tout sélectionner

["S","Horoscope",         "cell3",                          "","","","",6], 


et remplace

Code : Tout sélectionner

vdata = HOIN[vdesc];
par

Code : Tout sélectionner

vdata = HOIN[valarm];

Re: LUA : Horoscope du jour pour un signe donné

Publié : 31 mars 2017, 15:42
par vil1driver
tu peux mettre le script en pause, pointer sur un élément html pour obtenir le code, éditer modifier tout ou partie..etc..
la console de dev permet beaucoup, mais il faut s'y mettre..
c'est l'outil de débug par excellence.

Re: LUA : Horoscope du jour pour un signe donné

Publié : 31 mars 2017, 15:43
par Nemesis24
vil1driver a écrit :tu peux mettre le script en pause, pointer sur un élément html pour obtenir le code, éditer modifier tout ou partie..etc..
la console de dev permet beaucoup, mais il faut s'y mettre..
c'est l'outil de débug par excellence.
God save the scipt !!! :D :D :D :D

Re: LUA : Horoscope du jour pour un signe donné

Publié : 31 mars 2017, 15:52
par Doudy
Nemesis24 a écrit :humm ! j'utilise vdesc autrement moi alors essaye de mettre

Code : Tout sélectionner

["S","Horoscope",         "cell3",                          "","","","",6], 


et remplace

Code : Tout sélectionner

vdata = HOIN[vdesc];
par

Code : Tout sélectionner

vdata = HOIN[valarm];
Hé bien négatif
:?

Re: LUA : Horoscope du jour pour un signe donné

Publié : 31 mars 2017, 23:57
par Jeff
Nemesis24 a écrit :mets dans index. html en fin de page apres les popups

Code : Tout sélectionner

<div id="popup_horoscope"><script src="http://www.astroo.com/_horoscope_astrologie.js" charset="ISO-8859-1"></script></div>
mets dans frontpage .js

tout au début

Code : Tout sélectionner

var signe;
puis dans les lignes ou on ajoutes les unités

Code : Tout sélectionner

} else if (vtype === "Horoscope") {//horoscope
                                    vdata = HOIN[vdesc];
                                }
enfin dans frontpage-settings

Code : Tout sélectionner

["S","Horoscope",      	"meteo23",                       	6,"","","",""], 
"0 Belier"," 1 Taureau"," 2 Gemeaux"," 3 Cancer"," 4 Lion"," 5 Vierge"," 6 Balance"," 7 Scorpion"," 8 Sagittaire"," 9 Capricorne"," 10 Verseau"," 11Poissons"

a voir sur mon git

https://github.com/Nemesis24/monitor-ma ... 0949d219b3

et du coup plus de problèmes, en plus on ne polue pas domoticz d'une info qui n'a absolument aucun rapport avec la domotique.
:ugeek: :ugeek: :ugeek:
Pour moi ca marche, merci @Nemesis24 :D

Impressionnant le lien github qui résume tous les changements à faire :?

Je ne comprends toujours pas bien le principe des popups, mais cela semble utile d’après mes essais.

Sinon il faut aussi penser à changer ceci dans index.html

Code : Tout sélectionner

<script src="js/frontpage.js"></script>
<!--<script src="js/frontpage.min.js"></script>-->
Et rajouter la condition du "S" dans frontpage.js ligne 585

Code : Tout sélectionner

if ($.PageArray[ii][0] === item.idx || $.PageArray[ii][0] === item.Name|| $.PageArray[ii][0] === "S")

Re: LUA : Horoscope du jour pour un signe donné

Publié : 01 avr. 2017, 00:01
par Nemesis24
Super ! :D

@jeff tu n'a rien fais de plus que ce que j'ai indiqué... pour renseigner @Doudy, je n'ai pas eu le temps du tout de me plonger la dessus.

Re: LUA : Horoscope du jour pour un signe donné

Publié : 01 avr. 2017, 08:53
par Doudy
Jeff a écrit : Sinon il faut aussi penser à changer ceci dans index.html

Code : Tout sélectionner

<script src="js/frontpage.js"></script>
<!--<script src="js/frontpage.min.js"></script>-->
Lorsque je fais ça, je n'ai plus d'image fond d'écran (fond d'écran noir)
Et rajouter la condition du "S" dans frontpage.js ligne 585

Code : Tout sélectionner

if ($.PageArray[ii][0] === item.idx || $.PageArray[ii][0] === item.Name|| $.PageArray[ii][0] === "S")
Moi à la ligne 585 j'ai ceci :

Code : Tout sélectionner

var vdesc=      $.PageArray[ii][3];                     // description
Je suppose que ce n'est pas là que je mets cette condition !
Mais où ? J'ai ceci :

Code : Tout sélectionner

function fct() {
	if ($.PageArray[ii][0] === item.idx || $.PageArray[ii][0] === item.Name) {	// Domoticz idx number or device name
                  var vtype=      $.PageArray[ii][1];             	// Domotitcz type (like Temp, Humidity)
                  var vlabel=     $.PageArray[ii][2];                     // cell number from HTML layout
                  var vdesc=      $.PageArray[ii][3];                    // description
                  var lastseen=   $.PageArray[ii][4];			// display lastseen or noT
                  var vplusmin=   $.PageArray[ii][5];             	// minplus buttons
                  var vattr=      $.PageArray[ii][6];                      // extra css attributes
                  var valarm=     $.PageArray[ii][7];             	// alarm value to turn text to red
                  var vdata=      item[vtype];                             // current value
                  var vstatus=    item.Status;
		  var vls=  		item.LastUpdate;			// ´Last Seen´
		  var vdimmercurrent=  item.LevelInt;  		// What is the dim level
												
												
			//console.log(item.Name+' : '+vdata);
		if(vtype === 'Euro'){       
			vdata=item.Data;
		}
		etc....										

Re: LUA : Horoscope du jour pour un signe donné

Publié : 01 avr. 2017, 11:36
par Nemesis24
Doudy a écrit : Lorsque je fais ça, je n'ai plus d'image fond d'écran (fond d'écran noir)
Je penses pas que cela devrait changer quoi que ce soit, par contre si tu modifie frontpage.js, c'est bien entendu celui ci qui doit être chargé dans index.html

Re: LUA : Horoscope du jour pour un signe donné

Publié : 01 avr. 2017, 15:22
par papoo
Pour ceux qui souhaitent continuer à utiliser le script lua, je viens de faire plusieurs modifications au script de la première page (page que je ne peux plus modifier)
Nouveau changement de site, possibilité d'afficher l'horoscope dans une variable, troncage du texte à afficher..

Code : Tout sélectionner

--[[
name : script_time_horoscope.lua
auteur : papoo
Mise à jour : 01/04/2017 Changement de site + troncage de texte
date : 26/06/2016
Principe :
 Ce script a pour but de remonter les informations du site https://astro.rtl.fr/horoscope-jour-gratuit/ dans un device texte 
 sur domoticz pour un signe donné et de nous alerter le cas écheant selon le niveau de notification choisi
 Fil de discussion : https://easydomoticz.com/forum/viewtopic.php?f=17&t=2176&p=34662#p34662
]]--
-- ========================================================================
-- Variables à éditer
-- ========================================================================
local nom_script = "Horoscope"
local version = "1.15"
local signe = "cancer" --[[ renseigner le signe choisi en minuscule sans accent : belier, taureau, gemeaux, cancer, lion, vierge, 
balance, scorpion, sagittaire, capricorne, verseau, poissons ]]--
local horoscope_device = 342	-- renseigner l'id du device texte associé (dummy - text)
local horoscope_variable = nil	-- renseigner le nom de la variable associée ou nil
local send_notification = 0 -- 0: notifications désactivées, 1: notifications actives
local debugging = true  	-- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
-- ========================================================================
-- Fin Variables à éditer
-- ========================================================================
local indexArray=0	
-- ======================================================================== 
-- Fonctions
-- ========================================================================
function voir_les_logs (s)
    if (debugging) then 
        print ("<font color='#f3031d'>".. s .."</font>");
    end
end	
--============================================================================================== 
function TronquerTexte(texte, nb)  --texte à tronquer, nb limite de caractère à afficher
local sep ="[;!?.]"
local DernierIndex = nil
texte = string.sub(texte, 1, nb)
local p = string.find(texte, sep, 1)
DernierIndex = p
while p do
    p = string.find(texte, sep, p + 1)
    if p then
        DernierIndex = p
    end
end
return(string.sub(texte, 1, DernierIndex))
end
-- ======================================================================== 
-- Fin Fonctions
-- ========================================================================

commandArray = {}
time = os.date("*t")

-- if (time.hour == 00 and time.min == 20) then -- tout les matins à 00h20
if (time.min == 20 and ((time.hour == 7) or (time.hour == 13) or (time.hour == 18))) then -- 3 éxecutions du script par jour à 7H20, 13h20 et 18H20
-- if time.hour % 2 == 0 then -- toutes les deux heures
-- if (time.hour%1 == 0 and time.min == 10)  then -- Toutes les heures et 10 minutes
-- if time.min% 2 == 0 then 
voir_les_logs("=========== ".. nom_script .." (v".. version ..") ===========",debugging)
		local fname ="/tmp/horoscope.xml"
		voir_les_logs('--- --- --- debut recuperation du fichier horoscope.xml --- --- ---',debugging);
		os.execute("wget -q -O " .. fname .. " https://astro.rtl.fr/horoscope-jour-gratuit/"..signe) 
		voir_les_logs("Fichier local : " ..fname,debugging)
		local f = io.open(fname, "r")

			 if f == nil then
			 voir_les_logs("Error opening file '" .. fname .. "'.",debugging)
			 os.exit(1)
			 end
 
		local testhtml = f:read("*all")
					f:close()
voir_les_logs('--- --- --- fin recuperation du fichier horoscope.xml --- --- ---',debugging);



for instance in testhtml:gmatch("<body>(.-)</body>") do
			voir_les_logs('--- --- --- boucle for --- --- --',debugging);
div, horoscope=instance:match('<h2>En résumé</h2>(.-)<p class="text">(.-)</p>')
end	
horoscope = TronquerTexte(horoscope, 240)

	if horoscope ~= nil  and signe ~= nil then
	
		voir_les_logs("--- --- --- ".. signe .." : ".. horoscope,debugging)
			
		if horoscope_device ~= nil then
		commandArray[indexArray] = {['UpdateDevice'] = horoscope_device..'|0|'.. horoscope}
		indexArray=indexArray+1
		end
		if horoscope_variable ~= nil then	
		commandArray[indexArray] = {['Variable:'.. horoscope_variable] = tostring(horoscope)}
		indexArray=indexArray+1
		end	
		if send_notification > 0 then
		commandArray[indexArray] = {['SendNotification'] = 'horoscope pour le signe du '.. signe ..'#'.. horoscope}
		indexArray=indexArray+1
		end
		
	end
voir_les_logs("========= Fin ".. nom_script .." (v".. version ..") =========",debugging)	
end -- if time
return commandArray

Re: LUA : Horoscope du jour pour un signe donné

Publié : 01 avr. 2017, 19:14
par LSBdu68
Salut Papoo

Ton nouveau script me bloque le PI !!