2 - Adicione um componente script-servidor em uma TAG que sempre esteje habilitada.
var dpDao = new com.serotonin.mango.db.dao.UserDao();
var dpVo = dpDao.getActiveUsers();
var usersCount = dpVo.size();
var html = "<table id=\"customers\"><tr><th>ID<\/th><th>Nome<\/th><th>Email<\/th><\/tr>";
var coun = 0;
for(var i = 0; i < usersCount ;i++)
{
coun = coun + 1;
var usr = dpDao.getUser(coun);
var id = usr['id'];
var nome = usr['username'];
var email = usr['email'];
html += "<tr>";
html += "<td>";
html += id;
html += "</td>";
html += "<td>";
html += nome;
html += "</td>";
html += "<td>";
html += email;
html += "</td>";
html += "</tr>";
}
return html;
Parabéns pela dica.
Estou a tentar reproduzir o script mas este esta a dar erro quando coloco as variáveis “username” e “emai” se deixar só a variável “id” esta não da erro. Parece-me que quando é uma variável que recebe texto da erro se for numérica não da erro.
Tens alguma ideia de qual será o problema? Vou tentar investigar um pouco se não conseguir resolver vou ter de arranjar o código fonte dessa versão, é que estou a desenvolver novo protocolo e tenho de passá lo para a versão 1.0.
Não sei dizer oque deve ser, eu imagino que seja em relação a versão do JAVA, a versão ScadaBR 1.0 CE utiliza JAVA 6, e a versão 1.1 do ScadaBR utiliza java 8, o código re-utilizado da versão 1.0 CE tem alguma dependência do JAVA 6 quando se trata do script-servidor.
Entendi, como você realiza a leitura de consumo na rede elétrica? Você utiliza a serial para se comunicar com algum hardware que realiza a leitura e responde na serial o consumo kWh instantâneo ou você utiliza um micro controlador com porta ethernet e serial para comunicação e um transformador de corrente? Explique um pouco mais …
A leitura é realizada directamente no contador de energia. Neste caso em particular os contadores de energia são electrónicos e possuem funções de Datalogger incorporadas internamente. Estes disponibilizam acesso a leituras de valores instantâneos e de histórico por intermédio de comunicação Serial ou Ethernet ligados directamente ao contador.
Para poder realizar essa leitura vasta possuir um sistema SCADA ou um Datalogger que tenha implementado o protocolo de comunicação do contador e é possível aceder as medições efectuadas por estes.
Não é necessário mais nenhum equipamento extra.
Testei o exemplo dado para versões de java 9 e 10 (Windows 10 + Tomcat 7 + (java 7, Java 9 e Java 10) e ScadaBR 1.1) o qual funcionou correctamente como podem ver nas imagens abaixo.
Quanto a invisibilidade conforme sabe, é uma ocorrência normal.
Com relação ao erro relatado, como você mesmo já informou, há uma incompatibilidade. Sendo que, como não utilizarei a herança da classe “UserDao”, substitui temporariamente as variáveis ( id, username e email ) por texto simples, somente para efeito de teste e como pode ver, funcionou.
Agora meu próximo passo, é saber como farei para adequar seus códigos, as minhas necessidades abaixo.
Obs.: Um último teste que acabei de fazer, também não tive nenhum problema em usar variáveis associadas a classe do DAO “PointValueDao”.