[LUA] Horoscope du jour pour un signe donné
Re: [LUA] Horoscope du jour pour un signe donné
Bonjour, voici l'erreur dans les logs, oui les dispositifs qui ne sont plus mis à jour ?
2021-07-26 07:20:02.862 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_horoscope.lua: /home/pi/domoticz/scripts/lua/fonctions/fonctions_perso.lua:503: bad argument #1 to 'sub' (string expected, got nil)
2021-07-26 07:20:02.862 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_horoscope.lua: /home/pi/domoticz/scripts/lua/fonctions/fonctions_perso.lua:503: bad argument #1 to 'sub' (string expected, got nil)
Re: [LUA] Horoscope du jour pour un signe donné
En remontant le fil, je vois que tu as déjà eu cette erreur. Tu as fait une mise à jour, un changement ?
Tu peux nous remettre les deux scripts ?
Tu peux nous remettre les deux scripts ?
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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: [LUA] Horoscope du jour pour un signe donné
Bonjour Keros, non je n'ai rien changer , et j'ai 2 rasberry qui tourne 1 pour faire les essais et idem
![Image]()
mon code erreur
mon code
mon code erreur
Code : Tout sélectionner
2021-07-27 13:20:03.097 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_horoscope.lua: /home/pi/domoticz/scripts/lua/fonctions/fonctions_perso.lua:503: bad argument #1 to 'sub' (string expected, got nil)mon code
Code : Tout sélectionner
--[[
name : script_time_horoscope.lua
auteur : papoo
Mise à jour : 10/05/2018
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 échéant selon le niveau de notification choisi
Fil de discussion : https://easydomoticz.com/forum/viewtopic.php?f=17&t=2176&p=34662#p34662
]]--
-- chargement des modules (http://easydomoticz.com/forum/viewtopic.php?f=17&t=3940)
dofile('/home/pi/domoticz/scripts/lua/modules.lua')
local debug = true -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
--------------------------------------------
------------ Variables à éditer ------------
--------------------------------------------
local debugging = false -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
local script_actif = true -- active (true) ou désactive (false) ce script simplement
local send_notification = 0 -- 0: notifications désactivées, 1: notifications actives
local les_horoscopes = {} --[[ renseigner le signe choisi en minuscule sans accent : belier, taureau, gemeaux, cancer, lion, vierge,
balance, scorpion, sagittaire, capricorne, verseau, poissons ]]--
les_horoscopes[#les_horoscopes+1] = {device = 'Horoscope Balance', signe = 'balance'} -- Idx 496
les_horoscopes[#les_horoscopes+1] = {device = 'Horoscope Lion', signe = 'lion'} -- Idx 418
--------------------------------------------
----------- Fin variables à éditer ---------
--------------------------------------------
local nom_script = 'Horoscope'
local version = '1.25'
local horoscope = ''
local device = ''
local signe = ''
--------------------------------------------
---------------- Fonctions -----------------
--------------------------------------------
package.path = package.path..";/home/pi/domoticz/scripts/lua/fonctions/?.lua"
require('fonctions_perso')
--https://github.com/papo-o/domoticz_scripts/blob/master/Lua/fonctions/fonctions_perso.lua
--------------------------------------------
-------------- Fin Fonctions ---------------
--------------------------------------------
commandArray = {}
time = os.date("*t")
if script_actif == true then
-- 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 exécutions 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)
for k,v in pairs(les_horoscopes) do -- On parcourt chaque horoscope
device = v.device
if device ~= nil and device ~= '' and otherdevices_idx[device] ~= nil then voir_les_logs('--- --- --- traitement '..device..' --- --- --',debugging)
signe = v.signe
if signe ~= '' then voir_les_logs('--- --- --- signe astrologique : '..signe..' --- --- --',debugging) end
local rid = assert(io.popen("/usr/bin/curl -m5 https://astro.rtl.fr/horoscope-jour-gratuit/".. signe))
local testhtml = rid:read('*all')
rid:close()
for instance in testhtml:gmatch("<body>(.-)</body>") do
div, horoscope=instance:match('<h2>En résumé</h2>(.-)<p class="text">(.-)</p>')
end
horoscope = TronquerTexte(unescape(horoscope), 240)
if horoscope ~= nil and signe ~= nil then
voir_les_logs("--- --- --- ".. signe .." : ".. horoscope,debugging)
if device ~= nil and device ~= '' then
commandArray[#commandArray+1] = {['UpdateDevice'] = otherdevices_idx[device]..'|0|'.. horoscope}
end
if send_notification > 0 then
commandArray[#commandArray+1] = {['SendNotification'] = 'horoscope pour le signe du '.. signe ..'#'.. horoscope}
end
end
else
voir_les_logs('--- --- --- Le device '.. device ..' n\'existe pas dans domoticz --- --- --',debugging)
end
end
voir_les_logs("========= Fin ".. nom_script .." (v".. version ..") =========",debugging)
end -- if time
end
return commandArray- Pièces jointes
-
- donnée.png (33.23 Kio) Consulté 5170 fois
Re: [LUA] Horoscope du jour pour un signe donné
La page d'où est extraite l'information a probablement changé à cette date. Et il faudrait adapter le script. Je ne sais pas si papoo continue de maintenir ses scripts (pasqu'on dirait qu'il est passé à home-assistant d'après son github)
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
Re: [LUA] Horoscope du jour pour un signe donné
Oui, la page a dû changer : il n'y a plus le <h2>En résumé</h2>.
Je pense qu'il est possible de retrouver comment fonctionne le script de Papoo, mais cela demande du temps. L'idéal aussi serait d'avoir une ancienne page pour comparer
Le boulot serait d'arriver à extraire la partie intéressante à partie du card__body__header__resume
Je pense qu'il est possible de retrouver comment fonctionne le script de Papoo, mais cela demande du temps. L'idéal aussi serait d'avoir une ancienne page pour comparer
Le boulot serait d'arriver à extraire la partie intéressante à partie du card__body__header__resume
Code : Tout sélectionner
<div class="col card__body__header__resume">
<p>Vous avez jusqu'à jeudi, 3e décan, pour aborder une explication avec l'un de vos proches. Elle risque d'être un peu houleuse étant donné que Mercure (la parole) est conjointe à Mars (l'agressivité). Si vous parvenez à dire ce que vous avez à dire sans mal parler à votre interlocuteur, cela devrait bien se passer et, en plus, vous serez content de vous. 1e décan, le Soleil est avec vous jusqu'à dimanche inclus, votre potentiel de séduction semble être décuplé. Mais ne cherchez pas à conclure tout de suite. 2e décan, surveillez une tendance à la distraction.</p>
</div>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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: [LUA] Horoscope du jour pour un signe donné
Bonsoir Keros, mais la c'est du charabiat pour moi ? je ne connait pas le lua 
Re: [LUA] Horoscope du jour pour un signe donné
Malheureusement Papoo n'est pas venu sur le forum depuis plusieurs mois et comme là fait remarquer boum, il poste beaucoup de script pour Home Assistant sur son site. Et je viens de voir que son dernier post traite justement de l'horoscope avec Home Assistant. Il y a de fortes chances qu'il n'utilises plus celui pour DomoticZ
J'ai essayé de donner une piste en essayant d'analyser la problématique, mais désolé, je ne peux pas aller plus loin.
J'ai essayé de donner une piste en essayant d'analyser la problématique, mais désolé, je ne peux pas aller plus loin.
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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: [LUA] Horoscope du jour pour un signe donné
Bonjour ou bonsoir,je pense avoir trouver si çà intéresse quelqu'un encore il faut juste remplacer le :<h2>En résumé</h2>
par :<article> pour moi ça fonctionne .
J'ai aussi changer la valeur de :
par :<article> pour moi ça fonctionne .
J'ai aussi changer la valeur de :
et j'ai misTronquerTexte(unescape(horoscope)
a la place de 240 pour avoir tout le texte .800
domoticz sur VM sur freebox delta