Correction de script LUA
Re: Correction de script LUA
Salut
Merci Denis !
Du coup c'est bon, enfin à quelques parenthèses près ?
Verdict d'ici une heure à l'heure du coucher de soleil.
Je continue dans ma lancé et le plus compliqué reste à venir avec la filtration de la piscine.
Je vais m'attaquer au store banne dans un premier temps.
Merci encore.
Bonne soirée.
A+
Fab
Merci Denis !
Du coup c'est bon, enfin à quelques parenthèses près ?
Verdict d'ici une heure à l'heure du coucher de soleil.
Je continue dans ma lancé et le plus compliqué reste à venir avec la filtration de la piscine.
Je vais m'attaquer au store banne dans un premier temps.
Merci encore.
Bonne soirée.
A+
Fab
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: Correction de script LUA
Tu peux simplifier ceci :
comme cela, meme fonctionnement, plus simple et plus propre
Code : Tout sélectionner
commandArray={}
local heure = os.date("%H:%M")
-- retourne l'heure du coucher de soleil ex: "22:15"
coucherSoleil = string.sub(os.date("!%X",60*timeofday['SunsetInMinutes']), 1, 5)
---------------------------------------------------------------------------------------
if heure == coucherSoleil and heure < "19:15" and otherdevices['Alarme']=='Off' then
commandArray['Appoint salon']='On'
end
if heure == coucherSoleil and heure < "19:15" and otherdevices['Alarme']=='Off' and otherdevices['A1-Eclairage piscine']=='Off' then
commandArray['A1-Eclairage piscine']='On'
end
return commandArrayCode : Tout sélectionner
commandArray={}
local heure = os.date("%H:%M")
-- retourne l'heure du coucher de soleil ex: "22:15"
coucherSoleil = string.sub(os.date("!%X",60*timeofday['SunsetInMinutes']), 1, 5)
---------------------------------------------------------------------------------------
if (heure == coucherSoleil and heure < "19:15" and otherdevices['Alarme']=='Off') then
commandArray['Appoint salon']='On'
if otherdevices['A1-Eclairage piscine']=='Off' then
commandArray['A1-Eclairage piscine']='On'
end
end
return commandArrayPi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Re: Correction de script LUA
Tout c'est mis en marche ! nickel.
Je vais jeter un œil sur la simplification, mais déjà je suis content, ça avance et je commence à comprendre le principe.
Du coup je me suis penché sur le chauffe eau et une petit erreur s'est glissée en ligne 4 .....
Je vais même finir par aimer ça
C'est madame qui grogne, j'y passe mes soirées
Je vais jeter un œil sur la simplification, mais déjà je suis content, ça avance et je commence à comprendre le principe.
Du coup je me suis penché sur le chauffe eau et une petit erreur s'est glissée en ligne 4 .....
Code : Tout sélectionner
commandArray={}
local heure = os.date("%H:%M")
local Temp. = tonumber(string.format("%.1f", otherdevices_temperature['Temp. exterieur']))
---------------------------------------------------------------------------------------
if Temp. <= 3 and heure == "02:00" and otherdevices['V-Chauffe eau']=='Off' then
commandArray['V-Chauffe eau']='On'
end
if Temp. > 3 and heure == "03:00" and otherdevices['V-Chauffe eau']=='Off' then
commandArray['V-Chauffe eau']='On'
if heure == "07:25" and otherdevices['V-Chauffe eau']=='On' then
commandArray['V-Chauffe eau']='Off'
end
return commandArrayC'est madame qui grogne, j'y passe mes soirées
Re: Correction de script LUA
C'était le point après Temp qui déconnait
Je pense que c'est OK.
Je l'espère, sinon c'est douche froide pour tout le monde demain soir !
Code : Tout sélectionner
commandArray={}
local heure = os.date("%H:%M")
now=os.date("*t")
---------------------------------------------------------------------------------------
if now.min % 5 == 0 then -- exécution toutes les 5 minutes
local matemperature = tonumber(string.format("%.1f", otherdevices_temperature['Temp. exterieur']))
end
if matemperature <= 3 and heure == "02:00" and otherdevices['V-Chauffe eau']=='Off' then
commandArray['V-Chauffe eau']='On'
end
if matemperature > 3 and heure == "03:00" and otherdevices['V-Chauffe eau']=='Off' then
commandArray['V-Chauffe eau']='On'
end
if heure == "07:25" and otherdevices['V-Chauffe eau']=='On' then
commandArray['V-Chauffe eau']='Off'
end
return commandArrayJe l'espère, sinon c'est douche froide pour tout le monde demain soir !
Dernière modification par f0emm le 06 févr. 2019, 20:52, modifié 1 fois.
Re: Correction de script LUA
Arfff !
Error: EventSystem: in 50 Script-Chauffe eau: [string "commandArray={}..."]:10: attempt to compare nil with number
Oula, c'est la douche froide assurée
Plus d'erreur dans le LOG avec ce script
Error: EventSystem: in 50 Script-Chauffe eau: [string "commandArray={}..."]:10: attempt to compare nil with number
Oula, c'est la douche froide assurée
Plus d'erreur dans le LOG avec ce script
Code : Tout sélectionner
commandArray={}
local heure = os.date("%H:%M")
now=os.date("*t")
---------------------------------------------------------------------------------------
if now.min % 1 == 0 then -- exécution toutes les minutes
local t = tonumber(string.format("%.1f", otherdevices_temperature['Temp. exterieur']))
if t <= 3 and heure == "02:00" and otherdevices['V-Chauffe eau']=='Off' then
commandArray['V-Chauffe eau']='On'
commandArray['SendNotification']='Chauffe eau#Mise en marche à 2h00##0###GCM'
end
if t > 3 and heure == "03:00" and otherdevices['V-Chauffe eau']=='Off' then
commandArray['V-Chauffe eau']='On'
commandArray['SendNotification']='Chauffe eau#Mise en marche à 3h00##0###GCM'
end
if heure == "07:25" and otherdevices['V-Chauffe eau']=='On' then
commandArray['V-Chauffe eau']='Off'
commandArray['SendNotification']='Chauffe eau#Extinction##0###GCM'
end
end
return commandArrayRe: Correction de script LUA
Coucou c'est encore moi
Une petite question, est il possible dans un script d'en activer/désactiver un autre ?
J'ai cru lire par là que cela était déconseillé ?
C'est pour commander mon store banne en manuel.
Script de mon store en automatique avec sécurité vent et ouverture/fermeture suivant le vent et les UV.
Merci.
Ah oui ! la douche sera chaude ce soir
Bonne soirée.
A+
Fab
Une petite question, est il possible dans un script d'en activer/désactiver un autre ?
J'ai cru lire par là que cela était déconseillé ?
C'est pour commander mon store banne en manuel.
Script de mon store en automatique avec sécurité vent et ouverture/fermeture suivant le vent et les UV.
Code : Tout sélectionner
commandArray={}
local Vent = uservariables['Vent']
UVN1, UVN2 = otherdevices_svalues['Oregon UVN']:match("([^;]+);([^;]+)")
UV1 = tonumber(UVN1)
UV2 = tonumber(UVN2)
--print("UV1 " .. UV1)
--print("UV2 " .. UV2)
----------------------------------------------------------------------------------------------
if otherdevices['Store Terrasse']=='Closed' then
if Vent <= 15 and UV1 >= 6 then
commandArray['Store Terrasse']='Open'
commandArray['SendNotification']='Store banne#Il fait beau, le store s\'ouvre.##0###GCM'
if otherdevices['Store Terrasse']=='Open' then
if Vent >= 25 or UV1 <= 4 then
commandArray['Store Terrasse']='Closed'
commandArray['SendNotification']='Store banne#Trop de vent, manque d UV, le store s\'est fermé.##0###GCM'
end
end
end
end
return commandArrayAh oui ! la douche sera chaude ce soir
Bonne soirée.
A+
Fab
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: Correction de script LUA
Tu a imbriqué Open dans le Closed, ta conditon if = Closed ne sera jamais respectée, le store ne peux pas etre ouvert et fermé :
Code : Tout sélectionner
if otherdevices['Store Terrasse']=='Closed' then
---------------
if otherdevices['Store Terrasse']=='Open' then
--------------
end
endCode : Tout sélectionner
commandArray={}
local Vent = uservariables['Vent']
UVN1, UVN2 = otherdevices_svalues['Oregon UVN']:match("([^;]+);([^;]+)")
UV1 = tonumber(UVN1)
UV2 = tonumber(UVN2)
--print("UV1 " .. UV1)
--print("UV2 " .. UV2)
----------------------------------------------------------------------------------------------
if otherdevices['Store Terrasse']=='Closed' then
if Vent <= 15 and UV1 >= 6 then
commandArray['Store Terrasse']='Open'
commandArray['SendNotification']='Store banne#Il fait beau, le store s\'ouvre.##0###GCM'
end
else if otherdevices['Store Terrasse']=='Open' then
if Vent >= 25 or UV1 <= 4 then
commandArray['Store Terrasse']='Closed'
commandArray['SendNotification']='Store banne#Trop de vent, manque d UV, le store s\'est fermé.##0###GCM'
end
end
return commandArrayPi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Re: Correction de script LUA
Salut
Ah ! le elseif.
Respect, un coup d’œil et hop ....... un petit rappel au novice que je suis
Merci Denis.
Bonne soirée.
A+
Fab
Ah ! le elseif.
Respect, un coup d’œil et hop ....... un petit rappel au novice que je suis
Merci Denis.
Bonne soirée.
A+
Fab
Re: Correction de script LUA
Bonsoir,
Une petite question, est il possible dans un script d'en activer/désactiver un autre ?
J'ai cru lire par là que cela était déconseillé ?
Merci
Bonne soirée
A+
Fab
Une petite question, est il possible dans un script d'en activer/désactiver un autre ?
J'ai cru lire par là que cela était déconseillé ?
Merci
Bonne soirée
A+
Fab
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: Correction de script LUA
Hello. La seule facon de faire et de creer un device virtuelle.. Tu pourras le passer a On ou Off par un script, et tu pourras le valider en condition dans un autre.
Mais tu ne peux pas modifier les activations des scripts. (du moins pas encore, ce serait peutetre possible en json un jour qui sait ....?)
Mais tu ne peux pas modifier les activations des scripts. (du moins pas encore, ce serait peutetre possible en json un jour qui sait ....?)
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway