Séparer les valeurs d'un Device dans plusieurs capteurs virtuels

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Storpell
Messages : 2
Inscription : 27 mai 2018, 11:33

Séparer les valeurs d'un Device dans plusieurs capteurs virtuels

Message 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
Device
Capture.PNG (21.79 Kio) Consulté 4297 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
Le ptit Nicolas
Messages : 92
Inscription : 24 janv. 2017, 14:21
Localisation : 31
Contact :

Re: Séparer les valeurs d'un Device dans plusieurs capteurs virtuels

Message 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...
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi ! Les Shadocks
fredandrick65
Messages : 121
Inscription : 23 avr. 2016, 20:45

Re: Séparer les valeurs d'un Device dans plusieurs capteurs virtuels

Message 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
Domoticz V3.8153 sur Synology DS3615xs DSM 5.2-5967 Update 3
RFLink_v1.1_r46 (433.92 & 433.42 Mhz)
Sonde Oregon THGR810-Prise Everspring-OWL CM180
Humidité du sol Opus XT300-Sondes Oregon pour les nuls V2

Les non-dit font les pires malentendus ! ;)
fredandrick65
Messages : 121
Inscription : 23 avr. 2016, 20:45

Re: Séparer les valeurs d'un Device dans plusieurs capteurs virtuels

Message 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
Domoticz V3.8153 sur Synology DS3615xs DSM 5.2-5967 Update 3
RFLink_v1.1_r46 (433.92 & 433.42 Mhz)
Sonde Oregon THGR810-Prise Everspring-OWL CM180
Humidité du sol Opus XT300-Sondes Oregon pour les nuls V2

Les non-dit font les pires malentendus ! ;)
Storpell
Messages : 2
Inscription : 27 mai 2018, 11:33

Re: Séparer les valeurs d'un Device dans plusieurs capteurs virtuels

Message par Storpell »

Ok, merci.

Mais comment je fais pour affecter ces valeurs à des Virtual Sensors ?

Merci, bonne journée
Répondre