Skip to content

Monitor

Pings a list of URLs using a no-cors fetch request with an 8-second timeout. Each site shows its response time in milliseconds, or a Down / Timeout badge when unreachable.

Configuration

{
  id: "my-monitor",
  type: "monitor",
  col: 1, row: 1, width: 6, height: 1,
  config: {
    title: "Monitor",
    sites: [
      { label: "Home Assistant", url: "http://homeassistant.local:8123" },
      { label: "Plex",           url: "http://192.168.1.10:32400" },
      { label: "Router",         url: "http://192.168.1.1" }
    ]
  }
}

Options

Field Type Default Description
title string "Monitor" Card heading.
sites array List of sites to ping. Each entry requires label and url.
sites[].label string Display name shown next to the status badge.
sites[].url string Full URL to ping (include protocol and port).

Examples

Minimal — single site

{
  id: "monitor-router",
  type: "monitor",
  col: 1, row: 1, width: 4, height: 1,
  config: {
    title: "Network",
    sites: [
      { label: "Router", url: "http://192.168.1.1" }
    ]
  }
}

Multiple services

{
  id: "monitor-services",
  type: "monitor",
  col: 1, row: 2, width: 6, height: 1,
  config: {
    title: "Services",
    sites: [
      { label: "Portainer",      url: "http://192.168.1.10:9000" },
      { label: "Grafana",        url: "http://192.168.1.10:3000" },
      { label: "Uptime Kuma",    url: "http://192.168.1.10:3001" },
      { label: "Nextcloud",      url: "https://cloud.example.com" }
    ]
  }
}

No-cors fetch

Requests use mode: "no-cors" so they work cross-origin without a proxy. Response time is measured from the browser, not the server, so values include network latency.

Timeout

Any site that does not respond within 8 seconds is shown as Timeout. Sites that return a network error are shown as Down.