Page 1 sur 1
Séparer les valeurs d'un Device dans plusieurs capteurs virtuels
Publié : 27 mai 2018, 11:49
par Storpell
Salut tout le monde,
J'ai connecté une sonde d'humidité
https://www.tindie.com/products/miceuz/ ... re-sensor/ à un ESP8266
https://fr.aliexpress.com/item/D1-mini- ... 6c37fwCptw que j'ai flashé avec Easy ESP Mega.
Je cherche un moyen de séparer les valeurs reçues et de les envoyer dans un capteur virtuel (un pour chaque donnée) afin de les utiliser dans des scripts plus tard.

- Device
- Capture.PNG (21.79 Kio) Consulté 4296 fois
Voilà les données que j'ai dans domoticz : 0" je ne sais pas ce que c'est", "température";"humidité";"luminosité"
Merci pour votre aide.
Salutations
Steve
Re: Séparer les valeurs d'un Device dans plusieurs capteurs virtuels
Publié : 29 mai 2018, 17:33
par Le ptit Nicolas
Lorsque tu choisis un capteur virtuel de type Temp+Humidity+Baro, il te renvoie tout simplement la température °C, puis le pourcentage d'humidité et la pression en hPA, par exemple avec un BME280 : 20.8°C,51%,1014hPa
Après, je ne sais pas ce que renvoie ton capteur...
Re: Séparer les valeurs d'un Device dans plusieurs capteurs virtuels
Publié : 29 mai 2018, 18:36
par fredandrick65
Tu peux stocker les différentes valeurs de ton capteur avec un script genre celui-ci
Code : Tout sélectionner
-- script_time_Test.lua
--
local scipt_on = 'On' -- 'Off' ou 'On'
commandArray = {}
if scipt_on == 'On' then
Temp, Humi, hPa, JeSaisPas, PasPlus = otherdevices_svalues['Météo LNZ']:match("([^;]+);([^;]+);([^;]+);([^;]+);([^;]+)")
-- le nombre de ;([^;]+) dépendant du nombre de valeurs à stocker
print ( '__________________________',otherdevices_svalues['Météo LNZ'],Temp, Humi, hPa, JeSaisPas, PasPlus )
end
return commandArray
Re: Séparer les valeurs d'un Device dans plusieurs capteurs virtuels
Publié : 29 mai 2018, 20:24
par fredandrick65
une autre méthode
Code : Tout sélectionner
-- script_time_Test.lua
--
function split(str, pat)
local t = {} -- NOTE: use {n = 0} in Lua-5.0
local fpat = "(.-)" .. pat
local last_end = 1
local s, e, cap = str:find(fpat, 1)
while s do
if s ~= 1 or cap ~= "" then
table.insert(t,cap)
end
last_end = e+1
s, e, cap = str:find(fpat, last_end)
end
if last_end <= #str then
cap = str:sub(last_end)
table.insert(t, cap)
end
return t
end
local scipt_on = 'On' -- 'Off' ou 'On'
local couleur = "<font color='#a8dbe0'>"
commandArray = {}
print ( ' ',couleur..'__________________________ Debut script_time_Test __________________________'.."</font>")
if scipt_on == 'On' then
val = split(otherdevices_svalues['Météo LNZ'],';') -- Séparer les valeurs délimitées par ';'
for n in pairs(val) do
print (couleur..val[n].."</font>")
--[[ val[1] retourne la valeur 1
val[2] retourne la valeur 2
val[3] retourne la valeur 3
etc...
]]--
end
print ( couleur..'___________________________ Fin script_time_Test ___________________________'.."</font>",' ')
end
return commandArray
Re: Séparer les valeurs d'un Device dans plusieurs capteurs virtuels
Publié : 01 juin 2018, 08:14
par Storpell
Ok, merci.
Mais comment je fais pour affecter ces valeurs à des Virtual Sensors ?
Merci, bonne journée