Automatizar o Connected Field Service

Concluído

Após a geração de um alerta de IoT no CFS, você precisa identificar o próximo plano de ação. O próprio registro de alerta de IoT contém várias informações, incluindo o tipo de alerta, tempo, Identificação do dispositivo e dados de alerta. O campo Alert Data consiste em dados JSON que contêm os detalhes específicos do evento. Os dados incluídos variam de acordo com o dispositivo. As informações no campo Dados de alerta determinam, de modo geral, a próxima etapa específica a ser executada. Ao começar a criar automações nas próximas etapas, é importante compreender quais ferramentas e informações estão disponíveis e como essas ferramentas permitem que você atinja sua meta.

Uma forma de simplificar o tratamento de Alertas é definir como eles são agrupados quando os alertas são disparados. Por padrão, alertas semelhantes são agrupados com base no Dispositivo que disparou o alerta. No entanto, algumas vezes, pode fazer sentido adicionar uma camada de agrupamento adicional. Por exemplo, uma organização pode decidir agrupar alertas por dados relacionados, como categoria do dispositivo, conta ou ativo do cliente.

Essas configurações estão disponíveis em Configurações - Configurações de IoT -Regras de agregação de alerta. As Agregações de alerta podem ser definidas com base no Alerta de IoT, no Dispositivo relacionado ou no Ativo do cliente relacionado.

Trabalhar com dados de alerta

Pronta para uso, a solução Connected Field Service contém várias ações e fluxos de trabalho que podem ser usados para ajudar na automatização de itens como criar e registrar dispositivos e popular dados relevantes em registros.

Algumas das principais ações relacionadas a Alertas de IoT incluem:

Nome de exibição Descrição
JSON-Based Field Value ‒ Get Number Ler uma propriedade numérica no objeto JSON especificado.
JSON-Based Field Value ‒ Obter Cadeia de Caracteres Ler uma propriedade da cadeia de caracteres no objeto JSON especificado.
JSON-Based Field Value ‒ Obter Booliano Ler uma propriedade booliana no objeto JSON especificado.

Os dados no campo Alert Data estão no formato JSON. O texto a seguir representa um exemplo do que é passado para o campo Alert Data quando um Alerta de IoT é gerado.

{"deviceid":"smt-1298","readingtype":"Temperature","reading":113,"eventtoken":"c802338d-60f2-4a79-b45c-e164e2191ce0","threshold":70,"ruleoutput":"AlarmTemp","time":"2018-09-06T15:58:08.964Z"}

Em geral, você não pode usar diretamente o conteúdo do campo Alert Data, porque talvez deseje consultar com base em uma das propriedades, não todas elas. Primeiro, analise os parâmetros relevantes com os quais você deseja trabalhar. Assim, poderá usá-los para direcionar consultas e acionar as próximas etapas.

Se analisarmos a cadeia de caracteres JSON, veremos que ela comunica estes parâmetros e valores:

Parâmetro Valor
deviceid Smt-1298
readingtype Temperature
leitura 113
eventtoken c802338d-60f2-4a79-b45c-e164e2191ce0
threshold 70
ruleoutput AlarmTemp
time 06/09/2018 06:58:08 AM

Para analisar o parâmetro específico que você pode precisar da cadeia de caracteres JSON, você pode usar uma das ações de JSON-Based Field Value.

As ações JSON-Based Field Value contêm os seguintes parâmetros:

Parâmetro Tipo Descrição
JSON Entrada O objeto JSON a ser examinado. (Nesse caso, o campo Alert Data)
PropertyPath Entrada Nome da propriedade ou caminho do valor como pronto. (Diferencia maiúsculas de minúsculas)
DefaultReturnValue Entrada Valor padrão a ser retornado se a propriedade especificada não for encontrada.
Resposta Resultado O valor da resposta para a propriedade especificada.

Dependendo da ação Valor de campo baseado em JSON que você especificar, o Parâmetro de resultado poderá ser uma cadeia de caracteres (Cadeia de caracteres) de texto, um valor numérico (Número) ou um valor booliano (Booliano).

Por exemplo: se você costumava usar a ação JSON - Based Field Value - Get Number para extrair o valor de leitura desta cadeia de caracteres JSON de Alert Data:

{"deviceid":"smt-1298","readingtype":"Temperature","reading":113,"eventtoken":"c802338d-60f2-4a79-b45c-e164e2191ce0","threshold":70,"ruleoutput":"AlarmTemp","time":"2018-09-06T15:58:08.964Z"}

Pode ter a aparência da seguinte tabela:

Parâmetro Valor
JSON Alert Data (Nome de Campo)
PropertyPath lendo
DefaultReturnValue 70 (Representa o limite atual de temperatura)
Valor 113

O valor representa o valor que é retornado pela ação, que nesse caso é 113, porque esse é o valor associado à propriedade "reading". O objetivo pelo qual usamos a ação Get Number é passar o valor para um campo numérico e usar as opções de consulta numérica no valor para determinar o que fazer com o item.

Aplicação prática

Agora, vejamos uma aplicação prática desse conceito.

Vamos supor que temos um termostato inteligente que está registrado como um Dispositivo de IoT. Se a leitura no alerta exceder 70 graus, um Alerta de IoT será gerado no CFS.

  • Se a leitura do dispositivo estiver entre 70 e 85 graus, o Connected Field Service enviará automaticamente um comando ao dispositivo para reinicializá-lo.

  • Se a leitura do dispositivo for maior que 85 graus, solicite que um técnico realize a solução de problemas manual.

Podemos fazer isso criando um fluxo de trabalho que:

  • Primeiro, executa a ação JSON -Based Field Value – Get Number para capturar o valor da propriedade “reading”.

  • Depois, grava o valor de saída, retornado a um campo personalizado no registro de Alerta de IoT, como Leitura do dispositivo.

  • Outro fluxo de trabalho pode ser disparado na atualização do campo de Leitura do dispositivo, que executa as seguintes ações:

    • Se o campo Leitura do dispositivo estiver entre 70 e 85 graus: ele criará um Comando relacionado ao Alerta de IoT que envia um comando de redefinição ao dispositivo.

    • Se o campo Leitura do dispositivo for maior que 85 graus, o fluxo de trabalho terminará com o status bem-sucedido.

Importante

Embora a solução Connected Field Service inclua os fluxos de trabalho e ações mencionados acima, muitas organizações não usam a funcionalidade de Fluxo de Trabalho do Dynamics 365. Como fornece flexibilidade e uma seleção maior de serviços com os quais pode trabalhar, muitas organizações usarão o Power Automate para analisar o JSON.

Usar o Power Automate

Esse mesmo conceito pode ser usado com o Power Automate. Em vez de usar as ações personalizadas de valor de campo com base em JSON, podemos usar a ação Analisar JSON no fluxo. Quando você disparar a ação Analisar JSON, o JSON do campo Alert Data será analisado em Propriedades individuais. O esquema deve ser definido para que o comando saiba como analisar os dados. As cargas de exemplo do Alerta de IoT podem ser usadas para gerar o Esquema.

Na imagem, utilizamos a mesma cadeia de caracteres JSON incluída em um Alerta de IoT para criar o Esquema:

{"deviceid":"nest1234","readingtype":"Temperature","reading":80,"eventtoken":"cfd5e690-ee88-4ca8-a75d-3b86ac61295c","threshold":70,"ruleoutput":"AlarmTemp","time":"2019-10-19T16:42:26.457Z"}

Você pode ver que ele criou várias propriedades que representam cada item passado no JSON, como deviceid, readingtype, reading etc.

Captura de tela de várias propriedades que representam cada item passado no JSON.

Depois que os dados são analisados, eles podem ser usados para preencher outros campos no Alerta de IoT como fizemos com o fluxo de trabalho. Agora, cada propriedade pode ser usada como conteúdo dinâmico em qualquer etapa futura no fluxo.

Captura de tela dos campos de dados preenchidos no Alerta de IoT.

Se tivéssemos que examinar novamente nosso exemplo de termostato inteligente, poderíamos obter o mesmo resultado criando um fluxo no Power Automate que executa as seguintes ações:

  • Primeiro, o fluxo é executado quando um novo registro de Alerta de IoT é criado.

  • A ação Analisar JSON é executada para analisar o JSON em propriedades individuais.

  • Em seguida, o fluxo atualiza o registro de Alerta de IoT com o valor de saída de uma das propriedades retornadas. Por exemplo, a propriedade Reading é usada para atualizar o campo Leitura do dispositivo.

  • Outro fluxo pode ser disparado na atualização do campo Leitura do dispositivo que executa as seguintes ações:

    • Se o campo Leitura do dispositivo estiver entre 70 e 85 graus: ele criará um Comando relacionado ao Alerta de IoT que envia um comando de redefinição ao dispositivo.

    • Se o campo Leitura do dispositivo estiver acima de 85 graus, o fluxo de trabalho será concluído com o status bem-sucedido.