Récupérer les valeurs des capteurs.
Récupérer les valeurs des capteurs.
Bonjour,
Je ne trouve pas comment récupérer les infos des capteurs...
Par ex, j'aimerai le matin m'envoyer un mail à 5h avec la température de mon capteur extérieur....
Merci.
Je ne trouve pas comment récupérer les infos des capteurs...
Par ex, j'aimerai le matin m'envoyer un mail à 5h avec la température de mon capteur extérieur....
Merci.
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: Récupérer les valeurs des capteurs.
Comme tout autre device la valeur c'est le device en lui meme:
affichera normalement la valeur.
Il y a aussi otherdevices_svalues mais je ne comprend pas encore la difference.
Code : Tout sélectionner
print(otherdevices['device'])Il y a aussi otherdevices_svalues mais je ne comprend pas encore la difference.
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
Re: Récupérer les valeurs des capteurs.
Une petite lecture de la bible t'illuminera
http://www.domoticz.com/wiki/Events
edit : c'est plutôt moi qui vient d'être illuminé ! Je viens de comprendre plein de chose que je piochais partout sans rien comprendre. Comment parcourir une table...
Il y a exactement tout pour ton exemple
http://www.domoticz.com/wiki/Events
edit : c'est plutôt moi qui vient d'être illuminé ! Je viens de comprendre plein de chose que je piochais partout sans rien comprendre. Comment parcourir une table...
Code : Tout sélectionner
for i, v in pairs(otherdevices) do print(i, v) endCode : Tout sélectionner
time = os.date("*t")
commandArray = {}
-- otherdevices, otherdevices_lastupdate and otherdevices_svalues are arrays for all devices:
-- otherdevices['yourotherdevicename'] = "On"
-- otherdevices_lastupdate['yourotherdevicename'] = "2015-12-27 14:26:40"
-- otherdevices_svalues['yourotherthermometer'] = string of svalues
if (devicechanged['MyDeviceName'] == 'On' and otherdevices['MyOtherDeviceName'] == 'Off' and time.hour >= 22) then
commandArray['MyOtherDeviceName']='On'
commandArray['SendEmail']='subject#body#your@email.com'
end
return commandArrayVersion: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: Récupérer les valeurs des capteurs.
Trop bonJeff a écrit :Une petite lecture de la bible t'illuminera![]()
http://www.domoticz.com/wiki/Events
edit : c'est plutôt moi qui vient d'être illuminé ! Je viens de comprendre plein de chose que je piochais partout sans rien comprendre. Comment parcourir une table...Code : Tout sélectionner
for i, v in pairs(otherdevices) do print(i, v) end
Mais si ca peut aider aussi je laisse mon propre lexique:
Code : Tout sélectionner
--[[
--Envoyer une notification.
commandArray['SendNotification']='test#testtest'
*******************************************************************************************************************
--Afficher dans les logs le device qui active le script:
print ( "Device: '..next(devicechanged)..'" - Etat: '..devicechanged[next(devicechanged)]
--Afficher dans les logs, tous les devices, variables ainsi que leurs etats
for deviceName,deviceValue in pairs(otherdevices) do
print ( "Device: '..deviceName..'" - Etat: '..deviceValue)
end
for variableName,variableValue in pairs(uservariables) do
print ( "Variable: '..variableName..'" - Valeur: '..variableValue)
end
-- Verifie le debut du nom du device
device=tostring(next(devicechanged))
if ((device:sub(1,3) == 'PIR') == 'On') then
-- Verifie plusieurs device
local capteurs = { "Porte entrée/couloir", "Porte terrasse" }
function verifcapteur()
local capteurp = ' '
local dooropen = 0
print("Vérification des capteurs...")
for cle, valeur in ipairs(capteurs) do
if otherdevices[valeur] == 'Open' then
capteurp = capteurp..' -> '..valeur..' '
dooropen = dooropen + 1
end
end
if (dooropen == 1) then
message = "Attention ! La porte :"..capteurp.."est ouverte"
return true
elseif (dooropen >= 2) then
message ="Attention ! Les portes :"..capteurp.."sont ouvertes"
return true
else
message = "Aucune portes ouvertes détecté"
return false
end
print(message)
end
*******************************************************************************************************************
--]]
devicechanged['MyDeviceName'] == 'On'
otherdevices['yourotherdevicename'] = "On"
otherdevices_lastupdate['yourotherdevicename'] = "2015-12-27 14:26:40"
otherdevices_svalues['yourotherthermometer'] = string of svalues
otherdevices_idx['yourotherdevicename'] retourne le numéro de device
uservariables['yourvariablename'] = 'Test Value'
uservariables_lastupdate['yourvariablename'] = '2015-12-27 11:19:22'
uservariablechanged['yourvariablename']
timeofday['Nighttime'] = true or false
timeofday['SunriseInMinutes'] = number
timeofday['Daytime'] = true or false
timeofday['SunsetInMinutes'] = number
globalvariables['MySecurityDevice'] = 'Disarmed', 'Armed Home' or 'Armed Away'
commandArray['MySecurityDevice'] = 'Arm Away' delai de 60s, 'Arm Home' delai 60s or 'Disarm'
commandArray['MyOtherDeviceName1']='On'
commandArray['MyOtherDeviceName2']='On'
commandArray['MyOtherDeviceName3']='Off'
commandArray['MyOtherDeviceName4']='On FOR 10' -- Passe à On pendant 10 minutes ou secondes ?
commandArray['MyOtherDeviceName5']='Off RANDOM 30' -- Off aleatoire pendant 30 minutes ou secondes ?
commandArray['MyOtherDeviceName6']='On REPEAT 5 INTERVAL 5' -- Repete la commande 5 fois toutes les 5 minutes ou secondes ?
commandArray['MyOtherDeviceName7']="On FOR 2 SECONDS REPEAT 9 INTERVAL 4 SECONDS" -- Passe un device a ON 9 fois toutes les 4 secondes
commandArray[#commandArray+1]={['MyOtherDeviceName1'] = 'On'}
commandArray['Scene:MyScene']='On'
commandArray['Group:MyGroup']='Off AFTER 30' -- Passe à OFF apres 30 minutes ou secondes ?
commandArray['SendNotification']='subject#body#extraData#priority#sound'
commandArray['OpenURL']='www.yourdomain.com/api/movecamtopreset.cgi'
commandArray['SendEmail']='subject#body#to'
commandArray['Variable:MyVar']='Some value'
commandArray['SetSetPoint:MySetPointIdx']='20.5'
commandArray['SendCamera:1'] = 'SubjectOfMessage AFTER 5' -- Envoie une image de la camera 1 avec comme sujet "Subject of Message" après 5 secondes. Le 1 est l'ID de la camera pas son nom.
commandArray['UpdateDevice']='idx|nValue|sValue' -- Mettre a jour un device. Ex: '96|0|Hello World'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
Re: Récupérer les valeurs des capteurs.
Merci à vous
Re: Récupérer les valeurs des capteurs.
Yes merci je prend pour enrichir ma bibliothèque, il y a avait des manqueslandaisbenj a écrit : Mais si ca peut aider aussi je laisse mon propre lexique:
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen