{"id":456,"date":"2026-02-16T21:06:22","date_gmt":"2026-02-16T20:06:22","guid":{"rendered":"https:\/\/pcgsm.nl\/ohh\/?p=456"},"modified":"2026-02-17T14:18:58","modified_gmt":"2026-02-17T13:18:58","slug":"home-assistant-logitech-harmony-de-ultieme-integratie-volledige-handleiding","status":"publish","type":"post","link":"https:\/\/pcgsm.nl\/ohh\/2026\/02\/16\/home-assistant-logitech-harmony-de-ultieme-integratie-volledige-handleiding\/","title":{"rendered":"Home Assistant + Logitech Harmony: De Ultieme Integratie (Volledige Handleiding)"},"content":{"rendered":"<h2>\u00a0<\/h2>\n<p>De Logitech Harmony Hub blijft een van de krachtigste universele afstandsbedieningen, ook al wordt hij niet meer actief ontwikkeld. In deze handleiding laat ik zien hoe je de Harmony Hub volledig dynamisch integreert in Home Assistant.<\/p>\n<p>We bouwen:<\/p>\n<ul>\n<li>dropdowns per apparaat met alle commando\u2019s<\/li>\n<li>automatische activiteitenlijst<\/li>\n<li>directe uitvoering van commando\u2019s bij selectie<\/li>\n<li>\u00e9\u00e9n enkele automation die alle apparaten ondersteunt<\/li>\n<li>volledig dynamisch ingelezen uit de Harmony\u2011config<\/li>\n<\/ul>\n<p>Deze methode is stabiel, onderhoudsvrij en werkt zonder custom componenten.<\/p>\n<div>\u00a0<\/div>\n<h2>1. Harmony JSON exporteren<\/h2>\n<p>Ga in Home Assistant naar:<\/p>\n<p><strong>Instellingen \u2192 Integraties \u2192 Harmony Hub \u2192 Download config<\/strong><\/p>\n<p>Sla het bestand op in:<\/p>\n<div>\n<div>\n<div>Code<button title=\"Codefragment samenvouwen\" type=\"button\" aria-expanded=\"true\"><\/button><\/div>\n<div>\u00a0<\/div>\n<\/div>\n<div class=\"rounded-b-xl bg-background-static-850 px-4 pb-1.5 dark:bg-background-static-900\">\n<div>\n<pre><code>config\/harmony_5872655.conf\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<h2>2. Helpers aanmaken per apparaat<\/h2>\n<p>Maak in Home Assistant per Harmony\u2011device een <code>input_select<\/code> helper aan. Laat de opties leeg \u2014 die vullen we automatisch.<\/p>\n<p>Voorbeeld helpers:<\/p>\n<div>\n<div>\n<div>Code<button title=\"Codefragment samenvouwen\" type=\"button\" aria-expanded=\"true\"><\/button><\/div>\n<div>\u00a0<\/div>\n<\/div>\n<div class=\"rounded-b-xl bg-background-static-850 px-4 pb-1.5 dark:bg-background-static-900\">\n<div>\n<pre><code>input_select.harmony_commands_av_serre_2\ninput_select.harmony_commands_av_woonkamer_1\ninput_select.harmony_commands_blue_ray_speler\ninput_select.harmony_commands_dvr_formuler\ninput_select.harmony_commands_dvr_vu\ninput_select.harmony_commands_eetkamer_3\ninput_select.harmony_commands_lg_70up7006lb\ninput_select.harmony_commands_marmitek_av_switch\ninput_select.harmony_commands_muziekserver_avedio_links\ninput_select.harmony_commands_sat_dm8000\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<h2>3. Automation: Helpers automatisch vullen met commando\u2019s<\/h2>\n<p>Deze automation leest je Harmony\u2011config in en vult alle helpers met de juiste commando\u2019s.<\/p>\n<div>\n<div>\n<div>yaml<button title=\"Codefragment samenvouwen\" type=\"button\" aria-expanded=\"true\"><\/button><\/div>\n<div>\u00a0<\/div>\n<\/div>\n<div class=\"rounded-b-xl bg-background-static-850 px-4 pb-1.5 dark:bg-background-static-900\">\n<div>\n<pre><code>alias: Harmony \u2013 Fill Per\u2011Device Helpers<br \/>triggers:<br \/>- event: start<br \/>trigger: homeassistant<br \/>- minutes: \/10<br \/>trigger: time_pattern<br \/>actions:<br \/>- action: file.read_file<br \/>data:<br \/>file_name: harmony_5872655.conf<br \/>file_encoding: JSON<br \/>response_variable: harmony_data<br \/>- variables:<br \/>harmony: \"{{ harmony_data.data }}\"<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_av_serre_2<br \/>options: |<br \/>{{ [''] + harmony.Devices['AV-Serre 2'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_av_woonkamer_1<br \/>options: |<br \/>{{ [''] + harmony.Devices['AV-Woonkamer 1'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_blue_ray_speler<br \/>options: |<br \/>{{ [''] + harmony.Devices['Blue-Ray speler'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_dvr_formuler<br \/>options: |<br \/>{{ [''] + harmony.Devices['DVR Formuler'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_dvr_vu<br \/>options: |<br \/>{{ [''] + harmony.Devices['DVR Vu+'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_eetkamer_3<br \/>options: |<br \/>{{ [''] + harmony.Devices['Eetkamer 3'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_lg_70up7006lb<br \/>options: |<br \/>{{ [''] + harmony.Devices['LG 70UP7006LB'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_marmitek_av_switch<br \/>options: |<br \/>{{ [''] + harmony.Devices['Marmitek AV Switch'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_muziekserver_avedio_links<br \/>options: |<br \/>{{ [''] + harmony.Devices['Muziekserver Avedio Links'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_northern_lichtbediening<br \/>options: &gt;<br \/>{{ [''] + harmony.Devices['Northern International<br \/>Lichtbediening'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_sat_dm8000<br \/>options: |<br \/>{{ [''] + harmony.Devices['SAT DM8000'].commands }}<br \/>- action: input_select.set_options<br \/>data:<br \/>entity_id: input_select.harmony_commands_homeseer<br \/>options: |<br \/>{{ [''] + harmony.Devices['homeseer'].commands }}<br \/>\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<h2>4. E\u00e9n automation die ALLE commando\u2019s verstuurt<\/h2>\n<p>Zodra je een commando kiest in een dropdown, wordt het direct uitgevoerd.<\/p>\n<div>\n<div>\n<div>yaml<button title=\"Codefragment samenvouwen\" type=\"button\" aria-expanded=\"true\"><\/button><\/div>\n<div>\u00a0<\/div>\n<\/div>\n<div class=\"rounded-b-xl bg-background-static-850 px-4 pb-1.5 dark:bg-background-static-900\">\n<div>\n<pre><code>alias: Harmony \u2013 Send Command From Any Device Helper<br \/>triggers:<br \/>- entity_id:<br \/>- input_select.harmony_commands_av_serre_2<br \/>- input_select.harmony_commands_av_woonkamer_1<br \/>- input_select.harmony_commands_blue_ray_speler<br \/>- input_select.harmony_commands_dvr_formuler<br \/>- input_select.harmony_commands_dvr_vu<br \/>- input_select.harmony_commands_eetkamer_3<br \/>- input_select.harmony_commands_lg_70up7006lb<br \/>- input_select.harmony_commands_marmitek_av_switch<br \/>- input_select.harmony_commands_muziekserver_avedio_links<br \/>- input_select.harmony_commands_sat_dm8000<br \/>trigger: state<br \/>actions:<br \/>- action: file.read_file<br \/>data:<br \/>file_name: harmony_5872655.conf<br \/>file_encoding: JSON<br \/>response_variable: harmony_data<br \/>- variables:<br \/>harmony: \"{{ harmony_data.data }}\"<br \/>device_id: \"{{ harmony.Devices[device_name].id }}\"<br \/>- target:<br \/>entity_id: remote.huiskamer<br \/>data:<br \/>device: \"{{ device_id }}\"<br \/>command: \"{{ command }}\"<br \/>action: remote.send_command<br \/>- action: input_select.select_option<br \/>data:<br \/>entity_id: \"{{ changed_helper }}\"<br \/>option: \"\"<br \/>variables:<br \/>changed_helper: \"{{ trigger.entity_id }}\"<br \/>device_name: |<br \/>{% set map = {<br \/>'input_select.harmony_commands_av_serre_2': 'AV-Serre 2',<br \/>'input_select.harmony_commands_av_woonkamer_1': 'AV-Woonkamer 1',<br \/>'input_select.harmony_commands_blue_ray_speler': 'Blue-Ray speler',<br \/>'input_select.harmony_commands_dvr_formuler': 'DVR Formuler',<br \/>'input_select.harmony_commands_dvr_vu': 'DVR Vu+',<br \/>'input_select.harmony_commands_eetkamer_3': 'Eetkamer 3',<br \/>'input_select.harmony_commands_lg_70up7006lb': 'LG 70UP7006LB',<br \/>'input_select.harmony_commands_marmitek_av_switch': 'Marmitek AV Switch',<br \/>'input_select.harmony_commands_muziekserver_avedio_links': 'Muziekserver Avedio Links',<br \/>'input_select.harmony_commands_sat_dm8000': 'SAT DM8000'<br \/>} %} {{ map[changed_helper] }}<br \/>command: \"{{ states(changed_helper) }}\"<br \/>\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<h2>5. Activiteiten dropdown automatisch vullen<\/h2>\n<div>\n<div>\n<div>yaml<button title=\"Codefragment samenvouwen\" type=\"button\" aria-expanded=\"true\"><\/button><\/div>\n<div>\u00a0<\/div>\n<\/div>\n<div class=\"rounded-b-xl bg-background-static-850 px-4 pb-1.5 dark:bg-background-static-900\">\n<div>\n<pre><code>alias: Harmony \u2013 Update Activity Helper\ntrigger:\n  - platform: homeassistant\n    event: start\n  - platform: time_pattern\n    minutes: \"\/10\"\n\naction:\n  - action: file.read_file\n    data:\n      file_name: harmony_5872655.conf\n      file_encoding: JSON\n    response_variable: harmony_data\n\n  - variables:\n      harmony: \"{{ harmony_data.data }}\"\n\n  - action: input_select.set_options\n    data:\n      entity_id: input_select.harmony_activity\n      options: &gt;\n        {{ harmony.Activity.keys() | list + ['PowerOff'] }}\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<h2>6. Activiteit starten bij selectie<\/h2>\n<div>\n<div>\n<div>yaml<button title=\"Codefragment samenvouwen\" type=\"button\" aria-expanded=\"true\"><\/button><\/div>\n<div>\u00a0<\/div>\n<\/div>\n<div class=\"rounded-b-xl bg-background-static-850 px-4 pb-1.5 dark:bg-background-static-900\">\n<div>\n<pre><code>alias: Harmony \u2013 Start Activity On Selection\ntrigger:\n  - platform: state\n    entity_id: input_select.harmony_activity\n\naction:\n  - action: file.read_file\n    data:\n      file_name: harmony_5872655.conf\n      file_encoding: JSON\n    response_variable: harmony_data\n\n  - variables:\n      harmony: \"{{ harmony_data.data }}\"\n      activity_name: \"{{ states('input_select.harmony_activity') }}\"\n      activity_id: &gt;\n        {% for id, name in harmony.Activities.items() %}\n          {% if name == activity_name %}\n            {{ id }}\n          {% endif %}\n        {% endfor %}\n\n  - service: remote.turn_on\n    target:\n      entity_id: remote.huiskamer\n    data:\n      activity: \"{{ activity_id }}\"<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<h2>7. Activiteit stoppen bij PowerOff<\/h2>\n<div>\n<div>\n<div>yaml<button title=\"Codefragment samenvouwen\" type=\"button\" aria-expanded=\"true\"><\/button><\/div>\n<div>\u00a0<\/div>\n<\/div>\n<div class=\"rounded-b-xl bg-background-static-850 px-4 pb-1.5 dark:bg-background-static-900\">\n<div>\n<pre><code>alias: Harmony \u2013 Stop Activity On Selection\ntrigger:\n  - platform: state\n    entity_id: input_select.harmony_activity\n    to: \"PowerOff\"\n\naction:\n  - service: remote.turn_off\n    target:\n      entity_id: remote.huiskamer\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div>\u00a0<\/div>\n<h2>Resultaat<\/h2>\n<p>Met deze setup heb je:<\/p>\n<ul>\n<li>volledig dynamische Harmony\u2011integratie<\/li>\n<li>dropdowns per apparaat met alle commando\u2019s<\/li>\n<li>directe uitvoering bij selectie<\/li>\n<li>\u00e9\u00e9n automation voor alle devices<\/li>\n<li>automatische activiteitenlijst<\/li>\n<li>start\/stop activiteiten via dropdown<\/li>\n<\/ul>\n<p>Dit is de meest complete en onderhoudsvrije Harmony\u2011integratie voor Home Assistant.<\/p>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<div class=\"pvc_clear\"><\/div><p id=\"pvc_stats_456\" class=\"pvc_stats all  \" data-element-id=\"456\" 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>\u00a0 De Logitech Harmony Hub blijft een van de krachtigste universele afstandsbedieningen, ook al wordt hij niet meer actief ontwikkeld. In deze handleiding laat ik zien hoe je de Harmony Hub volledig dynamisch integreert in Home Assistant. We bouwen: dropdowns per apparaat met alle commando\u2019s automatische activiteitenlijst directe uitvoering van commando\u2019s bij selectie \u00e9\u00e9n enkele &hellip; <\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/pcgsm.nl\/ohh\/2026\/02\/16\/home-assistant-logitech-harmony-de-ultieme-integratie-volledige-handleiding\/\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_456\" class=\"pvc_stats all  \" data-element-id=\"456\" 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":[18,17,19],"class_list":["post-456","post","type-post","status-publish","format-standard","hentry","category-geen-categorie","tag-harmony","tag-home-assistant","tag-logitech"],"a3_pvc":{"activated":true,"total_views":73,"today_views":0},"_links":{"self":[{"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/posts\/456","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=456"}],"version-history":[{"count":2,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/posts\/456\/revisions"}],"predecessor-version":[{"id":467,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/posts\/456\/revisions\/467"}],"wp:attachment":[{"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/media?parent=456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/categories?post=456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pcgsm.nl\/ohh\/wp-json\/wp\/v2\/tags?post=456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}