Criar processos e automações do Connected Field Service
A solução Connected Field Service do Dynamics 365 permite que você monitore remotamente dispositivos habilitados para IoT para controlar o tempo de atividade, as estatísticas do dispositivo, as anomalias e muito mais. Depois que um dispositivo IoT comunica uma anomalia ou uma exceção, essas informações são enviadas ao Connected Field Service como um alerta. Após o alerta ser capturado, podemos usar a capacidade do Dynamics 365 de criar automação e processo empresarial para desenvolver processos automatizados para executar ações, roteamento e corrigir os problemas.
O objetivo deste laboratório prático é apresentar a você a criação e a automação de processos do Connected Field Service e demonstrar como esses itens podem ser usados como parte de uma solução geral de IoT.
Cenário
Você trabalha em uma empresa de encanamento e calefação que vende e oferece serviços relacionados a dispositivos domésticos inteligentes. Como vários dispositivos que você atende são dispositivos inteligentes, as informações desses dispositivos podem ser capturadas remotamente para ajudar na manutenção desse equipamento. Sua organização tem vários cenários e processos definidos que são usados ao fazer a manutenção de equipamentos. Esses processos podem variar de acordo com vários fatores, incluindo:
Tipo de dispositivo que precisa de serviço
Severidade do problema detectado
Idade do dispositivo
Local do dispositivo
Disponibilidade de recursos para trabalhar em um dispositivo específico
Os itens anteriores representam apenas uma pequena parte dos fatores que sua organização usa para determinar o processo para manutenção de equipamentos.
Ultimamente, você tem instalado muitos dispositivos de termostato inteligentes. Esses dispositivos foram úteis para conseguir rastrear as leituras de temperatura e de umidade em áreas em que é importante manter uma temperatura e uma umidade consistentes. Como você tem mais informações disponíveis, foi forçado a criar novos processos para tratar e resolver problemas relatados por esses dispositivos. A primeira área que você gostaria de focar é a automação do processo usado para problemas relativos à temperatura.
Sua organização busca implementar o processo a seguir:
Se um dispositivo detectar uma leitura de temperatura de mais de 70 graus, um alerta deverá surgir em seu ambiente do Connected Field Service.
Se a leitura da temperatura estiver entre 70 e 85 graus, um comando deverá ser enviado para redefinir remotamente o dispositivo e verificar se o problema é resolvido.
Se a leitura da temperatura estiver entre 86 e 100 graus, um representante de serviço deverá ser capaz de criar uma ocorrência para tentar resolver o problema.
- Se o representante de serviço não conseguir resolver o problema, uma ordem de serviço deverá ser criada e um técnico no local deverá ser agendado para o item.
Se a leitura da temperatura for superior a 100 graus, será considerado um evento potencialmente catastrófico. Uma ordem de serviço deve ser criada e um técnico no local deve ser agendado para o item.
Exercício: automatizar e personalizar
Antes de começar: este exercício presume que você já tenha uma implantação conectada do Connected Field Service que está conectada a um Hub IoT do Azure ou uma instância do IoT Central. Se você não tiver um ambiente do Connected Field Service disponível, será recomendável executar o módulo Introdução ao Connect Field Service. Esse módulo ajuda a instalar e configurar um ambiente Connected Field Service.
Tarefa: criar uma solução do processo de alerta de IoT
Na primeira tarefa, criamos uma solução Dynamics 365 que podemos usar para armazenar todas as personalizações e processos que criamos neste módulo. Isso não apenas facilita o transporte potencial das personalizações posteriormente, mas também auxilia na limpeza de nossos ambientes após a conclusão do curso.
Acesse o Power Apps e verifique se está no ambiente certo.
Selecione Soluções e, depois, Nova Solução.
Nomeie a solução como Processos de Alerta de IoT.
Selecione a lista suspensa Editor e Editor.
Configure o Editor da maneira a seguir.
Nome de Exibição: Curso de Connected Field Service
Nome: Curso sobre o Connected Field Service
Prefixo: cfs
Selecione Salvar.
Selecione a lista suspensa Editor e selecione o editor que você criou.
No campo Versão, insira 1.0.0.0. e selecione Criar.
Selecione para abrir a solução Processo de Alerta de IoT que você criou.
Selecione Adicionar Existente e Tabela.
Selecione Caso, Alerta de IoT e Ordem de Serviço e, depois, Avançar.
Selecione Incluir Todos os Objetos para todas as três tabelas e selecione Adicionar.
Tarefa: personalizar a tabela de alerta de IoT
Para ajudar a automatizar itens e ações com base em alertas de IoT, precisamos ser capazes de extrair informações específicas para alertas de IoT gerados. Podemos consultá-los e disparar itens com base nesses dados. Como os dados de alerta contêm apenas uma cadeia de caracteres JSON que contém todos os dados, precisamos criar alguns outros campos na tabela de alerta de IoT. Podemos usá-la para enviar dados específicos e criar consultas nesses campos.
Verifique se você ainda está na solução de Processos de Alerta de IoT.
Selecione para abrir a tabela Alerta de IoT.
Selecione a guia Colunas e Nova Coluna.
Insira Leitura para o Nome de Exibição, selecione o Número Inteiro para o Tipo de Dados e selecione Opções Avançadas.
Insira 0 para o Valor Mínimo, 250 para o Valor Máximo e selecione Salvar.
Repita o processo para adicionar estas colunas:
Limite
Nome de Exibição: Limite
Tipo de dados: Número Inteiro
Valor Mínimo: 0
Valor Máximo: 250
ReadingType
Nome de Exibição: Tipo de Leitura
Tipo de Dados: Sim/Não
Altere o valor Não para Temperatura
Altere o valor Sim para Umidade
Escolha padrão: Temperatura
Saída de Regra
Nome de Exibição: Saída de Regra
Tipo de Dados: Linha de Texto Única
Cliente
Nome de Exibição: Cliente
Tipo de Dados: Pesquisa
Tipo de Registro de Destino: Conta
Usando a navegação estrutural, selecione Alerta de IoT.
Selecione Relacionamentos em Esquema.
Selecione Novo Relacionamento e Um para Muitos.
Selecione Caso para a Entidade Relacionada, insira Alerta de IoT para Nome de Exibição da Coluna de Pesquisa e selecione Concluído.
Selecione o nome das soluções.
Selecione Publicar todas as personalizações e aguarde o término da publicação.
Selecione o botão ... e selecione Alternar para clássico.
Expanda Entidades, expanda a entidade de Alerta de IoT e selecione Relacionamentos 1:N.
Selecione Mapeamentos e Novo.
Configure o mapeamento da lista da maneira a seguir e selecione OK.
Campo de Entidade de Origem: cfs_customer
Campo de Entidade de Destino: customerid
Selecione Salvar e Fechar.
Selecione Publicar todas as personalizações e aguarde o término da publicação.
Feche o gerenciador de soluções.
Tarefa: criar um fluxo para popular valores
Agora que temos campos disponíveis para armazenar os dados necessários, precisamos preencher esses campos com os dados corretos. Para isso, estamos usando algumas das ações de valor de campo com base em JSON incluídas na solução Connected Field Service. Criamos um fluxo que executa uma ação de valor de campo com base em JSON para extrair dados específicos do campo de dados de alerta. Em seguida, populamos esses dados em um dos campos que criamos na tarefa anterior.
Acesse o Power Apps e verifique se está no ambiente certo.
Selecione Soluções e selecione para abrir a solução Processos de Alerta de IoT.
Selecione Novo e Automação>Fluxo da Nuvem>Automatizado.
Defina o Nome do Fluxo como Preencher os Campos de Alerta.
Pesquise Microsoft Dataverse e selecione Dataverse. Verifique se você selecionou o Conector Dataverse Verde.
Selecione Quando um Registro é Criado, Atualizado ou Excluído e, em seguida, selecione o botão Criar.
Selecione Adicionado para Condição de Gatilho, Alertas de IoT para Nome da Tabela, selecione Organização para Escopo e selecione Nova Etapa.
Procure Analisar e selecione Analisar Json.
Selecione o campo Conteúdo e selecione Alert Data no painel Conteúdo Dinâmico.
Cole esse esquema Json no campo Esquema e selecione + Nova Etapa.
{ "type": "object", "properties": { "deviceid": { "type": "string" }, "readingtype": { "type": "string" }, "reading": { "type": "integer" }, "eventtoken": { "type": "string" }, "threshold": { "type": "integer" }, "ruleoutput": { "type": "string" }, "time": { "type": "string" } } }
Pesquise Atualizar uma Linha e selecione Atualizar uma Linha. Verifique se você selecionou o Conector Dataverse Verde.
Renomeie a etapa Atualizar Alerta.
Selecione Alertas de IoT para Nome da Entidade, selecione o campo ID da Linha e selecione IoT Alert no painel Conteúdo Dinâmico.
Selecione Mostrar Opções Avançadas.
Selecione o campo Reading e selecione reading na etapa Analisar JSON do conteúdo dinâmico.
Selecione o campo Tipo de Leitura e selecione Inserir valor personalizado.
Selecione a guia Expressão, cole essa expressão abaixo e selecione OK. Verifique se Parse_JSON corresponde ao nome de etapa de análise do JSON.
if(equals(body('Parse_JSON')?['readingtype'], 'Temperature'), false, true)
Selecione o campo Saída da regra e selecione ruleoutput na ação Analisar JSON no painel de conteúdo dinâmico.
Selecione o campo Limite e selecione limite na ação Analisar JSON no painel de conteúdo dinâmico.
O fluxo concluído deve ser semelhante a esta imagem:
Selecione Salvar.
NÃO feche esta página.
Tarefa: adicionar as etapas de fluxo de redefinição remota
Agora que extraímos os dados corretos e os colocamos nos campos corretos, precisamos adicionar novas etapas ao fluxo. Essas etapas determinam o valor da temperatura no campo de leitura. Se cair entre 71 graus e 85 graus, ele deverá criar automaticamente um comando de dispositivo IoT que executará uma redefinição do dispositivo e o enviará ao dispositivo.
Volte para o fluxo e selecione Nova Etapa.
Selecione Condição.
Selecione o campo Escolher Valor e selecione Reading na etapa Atualizar Alerta no Conteúdo dinâmico.
Selecione é maior ou igual a.
Digite 71 para Valor, selecione Adicionar e selecione Adicionar linha.
Selecione o campo Escolher Valor e selecione Reading na etapa Atualizar Alerta no Conteúdo Dinâmico.
Selecione É menor ou igual a.
Digite 85 para Valor.
Sua condição agora deve ser semelhante a esta imagem.
Vá para a ramificação Sim e selecione Adicionar uma Ação.
Pesquise Adicionar uma nova linha e selecione Adicionar uma nova linha-.
Renomeie a etapa Criar comando de redefinição.
Selecione Comandos do Dispositivo IoT para Nome da Tabela, selecione o campo Nome e Description na ação Quando um registro é criado, atualizado ou excluído no conteúdo dinâmico.
Adicione Redefinição de Dispositivoao Nome e selecione Mostrar Opções Avançadas.
Selecione o campo Ativo de Cliente e digite msdyn_customerassets().
Coloque o cursor entre ( e ) e selecione Customer Assets (Value) na ação Quando o registro é criado, atualizado ou excluído no conteúdo dinâmico.
Selecione o campo Dispositivo e digite msdyn_iotdevices().
Coloque o cursor entre ( e ) e selecione IoT Device (Value) na ação Quando o registro é criado, atualizado ou excluído no conteúdo dinâmico.
Selecione o campo Alerta Primário e digite msdyn_iotalerts().
Coloque o cursor entre ( e ) e selecione IoT Alert na ação Atualizar Alerta no conteúdo dinâmico.
Cole este JSON no campo Mensagem.
{"CommandName":"Reset Thermostat","Parameters":{}}
Selecione Ocultar Opções Avançadas.
Selecione Adicionar uma Ação.
Pesquise Atualizar uma Linha e selecione Atualizar uma Linha.
Renomeie a etapa Desativar Alerta.
Selecione Alertas de IoT para Nome da Tabela, selecione o campo ID de Registro e selecione IoT Alert na ação Atualizar alerta no Conteúdo Dinâmico.
Selecione Mostrar Opções Avançadas.
Localize o campo Status e defina-o como Inativo.
Selecione Ocultar Opções Avançadas.
A nova parte do fluxo deve ser semelhante à imagem.
Selecione Salvar.
Tarefa: modificar o CFS - fluxo do processo de alerta de IoT
No momento, estamos usando outro fluxo do processo empresarial chamado CFS – Fluxo de Processo de Alerta de IoT para orientar os usuários na resolução de um alerta quando ele é disparado. Quando uma leitura de temperatura estiver entre 86 graus e 100 graus, no processo empresarial, devemos criar um registro de caso. Em seguida, criaremos uma ordem de serviço se não conseguirmos resolver o caso. Se a leitura da temperatura está acima de 100 graus, o processo empresarial deve ignorar o estágio de ocorrência e ir diretamente para uma ordem de serviço. Nesta tarefa, estamos modificando o CFS – Fluxo do Processo de Alerta de IoT para refletir essas necessidades específicas.
Acesse o Power Apps e verifique se está no ambiente certo.
Selecione Soluções e selecione para abrir a solução Processos de Alerta de IoT.
Selecione Adicionar Existente e Automação>Processo.
Procure por CFS, selecione CFS - Fluxo de Processo de Alerta de IoT e selecione Adicionar.
Abra CFS - Fluxo do Processo de Alerta de IoT.
Selecione o botão Desativar para desativar o processo.
Confirme a desativação.
Expanda Detalhes no estágio Alerta de IoT Criado.
Em Componentes, arraste Etapa de dados abaixo da etapa Hora do Alerta.
Configure a Etapa de Dados da seguintes maneira:
Nome de Etapa: Leitura
Campo de Dados: Leitura
Selecione Aplicar para salvar suas alterações.
Repita as etapas 9 a 11 para adicionar as seguintes Etapas de Dados ao estágio Alerta de IoT Criado:
Limite
Tipo de Leitura
Saída de Regra
Selecione a guia Componentes, arraste o componente Condição para a direita do estágio Alerta de IoT Criado.
Em Nome de Exibição de Condição, insira Condição de Temperatura.
Configure a Regra 1 da seguinte forma:
Campo: Leitura
Operador: É maior ou igual a
Tipo: Valor
Valor: 86
Selecione o botão Novo para adicionar outra regra.
Configure a Regra 2 da seguinte forma:
Campo: Leitura
Operador: É menor ou igual a
Tipo: Valor
Valor: 100
Verifique se a Lógica da Regra está definida como And.
Selecione Aplicar
Selecione o estágio Condição de temperatura, selecione o ícone Conector e, no menu que aparecer, selecione Reconectar.
Selecione o estágio Criar Ordem de Serviço como Segundo Ponto.
O fluxo do processo empresarial agora deve ser semelhante à imagem:
Selecione Salvar e Ativar o CFS – Fluxo de Processo de Alerta de IoT.
Feche a guia ou janela do navegador do editor de processo.
Selecione Concluído na janela anterior para a solução.
Selecione Soluções e, depois, Publicar Todas as Personalizações.
Tarefa: testar a automação recém-criada
Agora que podemos criar as personalizações, os fluxos e os fluxos do processo empresarial necessários, usamos um simulador para testar tudo e garantir que execute a funcionalidade desejada.
Acesse o Power Apps e verifique se está no ambiente certo.
Selecione Ativos de Cliente e o botão Novo.
Insira Iniciar termostato para Nome, selecione Adventure Works para a Conta e Salvar.
Localize o campo ID do dispositivo, insira smt-9876 e Salve.
Selecione Registrar Dispositivos.
Selecione OK.
Em um navegador da Web, selecione uma guia nova e navegue até o portal do Azure (entre no Azure, se for solicitado. Você precisa de uma assinatura do Azure associada à conta que está usando).
Selecione Grupos de Recursos e abra seu grupo de recursos.
Abra o Hub IoT que você está usando com o Connected Field Service e selecione o Simulador
Selecione a URL do simulador para abrir o simulador de termostato (o simulador deve ser aberto em uma nova guia).
No simulador, selecione Conexão.
Alterne para a sua assinatura do Azure, feche a tela de serviço de aplicativo do simulador.
Abra o Hub IoT.
Realce o Nome do Hub IoT e Copie.
Alterne para a tela do simulador e cole o nome do Hub IoT no campo Host.
Alterne para a sua assinatura do Azure; selecione Políticas de Acesso Compartilhado.
Abra a políticaiothubowner e copie a Chave primária.
Alterne para a tela do simulador e cole a chave primária no campo Chave.
Selecione o botão Conectar.
Selecione o botão Atualizar para garantir que todos os dispositivos registrados estejam disponíveis.
No menu suspenso Selecionar um dispositivo, selecione o dispositivo smt-9876. (Um ponto verde deve aparecer ao lado do botão Atualizar e, após alguns segundos, ele deve começar a transmitir informações.)
No Controle Deslizante de Temperatura, defina como 75Grause aguarde até o status da temperatura ser registrado na janela Mensagens Enviadas.
Como a temperatura está entre 71 e 85 graus, um comando é enviado ao dispositivo para reiniciá-lo. (Pode levar alguns minutos para o comando reinicializar ser enviado ao dispositivo, dependendo da velocidade da internet.)
Alterne para a guia do navegador com Connected Field Service carregado.
Selecione Alertas de IoT.
Alterne para exibir em Alertas de IoT Inativos.
Abra o alerta A temperatura de 75 excedeu um limite de 70.
Selecione a guia Comandos. (Você deve ver um comando que foi enviado para o dispositivo.)
Alterne para a guia do navegador da Web que contém o seu Simulador.
Defina a Temperatura como 90 Graus e aguarde para que isso seja registrado na janela Mensagens Enviadas.
Alterne para a guia do navegador com Connected Field Service carregado.
Selecione Alertas de IoT.
Abra o alerta A leitura de temperatura de 90 excedeu um limite de 70.
Selecione o estágio Criado. (Observe que as informações que extraímos anteriormente estão sendo exibidas e, como a leitura está entre 86 e 100 graus, criar uma ocorrência é o próximo estágio.)
No Menu, selecione Enviar Comando.
Selecione Alternar para Json.
Insira o código abaixo para o comando e selecione Enviar.
{"CommandName":"Reset Thermostat","Parameters":{}}
Alterne para o seu Simulador e aguarde até que o dispositivo seja reiniciado.
No Controle Deslizante de Temperatura, defina como 106Grause aguarde até o status da temperatura ser registrado na janela Mensagens Enviadas.
Alterne para a guia do navegador com Connected Field Service carregado.
Selecione Alertas de IoT.
Abra o alerta a leitura de temperatura de 106 excedeu um limite de 70.
Como o alerta estava acima de 100 graus, ele ignorou totalmente o estágio Criar Ocorrência.