{"id":2224,"date":"2026-08-30T14:19:16","date_gmt":"2026-08-30T12:19:16","guid":{"rendered":"https:\/\/bergs.biz\/blog\/?p=2224"},"modified":"2026-08-30T14:57:11","modified_gmt":"2026-08-30T12:57:11","slug":"openwrt-monitor-your-ipv6-status","status":"publish","type":"post","link":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/","title":{"rendered":"OpenWrt: Monitor your IPv6 Status"},"content":{"rendered":"\n<p>I recently had a full outage of IPv6 on my Deutsche Glasfaser fibre-based internet line that lasted for more than 3.5 months. I only found out by chance,  which I found very frustrating. If it happens again I want to be notified immediately, so I built an automation that has the following architecture:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OpenWrt-based router\/internet gateway sends event every time WAN interface changes with respect to IPv6<\/li>\n\n\n\n<li>Event lands in an MQTT broker<\/li>\n\n\n\n<li>Home Assistant: set up sensor based on messages sent to MQTT topic<\/li>\n\n\n\n<li>Home Assistant: set up automation if IPv6 status sensor changes to &#8220;broken&#8221;<\/li>\n<\/ul>\n\n\n\n<p>Here&#8217;s the details:<\/p>\n\n\n\n<p>First we need events to be generated if and when the status of our WAN interface (more specifically the IPv6-specific interface named <code>wan6<\/code>) changes. We can easily and elegantly accomplish this by using the &#8220;<a href=\"https:\/\/openwrt.org\/docs\/guide-user\/base-system\/hotplug\" target=\"_blank\" rel=\"noreferrer noopener\">Hotplug<\/a>&#8221; mechanism built into Linux and OpenWrt. I had to write a script that parses the IPv6 status on changes of the <code>wan6<\/code> interface and determines the IPv6 assignment and delegation of a prefix. If these are not available,  then the status is &#8220;unhealthy.&#8221;<\/p>\n\n\n\n<p>Here&#8217;s my script which I deployed as <kbd>\/etc\/hotplug.d\/iface\/99-ipv6-monitor<\/kbd>:<\/p>\n\n\n\n<!--more-->\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/sh\n\n&#91; \"$INTERFACE\" = \"wan6\" ] || exit 0\n\nMQTT_BROKER=\"ha.gv.internal.bergs.biz\" # Your Home Assistant \/ MQTT broker IP\nMQTT_USER=\"openwrt\"\nMQTT_PWD=\"s3cr3TpA55w0rD\"\nMQTT_TOPIC=\"openwrt\/network\/ipv6\"\n\nif &#91; \"$ACTION\" = \"ifup\" ] || &#91; \"$ACTION\" = \"ifupdate\" ]; then\n    # Query ubus for WAN IPv6 address and delegated prefix\n    IPV6_ADDR=$(ubus call network.interface.wan6 status | jsonfilter -e '@&#91;\"ipv6-address\"]&#91;0].address')\n    IPV6_PREFIX=$(ubus call network.interface.wan6 status | jsonfilter -e '@&#91;\"ipv6-prefix\"]&#91;0].address')\n    PREFIX_LEN=$(ubus call network.interface.wan6 status | jsonfilter -e '@&#91;\"ipv6-prefix\"]&#91;0].mask')\n\n    # Default to \"none\" if string is empty\n    IPV6_ADDR=${IPV6_ADDR:-\"none\"}\n    IPV6_PREFIX=${IPV6_PREFIX:-\"none\"}\n    PREFIX_LEN=${PREFIX_LEN:-\"0\"}\n\n    # Determine status boolean\n    if &#91; \"$IPV6_ADDR\" != \"none\" ] || &#91; \"$IPV6_PREFIX\" != \"none\" ]; then\n        HAS_IPV6=\"true\"\n    else\n        HAS_IPV6=\"false\"\n    fi\n\n    PAYLOAD=$(cat &lt;&lt;EOF\n{\n  \"state\": \"$HAS_IPV6\",\n  \"wan_address\": \"$IPV6_ADDR\",\n  \"delegated_prefix\": \"$IPV6_PREFIX\/$PREFIX_LEN\"\n}\nEOF\n)\n    mosquitto_pub -h \"$MQTT_BROKER\" -u \"$MQTT_USER\" -P \"$MQTT_PWD\" -t \"$MQTT_TOPIC\" -m \"$PAYLOAD\" -r\n\nelif &#91; \"$ACTION\" = \"ifdown\" ]; then\n    PAYLOAD='{\"state\": \"false\", \"wan_address\": \"none\", \"delegated_prefix\": \"none\"}'\n    mosquitto_pub -h \"$MQTT_BROKER\" -u \"$MQTT_USER\" -P \"$MQTT_PWD\" -t \"$MQTT_TOPIC\" -m \"$PAYLOAD\" -r\nfi<\/code><\/pre>\n\n\n\n<p>Remember to make this script executable, or else it would not be executed by hotplug! BTW, you need to have the <code>mosquitto-client<\/code> installed to make the above work.<\/p>\n\n\n\n<p>This  should be sufficient to send messages into your MQTT broker.<\/p>\n\n\n\n<p>(Note that MQTT messages are sent with a <a href=\"https:\/\/www.hivemq.com\/blog\/mqtt-essentials-part-8-retained-messages\/\" target=\"_blank\" rel=\"noreferrer noopener\">retained<\/a> flag (<code>-r<\/code>), ensuring Home Assistant always displays the active state even after a Home Assistant reboot.)<\/p>\n\n\n\n<p>Now we need to set up Home Assistant to create a sensor based on these events. Change your <kbd>configuration.yaml<\/kbd> as follows:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Add MQTT entities\nmqtt:\n  sensor:\n    - name: \"Internet Gateway IPv6 Status\"\n      state_topic: \"openwrt\/network\/ipv6\"\n      value_template: \"{{ value_json.state }}\"\n      icon: \"mdi:ip-network\"\n      unique_id: \"7597092c-8f5b-4aeb-ba00-c803a2508789\"\n    - name: \"Internet Gateway Public IPv6 Address\"\n      state_topic: \"openwrt\/network\/ipv6\"\n      value_template: \"{{ value_json.wan_address }}\"\n      unique_id: \"716227e1-86a3-4ed5-a92c-700cef66f43d\"\n    - name: \"Internet Gateway Delegated IPv6 Prefix\"\n      state_topic: \"openwrt\/network\/ipv6\"\n      value_template: \"{{ value_json.delegated_prefix }}\"\n      unique_id: \"c96d6cbc-a17b-4172-a823-51da63d4dfff\"<\/code><\/pre>\n\n\n\n<p>The &#8220;unique IDs&#8221; are just random <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\" target=\"_blank\" rel=\"noreferrer noopener\">UUID<\/a>s (sometimes also called &#8220;GUIDs&#8221;) &#8212; actually they could be more or less arbitrary random strings. If you don&#8217;t have these, you can&#8217;t create automations using the UI. If that&#8217;s fine for you, you can leave out the unique IDs.<\/p>\n\n\n\n<p>Remember to restart Home Assistant after you have modified your configuration!<\/p>\n\n\n\n<p>If everything was successful, then you will be able to find entities as the below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"443\" src=\"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1024x443.png\" alt=\"\" class=\"wp-image-2225\" srcset=\"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1024x443.png 1024w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-300x130.png 300w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-150x65.png 150w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-768x332.png 768w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1536x664.png 1536w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1200x519.png 1200w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image.png 1948w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Here&#8217;s how the &#8220;Status&#8221; (which is the most important sensor for our purpose) could look like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1003\" height=\"1024\" src=\"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1-1003x1024.png\" alt=\"\" class=\"wp-image-2226\" srcset=\"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1-1003x1024.png 1003w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1-294x300.png 294w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1-147x150.png 147w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1-768x784.png 768w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-1.png 1164w\" sizes=\"auto, (max-width: 1003px) 100vw, 1003px\" \/><\/figure>\n\n\n\n<p>Now let&#8217;s create an automation. I&#8217;ll just copy the YAML here so that you can easily copy it (describing the many clicks involved using the UI would be just too tedious):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>alias: 'Internet Gateway: \"IPv6 broken\" warning'\ndescription: ''\ntriggers:\n  - trigger: state\n    entity_id:\n      - sensor.internet_gateway_ipv6_status\n    to:\n      - 'false'\nconditions: &#91;]\nactions:\n  - action: persistent_notification.create\n    metadata: {}\n    data:\n      title: \u26a0\ufe0f IPv6 Status Alert\n      message: 'Internet Gateway\/Router: IPv6 scheint kaputt zu sein'\nmode: single<\/code><\/pre>\n\n\n\n<p>Now, if something happens to your IPv6, you will receive an alert like the below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"984\" height=\"510\" src=\"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-2.png\" alt=\"\" class=\"wp-image-2227\" srcset=\"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-2.png 984w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-2-300x155.png 300w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-2-150x78.png 150w, https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/image-2-768x398.png 768w\" sizes=\"auto, (max-width: 984px) 100vw, 984px\" \/><\/figure>\n\n\n\n<p>That was pretty simple, huh?<\/p>\n\n\n\n<p>What I find really nice with this approach is that it is as light-weight as it could be. There&#8217;s no polling involved, just &#8220;events&#8221;. which are triggered automatically by the system, which keeps the CPU usage down to an absolute minimum. I&#8217;m also using existing infrastructure (for me anyway, but many enthusiasts will have the same setup), so I didn&#8217;t have to &#8220;reinvent the wheel.&#8221;<\/p>\n\n\n\n<p>BTW, if you export your sensor data into InfluxDB (which I do),  then you now also have a long-term record of your IPv6 addresses and prefixes. \ud83d\ude09<\/p>\n\n\n\n<p>How do you like it? Let me know if this is helpful, or if you have any other comments.<\/p>\n\n\n\n<p>Cheers!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently had a full outage of IPv6 on my Deutsche Glasfaser fibre-based internet line that lasted for more than 3.5 months. I only found out by chance, which I found very frustrating. If it happens again I want to be notified immediately, so I built an automation that has the following architecture: Here&#8217;s the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2228,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[58,4,122,84,134],"tags":[410,413,83],"class_list":["post-2224","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-communications","category-computers","category-english","category-networking-computers","category-routers","tag-home-assistant","tag-mqtt","tag-openwrt"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>OpenWrt: Monitor your IPv6 Status - Ralf&#039;s Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenWrt: Monitor your IPv6 Status - Ralf&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"I recently had a full outage of IPv6 on my Deutsche Glasfaser fibre-based internet line that lasted for more than 3.5 months. I only found out by chance, which I found very frustrating. If it happens again I want to be notified immediately, so I built an automation that has the following architecture: Here&#8217;s the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/\" \/>\n<meta property=\"og:site_name\" content=\"Ralf&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-30T12:19:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-30T12:57:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/ipv6.png\" \/>\n\t<meta property=\"og:image:width\" content=\"456\" \/>\n\t<meta property=\"og:image:height\" content=\"270\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ralf Bergs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ralfbergs\" \/>\n<meta name=\"twitter:site\" content=\"@ralfbergs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ralf Bergs\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/\"},\"author\":{\"name\":\"Ralf Bergs\",\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/#\\\/schema\\\/person\\\/354e37390b493c875f972bd313d29201\"},\"headline\":\"OpenWrt: Monitor your IPv6 Status\",\"datePublished\":\"2026-08-30T12:19:16+00:00\",\"dateModified\":\"2026-08-30T12:57:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/\"},\"wordCount\":540,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/#\\\/schema\\\/person\\\/354e37390b493c875f972bd313d29201\"},\"image\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ipv6.png\",\"keywords\":[\"Home Assistant\",\"MQTT\",\"OpenWRT\"],\"articleSection\":[\"Communications\",\"Computers\",\"English\",\"Networking\",\"Routers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/\",\"url\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/\",\"name\":\"OpenWrt: Monitor your IPv6 Status - Ralf&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ipv6.png\",\"datePublished\":\"2026-08-30T12:19:16+00:00\",\"dateModified\":\"2026-08-30T12:57:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ipv6.png\",\"contentUrl\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ipv6.png\",\"width\":456,\"height\":270},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/2026\\\/08\\\/30\\\/openwrt-monitor-your-ipv6-status\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenWrt: Monitor your IPv6 Status\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/\",\"name\":\"Ralf's Blog\",\"description\":\"Just another WordPress weblog\",\"publisher\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/#\\\/schema\\\/person\\\/354e37390b493c875f972bd313d29201\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/#\\\/schema\\\/person\\\/354e37390b493c875f972bd313d29201\",\"name\":\"Ralf Bergs\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Ralf-Tower-2026-1024x1024.jpg\",\"url\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Ralf-Tower-2026-1024x1024.jpg\",\"contentUrl\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Ralf-Tower-2026-1024x1024.jpg\",\"width\":1024,\"height\":1024,\"caption\":\"Ralf Bergs\"},\"logo\":{\"@id\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Ralf-Tower-2026-1024x1024.jpg\"},\"description\":\"Geek, computer guy, licensed and certified electrical and computer engineer, husband, best daddy.\",\"sameAs\":[\"https:\\\/\\\/bergs.biz\\\/\",\"https:\\\/\\\/linkedin.com\\\/in\\\/ralfbergs\\\/\",\"https:\\\/\\\/x.com\\\/ralfbergs\"],\"url\":\"https:\\\/\\\/bergs.biz\\\/blog\\\/author\\\/rabe\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OpenWrt: Monitor your IPv6 Status - Ralf&#039;s Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/","og_locale":"en_US","og_type":"article","og_title":"OpenWrt: Monitor your IPv6 Status - Ralf&#039;s Blog","og_description":"I recently had a full outage of IPv6 on my Deutsche Glasfaser fibre-based internet line that lasted for more than 3.5 months. I only found out by chance, which I found very frustrating. If it happens again I want to be notified immediately, so I built an automation that has the following architecture: Here&#8217;s the [&hellip;]","og_url":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/","og_site_name":"Ralf&#039;s Blog","article_published_time":"2026-08-30T12:19:16+00:00","article_modified_time":"2026-08-30T12:57:11+00:00","og_image":[{"width":456,"height":270,"url":"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/ipv6.png","type":"image\/png"}],"author":"Ralf Bergs","twitter_card":"summary_large_image","twitter_creator":"@ralfbergs","twitter_site":"@ralfbergs","twitter_misc":{"Written by":"Ralf Bergs","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/#article","isPartOf":{"@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/"},"author":{"name":"Ralf Bergs","@id":"https:\/\/bergs.biz\/blog\/#\/schema\/person\/354e37390b493c875f972bd313d29201"},"headline":"OpenWrt: Monitor your IPv6 Status","datePublished":"2026-08-30T12:19:16+00:00","dateModified":"2026-08-30T12:57:11+00:00","mainEntityOfPage":{"@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/"},"wordCount":540,"commentCount":0,"publisher":{"@id":"https:\/\/bergs.biz\/blog\/#\/schema\/person\/354e37390b493c875f972bd313d29201"},"image":{"@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/#primaryimage"},"thumbnailUrl":"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/ipv6.png","keywords":["Home Assistant","MQTT","OpenWRT"],"articleSection":["Communications","Computers","English","Networking","Routers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/","url":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/","name":"OpenWrt: Monitor your IPv6 Status - Ralf&#039;s Blog","isPartOf":{"@id":"https:\/\/bergs.biz\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/#primaryimage"},"image":{"@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/#primaryimage"},"thumbnailUrl":"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/ipv6.png","datePublished":"2026-08-30T12:19:16+00:00","dateModified":"2026-08-30T12:57:11+00:00","breadcrumb":{"@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/#primaryimage","url":"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/ipv6.png","contentUrl":"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/08\/ipv6.png","width":456,"height":270},{"@type":"BreadcrumbList","@id":"https:\/\/bergs.biz\/blog\/2026\/08\/30\/openwrt-monitor-your-ipv6-status\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bergs.biz\/blog\/"},{"@type":"ListItem","position":2,"name":"OpenWrt: Monitor your IPv6 Status"}]},{"@type":"WebSite","@id":"https:\/\/bergs.biz\/blog\/#website","url":"https:\/\/bergs.biz\/blog\/","name":"Ralf's Blog","description":"Just another WordPress weblog","publisher":{"@id":"https:\/\/bergs.biz\/blog\/#\/schema\/person\/354e37390b493c875f972bd313d29201"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bergs.biz\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/bergs.biz\/blog\/#\/schema\/person\/354e37390b493c875f972bd313d29201","name":"Ralf Bergs","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/04\/Ralf-Tower-2026-1024x1024.jpg","url":"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/04\/Ralf-Tower-2026-1024x1024.jpg","contentUrl":"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/04\/Ralf-Tower-2026-1024x1024.jpg","width":1024,"height":1024,"caption":"Ralf Bergs"},"logo":{"@id":"https:\/\/bergs.biz\/blog\/wp-content\/uploads\/2026\/04\/Ralf-Tower-2026-1024x1024.jpg"},"description":"Geek, computer guy, licensed and certified electrical and computer engineer, husband, best daddy.","sameAs":["https:\/\/bergs.biz\/","https:\/\/linkedin.com\/in\/ralfbergs\/","https:\/\/x.com\/ralfbergs"],"url":"https:\/\/bergs.biz\/blog\/author\/rabe\/"}]}},"_links":{"self":[{"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/posts\/2224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/comments?post=2224"}],"version-history":[{"count":9,"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/posts\/2224\/revisions"}],"predecessor-version":[{"id":2243,"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/posts\/2224\/revisions\/2243"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/media\/2228"}],"wp:attachment":[{"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/media?parent=2224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/categories?post=2224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bergs.biz\/blog\/wp-json\/wp\/v2\/tags?post=2224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}