Estados das baias fornecidos aparecem com tipo de conector, potência nominal, potência real de carregamento e estimativas de tempo restante. Disponibilidade explícita e recente conta como livre, enquanto estimativas de término decorrido mantêm os estados das baias inalterados. Leituras desconhecidas ou obsoletas permanecem marcadas como tais. Tratamento Primetime traz entradas escalonadas dos blocos, linhas lentas de pedestal e cabo e contornos de falhas contidos.
Cartão ao vivo
Categoria: Operações. Tags: Números e métricas, Filas e esperas, Saguões e recepções.
Layouts
Este cartão em tela cheia preenche toda a tela em paisagem ou retrato e não é colocado como canto, chip ou faixa.
Layouts: cheio. Formas: paisagem, retrato.
Layouts, temas e publicação de cartões. Veja os cartões.
Dados e privacidade
Este cartão usa suas propriedades configuradas e dados ao vivo do cartão.
Estados da baía e telemetria de carregamento; não é necessário identificar motorista ou veículo.
Propriedades
Para tema, fundo, destaque e posição, veja Propriedades comuns.
Defina as propriedades estáticas nos params do cartão ao criá-lo. O documento de dados dele contém apenas propriedades dinâmicas. Linhas aninhadas descrevem o conteúdo da propriedade pai.
Propriedades estáticas
| Nome | Tipo | Padrão | Valores e limites | Descrição |
|---|---|---|---|---|
staleMinutes | integer | 5 | mínimo: 1; máximo: 1440 | |
perPage | integer | 12 | mínimo: 4; máximo: 24 | |
pageSeconds | integer | 12 | mínimo: 8; máximo: 120 | |
backgroundColor | string, nulo | null | padrão: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Substitui o fundo e a placa do cartão por uma cor plana ordenada por CSS. #RRGGBBAA fornece opacidade. background none tem precedência. |
textColor | string, nulo | null | padrão: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Substitui as cores do texto principal e secundário. As cores de destaque e status semântico mantêm seus papéis. |
Propriedades dinâmicas
| Nome | Tipo | Padrão | Valores e limites | Descrição |
|---|---|---|---|---|
title | string | "EV charging bays" | maxLength: 100 | |
site | string | "" | maxLength: 120 | |
updatedAt | string | "" | maxLength: 64 | |
note | string | "" | maxLength: 240 | |
bays | array | [] | maxItems: 120 | Estados explícitos da baia. Apenas um estado disponível e recente conta como livre; uma estimativa expirando nunca libera uma baia. O primeiro ID duplicado vence. |
bays[].id | string | minLength: 1; maxLength: 48; Obrigatório | ||
bays[].name | string | minLength: 1; maxLength: 80; Obrigatório | ||
bays[].status | string | "available", "charging", "occupied", "reserved", "offline", "fault", "unknown"; Obrigatório | ||
bays[].connector | string | "" | maxLength: 40 | |
bays[].maxKw | número, nulo | null | mínimo: 0; máximo: 2000 | |
bays[].powerKw | número, nulo | null | mínimo: 0; máximo: 2000 | |
bays[].endsAt | string | "" | maxLength: 64 | |
bays[].updatedAt | string | "" | maxLength: 64 | |
bays[].note | string | "" | maxLength: 160 |
Exemplo de tela
Salve as propriedades estáticas como params.json e crie o cartão. O resultado traz o id crd_ dele.
{
"theme": "neomustard"
}
screenrig card create --type ev-chargers --major 1 --file params.json
Adicione este item aos primitives de uma página da playlist, com esse id no lugar do id do exemplo. Publique a playlist e atribua uma tela.
{
"id": "ev-chargers",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "full",
"content_fit": "fill"
}
Escrever dados ao vivo
Escreva o documento no cartão depois de criá-lo e depois substitua-o para atualizar a tela sem republicar. O cartão verifica cada gravação contra suas propriedades dinâmicas e recusa um documento que ele rejeita. Use o mesmo projeto da playlist.
Salve o documento como card-data.json. O CLI lê o documento em si, sem invólucro:
{
"title": "EV charging bays",
"site": "",
"updatedAt": "",
"note": "",
"bays": []
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json
Ou chame a API diretamente. A API envolve o mesmo documento em um campo document. Um token de agente já nomeia seu projeto, então nenhum cabeçalho de projeto é enviado; se você enviar ScreenRig-Project, ele deve corresponder ao projeto do token. Forneça sua autorização de API pelo ambiente; veja Autenticação da API.
curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
--header "Authorization: Bearer $SCREENRIG_TOKEN" \
--header "Content-Type: application/json" \
--data '{"document":{"title":"EV charging bays","site":"","updatedAt":"","note":"","bays":[]}}'