Boa tarde!
Tenho a seguinte situação:
- Dispositivo 1, localizado na cidade 1;
- Dispositivo 2, localizado na cidade 2;
- Dispositivo 3, que lê a temperatura da cidade 1 e da cidade 2 ao mesmo tempo, com atributos chamados “temperatura_cidade1” e “temperatura_cidade2”
Em um dashboard comum aos 3 dispositivos, tenho um custom HTML que mostra tal temperatura.
Existe alguma forma de o atributo lido mudar de acordo com o context (deviceId)? Através de uma tag, por exemplo…
Tentei algo do tipo:

em que se a tag retornasse “cidade1”, mostraria a temperatura da cidade1 e o mesmo aconteceria para o caso da “cidade2”. Aparentemente isso não funciona.
Poderiam dar alguma ideia?
Agradeço!
1 curtida
Boa tarde!
Sim, é possível ter mais variáveis de contexto.
Elas poderiam ser as três cidades.
Outra ideia seria ter a cidade em uma TAG do seu dispositivo. Aí você pode acessar ela e alterar conforme desejado.
Importante:
Não se esqueça de selecionar esta caixa. Desta forma as TAGs e informações do Device ficam disponíveis:
Olá! Agradeço a resposta. O problema é que, ao adicionar um dataset/query a ser lido no custom HTML, o atributo retornado é fixo.

Ou seja, se eu mudar o context para o dispositivo referente à cidade 2, ainda estará sendo lido o atributo “temperatura_cidade1”. O que procuro é uma forma de mudar esse atributo lido de acordo com o context de outro dispositivo. Por exemplo:
se o deviceId-0 possuir a tag “cidade = cidade1”, o query de deviceId-2 deve ser “temperatura_cidade1”. Caso o deviceId-0 seja o dispositivo cuja tag é “cidade = cidade2”, o query de deviceId-2 deve ser “temperatura_cidade2”.
1 curtida
Boa tarde Cesar, tudo bem?
Uma boa prática da Plataforma é sempre definirmos o nome do atributo de forma genérica, para que possamos realizar as consultas de context de forma mais eficiente.
Por favor, tente mudar o nome do seu atributo e ao invés de “temperatura_cidade1” para o device 1 e “temperatura_cidade2” para o device 2, nomeie os atributos de forma genérica como :
“temperatura_cidade”
Dessa forma o atributo irá mudar conforme o ctx.deviceId usado.
Espero poder ter contribuído 
Olá César!
Fiz um exemplo com três devices num só dashboard.
Conforme o @jfiorin comentou, eu mantive o mesmo nome do atributo para todos os devices.
Este atributo é o “cidade” e carreguei os três valores diferentes para cada Dispositivo conforme figura abaixo:
No dashboard cada objeto terá o contexto diferente (para direcionar ao Dispositivo) mas terá o atributo igual:
Veja abaixo que, se eu “passar” um Dispositivo diferente para o primeiro contexto (ctx.deviceId-0), ele irá trazer o valor do atributo do outro Dispositivo, como esperado:
Como o Device RUW100 não tinha nada em “cidade” retornou “n/a”
Agora para a Experiência de Usuário, veja como defini o acesso a este Dashboard:
Padrão, criei a Page, porém, ao “apontar” para este dashboard a plataforma já me sugere as três vairáveis de contexto. Então, criei os três parâmetros para poder inserir via *query" as três variáveis.
Depois, foi criado um endpoint para acessar a página
Agora na Experiência de usuário, conforme eu for passando estes parâmetros via variáveis de contexto, eu posso mostrar na tela.
Veja no exemplo abaixo, eu “passei invertidos” os *device IDs" dos três devices e o dashboard mostrou invertido, conforme esperado:
1 curtida
@jfiorin e @Alexandre obrigado pelas dicas esclarecedoras! Já estou as aplicando, porém, minha situação não é diretamente resolvida.
Apenas para exemplificar:
- Tenho um context fixo, referente ao dispositivo que lê temperaturas de várias cidades;
- Este dispositivo possui os atributos temperatura_Joinville e temperatura_Curitiba;
- Tenho um dispositivo com a tag “cidade” = Joinville e outro com “cidade” = Curitiba.
Em um bloco HTML, eu posso simplesmente fazer um query para temperatura_Joinville e um query para temperatura_Curitiba. Então, no código, poderia colocar um condicional simples, em que se o context apontar o device que possui a tag “cidade” = Joinville, seria lido temperatura_Joinville e o mesmo para o outro caso.
Porém, se eu tiver 100 dispositivos em cidades diferentes, seria forçado a fazer 100 queries e adicionar mais de 100 linhas em cada código. Por isso a pergunta: é possível fazer um só query, em que o attribute/dataset lido mude de acordo com um outro context?