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.
calouis
Messages : 109 Inscription : 08 nov. 2015, 10:34
Localisation : 62
Message
par calouis » 07 août 2019, 10:16
Bonjour Papoo
J'ai suivi la procédure détaillée de ton site :
https://pon.fr/dzvents-phases-lunaires- ... more-15928 .
mon switch sélecteur intègre bien les icônes quand je le fais manuellement :
Je n'ai pas d'erreur dans le code :
Code : Tout sélectionner
2019-08-07 10:09:00.737 Status: dzVents: Info: moon phase v1.0: ------ Start internal script: moonPhase:, trigger: every minute
2019-08-07 10:09:00.738 Status: dzVents: Debug: moon phase v1.0: 5.7088949999626
2019-08-07 10:09:00.738 Status: dzVents: Debug: moon phase v1.0: 5.7088949999626
2019-08-07 10:09:00.738 Status: dzVents: Debug: moon phase v1.0: Premier croissant
2019-08-07 10:09:00.738 Status: dzVents: Debug: moon phase v1.0: 20
2019-08-07 10:09:00.738 Status: dzVents: Debug: moon phase v1.0: Constructed timed-command: Set Level 20
2019-08-07 10:09:00.738 Status: dzVents: Debug: moon phase v1.0: update selector device
2019-08-07 10:09:00.742 Status: dzVents: Info: moon phase v1.0: ------ Finished moonPhase
mais mon selecteur ne s'actualise pas à la bonne image : premier croissant
Pourtant , j'ai bien le même ID dans moonSelectorIcons.lua et moonPhase.lua.
J'ai loupé qqchose?
Cordialement
Pièces jointes
201908219_1008-00_1.png (43.85 Kio) Consulté 6984 fois
201908219_1008-00.png (325.8 Kio) Consulté 6984 fois
_ Raspberry Pi3 Stretch + Domoticz V4.11214
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
lolo6112
Messages : 54 Inscription : 17 juil. 2016, 16:12
Message
par lolo6112 » 07 août 2019, 12:59
Bonjour,
Oui il y a bien un décalage sur les phases de la lune, Papoo l'a remarqué et moi aussi.
Je cherche une solution sur la base de ce que j'avais codé dans la fonction au départ.
Mais c'est le cirque, Darsky renvoie une fraction pour la phase de la lune et aucun détail sur leur API
Va falloir être patient.
Vérifies quand même dans les logs du device, car je n'étais pas en Pleine lune le 6 août, aujourd'hui le mien est en gibbeuse croissante et il était en 1er quartier le 6.
Ce serait intéressant de comparer les données renvoyées par Darsky, tu pourrais mettre ici ton fichier de retour du script (il est dans dzVent/data), merci.
@Papoo tu as reçu ma réponse en mp ???
Dernière modification par
Keros le 26 avr. 2021, 21:26, modifié 1 fois.
Raison : Suppression de la citation du message précédent
calouis
Messages : 109 Inscription : 08 nov. 2015, 10:34
Localisation : 62
Message
par calouis » 07 août 2019, 13:34
Bonjour lolo6112
mais les 2 scripts de papoo (moonSelectorIcons.lua et moonPhase.luane) font pas appel à l'api de Darsky...
_ Raspberry Pi3 Stretch + Domoticz V4.11214
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
lolo6112
Messages : 54 Inscription : 17 juil. 2016, 16:12
Message
par lolo6112 » 07 août 2019, 13:46
Désolé, j'échange aussi sur un autre script de Papoo, qui lui fait appel à Darsky pour les phases lunaires.
Dernière modification par
Keros le 26 avr. 2021, 21:26, modifié 1 fois.
Raison : Supression de la citation du message précédent
papoo
Messages : 2029 Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :
Message
par papoo » 07 août 2019, 21:24
@calouis
si je comprend bien, lorsque tu change le level manuellement sur ton switch selector, l'icone est bien mis à jour, mais l'exectution du script moonPhase.lua ne mets pas à jour le selector switch toutes les heures?
As tu fais un
Code : Tout sélectionner
chmod +x /home/pi/domoticz/scripts/dzVents/scripts/moonPhase.lua
pour t'assurer qu'il dispose des droits d'accès nécessaire à son execution?
le script est il bien encodé en utf8 sans BOM?
pourrais tu poster ici ton script presonnalisé?
@ lolo6112
j'ai modifié le script darksky.lua. je te l'ai dis par MP mais cette fonctionnalité semble rencontrer quelque bugs aléatoires, j'ai impression que les mp ne partent jamais de la boite d'envoi
vil1driver
Messages : 5661 Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)
Message
par vil1driver » 07 août 2019, 21:29
Personnellement pas de pb avec les mp,
Ils quittent la boîte d'envoi une fois lus..
Certains destinataires ne font pas forcément attention à l'icône.. En haut de page..
Je pense que le problème est juste là.
Peut-être voir si Patrice peut nous sortir une popup.
papoo
Messages : 2029 Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :
Message
par papoo » 07 août 2019, 21:37
merci pour cette précision, il m'est arrivé d’effacer le message bloqué en boite d'envoi. si je comprend bien, il n’était pas encore lu.
je vais tacher d'etre un peu plus patient la prochaine fois
calouis
Messages : 109 Inscription : 08 nov. 2015, 10:34
Localisation : 62
Message
par calouis » 08 août 2019, 13:49
@Papoo
Pas mieux. J'ai appliqué tes consignes, à savoir transférer le moonPhase.lua en FTP au lieu de l'éditeur interne, puis donner les droits
Manuellement :
Code : Tout sélectionner
2019-08-08 13:48:28.909 Status: dzVents: Info: moonSelectorIcons v 1.0: ------ Start internal script: moonSelectorIcons: Device: "Lune (Virtuel)", Index: 194
2019-08-08 13:48:28.910 Status: dzVents: Debug: moonSelectorIcons v 1.0: lastLevel80
2019-08-08 13:48:28.911 Status: dzVents: Debug: moonSelectorIcons v 1.0: level10
2019-08-08 13:48:28.911 Status: dzVents: Debug: moonSelectorIcons v 1.0: http://127.0.0.1:8280/json.htm?type=setused&used=true&name=Lune&description=&idx=194&switchtype=18&customimage=157
2019-08-08 13:48:28.911 Status: dzVents: Debug: moonSelectorIcons v 1.0: OpenURL: url = http://127.0.0.1:8280/json.htm?type=setused&used=true&name=Lune&description=&idx=194&switchtype=18&customimage=157
2019-08-08 13:48:28.911 Status: dzVents: Debug: moonSelectorIcons v 1.0: OpenURL: method = GET
2019-08-08 13:48:28.911 Status: dzVents: Debug: moonSelectorIcons v 1.0: OpenURL: post data = nil
2019-08-08 13:48:28.912 Status: dzVents: Debug: moonSelectorIcons v 1.0: OpenURL: headers = nil
2019-08-08 13:48:28.912 Status: dzVents: Debug: moonSelectorIcons v 1.0: OpenURL: callback = nil
2019-08-08 13:48:28.914 Status: dzVents: Info: moonSelectorIcons v 1.0: ------ Finished moonSelectorIcons
moonPhase.lua :
Code : Tout sélectionner
--[[
author/auteur = papoo
update/mise à jour = 04/08/2019
creation = 04/08/2019
source https://github.com/JamesSherburne/MoonPhasesLua/blob/master/main.lua
--]]
local scriptName = 'moon phase'
local scriptVersion = '1.0'
local MoonPhaseSelector = 194
--local Waning_Crescent = "Waning Crescent" -- level 80 MoonPhase Selector switch
local Waning_Crescent = "Dernier croissant" -- level 80 MoonPhase Selector switch
--local Last_Quarter = "Last Quarter" -- level 70 MoonPhase Selector switch
local Last_Quarter = "Dernier quartier" -- level 70 MoonPhase Selector switch
--local Waning gibbous = "Waning gibbous" -- level 60 MoonPhase Selector switch
local Waning gibbous = "gibbeuse décroissante" -- level 60 MoonPhase Selector switch
--local Full_Moon = "Full Moon" -- level 50 MoonPhase Selector switch
local Full_Moon = "Pleine une" -- level 50 MoonPhase Selector switch
--local Waxing_gibbous = "Waxing gibbous" -- level 40 MoonPhase Selector switch
local Waxing_gibbous = "Gibbeuse croissante" -- level 40 MoonPhase Selector switch
--local First_Moon = "First Moon" -- level 30 MoonPhase Selector switch
local First_Moon = "Premier quartier" -- level 30 MoonPhase Selector switch
--local Waxing_crescent = "Waxing crescent" -- level 20 MoonPhase Selector switch
local Waxing_crescent = "Premier croissant" -- level 20 MoonPhase Selector switch
--local New_Moon = "New Moon" -- level 10 MoonPhase Selector switch
local New_Moon = "Nouvelle lune" -- level 10 MoonPhase Selector switch
return {
active = true,
on = { timer = {'every 5 minutes'}},
logging = { level = domoticz.LOG_DEBUG,
-- level = domoticz.LOG_INFO, -- Seulement un niveau peut être actif; commenter les autres
-- level = domoticz.LOG_ERROR, -- Only one level can be active; comment others
-- level = domoticz.LOG_MODULE_EXEC_INFO,
marker = scriptName..' v'..scriptVersion },
execute = function(domoticz)
local function logWrite(str,level) -- Support function for shorthand debug log statements
domoticz.log(tostring(str),level or domoticz.LOG_DEBUG)
end
local function julianDate(d, m, y)
local mm, yy, k1, k2, k3, j
yy = y - math.floor((12 - m) / 10)
mm = m + 9
if (mm >= 12) then
mm = mm - 12
end
k1 = math.floor(365.25 * (yy + 4712))
k2 = math.floor(30.6001 * mm + 0.5)
k3 = math.floor(math.floor((yy / 100) + 49) * 0.75) - 38
j = k1 + k2 + d + 59
if (j > 2299160) then
j = j - k3
end
return j
end
local function moonAge(d, m, y)
local j, ip, ag
j = julianDate(d, m, y)
ip = (j + 4.867) / 29.53059
ip = ip - math.floor(ip)
if (ip < 0.5) then
ag = ip * 29.53059 + 29.53059 / 2
else
ag = ip * 29.53059 - 29.53059 / 2
end
logWrite(ag)
return ag
end
local day = os.date("%d")
local month = os.date("%m")
local year = os.date("%Y")
local theMoon = moonAge(day,month,year)
logWrite(theMoon)
if theMoon >= 29 then
moonText = New_Moon
level = 10
elseif theMoon < 29 and theMoon > 23 then
moonText = Waning_Crescent
level = 80
elseif theMoon < 23 and theMoon > 22 then
moonText = Last_Quarter
level = 70
elseif theMoon < 22 and theMoon > 15 then
moonText = Waning_gibbous
level = 60
elseif theMoon < 15 and theMoon > 13 then
moonText = Full_Moon
level = 50
elseif theMoon < 13 and theMoon > 8 then
moonText = Waxing_gibbous
level = 40
elseif theMoon < 8 and theMoon > 6 then
moonText = First_Moon
level = 30
elseif theMoon < 6 and theMoon > 1 then
moonText = Waxing_crescent
level = 20
else
moonText = New_Moon
level = 10
end
logWrite(moonText)
logWrite(level)
if (MoonPhaseSelector) then
if (domoticz.devices(MoonPhaseSelector).lastLevel ~= level) then
domoticz.devices(MoonPhaseSelector).switchSelector(level)
logWrite("update selector device")
else
logWrite("no update needed")
end
end
end -- execute function
}
Voilà
Merci d'y regarder
_ Raspberry Pi3 Stretch + Domoticz V4.11214
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
calouis
Messages : 109 Inscription : 08 nov. 2015, 10:34
Localisation : 62
Message
par calouis » 08 août 2019, 13:51
le code résultant :
Code : Tout sélectionner
2019-08-08 13:50:00.213 Status: dzVents: Info: moon phase v1.0: ------ Start external script: moonPhase.lua:, trigger: every 5 minutes
2019-08-08 13:50:00.214 Status: dzVents: Debug: moon phase v1.0: 6.7088949999649
2019-08-08 13:50:00.214 Status: dzVents: Debug: moon phase v1.0: 6.7088949999649
2019-08-08 13:50:00.214 Status: dzVents: Debug: moon phase v1.0: Premier quartier
2019-08-08 13:50:00.214 Status: dzVents: Debug: moon phase v1.0: 30
2019-08-08 13:50:00.235 Status: dzVents: Debug: moon phase v1.0: Processing device-adapter for Lune: Switch device adapter
2019-08-08 13:50:00.235 Status: dzVents: Debug: moon phase v1.0: Constructed timed-command: Set Level 30
2019-08-08 13:50:00.235 Status: dzVents: Debug: moon phase v1.0: update selector device
2019-08-08 13:50:00.236 Status: dzVents: Info: moon phase v1.0: ------ Finished moonPhase.lua
_ Raspberry Pi3 Stretch + Domoticz V4.11214
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
papoo
Messages : 2029 Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :
Message
par papoo » 08 août 2019, 21:28
que disent les logs du sélecteur?
as tu vérifié que le script été bien encodé en utf8 sans BOM (avec notepad++ par exemple existe en version sans installation)
tu utilises quelle version de domoticz/dzvents?
à voir tes logs cela donne l'impression de fonctionner sans erreur.