LUA : Horoscope du jour pour un signe donné

Vous avez crée 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.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
Nemesis24
Messages : 125
Enregistré le : 14 févr. 2017, 16:10

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

Message par Nemesis24 » 31 mars 2017, 15:32

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];
Nemesis: déesse de la vengeance, de l'équilibre, de la juste colère et de la rétribution céleste, messager de mort envoyé par les dieux comme punition...

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


vil1driver
Messages : 5030
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

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

Message par vil1driver » 31 mars 2017, 15:42

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.
MAJ = VIDER LE CACHE(<-Clicable)


Domoticz v4.10078 (ubuntu server) OpenZwave v1.4-3229 (zwave+ sigma designs) rfxtrx433 fw1015T1

433mhz : thgn800, ms13e2, phenix, Di.O, zk1pa, creasol sender
868mhz : fgms-001, fgfs-101, dsd37-zweu, ZW098


modules.lua

Nemesis24
Messages : 125
Enregistré le : 14 févr. 2017, 16:10

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

Message par Nemesis24 » 31 mars 2017, 15:43

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
Nemesis: déesse de la vengeance, de l'équilibre, de la juste colère et de la rétribution céleste, messager de mort envoyé par les dieux comme punition...

Doudy
Messages : 177
Enregistré le : 07 mai 2016, 17:23

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

Message par Doudy » 31 mars 2017, 15:52

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
:?
PI 3 = RFXCOM
PI 3 + Touchscreen 7" affichage Domoticz
RFXCOM 433
Domoticz Version: 4.10717 - Python Version: 3.5.3

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Jeff
Messages : 698
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

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

Message par Jeff » 31 mars 2017, 23:57

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")
Modifié en dernier par Jeff le 01 avr. 2017, 00:02, modifié 1 fois.
Version: 4.9700; RFXCOM Rfxtrx433e ext/1007 ; Zwave (Z-stick GEN5, Fibaro...), Zigbee2MQTT.

Nemesis24
Messages : 125
Enregistré le : 14 févr. 2017, 16:10

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

Message par Nemesis24 » 01 avr. 2017, 00:01

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.
Nemesis: déesse de la vengeance, de l'équilibre, de la juste colère et de la rétribution céleste, messager de mort envoyé par les dieux comme punition...

Doudy
Messages : 177
Enregistré le : 07 mai 2016, 17:23

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

Message par Doudy » 01 avr. 2017, 08:53

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....										
PI 3 = RFXCOM
PI 3 + Touchscreen 7" affichage Domoticz
RFXCOM 433
Domoticz Version: 4.10717 - Python Version: 3.5.3

Nemesis24
Messages : 125
Enregistré le : 14 févr. 2017, 16:10

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

Message par Nemesis24 » 01 avr. 2017, 11:36

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
Nemesis: déesse de la vengeance, de l'équilibre, de la juste colère et de la rétribution céleste, messager de mort envoyé par les dieux comme punition...

papoo
Messages : 1793
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

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

Message par papoo » 01 avr. 2017, 15:22

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
Modifié en dernier par papoo le 01 avr. 2017, 19:39, modifié 2 fois.
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

LSBdu68
Messages : 165
Enregistré le : 17 janv. 2015, 23:45
Localisation : Alsace

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

Message par LSBdu68 » 01 avr. 2017, 19:14

Salut Papoo

Ton nouveau script me bloque le PI !!

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre