{"id":458,"date":"2026-02-16T21:09:12","date_gmt":"2026-02-16T20:09:12","guid":{"rendered":"https:\/\/pcgsm.nl\/ohh\/?p=458"},"modified":"2026-02-18T15:06:02","modified_gmt":"2026-02-18T14:06:02","slug":"ab8ss-integreren-met-home-assistant-via-esphome-een-complete-gids","status":"publish","type":"post","link":"https:\/\/pcgsm.nl\/ohh\/2026\/02\/16\/ab8ss-integreren-met-home-assistant-via-esphome-een-complete-gids\/","title":{"rendered":"AB8SS integreren met Home Assistant via ESPHome: een complete gids"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Veel gebruikers van de <strong>AB8SS audio\u2011switch<\/strong> lopen vroeg of laat tegen hetzelfde probleem aan: het apparaat werkt betrouwbaar, maar de seri\u00eble aansturing is\u2026 eigenzinnig. Het protocol verwacht exacte byte\u2011reeksen, echo\u2019s, en reageert alleen correct als je de juiste state\u2011machine gebruikt. Standaard integraties werken daarom vaak niet of slechts half.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In deze blog laat ik zien hoe je de AB8SS <strong>volledig en stabiel<\/strong> kunt integreren met <strong>Home Assistant<\/strong> via <strong>ESPHome<\/strong>, inclusief een robuuste YAML\u2011configuratie die alle protocol\u2011eigenaardigheden netjes afhandelt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deze oplossing is ontwikkeld, getest en verfijnd met echte hardware \u2014 en werkt 100% betrouwbaar.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/pcgsm.nl\/ohh\/wp-content\/uploads\/2026\/02\/nab8ss.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"726\" src=\"http:\/\/pcgsm.nl\/ohh\/wp-content\/uploads\/2026\/02\/nab8ss-1024x726.gif\" alt=\"\" class=\"wp-image-471\" srcset=\"https:\/\/pcgsm.nl\/ohh\/wp-content\/uploads\/2026\/02\/nab8ss-1024x726.gif 1024w, https:\/\/pcgsm.nl\/ohh\/wp-content\/uploads\/2026\/02\/nab8ss-300x213.gif 300w, https:\/\/pcgsm.nl\/ohh\/wp-content\/uploads\/2026\/02\/nab8ss-768x544.gif 768w, https:\/\/pcgsm.nl\/ohh\/wp-content\/uploads\/2026\/02\/nab8ss-381x270.gif 381w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Waarom de AB8SS lastig is om aan te sturen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">De AB8SS gebruikt een seri\u00eble interface met een aantal bijzonderheden:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Elke opdracht moet exact worden opgebouwd uit 4 bytes<\/li>\n\n\n\n<li>Het apparaat stuurt een <strong>echo<\/strong> terug dat byte\u2011voor\u2011byte moet worden gevalideerd<\/li>\n\n\n\n<li>Pas daarna volgt een <strong>status\u2011antwoord<\/strong><\/li>\n\n\n\n<li>Het apparaat accepteert geen nieuwe opdrachten zolang de vorige niet volledig is afgerond<\/li>\n\n\n\n<li>Foutafhandeling is noodzakelijk om vastlopers te voorkomen<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Veel implementaties falen omdat ze deze stappen niet strikt volgen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Daarom hebben we een <strong>state\u2011machine<\/strong> gebouwd die:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>elke byte valideert<\/li>\n\n\n\n<li>timeouts afhandelt<\/li>\n\n\n\n<li>commando\u2019s in een wachtrij zet<\/li>\n\n\n\n<li>de AB8SS nooit overspoelt<\/li>\n\n\n\n<li>altijd in sync blijft met het apparaat<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">De oplossing: een robuuste ESPHome\u2011configuratie<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">De YAML\u2011configuratie die we hebben ontwikkeld bevat:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Een UART\u2011configuratie met correcte baudrate en framing<\/li>\n\n\n\n<li>Een state\u2011machine die echo\u2019s en antwoorden valideert<\/li>\n\n\n\n<li>Een command\u2011queue zodat Home Assistant meerdere opdrachten kan sturen<\/li>\n\n\n\n<li>Sensors die de actuele status van alle zones en bronnen teruggeven<\/li>\n\n\n\n<li>Switches en selects om zones en inputs te bedienen<\/li>\n\n\n\n<li>Volledige foutafhandeling en automatische recovery<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Deze configuratie maakt de AB8SS net zo betrouwbaar als een native Home Assistant\u2011integratie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hoe het werkt (conceptueel)<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Home Assistant stuurt een opdracht (bijv. \u201cZone 3 \u2192 Input 2\u201d).<\/li>\n\n\n\n<li>ESPHome zet het commando in een wachtrij.<\/li>\n\n\n\n<li>De state\u2011machine stuurt de 4 bytes naar de AB8SS.<\/li>\n\n\n\n<li>De AB8SS stuurt een echo terug \u2192 ESPHome valideert elke byte.<\/li>\n\n\n\n<li>Daarna stuurt de AB8SS een statusbericht.<\/li>\n\n\n\n<li>De state\u2011machine verwerkt het antwoord en werkt de entiteiten bij.<\/li>\n\n\n\n<li>Pas daarna wordt het volgende commando verstuurd.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Dit voorkomt dat de AB8SS \u201cout of sync\u201d raakt \u2014 een veelvoorkomend probleem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">De YAML\u2011configuratie<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Klik <a href=\"http:\/\/pcgsm.nl\/download\/ab8ss.yaml\" target=\"_blank\" rel=\"noreferrer noopener\">deze link<\/a> om de yaml file te downloaden<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hoe de state\u2011machine werkt<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">De kern van de oplossing is een compacte maar krachtige state\u2011machine die:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Een commando uit de queue haalt<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bijvoorbeeld: <code>050001FA*<\/code> \u2192 Zone 1 aan<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Een ATTENTION\u2011byte (<\/strong><code>!<\/code><strong>) stuurt<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">De AB8SS antwoordt met <code>!<\/code> als hij klaar is.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Elke byte van het commando stuurt<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En wacht op de echo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Echo valideert<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Als de echo niet klopt \u2192 retry Na 5 mislukte pogingen \u2192 abort<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Statusframe verwerkt<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bijvoorbeeld: <code>84xxxxxx*<\/code> \u2192 bitmask van alle zones + input<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Home Assistant\u2011entiteiten bijwerkt<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Elke zone wordt direct ge\u00fcpdatet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. Automatisch een statuspoll plant<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Zodat Home Assistant altijd synchroon blijft.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Home Assistant entiteiten<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">De YAML maakt automatisch de volgende entiteiten aan:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Zones (switches)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zone 1 t\/m Zone 8 \u2192 aan\/uit<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Inputselectie (switch)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Input A\/B<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Debug\u2011modus<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Logt alle RX\/TX bytes in realtime<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Waarom deze implementatie uniek is<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Deze oplossing:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>werkt met <strong>echte echo\u2011validatie<\/strong><\/li>\n\n\n\n<li>heeft <strong>retry\u2011logica<\/strong><\/li>\n\n\n\n<li>voorkomt dat de AB8SS \u201cout of sync\u201d raakt<\/li>\n\n\n\n<li>gebruikt een <strong>command\u2011queue<\/strong> zodat Home Assistant meerdere opdrachten tegelijk kan sturen<\/li>\n\n\n\n<li>verwerkt <strong>statusframes<\/strong> en houdt Home Assistant realtime up\u2011to\u2011date<\/li>\n\n\n\n<li>bevat <strong>timeouts<\/strong> en <strong>foutafhandeling<\/strong><\/li>\n\n\n\n<li>is volledig <strong>ESPHome\u2011native<\/strong> (geen custom component nodig)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dit is de meest complete en betrouwbare AB8SS\u2011integratie die momenteel beschikbaar is.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installatie\u2011stappen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Flash een ESP32 met ESPHome<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sluit de AB8SS aan via UART op de ESP32<br>Ik gebruik hiervoor een RS232 naar TTL module, zoals bijvoorbeeld <a href=\"https:\/\/nl.aliexpress.com\/item\/1005009715632143.html\" target=\"_blank\" rel=\"noreferrer noopener\">deze.<\/a><br>En een <a href=\"https:\/\/nl.aliexpress.com\/item\/1005007649269367.html\" target=\"_blank\" rel=\"noreferrer noopener\">D1 Mini Live ESP32<\/a>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TX \u2192 RX<\/li>\n\n\n\n<li>RX \u2192 TX<\/li>\n\n\n\n<li>GND \u2192 GND<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Upload de YAML<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voeg het apparaat toe aan Home Assistant<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bedien zones en inputs direct vanuit HA<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gebruik debug\u2011modus om communicatie te monitoren<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusie<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">De AB8SS is een fantastisch apparaat, maar het protocol vraagt om een zorgvuldige implementatie. Met deze ESPHome\u2011configuratie kun je de AB8SS volledig integreren in Home Assistant, zonder instabiliteit of half werk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deze oplossing is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>robuust<\/li>\n\n\n\n<li>getest<\/li>\n\n\n\n<li>onderhoudsvrij<\/li>\n\n\n\n<li>volledig lokaal<\/li>\n\n\n\n<li>makkelijk uit te breiden<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">State\u2011machine diagram voor de AB8SS\u2011implementatie<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>               \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n               \u2502          IDLE            \u2502\n               \u2502  - Geen actief commando  \u2502\n               \u2502  - Queue check           \u2502\n               \u2502  - Poll timer check      \u2502\n               \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                           \u2502\n                           \u25bc\n               \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n               \u2502     ATTENTION_SEND       \u2502\n               \u2502  TX: \"!\"                 \u2502\n               \u2502  Deadline = now + 100ms  \u2502\n               \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                           \u2502\n                           \u25bc\n               \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n               \u2502     ATTENTION_WAIT       \u2502\n               \u2502  Wacht op RX: \"!\"        \u2502\n               \u2502  Timeout \u2192 ABORT         \u2502\n               \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                           \u2502\n                           \u25bc\n               \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n               \u2502        CMD_SEND          \u2502\n               \u2502  TX: current_cmd&#91;pos]    \u2502\n               \u2502  Deadline = 5\u201310ms       \u2502\n               \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                           \u2502\n                           \u25bc\n               \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n               \u2502        CMD_WAIT          \u2502\n               \u2502  Wacht op echo           \u2502\n               \u2502  Echo OK \u2192 pos++         \u2502\n               \u2502  Echo NOK \u2192 \"-\" + ABORT  \u2502\n               \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                           \u2502\n                           \u25bc\n               \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n               \u2502          DONE            \u2502\n               \u2502  - Command klaar         \u2502\n               \u2502  - Poll in queue         \u2502\n               \u2502  - next_allowed = +50ms  \u2502\n               \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                           \u2502\n                           \u25bc\n               \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n               \u2502          ABORT           \u2502\n               \u2502  - Retry tot 5x          \u2502\n               \u2502  - Daarna drop           \u2502\n               \u2502  - next_allowed = +300ms \u2502\n               \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Behuizing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">De ESP32 en uart zijn eventueel in een <a href=\"https:\/\/www.tinkercad.com\/things\/0ImzKBWIbNd-ab8ss-speaker-switch-behuizing\" target=\"_blank\" rel=\"noreferrer noopener\">3D geprinte behuizing<\/a> te plaatsen<\/p>\n<div class=\"pvc_clear\"><\/div><p id=\"pvc_stats_458\" class=\"pvc_stats all  \" data-element-id=\"458\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/pcgsm.nl\/ohh\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p><div class=\"pvc_clear\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Veel gebruikers van de AB8SS audio\u2011switch lopen vroeg of laat tegen hetzelfde probleem aan: het apparaat werkt betrouwbaar, maar de seri\u00eble aansturing is\u2026 eigenzinnig. Het protocol verwacht exacte byte\u2011reeksen, echo\u2019s, en reageert alleen correct als je de juiste state\u2011machine gebruikt. Standaard integraties werken daarom vaak niet of slechts half. In deze blog laat ik zien &hellip; <\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/pcgsm.nl\/ohh\/2026\/02\/16\/ab8ss-integreren-met-home-assistant-via-esphome-een-complete-gids\/\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_458\" class=\"pvc_stats all  \" data-element-id=\"458\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/pcgsm.nl\/ohh\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[20,23,17,21],"class_list":["post-458","post","type-post","status-publish","format-standard","hentry","category-geen-categorie","tag-ab8ss","tag-esphome","tag-home-assistant","tag-homeseer"],"a3_pvc":{"activated":true,"total_views":38,"today_views":0},"_links":{"self":[{"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/posts\/458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/comments?post=458"}],"version-history":[{"count":2,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/posts\/458\/revisions"}],"predecessor-version":[{"id":473,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/posts\/458\/revisions\/473"}],"wp:attachment":[{"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/media?parent=458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/categories?post=458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/tags?post=458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}