Aller au contenu

Champs "Étiquette" et "ID" d'un bouton de VD.


DoR.Technique

Messages recommandés

Bonjour,

 

Question bête surement !!!

y a t il moyen de récupérer les valeurs  des champs "Étiquette" et "ID" d'un bouton de VD.

 

Dans mon cas, j'aimerais récupérer en variables "1-Jazz" et "Radio1"

J'ai trouve pour les label d'étiquettes ajoutée, genre label1 , mais cela ne fonctionne pas dans mon cas pour ces deux infos

Exemple: local toto = fibaro:getValue(fibaro:getSelfId(), "ui.Radio1.value") ne fonctionne pas et renvoie une valeur de toto vide.

 

 

Que faire ?

 

:13:

 

 

 

image.png.2b78966653dce3de2939af43b86299a4.png

Modifié par DoR.Technique
Lien vers le commentaire
Partager sur d’autres sites

Voici mon code:

 

local Cmd1 = "SLI28"
local Cmd2 = "NPR01"
local Cmd3 = "MVL28"

local _deviceIp = fibaro:get(fibaro:getSelfId(), "IPAddress");
local _devicePort = fibaro:get(fibaro:getSelfId(), "TCPPort");
local _maxRetryProcess = 5;

local MyLabel = fibaro:get(fibaro:getSelfId(), "ui.Radio1.value")
fibaro:debug("ML" .. MyLabel) --Affichache de la valeur de l'étiquette

local function _process(retry)
     retry = retry or 0;
     --open the socket

 

image.png.a58c5233a02c50d113df44ad3156eba0.png

 

Lien vers le commentaire
Partager sur d’autres sites

Avec la fonction suivante, il est possible de récupérer les champs "Étiquette" et "ID" d'un bouton de VD comme demandé initialement.

function btnNameAndCaption(btnId)
	if btnId == nil then btnId = _elementID_; end
	local myDevice = api.get("/devices/"..fibaro:getSelfId());
	for _, row in pairs(myDevice.properties.rows) do
		if row.type == "button" and row.elements then
			for _, btn in pairs(row.elements) do
				if btn.id == btnId then
					return btn.name, btn.caption;
				end
			end
		end
	end
	fibaro:debug("unknown button;");
end

local btnName, btnCaption = btnNameAndCaption();
fibaro:debug("BtnId=".._elementID_..", ID="..btnName..", Étiquette="..btnCaption);

 

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...