[Résolu] os.execute("date")
[Résolu] os.execute("date")
Bonsoir.
Comment récupérer dans une variable lua le résultat de "date" (celui tapé en ligne de commande dans une console?
Comment récupérer dans une variable lua le résultat de "date" (celui tapé en ligne de commande dans une console?
Dernière modification par ziaziung le 14 déc. 2016, 21:12, modifié 1 fois.
Raspi B+ et 2. RfxcomE. Volets Somfy. Sondes de température "AliExpress". Domoticz version 4.10761
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: os.execute("date")
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: os.execute("date")
Bien sur j'ai deja fait. Dans la doc il est dit que os.date(...) donne la date (les mois, les jours de la semaine) dans la langue locale :
All representations follow the current locale. Therefore, in a locale for Brazil-Portuguese, %B would result in "setembro" and %x in "16/09/98".
Ben ca marche pas. Alors que lorsque je tape date dans une console c'est en français, donc je me disais que se serait bien de récupérer cela!!!
All representations follow the current locale. Therefore, in a locale for Brazil-Portuguese, %B would result in "setembro" and %x in "16/09/98".
Ben ca marche pas. Alors que lorsque je tape date dans une console c'est en français, donc je me disais que se serait bien de récupérer cela!!!
Raspi B+ et 2. RfxcomE. Volets Somfy. Sondes de température "AliExpress". Domoticz version 4.10761
Re: os.execute("date")
Code : Tout sélectionner
function os.capture(cmd)
local f = assert(io.popen(cmd, 'r'))
local s = assert(f:read('*a'))
f:close()
return s
end
commandArray = {}
print(os.capture("export LANG=\"fr_FR.UTF-8\" && date \"+%A %d %B %Y\""))
return commandArray
Re: os.execute("date")
Merci, ça fonctionne parfaitement.
Raspi B+ et 2. RfxcomE. Volets Somfy. Sondes de température "AliExpress". Domoticz version 4.10761
Re: [Résolu] os.execute("date")
De rien 
Re: [Résolu] os.execute("date")
Désolé de te déranger à nouveau sur ce sujet Neutrino mais ça ne fonctionne pas chez moi.Neutrino a écrit :De rien
Si j'ajoute ton script au début du mien en supprimant évidemment "return commandArray" il me retourne toujours le mois en anglais.
Tu peux m'aider sur l'utilisation de ton petit script s'il te plaît ?
Voici le début de mon script :
Code : Tout sélectionner
commandArray = {}
local timeNow= os.date("*t")
if (timeNow.hour >=6 and timeNow.hour <=7) then
commandArray['Variable:bonjour'] = tostring (0)
end
if (otherdevices['Reveil'] == 'On' and
timeNow.hour >=7 and
uservariables["bonjour"] == '0')
then
local sentence="Bonjour ! Nous sommes le " ..(os.date("%d")).. " " .. os.date("%B")
MiniPC W10 + RFXCom 433e + RFLINK
Elec : Téléinfo
Alexa + Alhau
MQTT...
(merci easydomoticz !)
Elec : Téléinfo
Alexa + Alhau
MQTT...
(merci easydomoticz !)
Re: [Résolu] os.execute("date")
Parce que c'est noël :
Par contre, c'est pas testé 
Code : Tout sélectionner
function os.capture(cmd)
local f = assert(io.popen(cmd, 'r'))
local s = assert(f:read('*a'))
f:close()
return s
end
commandArray = {}
local ajourdhui = os.capture("export LANG=\"fr_FR.UTF-8\" && date \"+%A %d %B %Y\"")
local timeNow= os.date("*t")
if (timeNow.hour >=6 and timeNow.hour <=7) then
commandArray['Variable:bonjour'] = tostring (0)
end
if (otherdevices['Reveil'] == 'On' and
timeNow.hour >=7 and
uservariables["bonjour"] == '0')
then
local sentence="Bonjour ! Nous sommes le " ..ajourdhui
return commandArray
Re: [Résolu] os.execute("date")
Merci de ton aide Neutrino, mais rien à faire...
J'ai tenté un print(ajourdhui) pour voir et le résultat est "LUA:"
Vide...
J'ai tenté un print(ajourdhui) pour voir et le résultat est "LUA:"
Vide...
MiniPC W10 + RFXCom 433e + RFLINK
Elec : Téléinfo
Alexa + Alhau
MQTT...
(merci easydomoticz !)
Elec : Téléinfo
Alexa + Alhau
MQTT...
(merci easydomoticz !)
Re: [Résolu] os.execute("date")
Bon, j'ai botté en touche et j'ai contourné le problème. ça fonctionne maintenant
Code : Tout sélectionner
local sentence="Bonjour ! Nous sommes le " ..(os.date("%A")).. " " ..(os.date("%d")).. " " .. os.date("%B")
local d = {
["Monday"] = " Lundi ",
["Tuesday"] = " Mardi ",
["Wednesday"] = " Mercredi ",
["Thrusday"] = " Jeudi ",
["Friday"] = " Vendredi ",
["Saturday"] = " Samedi ",
["Sunday"] = " Dimanche ",
["January"] = " Janvier ",
["February"] = " Février ",
["March"] = " Mars ",
["April"] = " Avril ",
["May"] = " Mai ",
["June"] = " Juin ",
["July"] = " Juillet ",
["August"] = " Août ",
["September"] = " Septembre ",
["October"] = " Octobre ",
["November"] = " Novembre ",
["December"] = " Décembre " }
for k, v in pairs (d) do
sentence = string.gsub(sentence, k, v)
endMiniPC W10 + RFXCom 433e + RFLINK
Elec : Téléinfo
Alexa + Alhau
MQTT...
(merci easydomoticz !)
Elec : Téléinfo
Alexa + Alhau
MQTT...
(merci easydomoticz !)