diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 23827ae870df4ceea54aad5352ddf290a6ccafa2..a39b265991424b299d290f61016219d65045d23a 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -55,6 +55,10 @@ repos:
     rev: v1.21.0
     hooks:
       - id: yamllint
+  - repo: https://github.com/prettier/prettier
+    rev: 2.0.2
+    hooks:
+      - id: prettier
   - repo: local
     hooks:
       # Run mypy through our wrapper script in order to get the possible
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000000000000000000000000000000000000..cf6293781611ec41bb8c45294cc6aefb4b377586
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,5 @@
+*.md
+azure-*.yml
+docs/source/_templates/*
+homeassistant/components/*/.translations/*.json
+tests/fixtures/*
diff --git a/azure-pipelines-ci.yml b/azure-pipelines-ci.yml
index eedeefad073d565b75f9a2f762074ec8b40d150d..2e9ec2b4e380222c1f9a7b42bcc1fcf3750caa54 100644
--- a/azure-pipelines-ci.yml
+++ b/azure-pipelines-ci.yml
@@ -72,6 +72,10 @@ stages:
         . venv/bin/activate
         pre-commit run pyupgrade --all-files
       displayName: 'Run pyupgrade'
+    - script: |
+        . venv/bin/activate
+        pre-commit run prettier --all-files
+      displayName: 'Run prettier'
   - job: 'Validate'
     pool:
       vmImage: 'ubuntu-latest'
diff --git a/homeassistant/components/abode/strings.json b/homeassistant/components/abode/strings.json
index bf7e768f6e325c9dd54047fc424cd0bf7eef35f5..5c1385c6ecd9ac8f6ae346fc663083b3c2a9fb2c 100644
--- a/homeassistant/components/abode/strings.json
+++ b/homeassistant/components/abode/strings.json
@@ -19,4 +19,4 @@
       "single_instance_allowed": "Only a single configuration of Abode is allowed."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/adguard/strings.json b/homeassistant/components/adguard/strings.json
index d33ba2b397a84e5f0cebff15a210dfabc0f7001f..fb17a8ea47110b31fb4971155dd5ece224416740 100644
--- a/homeassistant/components/adguard/strings.json
+++ b/homeassistant/components/adguard/strings.json
@@ -1,32 +1,32 @@
 {
-    "config": {
-        "title": "AdGuard Home",
-        "step": {
-            "user": {
-                "title": "Link your AdGuard Home.",
-                "description": "Set up your AdGuard Home instance to allow monitoring and control.",
-                "data": {
-                    "host": "Host",
-                    "password": "Password",
-                    "port": "Port",
-                    "username": "Username",
-                    "ssl": "AdGuard Home uses a SSL certificate",
-                    "verify_ssl": "AdGuard Home uses a proper certificate"
-                }
-            },
-            "hassio_confirm": {
-                "title": "AdGuard Home via Hass.io add-on",
-                "description": "Do you want to configure Home Assistant to connect to the AdGuard Home provided by the Hass.io add-on: {addon}?"
-            }
-        },
-        "error": {
-            "connection_error": "Failed to connect."
-        },
-        "abort": {
-            "adguard_home_outdated": "This integration requires AdGuard Home {minimal_version} or higher, you have {current_version}.",
-            "adguard_home_addon_outdated": "This integration requires AdGuard Home {minimal_version} or higher, you have {current_version}. Please update your Hass.io AdGuard Home add-on.",
-            "existing_instance_updated": "Updated existing configuration.",
-            "single_instance_allowed": "Only a single configuration of AdGuard Home is allowed."
+  "config": {
+    "title": "AdGuard Home",
+    "step": {
+      "user": {
+        "title": "Link your AdGuard Home.",
+        "description": "Set up your AdGuard Home instance to allow monitoring and control.",
+        "data": {
+          "host": "Host",
+          "password": "Password",
+          "port": "Port",
+          "username": "Username",
+          "ssl": "AdGuard Home uses a SSL certificate",
+          "verify_ssl": "AdGuard Home uses a proper certificate"
         }
+      },
+      "hassio_confirm": {
+        "title": "AdGuard Home via Hass.io add-on",
+        "description": "Do you want to configure Home Assistant to connect to the AdGuard Home provided by the Hass.io add-on: {addon}?"
+      }
+    },
+    "error": {
+      "connection_error": "Failed to connect."
+    },
+    "abort": {
+      "adguard_home_outdated": "This integration requires AdGuard Home {minimal_version} or higher, you have {current_version}.",
+      "adguard_home_addon_outdated": "This integration requires AdGuard Home {minimal_version} or higher, you have {current_version}. Please update your Hass.io AdGuard Home add-on.",
+      "existing_instance_updated": "Updated existing configuration.",
+      "single_instance_allowed": "Only a single configuration of AdGuard Home is allowed."
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/ads/services.yaml b/homeassistant/components/ads/services.yaml
index 81751e768f1e0a9eef8da2e0b3f8a6dbf43b0698..1e7b664b674451c5c1f321217428be523cdbc394 100644
--- a/homeassistant/components/ads/services.yaml
+++ b/homeassistant/components/ads/services.yaml
@@ -6,10 +6,10 @@ write_data_by_name:
   fields:
     adsvar:
       description: The name of the variable to write to.
-      example: '.global_var'
+      example: ".global_var"
     adstype:
       description: The data type of the variable to write to.
-      example: 'int'
+      example: "int"
     value:
       description: The value to write to the variable.
       example: 1
diff --git a/homeassistant/components/aftership/services.yaml b/homeassistant/components/aftership/services.yaml
index 157156c3252900c78d42e0cc87636ae81a04e2c3..5ad30d25d8b7625b288a73777725986b6488c184 100644
--- a/homeassistant/components/aftership/services.yaml
+++ b/homeassistant/components/aftership/services.yaml
@@ -5,20 +5,20 @@ add_tracking:
   fields:
     tracking_number:
       description: Tracking number for the new tracking
-      example: '123456789'
+      example: "123456789"
     title:
       description: A custom title for the new tracking
-      example: 'Laptop'
+      example: "Laptop"
     slug:
       description: Slug (carrier) of the new tracking
-      example: 'USPS'
+      example: "USPS"
 
 remove_tracking:
   description: Remove a tracking from Aftership.
   fields:
     tracking_number:
       description: Tracking number of the tracking to remove
-      example: '123456789'
+      example: "123456789"
     slug:
       description: Slug (carrier) of the tracking to remove
-      example: 'USPS'
+      example: "USPS"
diff --git a/homeassistant/components/alarm_control_panel/services.yaml b/homeassistant/components/alarm_control_panel/services.yaml
index b31cb718b3f8e4a48045451c0162fc8b50167d6f..fa5c573a7f8986901b9dd70708e5d1cc2387b7ba 100644
--- a/homeassistant/components/alarm_control_panel/services.yaml
+++ b/homeassistant/components/alarm_control_panel/services.yaml
@@ -5,7 +5,7 @@ alarm_disarm:
   fields:
     entity_id:
       description: Name of alarm control panel to disarm.
-      example: 'alarm_control_panel.downstairs'
+      example: "alarm_control_panel.downstairs"
     code:
       description: An optional code to disarm the alarm control panel with.
       example: 1234
@@ -15,7 +15,7 @@ alarm_arm_custom_bypass:
   fields:
     entity_id:
       description: Name of alarm control panel to arm custom bypass.
-      example: 'alarm_control_panel.downstairs'
+      example: "alarm_control_panel.downstairs"
     code:
       description: An optional code to arm custom bypass the alarm control panel with.
       example: 1234
@@ -25,7 +25,7 @@ alarm_arm_home:
   fields:
     entity_id:
       description: Name of alarm control panel to arm home.
-      example: 'alarm_control_panel.downstairs'
+      example: "alarm_control_panel.downstairs"
     code:
       description: An optional code to arm home the alarm control panel with.
       example: 1234
@@ -35,7 +35,7 @@ alarm_arm_away:
   fields:
     entity_id:
       description: Name of alarm control panel to arm away.
-      example: 'alarm_control_panel.downstairs'
+      example: "alarm_control_panel.downstairs"
     code:
       description: An optional code to arm away the alarm control panel with.
       example: 1234
@@ -45,7 +45,7 @@ alarm_arm_night:
   fields:
     entity_id:
       description: Name of alarm control panel to arm night.
-      example: 'alarm_control_panel.downstairs'
+      example: "alarm_control_panel.downstairs"
     code:
       description: An optional code to arm night the alarm control panel with.
       example: 1234
@@ -55,7 +55,7 @@ alarm_trigger:
   fields:
     entity_id:
       description: Name of alarm control panel to trigger.
-      example: 'alarm_control_panel.downstairs'
+      example: "alarm_control_panel.downstairs"
     code:
       description: An optional code to trigger the alarm control panel with.
       example: 1234
diff --git a/homeassistant/components/alarm_control_panel/strings.json b/homeassistant/components/alarm_control_panel/strings.json
index 4e14a8c2a3d5092e49383d72eae099b8e5df9edf..928c8d2a2e25828755293501f8fcf7423bdc5174 100644
--- a/homeassistant/components/alarm_control_panel/strings.json
+++ b/homeassistant/components/alarm_control_panel/strings.json
@@ -1,25 +1,25 @@
 {
-    "device_automation": {
-        "action_type": {
-            "arm_away": "Arm {entity_name} away",
-            "arm_home": "Arm {entity_name} home",
-            "arm_night": "Arm {entity_name} night",
-            "disarm": "Disarm {entity_name}",
-            "trigger": "Trigger {entity_name}"
-        },
-        "condition_type": {
-            "is_triggered": "{entity_name} is triggered",
-            "is_disarmed": "{entity_name} is disarmed",
-            "is_armed_home": "{entity_name} is armed home",
-            "is_armed_away": "{entity_name} is armed away",
-            "is_armed_night": "{entity_name} is armed night"
-        },
-        "trigger_type": {
-            "triggered": "{entity_name} triggered",
-            "disarmed": "{entity_name} disarmed",
-            "armed_home": "{entity_name} armed home",
-            "armed_away": "{entity_name} armed away",
-            "armed_night": "{entity_name} armed night"
-        }
+  "device_automation": {
+    "action_type": {
+      "arm_away": "Arm {entity_name} away",
+      "arm_home": "Arm {entity_name} home",
+      "arm_night": "Arm {entity_name} night",
+      "disarm": "Disarm {entity_name}",
+      "trigger": "Trigger {entity_name}"
+    },
+    "condition_type": {
+      "is_triggered": "{entity_name} is triggered",
+      "is_disarmed": "{entity_name} is disarmed",
+      "is_armed_home": "{entity_name} is armed home",
+      "is_armed_away": "{entity_name} is armed away",
+      "is_armed_night": "{entity_name} is armed night"
+    },
+    "trigger_type": {
+      "triggered": "{entity_name} triggered",
+      "disarmed": "{entity_name} disarmed",
+      "armed_home": "{entity_name} armed home",
+      "armed_away": "{entity_name} armed away",
+      "armed_night": "{entity_name} armed night"
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/alarmdecoder/manifest.json b/homeassistant/components/alarmdecoder/manifest.json
index 06ab3ab14839707cd64343b0541c42edf597520c..48c5cb824addd6708d77ad5e0d9d549ef5bef3c1 100644
--- a/homeassistant/components/alarmdecoder/manifest.json
+++ b/homeassistant/components/alarmdecoder/manifest.json
@@ -1,7 +1,7 @@
 {
-    "domain": "alarmdecoder",
-    "name": "AlarmDecoder",
-    "documentation": "https://www.home-assistant.io/integrations/alarmdecoder",
-    "requirements": ["alarmdecoder==1.13.2"],
-    "codeowners": ["@ajschmidt8"]
+  "domain": "alarmdecoder",
+  "name": "AlarmDecoder",
+  "documentation": "https://www.home-assistant.io/integrations/alarmdecoder",
+  "requirements": ["alarmdecoder==1.13.2"],
+  "codeowners": ["@ajschmidt8"]
 }
diff --git a/homeassistant/components/alarmdecoder/services.yaml b/homeassistant/components/alarmdecoder/services.yaml
index 1193f90ff8e60849864642c639c9ebb5f785aa56..bcf5a927713aacd0e5f614540170e63a9f83abed 100644
--- a/homeassistant/components/alarmdecoder/services.yaml
+++ b/homeassistant/components/alarmdecoder/services.yaml
@@ -2,8 +2,8 @@ alarm_keypress:
   description: Send custom keypresses to the alarm.
   fields:
     keypress:
-      description: 'String to send to the alarm panel.'
-      example: '*71'
+      description: "String to send to the alarm panel."
+      example: "*71"
 
 alarm_toggle_chime:
   description: Send the alarm the toggle chime command.
diff --git a/homeassistant/components/alert/services.yaml b/homeassistant/components/alert/services.yaml
index 1cdd1f02e7eed7296e892a535076fbbe0fc1ee91..995302005460e77afe67bb50bfd7eeea8367b4ca 100644
--- a/homeassistant/components/alert/services.yaml
+++ b/homeassistant/components/alert/services.yaml
@@ -1,12 +1,18 @@
 toggle:
   description: Toggle alert's notifications.
   fields:
-    entity_id: {description: Name of the alert to toggle., example: alert.garage_door_open}
+    entity_id:
+      description: Name of the alert to toggle.
+      example: alert.garage_door_open
 turn_off:
   description: Silence alert's notifications.
   fields:
-    entity_id: {description: Name of the alert to silence., example: alert.garage_door_open}
+    entity_id:
+      description: Name of the alert to silence.
+      example: alert.garage_door_open
 turn_on:
   description: Reset alert's notifications.
   fields:
-    entity_id: {description: Name of the alert to reset., example: alert.garage_door_open}
+    entity_id:
+      description: Name of the alert to reset.
+      example: alert.garage_door_open
diff --git a/homeassistant/components/ambiclimate/strings.json b/homeassistant/components/ambiclimate/strings.json
index 78386077af28e78b1e91b1382b4c83ed15d94e0e..f38836c0414db3b5fc2dff422037a2978e677901 100644
--- a/homeassistant/components/ambiclimate/strings.json
+++ b/homeassistant/components/ambiclimate/strings.json
@@ -20,4 +20,4 @@
       "access_token": "Unknown error generating an access token."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/amcrest/services.yaml b/homeassistant/components/amcrest/services.yaml
index 820f965c533bf722e49923d8d2d473a37052cb2e..10865586b6dbfbba2455ee83fd86898b8a7d0572 100644
--- a/homeassistant/components/amcrest/services.yaml
+++ b/homeassistant/components/amcrest/services.yaml
@@ -3,49 +3,49 @@ enable_recording:
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
 
 disable_recording:
   description: Disable continuous recording to camera storage.
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
 
 enable_audio:
   description: Enable audio stream.
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
 
 disable_audio:
   description: Disable audio stream.
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
 
 enable_motion_recording:
   description: Enable recording a clip to camera storage when motion is detected.
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
 
 disable_motion_recording:
   description: Disable recording a clip to camera storage when motion is detected.
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
 
 goto_preset:
   description: Move camera to PTZ preset.
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
     preset:
       description: Preset number, starting from 1.
       example: 1
@@ -55,7 +55,7 @@ set_color_bw:
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
     color_bw:
       description: Color mode, one of 'auto', 'color' or 'bw'.
       example: auto
@@ -65,24 +65,24 @@ start_tour:
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
 
 stop_tour:
   description: Stop camera's PTZ tour function.
   fields:
     entity_id:
       description: "Name(s) of the cameras, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
 
 ptz_control:
   description: Move (Pan/Tilt) and/or Zoom a PTZ camera
   fields:
     entity_id:
       description: "Name of the camera, or 'all' for all cameras."
-      example: 'camera.house_front'
+      example: "camera.house_front"
     movement:
       description: "up, down, right, left, right_up, right_down, left_up, left_down, zoom_in, zoom_out"
-      example: 'right'
+      example: "right"
     travel_time:
       description: "(optional) Travel time in fractional seconds: from 0 to 1.  Default: .2"
-      example: '.5'
+      example: ".5"
diff --git a/homeassistant/components/androidtv/services.yaml b/homeassistant/components/androidtv/services.yaml
index 96d70ef49985ecde1fdd280cbd6e3e196228cac2..9de4f928b38f520738ad326767f8ccc689b61260 100644
--- a/homeassistant/components/androidtv/services.yaml
+++ b/homeassistant/components/androidtv/services.yaml
@@ -5,31 +5,31 @@ adb_command:
   fields:
     entity_id:
       description: Name(s) of Android TV / Fire TV entities.
-      example: 'media_player.android_tv_living_room'
+      example: "media_player.android_tv_living_room"
     command:
       description: Either a key command or an ADB shell command.
-      example: 'HOME'
+      example: "HOME"
 download:
   description: Download a file from your Android TV / Fire TV device to your Home Assistant instance.
   fields:
     entity_id:
       description: Name of Android TV / Fire TV entity.
-      example: 'media_player.android_tv_living_room'
+      example: "media_player.android_tv_living_room"
     device_path:
       description: The filepath on the Android TV / Fire TV device.
-      example: '/storage/emulated/0/Download/example.txt'
+      example: "/storage/emulated/0/Download/example.txt"
     local_path:
       description: The filepath on your Home Assistant instance.
-      example: '/config/example.txt'
+      example: "/config/example.txt"
 upload:
   description: Upload a file from your Home Assistant instance to an Android TV / Fire TV device.
   fields:
     entity_id:
       description: Name(s) of Android TV / Fire TV entities.
-      example: 'media_player.android_tv_living_room'
+      example: "media_player.android_tv_living_room"
     device_path:
       description: The filepath on the Android TV / Fire TV device.
-      example: '/storage/emulated/0/Download/example.txt'
+      example: "/storage/emulated/0/Download/example.txt"
     local_path:
       description: The filepath on your Home Assistant instance.
-      example: '/config/example.txt'
+      example: "/config/example.txt"
diff --git a/homeassistant/components/apple_tv/services.yaml b/homeassistant/components/apple_tv/services.yaml
index 01e26a5630b76c0ce5b0bcae5ad03205a4d8166d..af1e052fa33fd930d04683b46077374ffd1aea30 100644
--- a/homeassistant/components/apple_tv/services.yaml
+++ b/homeassistant/components/apple_tv/services.yaml
@@ -1,5 +1,8 @@
 apple_tv_authenticate:
   description: Start AirPlay device authentication.
   fields:
-    entity_id: {description: Name(s) of entities to authenticate with., example: media_player.apple_tv}
-apple_tv_scan: {description: Scan for Apple TV devices.}
+    entity_id:
+      description: Name(s) of entities to authenticate with.
+      example: media_player.apple_tv
+apple_tv_scan:
+  description: Scan for Apple TV devices.
diff --git a/homeassistant/components/arcam_fmj/strings.json b/homeassistant/components/arcam_fmj/strings.json
index b0006dbb5ae66c798e844ad787724c71d3c886ac..85413da8f809d334eff4973fdf4b196d32e2b107 100644
--- a/homeassistant/components/arcam_fmj/strings.json
+++ b/homeassistant/components/arcam_fmj/strings.json
@@ -1,5 +1,5 @@
 {
-    "config": {
-        "title": "Arcam FMJ"
-    }
+  "config": {
+    "title": "Arcam FMJ"
+  }
 }
diff --git a/homeassistant/components/august/manifest.json b/homeassistant/components/august/manifest.json
index f1085b81554003937d3bc23965f10ef2a549a4bb..c2c383468f6d40e68985059e3d156a1a9feb2e58 100644
--- a/homeassistant/components/august/manifest.json
+++ b/homeassistant/components/august/manifest.json
@@ -2,14 +2,8 @@
   "domain": "august",
   "name": "August",
   "documentation": "https://www.home-assistant.io/integrations/august",
-  "requirements": [
-    "py-august==0.25.0"
-  ],
-  "dependencies": [
-    "configurator"
-  ],
-  "codeowners": [
-    "@bdraco"
-  ],
+  "requirements": ["py-august==0.25.0"],
+  "dependencies": ["configurator"],
+  "codeowners": ["@bdraco"],
   "config_flow": true
 }
diff --git a/homeassistant/components/august/strings.json b/homeassistant/components/august/strings.json
index 1695d33cd63da3d0c13201dab9b248ba8187914a..da8c49184526dd415998d8abd03ab88bd99b2499 100644
--- a/homeassistant/components/august/strings.json
+++ b/homeassistant/components/august/strings.json
@@ -1,32 +1,32 @@
 {
-   "config" : {
-      "error" : {
-         "unknown" : "Unexpected error",
-         "cannot_connect" : "Failed to connect, please try again",
-         "invalid_auth" : "Invalid authentication"
+  "config": {
+    "error": {
+      "unknown": "Unexpected error",
+      "cannot_connect": "Failed to connect, please try again",
+      "invalid_auth": "Invalid authentication"
+    },
+    "abort": {
+      "already_configured": "Account is already configured"
+    },
+    "step": {
+      "validation": {
+        "title": "Two factor authentication",
+        "data": {
+          "code": "Verification code"
+        },
+        "description": "Please check your {login_method} ({username}) and enter the verification code below"
       },
-      "abort" : {
-         "already_configured" : "Account is already configured"
-      },
-      "step" : {
-         "validation" : {
-            "title" : "Two factor authentication",
-            "data" : {
-               "code" : "Verification code"
-            },
-            "description" : "Please check your {login_method} ({username}) and enter the verification code below"
-         },
-         "user" : {
-            "description" : "If the Login Method is 'email', Username is the email address. If the Login Method is 'phone', Username is the phone number in the format '+NNNNNNNNN'.",
-            "data" : {
-               "timeout" : "Timeout (seconds)",
-               "password" : "Password",
-               "username" : "Username",
-               "login_method" : "Login Method"
-            },
-            "title" : "Setup an August account"
-         }
-      },
-      "title" : "August"
-   }
+      "user": {
+        "description": "If the Login Method is 'email', Username is the email address. If the Login Method is 'phone', Username is the phone number in the format '+NNNNNNNNN'.",
+        "data": {
+          "timeout": "Timeout (seconds)",
+          "password": "Password",
+          "username": "Username",
+          "login_method": "Login Method"
+        },
+        "title": "Setup an August account"
+      }
+    },
+    "title": "August"
+  }
 }
diff --git a/homeassistant/components/auth/strings.json b/homeassistant/components/auth/strings.json
index 57f5ed659b08dfe19764123f31ffdcb8a596dba8..d386bb7a48889fffb9825fb3d9a6443ba973d511 100644
--- a/homeassistant/components/auth/strings.json
+++ b/homeassistant/components/auth/strings.json
@@ -1,5 +1,5 @@
 {
-  "mfa_setup":{
+  "mfa_setup": {
     "totp": {
       "title": "TOTP",
       "step": {
diff --git a/homeassistant/components/binary_sensor/strings.json b/homeassistant/components/binary_sensor/strings.json
index e01af8d183ecb0e667f810963912a5b3da933033..f2b32f45304e50f73e4f38989628fab23fa48319 100644
--- a/homeassistant/components/binary_sensor/strings.json
+++ b/homeassistant/components/binary_sensor/strings.json
@@ -87,7 +87,6 @@
       "not_opened": "{entity_name} closed",
       "turned_on": "{entity_name} turned on",
       "turned_off": "{entity_name} turned off"
-
     }
   }
 }
diff --git a/homeassistant/components/blackbird/services.yaml b/homeassistant/components/blackbird/services.yaml
index d541e21049da1659a966ff21ab776b971dc3e3c3..a783dff241bf51a7c76e880d9369fd2b0410e73e 100644
--- a/homeassistant/components/blackbird/services.yaml
+++ b/homeassistant/components/blackbird/services.yaml
@@ -3,8 +3,7 @@ set_all_zones:
   fields:
     entity_id:
       description: Name of any blackbird zone.
-      example: 'media_player.zone_1'
+      example: "media_player.zone_1"
     source:
       description: Name of source to switch to.
-      example: 'Source 1'
-
+      example: "Source 1"
diff --git a/homeassistant/components/broadlink/services.yaml b/homeassistant/components/broadlink/services.yaml
index 2281cb1cc4d05ebc36c76a07295199f6e033b684..f1b39976afc187d8fc36b2f0e5acf2f08cbbd631 100644
--- a/homeassistant/components/broadlink/services.yaml
+++ b/homeassistant/components/broadlink/services.yaml
@@ -1,9 +1,14 @@
 send:
   description: Send a raw packet to device.
   fields:
-    host: {description: IP address of device to send packet via. This must be an already configured device., example: "192.168.0.1"}
-    packet: {description: base64 encoded packet.}
+    host:
+      description: IP address of device to send packet via. This must be an already configured device.
+      example: "192.168.0.1"
+    packet:
+      description: base64 encoded packet.
 learn:
   description: Learn a IR or RF code from remote.
   fields:
-    host: {description: IP address of device to send packet via. This must be an already configured device., example: "192.168.0.1"}
+    host:
+      description: IP address of device to send packet via. This must be an already configured device.
+      example: "192.168.0.1"
diff --git a/homeassistant/components/calendar/services.yaml b/homeassistant/components/calendar/services.yaml
index d8a0575bcedd26e7f799d2b1e44532c87ba12669..8e2958f7370155ed776913ef53bd77630eed44ec 100644
--- a/homeassistant/components/calendar/services.yaml
+++ b/homeassistant/components/calendar/services.yaml
@@ -1,2 +1 @@
 # Describes the format for available calendar services
-
diff --git a/homeassistant/components/camera/services.yaml b/homeassistant/components/camera/services.yaml
index 6196322e23458a6128f7166a73f61dd069d27dac..14f949769846254d9b1ac799e7947d18344407d6 100644
--- a/homeassistant/components/camera/services.yaml
+++ b/homeassistant/components/camera/services.yaml
@@ -5,61 +5,61 @@ turn_off:
   fields:
     entity_id:
       description: Entity id.
-      example: 'camera.living_room'
+      example: "camera.living_room"
 
 turn_on:
   description: Turn on camera.
   fields:
     entity_id:
       description: Entity id.
-      example: 'camera.living_room'
+      example: "camera.living_room"
 
 enable_motion_detection:
   description: Enable the motion detection in a camera.
   fields:
     entity_id:
       description: Name(s) of entities to enable motion detection.
-      example: 'camera.living_room_camera'
+      example: "camera.living_room_camera"
 
 disable_motion_detection:
   description: Disable the motion detection in a camera.
   fields:
     entity_id:
       description: Name(s) of entities to disable motion detection.
-      example: 'camera.living_room_camera'
+      example: "camera.living_room_camera"
 
 snapshot:
   description: Take a snapshot from a camera.
   fields:
     entity_id:
       description: Name(s) of entities to create snapshots from.
-      example: 'camera.living_room_camera'
+      example: "camera.living_room_camera"
     filename:
       description: Template of a Filename. Variable is entity_id.
-      example: '/tmp/snapshot_{{ entity_id }}'
+      example: "/tmp/snapshot_{{ entity_id }}"
 
 play_stream:
   description: Play camera stream on supported media player.
   fields:
     entity_id:
       description: Name(s) of entities to stream from.
-      example: 'camera.living_room_camera'
+      example: "camera.living_room_camera"
     media_player:
       description: Name(s) of media player to stream to.
-      example: 'media_player.living_room_tv'
+      example: "media_player.living_room_tv"
     format:
       description: (Optional) Stream format supported by media player.
-      example: 'hls'
+      example: "hls"
 
 record:
   description: Record live camera feed.
   fields:
     entity_id:
       description: Name of entities to record.
-      example: 'camera.living_room_camera'
+      example: "camera.living_room_camera"
     filename:
       description: Template of a Filename. Variable is entity_id.  Must be mp4.
-      example: '/tmp/snapshot_{{ entity_id }}.mp4'
+      example: "/tmp/snapshot_{{ entity_id }}.mp4"
     duration:
       description: (Optional) Target recording length (in seconds).
       default: 30
@@ -67,4 +67,3 @@ record:
     lookback:
       description: (Optional) Target lookback period (in seconds) to include in addition to duration.  Only available if there is currently an active HLS stream.
       example: 4
-
diff --git a/homeassistant/components/cert_expiry/strings.json b/homeassistant/components/cert_expiry/strings.json
index 4d4982a19af777a0df880f76323d261fa46e1842..e47613e17ca8ced985645daf147c7097f81d4bb2 100644
--- a/homeassistant/components/cert_expiry/strings.json
+++ b/homeassistant/components/cert_expiry/strings.json
@@ -1,24 +1,24 @@
 {
-    "config": {
-        "title": "Certificate Expiry",
-        "step": {
-            "user": {
-                "title": "Define the certificate to test",
-                "data": {
-                    "name": "The name of the certificate",
-                    "host": "The hostname of the certificate",
-                    "port": "The port of the certificate"
-                }
-            }
-        },
-        "error": {
-            "resolve_failed": "This host can not be resolved",
-            "connection_timeout": "Timeout when connecting to this host",
-            "connection_refused": "Connection refused when connecting to host"
-        },
-        "abort": {
-            "already_configured": "This host and port combination is already configured",
-            "import_failed": "Import from config failed"
+  "config": {
+    "title": "Certificate Expiry",
+    "step": {
+      "user": {
+        "title": "Define the certificate to test",
+        "data": {
+          "name": "The name of the certificate",
+          "host": "The hostname of the certificate",
+          "port": "The port of the certificate"
         }
+      }
+    },
+    "error": {
+      "resolve_failed": "This host can not be resolved",
+      "connection_timeout": "Timeout when connecting to this host",
+      "connection_refused": "Connection refused when connecting to host"
+    },
+    "abort": {
+      "already_configured": "This host and port combination is already configured",
+      "import_failed": "Import from config failed"
     }
+  }
 }
diff --git a/homeassistant/components/channels/services.yaml b/homeassistant/components/channels/services.yaml
index cbb1dd201a67b4c0dc6c28a59350fb9d8b84dbd9..f06b2bfd90556993af0b47406c1b40f4a0d1aace 100644
--- a/homeassistant/components/channels/services.yaml
+++ b/homeassistant/components/channels/services.yaml
@@ -3,21 +3,21 @@ seek_forward:
   fields:
     entity_id:
       description: Name of entity for the instance of Channels to seek in.
-      example: 'media_player.family_room_channels'
+      example: "media_player.family_room_channels"
 
 seek_backward:
   description: Seek backward by a set number of seconds.
   fields:
     entity_id:
       description: Name of entity for the instance of Channels to seek in.
-      example: 'media_player.family_room_channels'
+      example: "media_player.family_room_channels"
 
 seek_by:
   description: Seek by an inputted number of seconds.
   fields:
     entity_id:
       description: Name of entity for the instance of Channels to seek in.
-      example: 'media_player.family_room_channels'
+      example: "media_player.family_room_channels"
     seconds:
       description: Number of seconds to seek by. Negative numbers seek backwards.
       example: 120
diff --git a/homeassistant/components/climate/services.yaml b/homeassistant/components/climate/services.yaml
index 815df57f342c5cadc752070170567ba1d7224ba6..999640812779d35260b334cb0698ba6ce4850928 100644
--- a/homeassistant/components/climate/services.yaml
+++ b/homeassistant/components/climate/services.yaml
@@ -5,7 +5,7 @@ set_aux_heat:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.kitchen'
+      example: "climate.kitchen"
     aux_heat:
       description: New value of axillary heater.
       example: true
@@ -15,17 +15,17 @@ set_preset_mode:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.kitchen'
+      example: "climate.kitchen"
     preset_mode:
       description: New value of preset mode
-      example: 'away'
+      example: "away"
 
 set_temperature:
   description: Set target temperature of climate device.
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.kitchen'
+      example: "climate.kitchen"
     temperature:
       description: New target temperature for HVAC.
       example: 25
@@ -37,14 +37,14 @@ set_temperature:
       example: 20
     hvac_mode:
       description: HVAC operation mode to set temperature to.
-      example: 'heat'
+      example: "heat"
 
 set_humidity:
   description: Set target humidity of climate device.
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.kitchen'
+      example: "climate.kitchen"
     humidity:
       description: New target humidity for climate device.
       example: 60
@@ -54,7 +54,7 @@ set_fan_mode:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.nest'
+      example: "climate.nest"
     fan_mode:
       description: New value of fan mode.
       example: On Low
@@ -64,7 +64,7 @@ set_hvac_mode:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.nest'
+      example: "climate.nest"
     hvac_mode:
       description: New value of operation mode.
       example: heat
@@ -74,7 +74,7 @@ set_swing_mode:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.nest'
+      example: "climate.nest"
     swing_mode:
       description: New value of swing mode.
 
@@ -83,11 +83,11 @@ turn_on:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.kitchen'
+      example: "climate.kitchen"
 
 turn_off:
   description: Turn climate device off.
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.kitchen'
+      example: "climate.kitchen"
diff --git a/homeassistant/components/counter/services.yaml b/homeassistant/components/counter/services.yaml
index 449ae6841ffeaf0dfd14f9b3790f6ceb54423323..960424df0ca2c5844d3f9d294e2f9c1796254055 100644
--- a/homeassistant/components/counter/services.yaml
+++ b/homeassistant/components/counter/services.yaml
@@ -5,25 +5,25 @@ decrement:
   fields:
     entity_id:
       description: Entity id of the counter to decrement.
-      example: 'counter.count0'
+      example: "counter.count0"
 increment:
   description: Increment a counter.
   fields:
     entity_id:
       description: Entity id of the counter to increment.
-      example: 'counter.count0'
+      example: "counter.count0"
 reset:
   description: Reset a counter.
   fields:
     entity_id:
       description: Entity id of the counter to reset.
-      example: 'counter.count0'
+      example: "counter.count0"
 configure:
   description: Change counter parameters
   fields:
     entity_id:
       description: Entity id of the counter to change.
-      example: 'counter.count0'
+      example: "counter.count0"
     minimum:
       description: New minimum value for the counter or None to remove minimum
       example: 0
diff --git a/homeassistant/components/cover/services.yaml b/homeassistant/components/cover/services.yaml
index 64534e409742e8e74e0a2ce7801d83645a5d69c6..604955aa1992ed02117938b7e6f1d00db06ad4e9 100644
--- a/homeassistant/components/cover/services.yaml
+++ b/homeassistant/components/cover/services.yaml
@@ -5,28 +5,28 @@ open_cover:
   fields:
     entity_id:
       description: Name(s) of cover(s) to open.
-      example: 'cover.living_room'
+      example: "cover.living_room"
 
 close_cover:
   description: Close all or specified cover.
   fields:
     entity_id:
       description: Name(s) of cover(s) to close.
-      example: 'cover.living_room'
+      example: "cover.living_room"
 
 toggle:
   description: Toggles a cover open/closed.
   fields:
     entity_id:
       description: Name(s) of cover(s) to toggle.
-      example: 'cover.garage_door'
+      example: "cover.garage_door"
 
 set_cover_position:
   description: Move to specific position all or specified cover.
   fields:
     entity_id:
       description: Name(s) of cover(s) to set cover position.
-      example: 'cover.living_room'
+      example: "cover.living_room"
     position:
       description: Position of the cover (0 to 100).
       example: 30
@@ -36,35 +36,35 @@ stop_cover:
   fields:
     entity_id:
       description: Name(s) of cover(s) to stop.
-      example: 'cover.living_room'
+      example: "cover.living_room"
 
 open_cover_tilt:
   description: Open all or specified cover tilt.
   fields:
     entity_id:
       description: Name(s) of cover(s) tilt to open.
-      example: 'cover.living_room_blinds'
+      example: "cover.living_room_blinds"
 
 close_cover_tilt:
   description: Close all or specified cover tilt.
   fields:
     entity_id:
       description: Name(s) of cover(s) to close tilt.
-      example: 'cover.living_room_blinds'
+      example: "cover.living_room_blinds"
 
 toggle_cover_tilt:
   description: Toggles a cover tilt open/closed.
   fields:
     entity_id:
       description: Name(s) of cover(s) to toggle tilt.
-      example: 'cover.living_room_blinds'
+      example: "cover.living_room_blinds"
 
 set_cover_tilt_position:
   description: Move to specific position all or specified cover tilt.
   fields:
     entity_id:
       description: Name(s) of cover(s) to set cover tilt position.
-      example: 'cover.living_room_blinds'
+      example: "cover.living_room_blinds"
     tilt_position:
       description: Tilt position of the cover (0 to 100).
       example: 30
@@ -74,4 +74,4 @@ stop_cover_tilt:
   fields:
     entity_id:
       description: Name(s) of cover(s) to stop.
-      example: 'cover.living_room_blinds'
+      example: "cover.living_room_blinds"
diff --git a/homeassistant/components/daikin/strings.json b/homeassistant/components/daikin/strings.json
index 4badc8b72d7890773fdc8b4655eae1a39db58527..6c48024efc444af37e4a318ee7ceff7a36183a7a 100644
--- a/homeassistant/components/daikin/strings.json
+++ b/homeassistant/components/daikin/strings.json
@@ -1,19 +1,19 @@
 {
-    "config": {
-        "title": "Daikin AC",
-        "step": {
-            "user": {
-                "title": "Configure Daikin AC",
-                "description": "Enter IP address of your Daikin AC.",
-                "data": {
-                    "host": "Host"
-                }
-            }
-        },
-        "abort": {
-            "device_timeout": "Timeout connecting to the device.",
-            "device_fail": "Unexpected error creating device.",
-            "already_configured": "Device is already configured"
+  "config": {
+    "title": "Daikin AC",
+    "step": {
+      "user": {
+        "title": "Configure Daikin AC",
+        "description": "Enter IP address of your Daikin AC.",
+        "data": {
+          "host": "Host"
         }
+      }
+    },
+    "abort": {
+      "device_timeout": "Timeout connecting to the device.",
+      "device_fail": "Unexpected error creating device.",
+      "already_configured": "Device is already configured"
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/deconz/manifest.json b/homeassistant/components/deconz/manifest.json
index 2889468243024e99b767a135bdf654bfd6224cf6..5ff4a303b0c35374d424aa862ed2a67184b08659 100644
--- a/homeassistant/components/deconz/manifest.json
+++ b/homeassistant/components/deconz/manifest.json
@@ -3,16 +3,12 @@
   "name": "deCONZ",
   "config_flow": true,
   "documentation": "https://www.home-assistant.io/integrations/deconz",
-  "requirements": [
-    "pydeconz==70"
-  ],
+  "requirements": ["pydeconz==70"],
   "ssdp": [
     {
       "manufacturer": "Royal Philips Electronics"
     }
   ],
-  "codeowners": [
-    "@kane610"
-  ],
+  "codeowners": ["@kane610"],
   "quality_scale": "platinum"
 }
diff --git a/homeassistant/components/deconz/services.yaml b/homeassistant/components/deconz/services.yaml
index bd5c2eb6a0c71cd51937da624480765bc80877fd..d8bf3e4d9949f7d7e4f721a74f3063a6613b07db 100644
--- a/homeassistant/components/deconz/services.yaml
+++ b/homeassistant/components/deconz/services.yaml
@@ -3,7 +3,7 @@ configure:
   fields:
     entity:
       description: Entity id representing a specific device in deCONZ.
-      example: 'light.rgb_light'
+      example: "light.rgb_light"
     field:
       description: >-
         Field is a string representing a full path to deCONZ endpoint (when
@@ -15,11 +15,11 @@ configure:
       example: '{"on": true}'
     bridgeid:
       description: (Optional) Bridgeid is a string unique for each deCONZ hardware. It can be found as part of the integration name.
-      example: '00212EFFFF012345'
+      example: "00212EFFFF012345"
 
 device_refresh:
   description: Refresh device lists from deCONZ.
   fields:
     bridgeid:
       description: (Optional) Bridgeid is a string unique for each deCONZ hardware. It can be found as part of the integration name.
-      example: '00212EFFFF012345'
+      example: "00212EFFFF012345"
diff --git a/homeassistant/components/deconz/strings.json b/homeassistant/components/deconz/strings.json
index 52cd90e54a13a614f962a19be1ea1cc96cf2cc2b..c4ceffd5373af0cc56f14ecbf63c2619cd5277f8 100644
--- a/homeassistant/components/deconz/strings.json
+++ b/homeassistant/components/deconz/strings.json
@@ -95,4 +95,4 @@
       "side_6": "Side 6"
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/denonavr/services.yaml b/homeassistant/components/denonavr/services.yaml
index 889adc3af058c14ed1aa1011d3818490c7904ba3..c9831a68aa5294136925aa9b54c38946766dc881 100644
--- a/homeassistant/components/denonavr/services.yaml
+++ b/homeassistant/components/denonavr/services.yaml
@@ -1,11 +1,11 @@
 # Describes the format for available webostv services
 
 get_command:
-  description: 'Send a generic http get command.'
+  description: "Send a generic http get command."
   fields:
     entity_id:
       description: Name(s) of the denonavr entities where to run the API method.
-      example: 'media_player.living_room_receiver'
+      example: "media_player.living_room_receiver"
     command:
       description: Endpoint of the command, including associated parameters.
-      example: '/goform/formiPhoneAppDirect.xml?RCKSK0410370'
+      example: "/goform/formiPhoneAppDirect.xml?RCKSK0410370"
diff --git a/homeassistant/components/device_tracker/services.yaml b/homeassistant/components/device_tracker/services.yaml
index 51865034b00fbf5c6b07f8c9bc18d858da1de73c..63435d0ac9d6562303a05f67b29649ea390e40a9 100644
--- a/homeassistant/components/device_tracker/services.yaml
+++ b/homeassistant/components/device_tracker/services.yaml
@@ -5,22 +5,22 @@ see:
   fields:
     mac:
       description: MAC address of device
-      example: 'FF:FF:FF:FF:FF:FF'
+      example: "FF:FF:FF:FF:FF:FF"
     dev_id:
       description: Id of device (find id in known_devices.yaml).
-      example: 'phonedave'
+      example: "phonedave"
     host_name:
       description: Hostname of device
-      example: 'Dave'
+      example: "Dave"
     location_name:
       description: Name of location where device is located (not_home is away).
-      example: 'home'
+      example: "home"
     gps:
       description: GPS coordinates where device is located (latitude, longitude).
-      example: '[51.509802, -0.086692]'
+      example: "[51.509802, -0.086692]"
     gps_accuracy:
       description: Accuracy of GPS coordinates.
-      example: '80'
+      example: "80"
     battery:
       description: Battery level of device.
-      example: '100'
+      example: "100"
diff --git a/homeassistant/components/doods/manifest.json b/homeassistant/components/doods/manifest.json
index 253174972b17fedc0f5019d770357a659955dde5..2e7c9efc7c62f40d0a7975b718c8775bb83e85e4 100644
--- a/homeassistant/components/doods/manifest.json
+++ b/homeassistant/components/doods/manifest.json
@@ -2,9 +2,6 @@
   "domain": "doods",
   "name": "DOODS - Distributed Outside Object Detection Service",
   "documentation": "https://www.home-assistant.io/integrations/doods",
-  "requirements": [
-    "pydoods==1.0.2",
-    "pillow==7.0.0"
-  ],
+  "requirements": ["pydoods==1.0.2", "pillow==7.0.0"],
   "codeowners": []
 }
diff --git a/homeassistant/components/doorbird/manifest.json b/homeassistant/components/doorbird/manifest.json
index e0aef80ab61c9a6ce34eafaa8caafabe668e60a5..6c1c75ff328edc0869e5849f2186deb1618bba0b 100644
--- a/homeassistant/components/doorbird/manifest.json
+++ b/homeassistant/components/doorbird/manifest.json
@@ -2,16 +2,9 @@
   "domain": "doorbird",
   "name": "DoorBird",
   "documentation": "https://www.home-assistant.io/integrations/doorbird",
-  "requirements": [
-    "doorbirdpy==2.0.8"
-  ],
-  "dependencies": [
-    "http",
-    "logbook"
-  ],
+  "requirements": ["doorbirdpy==2.0.8"],
+  "dependencies": ["http", "logbook"],
   "zeroconf": ["_axis-video._tcp.local."],
-  "codeowners": [
-    "@oblogic7", "@bdraco"
-  ],
+  "codeowners": ["@oblogic7", "@bdraco"],
   "config_flow": true
 }
diff --git a/homeassistant/components/doorbird/strings.json b/homeassistant/components/doorbird/strings.json
index e4fb72db91baf9f50fe840695aaf4f4bc7098477..6bfda8c31dd28390fa4a5d23f4abee44cb94560c 100644
--- a/homeassistant/components/doorbird/strings.json
+++ b/homeassistant/components/doorbird/strings.json
@@ -1,37 +1,37 @@
 {
-   "options" : {
-      "step" : {
-         "init" : {
-            "data" : {
-               "events" : "Comma separated list of events."
-            },
-            "description" : "Add an comma separated event name for each event you wish to track. After entering them here, use the DoorBird app to assign them to a specific event. See the documentation at https://www.home-assistant.io/integrations/doorbird/#events. Example: somebody_pressed_the_button, motion"
-         }
+  "options": {
+    "step": {
+      "init": {
+        "data": {
+          "events": "Comma separated list of events."
+        },
+        "description": "Add an comma separated event name for each event you wish to track. After entering them here, use the DoorBird app to assign them to a specific event. See the documentation at https://www.home-assistant.io/integrations/doorbird/#events. Example: somebody_pressed_the_button, motion"
       }
-   },
-   "config" : {
-      "step" : {
-         "user" : {
-            "title" : "Connect to the DoorBird",
-            "data" : {
-               "password" : "Password",
-               "host" : "Host (IP Address)",
-               "name" : "Device Name",
-               "username" : "Username"
-            }
-         }
-      },
-      "abort" : {
-         "already_configured" : "This DoorBird is already configured",
-         "link_local_address": "Link local addresses are not supported",
-         "not_doorbird_device": "This device is not a DoorBird"
-      },
-      "title" : "DoorBird",
-      "flow_title" : "DoorBird {name} ({host})",
-      "error" : {
-         "invalid_auth" : "Invalid authentication",
-         "unknown" : "Unexpected error",
-         "cannot_connect" : "Failed to connect, please try again"
+    }
+  },
+  "config": {
+    "step": {
+      "user": {
+        "title": "Connect to the DoorBird",
+        "data": {
+          "password": "Password",
+          "host": "Host (IP Address)",
+          "name": "Device Name",
+          "username": "Username"
+        }
       }
-   }
+    },
+    "abort": {
+      "already_configured": "This DoorBird is already configured",
+      "link_local_address": "Link local addresses are not supported",
+      "not_doorbird_device": "This device is not a DoorBird"
+    },
+    "title": "DoorBird",
+    "flow_title": "DoorBird {name} ({host})",
+    "error": {
+      "invalid_auth": "Invalid authentication",
+      "unknown": "Unexpected error",
+      "cannot_connect": "Failed to connect, please try again"
+    }
+  }
 }
diff --git a/homeassistant/components/duckdns/services.yaml b/homeassistant/components/duckdns/services.yaml
index 8c353a0b3cd2dbbe70791d0be7e22b30783146f4..e0ba27390df3babb66ec3eaa97984938744cb7da 100644
--- a/homeassistant/components/duckdns/services.yaml
+++ b/homeassistant/components/duckdns/services.yaml
@@ -3,4 +3,4 @@ set_txt:
   fields:
     txt:
       description: Payload for the TXT record.
-      example: 'This domain name is reserved for use in documentation'
+      example: "This domain name is reserved for use in documentation"
diff --git a/homeassistant/components/dynalite/manifest.json b/homeassistant/components/dynalite/manifest.json
index 5c18f0421cd1cb4deb4569b290193254b3d0b7fc..39f72f57b06023b7ceae9be0a1db949409d1309f 100755
--- a/homeassistant/components/dynalite/manifest.json
+++ b/homeassistant/components/dynalite/manifest.json
@@ -1,8 +1,8 @@
 {
-    "domain": "dynalite",
-    "name": "Philips Dynalite",
-    "config_flow": true,
-    "documentation": "https://www.home-assistant.io/integrations/dynalite",
-    "codeowners": ["@ziv1234"],
-    "requirements": ["dynalite_devices==0.1.39"]
+  "domain": "dynalite",
+  "name": "Philips Dynalite",
+  "config_flow": true,
+  "documentation": "https://www.home-assistant.io/integrations/dynalite",
+  "codeowners": ["@ziv1234"],
+  "requirements": ["dynalite_devices==0.1.39"]
 }
diff --git a/homeassistant/components/ebusd/strings.json b/homeassistant/components/ebusd/strings.json
index ee62df8ddad5fb7e050d5660b0a33826716a137a..ed1827dd9c284c4351d21d6bdd54bed18f857d44 100644
--- a/homeassistant/components/ebusd/strings.json
+++ b/homeassistant/components/ebusd/strings.json
@@ -3,4 +3,4 @@
     "day": "Day",
     "night": "Night"
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/ecobee/services.yaml b/homeassistant/components/ecobee/services.yaml
index 2155d3cf7d24c33910a82cb2294e0e3415d0f1e1..88137bd953014957a4a08fac381b92ec33cc67d8 100644
--- a/homeassistant/components/ecobee/services.yaml
+++ b/homeassistant/components/ecobee/services.yaml
@@ -55,7 +55,7 @@ resume_program:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.kitchen'
+      example: "climate.kitchen"
     resume_all:
       description: Resume all events and return to the scheduled program. This default to false which removes only the top event.
       example: true
@@ -65,7 +65,7 @@ set_fan_min_on_time:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.kitchen'
+      example: "climate.kitchen"
     fan_min_on_time:
       description: New value of fan min on time.
       example: 5
diff --git a/homeassistant/components/ecobee/strings.json b/homeassistant/components/ecobee/strings.json
index 9e7e9fed39659aa2da945c49d14b1407a856f29b..a6eaa488c60c5ce3bf0099e622eea5c17be3f86b 100644
--- a/homeassistant/components/ecobee/strings.json
+++ b/homeassistant/components/ecobee/strings.json
@@ -1,23 +1,23 @@
 {
-    "config": {
-        "title": "ecobee",
-        "step": {
-            "user": {
-                "title": "ecobee API key",
-                "description": "Please enter the API key obtained from ecobee.com.",
-                "data": {"api_key": "API Key"}
-            },
-            "authorize": {
-                "title": "Authorize app on ecobee.com",
-                "description": "Please authorize this app at https://www.ecobee.com/consumerportal/index.html with pin code:\n\n{pin}\n\nThen, press Submit."
-            }
-        },
-        "error": {
-            "pin_request_failed": "Error requesting PIN from ecobee; please verify API key is correct.",
-            "token_request_failed": "Error requesting tokens from ecobee; please try again."
-        },
-        "abort": {
-            "one_instance_only": "This integration currently supports only one ecobee instance."
-        }
+  "config": {
+    "title": "ecobee",
+    "step": {
+      "user": {
+        "title": "ecobee API key",
+        "description": "Please enter the API key obtained from ecobee.com.",
+        "data": { "api_key": "API Key" }
+      },
+      "authorize": {
+        "title": "Authorize app on ecobee.com",
+        "description": "Please authorize this app at https://www.ecobee.com/consumerportal/index.html with pin code:\n\n{pin}\n\nThen, press Submit."
+      }
+    },
+    "error": {
+      "pin_request_failed": "Error requesting PIN from ecobee; please verify API key is correct.",
+      "token_request_failed": "Error requesting tokens from ecobee; please try again."
+    },
+    "abort": {
+      "one_instance_only": "This integration currently supports only one ecobee instance."
     }
+  }
 }
diff --git a/homeassistant/components/edl21/manifest.json b/homeassistant/components/edl21/manifest.json
index 6eaf933b82bd83c9a7017b4d5f564bcc9e83530a..3e469e44601e01e2b4f8cea8ccbac28191f3cea1 100644
--- a/homeassistant/components/edl21/manifest.json
+++ b/homeassistant/components/edl21/manifest.json
@@ -2,10 +2,6 @@
   "domain": "edl21",
   "name": "EDL21",
   "documentation": "https://www.home-assistant.io/integrations/edl21",
-  "requirements": [
-    "pysml==0.0.2"
-  ],
-  "codeowners": [
-    "@mtdcr"
-  ]
+  "requirements": ["pysml==0.0.2"],
+  "codeowners": ["@mtdcr"]
 }
diff --git a/homeassistant/components/eight_sleep/services.yaml b/homeassistant/components/eight_sleep/services.yaml
index 49a3c67d60498a1405655e137cf7786cd3ab8487..05354bccc685f8dc4d3e3f795883502e2ec7e29d 100644
--- a/homeassistant/components/eight_sleep/services.yaml
+++ b/homeassistant/components/eight_sleep/services.yaml
@@ -1,6 +1,12 @@
 heat_set:
   description: Set heating/cooling level for eight sleep.
   fields:
-    duration: {description: Duration to heat/cool at the target level in seconds., example: 3600}
-    entity_id: {description: Entity id of the bed state to adjust., example: sensor.eight_left_bed_state}
-    target: {description: Target cooling/heating level from -100 to 100., example: 35}
+    duration:
+      description: Duration to heat/cool at the target level in seconds.
+      example: 3600
+    entity_id:
+      description: Entity id of the bed state to adjust.
+      example: sensor.eight_left_bed_state
+    target:
+      description: Target cooling/heating level from -100 to 100.
+      example: 35
diff --git a/homeassistant/components/elkm1/manifest.json b/homeassistant/components/elkm1/manifest.json
index d1ce5d28c249b4200b5f773f78476e3f764ad0a2..5a88792208aed3c3d345cf5e68c05a1d8acba2b5 100644
--- a/homeassistant/components/elkm1/manifest.json
+++ b/homeassistant/components/elkm1/manifest.json
@@ -2,11 +2,7 @@
   "domain": "elkm1",
   "name": "Elk-M1 Control",
   "documentation": "https://www.home-assistant.io/integrations/elkm1",
-  "requirements": [
-    "elkm1-lib==0.7.17"
-  ],
-  "codeowners": [
-    "@bdraco"
-  ],
+  "requirements": ["elkm1-lib==0.7.17"],
+  "codeowners": ["@bdraco"],
   "config_flow": true
 }
diff --git a/homeassistant/components/elkm1/services.yaml b/homeassistant/components/elkm1/services.yaml
index fbcbf7edc6dded006d4e021677bb56e263bb9566..beb4427d14c74893f688ed7e8a7873a954a374c5 100644
--- a/homeassistant/components/elkm1/services.yaml
+++ b/homeassistant/components/elkm1/services.yaml
@@ -3,7 +3,7 @@ alarm_arm_home_instant:
   fields:
     entity_id:
       description: Name of alarm control panel to arm.
-      example: 'alarm_control_panel.main'
+      example: "alarm_control_panel.main"
     code:
       description: An code to arm the alarm control panel.
       example: 1234
@@ -13,7 +13,7 @@ alarm_arm_night_instant:
   fields:
     entity_id:
       description: Name of alarm control panel to arm.
-      example: 'alarm_control_panel.main'
+      example: "alarm_control_panel.main"
     code:
       description: An code to arm the alarm control panel.
       example: 1234
@@ -23,7 +23,7 @@ alarm_arm_vacation:
   fields:
     entity_id:
       description: Name of alarm control panel to arm.
-      example: 'alarm_control_panel.main'
+      example: "alarm_control_panel.main"
     code:
       description: An code to arm the alarm control panel.
       example: 1234
@@ -33,7 +33,7 @@ alarm_display_message:
   fields:
     entity_id:
       description: Name of alarm control panel to display messages on.
-      example: 'alarm_control_panel.main'
+      example: "alarm_control_panel.main"
     clear:
       description: 0=clear message, 1=clear message with * key, 2=Display until timeout; default 2
       example: 1
diff --git a/homeassistant/components/elkm1/strings.json b/homeassistant/components/elkm1/strings.json
index a5246a004c3ee2684cbecfd3b24c66c726a32a51..36272a3de883abfed9c45a5cf44683e1a3e9ec7e 100644
--- a/homeassistant/components/elkm1/strings.json
+++ b/homeassistant/components/elkm1/strings.json
@@ -25,4 +25,4 @@
       "address_already_configured": "An ElkM1 with this address is already configured"
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/emulated_roku/strings.json b/homeassistant/components/emulated_roku/strings.json
index 376252966a37b6aabf883ba3ae94f4a38f3e2038..987e49079117e3f4a5ccac6a2e873ef41b481494 100644
--- a/homeassistant/components/emulated_roku/strings.json
+++ b/homeassistant/components/emulated_roku/strings.json
@@ -1,21 +1,21 @@
 {
-    "config": {
-        "abort": {
-            "name_exists": "Name already exists"
+  "config": {
+    "abort": {
+      "name_exists": "Name already exists"
+    },
+    "step": {
+      "user": {
+        "data": {
+          "advertise_ip": "Advertise IP",
+          "advertise_port": "Advertise port",
+          "host_ip": "Host IP",
+          "listen_port": "Listen port",
+          "name": "Name",
+          "upnp_bind_multicast": "Bind multicast (True/False)"
         },
-        "step": {
-            "user": {
-                "data": {
-                    "advertise_ip": "Advertise IP",
-                    "advertise_port": "Advertise port",
-                    "host_ip": "Host IP",
-                    "listen_port": "Listen port",
-                    "name": "Name",
-                    "upnp_bind_multicast": "Bind multicast (True/False)"
-                },
-                "title": "Define server configuration"
-            }
-        },
-        "title": "EmulatedRoku"
-    }
-}
\ No newline at end of file
+        "title": "Define server configuration"
+      }
+    },
+    "title": "EmulatedRoku"
+  }
+}
diff --git a/homeassistant/components/envisalink/services.yaml b/homeassistant/components/envisalink/services.yaml
index 2a5f91791df46f59e4cdb0e7e6e2aaae975d879c..e9229ad838da45aa6ee9f10d2175eb1027131bc4 100644
--- a/homeassistant/components/envisalink/services.yaml
+++ b/homeassistant/components/envisalink/services.yaml
@@ -5,10 +5,10 @@ alarm_keypress:
   fields:
     entity_id:
       description: Name of the alarm control panel to trigger.
-      example: 'alarm_control_panel.downstairs'
+      example: "alarm_control_panel.downstairs"
     keypress:
-      description: 'String to send to the alarm panel (1-6 characters).'
-      example: '*71'
+      description: "String to send to the alarm panel (1-6 characters)."
+      example: "*71"
 
 invoke_custom_function:
   description: >
diff --git a/homeassistant/components/epson/services.yaml b/homeassistant/components/epson/services.yaml
index 6e9724c95f72d7da3cc6d9bf442868413592701b..a463cd355124e3f89c62fd79c85bd0cb9411e9e3 100644
--- a/homeassistant/components/epson/services.yaml
+++ b/homeassistant/components/epson/services.yaml
@@ -3,7 +3,7 @@ select_cmode:
   fields:
     entity_id:
       description: Name of projector
-      example: 'media_player.epson_projector'
+      example: "media_player.epson_projector"
     cmode:
       description: Name of Cmode
-      example: 'cinema'
+      example: "cinema"
diff --git a/homeassistant/components/esphome/strings.json b/homeassistant/components/esphome/strings.json
index 3b662441e1396d19b5f0c3e704a4c9dabb7e5cdd..00d1ab1828eaf04f234c49307c253b1ccd11489a 100644
--- a/homeassistant/components/esphome/strings.json
+++ b/homeassistant/components/esphome/strings.json
@@ -1,35 +1,35 @@
 {
-    "config": {
-        "abort": {
-            "already_configured": "ESP is already configured"
+  "config": {
+    "abort": {
+      "already_configured": "ESP is already configured"
+    },
+    "error": {
+      "resolve_error": "Can't resolve address of the ESP. If this error persists, please set a static IP address: https://esphomelib.com/esphomeyaml/components/wifi.html#manual-ips",
+      "connection_error": "Can't connect to ESP. Please make sure your YAML file contains an 'api:' line.",
+      "invalid_password": "Invalid password!"
+    },
+    "step": {
+      "user": {
+        "data": {
+          "host": "Host",
+          "port": "Port"
         },
-        "error": {
-            "resolve_error": "Can't resolve address of the ESP. If this error persists, please set a static IP address: https://esphomelib.com/esphomeyaml/components/wifi.html#manual-ips",
-            "connection_error": "Can't connect to ESP. Please make sure your YAML file contains an 'api:' line.",
-            "invalid_password": "Invalid password!"
+        "description": "Please enter connection settings of your [ESPHome](https://esphomelib.com/) node.",
+        "title": "ESPHome"
+      },
+      "authenticate": {
+        "data": {
+          "password": "Password"
         },
-        "step": {
-            "user": {
-                "data": {
-                    "host": "Host",
-                    "port": "Port"
-                },
-                "description": "Please enter connection settings of your [ESPHome](https://esphomelib.com/) node.",
-                "title": "ESPHome"
-            },
-            "authenticate": {
-                "data": {
-                    "password": "Password"
-                },
-                "description": "Please enter the password you set in your configuration for {name}.",
-                "title": "Enter Password"
-            },
-            "discovery_confirm": {
-                "description": "Do you want to add the ESPHome node `{name}` to Home Assistant?",
-                "title": "Discovered ESPHome node"
-            }
-        },
-        "title": "ESPHome",
-        "flow_title": "ESPHome: {name}"
-    }
+        "description": "Please enter the password you set in your configuration for {name}.",
+        "title": "Enter Password"
+      },
+      "discovery_confirm": {
+        "description": "Do you want to add the ESPHome node `{name}` to Home Assistant?",
+        "title": "Discovered ESPHome node"
+      }
+    },
+    "title": "ESPHome",
+    "flow_title": "ESPHome: {name}"
+  }
 }
diff --git a/homeassistant/components/evohome/services.yaml b/homeassistant/components/evohome/services.yaml
index ebc859ed9e3c310bf7a9bec31ef70ab19a1234a6..04f7a3ac2aa330f66623b66e14dd61cbebf878e1 100644
--- a/homeassistant/components/evohome/services.yaml
+++ b/homeassistant/components/evohome/services.yaml
@@ -3,16 +3,16 @@
 
 set_system_mode:
   description: >-
-      Set the system mode, either indefinitely, or for a specified period of time, after
-      which it will revert to Auto. Not all systems support all modes.
+    Set the system mode, either indefinitely, or for a specified period of time, after
+    which it will revert to Auto. Not all systems support all modes.
   fields:
     mode:
-      description: 'One of: Auto, AutoWithEco, Away, DayOff, HeatingOff, or Custom.'
+      description: "One of: Auto, AutoWithEco, Away, DayOff, HeatingOff, or Custom."
       example: Away
     period:
       description: >-
-          A period of time in days; used only with Away, DayOff, or Custom. The system
-          will revert to Auto at midnight (up to 99 days, today is day 1).
+        A period of time in days; used only with Away, DayOff, or Custom. The system
+        will revert to Auto at midnight (up to 99 days, today is day 1).
       example: '{"days": 28}'
     duration:
       description: The duration in hours; used only with AutoWithEco (up to 24 hours).
@@ -20,18 +20,18 @@ set_system_mode:
 
 reset_system:
   description: >-
-      Set the system to Auto mode and reset all the zones to follow their schedules.
-      Not all Evohome systems support this feature (i.e. AutoWithReset mode).
+    Set the system to Auto mode and reset all the zones to follow their schedules.
+    Not all Evohome systems support this feature (i.e. AutoWithReset mode).
 
 refresh_system:
   description: >-
-      Pull the latest data from the vendor's servers now, rather than waiting for the
-      next scheduled update.
+    Pull the latest data from the vendor's servers now, rather than waiting for the
+    next scheduled update.
 
 set_zone_override:
   description: >-
-      Override a zone's setpoint, either indefinitely, or for a specified period of
-      time, after which it will revert to following its schedule.
+    Override a zone's setpoint, either indefinitely, or for a specified period of
+    time, after which it will revert to following its schedule.
   fields:
     entity_id:
       description: The entity_id of the Evohome zone.
@@ -41,8 +41,8 @@ set_zone_override:
       example: 5.0
     duration:
       description: >-
-          The zone will revert to its schedule after this time. If 0 the change is until
-          the next scheduled setpoint.
+        The zone will revert to its schedule after this time. If 0 the change is until
+        the next scheduled setpoint.
       example: '{"minutes": 135}'
 
 clear_zone_override:
diff --git a/homeassistant/components/ezviz/manifest.json b/homeassistant/components/ezviz/manifest.json
index 6b02dd4dbf708cf3cd77ad1180fc0a59890701a3..651fd77619cdcb02b4f876f81e42cab3ec0d9390 100644
--- a/homeassistant/components/ezviz/manifest.json
+++ b/homeassistant/components/ezviz/manifest.json
@@ -4,4 +4,4 @@
   "documentation": "https://www.home-assistant.io/integrations/ezviz",
   "codeowners": ["@baqs"],
   "requirements": ["pyezviz==0.1.5"]
-} 
+}
diff --git a/homeassistant/components/facebox/services.yaml b/homeassistant/components/facebox/services.yaml
index c6b686efb8517cda423b996e7cc551ee2cf5ff2b..caa2e7df2c669d9559d3b0060e7b23bb673e048d 100644
--- a/homeassistant/components/facebox/services.yaml
+++ b/homeassistant/components/facebox/services.yaml
@@ -3,10 +3,10 @@ teach_face:
   fields:
     entity_id:
       description: The facebox entity to teach.
-      example: 'image_processing.facebox'
+      example: "image_processing.facebox"
     name:
       description: The name of the face to teach.
-      example: 'my_name'
+      example: "my_name"
     file_path:
       description: The path to the image file.
-      example: '/images/my_image.jpg'
+      example: "/images/my_image.jpg"
diff --git a/homeassistant/components/foscam/services.yaml b/homeassistant/components/foscam/services.yaml
index 64e68dd5bc42b34e09c5bc92f44939203161b7b9..33ba82482f1aabb9f0fff831e56a1eae18606aa7 100644
--- a/homeassistant/components/foscam/services.yaml
+++ b/homeassistant/components/foscam/services.yaml
@@ -3,10 +3,10 @@ ptz:
   fields:
     entity_id:
       description: Name(s) of entities to move.
-      example: 'camera.living_room_camera'
+      example: "camera.living_room_camera"
     movement:
       description: "Direction of the movement. Allowed values: up, down, left, right, top_left, top_right, bottom_left, bottom_right."
-      example: 'up'
+      example: "up"
     travel_time:
       description: "(Optional) Travel time in seconds. Allowed values: float from 0 to 1. Default: 0.125"
       example: 0.125
diff --git a/homeassistant/components/freebox/strings.json b/homeassistant/components/freebox/strings.json
index 867a497d02fbf7b7bb4f39a37a0747f468907504..9f402a7d1e65a38119baa67ac27e4f589f46d4f5 100644
--- a/homeassistant/components/freebox/strings.json
+++ b/homeassistant/components/freebox/strings.json
@@ -1,26 +1,26 @@
 {
-    "config": {
+  "config": {
+    "title": "Freebox",
+    "step": {
+      "user": {
         "title": "Freebox",
-        "step": {
-            "user": {
-                "title": "Freebox",
-                "data": {
-                    "host": "Host",
-                    "port": "Port"
-                }
-            },
-            "link": {
-                "title": "Link Freebox router",
-                "description": "Click \"Submit\", then touch the right arrow on the router to register Freebox with Home Assistant.\n\n![Location of button on the router](/static/images/config_freebox.png)"
-            }
-        },
-        "error":{
-            "register_failed": "Failed to register, please try again",
-            "connection_failed": "Failed to connect, please try again",
-            "unknown": "Unknown error: please retry later"
-        },
-        "abort":{
-            "already_configured": "Host already configured"
+        "data": {
+          "host": "Host",
+          "port": "Port"
         }
+      },
+      "link": {
+        "title": "Link Freebox router",
+        "description": "Click \"Submit\", then touch the right arrow on the router to register Freebox with Home Assistant.\n\n![Location of button on the router](/static/images/config_freebox.png)"
+      }
+    },
+    "error": {
+      "register_failed": "Failed to register, please try again",
+      "connection_failed": "Failed to connect, please try again",
+      "unknown": "Unknown error: please retry later"
+    },
+    "abort": {
+      "already_configured": "Host already configured"
     }
+  }
 }
diff --git a/homeassistant/components/frontend/manifest.json b/homeassistant/components/frontend/manifest.json
index d9f114777acd580ef7870dd8e185d65d7269dcc9..3059a0fa71cd9f51275bb5565c6840b9f606c3a0 100644
--- a/homeassistant/components/frontend/manifest.json
+++ b/homeassistant/components/frontend/manifest.json
@@ -2,9 +2,7 @@
   "domain": "frontend",
   "name": "Home Assistant Frontend",
   "documentation": "https://www.home-assistant.io/integrations/frontend",
-  "requirements": [
-    "home-assistant-frontend==20200403.0"
-  ],
+  "requirements": ["home-assistant-frontend==20200403.0"],
   "dependencies": [
     "api",
     "auth",
@@ -16,8 +14,6 @@
     "system_log",
     "websocket_api"
   ],
-  "codeowners": [
-    "@home-assistant/frontend"
-  ],
+  "codeowners": ["@home-assistant/frontend"],
   "quality_scale": "internal"
 }
diff --git a/homeassistant/components/frontend/services.yaml b/homeassistant/components/frontend/services.yaml
index dc1fb40be48416990775666f5503a9397390cb48..489164ce7bd905fcada318f68cf03f118d62cbf6 100644
--- a/homeassistant/components/frontend/services.yaml
+++ b/homeassistant/components/frontend/services.yaml
@@ -5,7 +5,7 @@ set_theme:
   fields:
     name:
       description: Name of a predefined theme or 'default'.
-      example: 'light'
+      example: "light"
 
 reload_themes:
   description: Reload themes from yaml configuration.
diff --git a/homeassistant/components/gdacs/manifest.json b/homeassistant/components/gdacs/manifest.json
index 3af46cc80670a69d0424ffb53283fe980ff61368..630ed0a4a06c06da13f8706a10ab29fd0780d875 100644
--- a/homeassistant/components/gdacs/manifest.json
+++ b/homeassistant/components/gdacs/manifest.json
@@ -3,11 +3,7 @@
   "name": "Global Disaster Alert and Coordination System (GDACS)",
   "config_flow": true,
   "documentation": "https://www.home-assistant.io/integrations/gdacs",
-  "requirements": [
-    "aio_georss_gdacs==0.3"
-  ],
-  "codeowners": [
-    "@exxamalte"
-  ],
+  "requirements": ["aio_georss_gdacs==0.3"],
+  "codeowners": ["@exxamalte"],
   "quality_scale": "platinum"
 }
diff --git a/homeassistant/components/geniushub/services.yaml b/homeassistant/components/geniushub/services.yaml
index d7522ac29951016e3d6d5bcb530d08512125bd2f..50cd8d7d01e7502b90d64ee53f3190addaa6841c 100644
--- a/homeassistant/components/geniushub/services.yaml
+++ b/homeassistant/components/geniushub/services.yaml
@@ -3,18 +3,18 @@
 
 set_zone_mode:
   description: >-
-      Set the zone to an operating mode.
+    Set the zone to an operating mode.
   fields:
     entity_id:
       description: The zone's entity_id.
       example: climate.kitchen
     mode:
-      description: 'One of: off, timer or footprint.'
+      description: "One of: off, timer or footprint."
       example: timer
 
 set_zone_override:
   description: >-
-      Override the zone's setpoint for a given duration.
+    Override the zone's setpoint for a given duration.
   fields:
     entity_id:
       description: The zone's entity_id.
@@ -24,6 +24,5 @@ set_zone_override:
       example: 19.2
     duration:
       description: >-
-          The duration of the override. Optional, default 1 hour, maximum 24 hours.
+        The duration of the override. Optional, default 1 hour, maximum 24 hours.
       example: '{"minutes": 135}'
-
diff --git a/homeassistant/components/geofency/strings.json b/homeassistant/components/geofency/strings.json
index e67af592c16803cd8f007e9cc1e50792c3508471..7951df50e5ed3f947062c72ad920f0c2b1ea3562 100644
--- a/homeassistant/components/geofency/strings.json
+++ b/homeassistant/components/geofency/strings.json
@@ -15,4 +15,4 @@
       "default": "To send events to Home Assistant, you will need to setup the webhook feature in Geofency.\n\nFill in the following info:\n\n- URL: `{webhook_url}`\n- Method: POST\n\nSee [the documentation]({docs_url}) for further details."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/glances/strings.json b/homeassistant/components/glances/strings.json
index 1bd7275daeff156bdcc1aacb4f4dcc570d3a84dd..3ec324f9cd6d6a54e185b81f781c2833d0e404f5 100644
--- a/homeassistant/components/glances/strings.json
+++ b/homeassistant/components/glances/strings.json
@@ -1,37 +1,37 @@
 {
-    "config": {
-        "title": "Glances",
-        "step": {
-            "user": {
-                "title": "Setup Glances",
-                "data": {
-                    "name": "Name",
-                    "host": "Host",
-                    "username": "Username",
-                    "password": "Password",
-                    "port": "Port",
-                    "version": "Glances API Version (2 or 3)",
-                    "ssl": "Use SSL/TLS to connect to the Glances system",
-                    "verify_ssl": "Verify the certification of the system"
-                }
-            }
-        },
-        "error": {
-            "cannot_connect": "Unable to connect to host",
-            "wrong_version": "Version not supported (2 or 3 only)"
-        },
-        "abort": {
-            "already_configured": "Host is already configured."
+  "config": {
+    "title": "Glances",
+    "step": {
+      "user": {
+        "title": "Setup Glances",
+        "data": {
+          "name": "Name",
+          "host": "Host",
+          "username": "Username",
+          "password": "Password",
+          "port": "Port",
+          "version": "Glances API Version (2 or 3)",
+          "ssl": "Use SSL/TLS to connect to the Glances system",
+          "verify_ssl": "Verify the certification of the system"
         }
+      }
     },
-    "options": {
-        "step": {
-            "init": {
-                "description": "Configure options for Glances",
-                "data": {
-                    "scan_interval": "Update frequency"
-                }
-            }
+    "error": {
+      "cannot_connect": "Unable to connect to host",
+      "wrong_version": "Version not supported (2 or 3 only)"
+    },
+    "abort": {
+      "already_configured": "Host is already configured."
+    }
+  },
+  "options": {
+    "step": {
+      "init": {
+        "description": "Configure options for Glances",
+        "data": {
+          "scan_interval": "Update frequency"
         }
+      }
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/gpslogger/strings.json b/homeassistant/components/gpslogger/strings.json
index d5641ef5db819258b1d8295be8922ff1e571aa65..add0ad31cbbc4810b12eb8b58c07e413e8fb2219 100644
--- a/homeassistant/components/gpslogger/strings.json
+++ b/homeassistant/components/gpslogger/strings.json
@@ -15,4 +15,4 @@
       "default": "To send events to Home Assistant, you will need to setup the webhook feature in GPSLogger.\n\nFill in the following info:\n\n- URL: `{webhook_url}`\n- Method: POST\n\nSee [the documentation]({docs_url}) for further details."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/griddy/strings.json b/homeassistant/components/griddy/strings.json
index bedd85e750893c797ce3b6feecad4637cdb2bde0..ee4df700f790e80da7a278af18452753bcb0c25b 100644
--- a/homeassistant/components/griddy/strings.json
+++ b/homeassistant/components/griddy/strings.json
@@ -1,21 +1,21 @@
 {
-   "config" : {
-      "error" : {
-         "cannot_connect" : "Failed to connect, please try again",
-         "unknown" : "Unexpected error"
-      },
-      "title" : "Griddy",
-      "step" : {
-         "user" : {
-            "description" : "Your Load Zone is in your Griddy account under “Account > Meter > Load Zone.”",
-            "data" : {
-               "loadzone" : "Load Zone (Settlement Point)"
-            },
-            "title" : "Setup your Griddy Load Zone"
-         }
-      },
-      "abort" : {
-         "already_configured" : "This Load Zone is already configured"
+  "config": {
+    "error": {
+      "cannot_connect": "Failed to connect, please try again",
+      "unknown": "Unexpected error"
+    },
+    "title": "Griddy",
+    "step": {
+      "user": {
+        "description": "Your Load Zone is in your Griddy account under “Account > Meter > Load Zone.”",
+        "data": {
+          "loadzone": "Load Zone (Settlement Point)"
+        },
+        "title": "Setup your Griddy Load Zone"
       }
-   }
+    },
+    "abort": {
+      "already_configured": "This Load Zone is already configured"
+    }
+  }
 }
diff --git a/homeassistant/components/hangouts/strings.json b/homeassistant/components/hangouts/strings.json
index 8c155784ebe1c07a94a46be9908d9bd29bfb1909..7bd67a7a2c8b268d61f6eda3dc235ac225988da9 100644
--- a/homeassistant/components/hangouts/strings.json
+++ b/homeassistant/components/hangouts/strings.json
@@ -1,30 +1,30 @@
 {
-    "config": {
-        "abort": {
-            "already_configured": "Google Hangouts is already configured",
-            "unknown": "Unknown error occurred."
+  "config": {
+    "abort": {
+      "already_configured": "Google Hangouts is already configured",
+      "unknown": "Unknown error occurred."
+    },
+    "error": {
+      "invalid_login": "Invalid Login, please try again.",
+      "invalid_2fa": "Invalid 2 Factor Authentication, please try again.",
+      "invalid_2fa_method": "Invalid 2FA Method (Verify on Phone)."
+    },
+    "step": {
+      "user": {
+        "data": {
+          "email": "E-Mail Address",
+          "password": "Password",
+          "authorization_code": "Authorization Code (required for manual authentication)"
         },
-        "error": {
-            "invalid_login": "Invalid Login, please try again.",
-            "invalid_2fa": "Invalid 2 Factor Authentication, please try again.",
-            "invalid_2fa_method": "Invalid 2FA Method (Verify on Phone)."
+        "title": "Google Hangouts Login"
+      },
+      "2fa": {
+        "data": {
+          "2fa": "2FA Pin"
         },
-        "step": {
-            "user": {
-                "data": {
-                    "email": "E-Mail Address",
-                    "password": "Password",
-                    "authorization_code":  "Authorization Code (required for manual authentication)"
-                },
-                "title": "Google Hangouts Login"
-            },
-            "2fa": {
-                "data": {
-                  "2fa": "2FA Pin"
-                },
-                "title": "2-Factor-Authentication"
-            }
-        },
-        "title": "Google Hangouts"
-    }
+        "title": "2-Factor-Authentication"
+      }
+    },
+    "title": "Google Hangouts"
+  }
 }
diff --git a/homeassistant/components/harmony/manifest.json b/homeassistant/components/harmony/manifest.json
index f3ed23282917d9acf1a670f5858cb2c18b17724d..154fd211aa810fe39904506d3c4ee08ed54a318b 100644
--- a/homeassistant/components/harmony/manifest.json
+++ b/homeassistant/components/harmony/manifest.json
@@ -3,7 +3,7 @@
   "name": "Logitech Harmony Hub",
   "documentation": "https://www.home-assistant.io/integrations/harmony",
   "requirements": ["aioharmony==0.1.13"],
-  "codeowners": ["@ehendrix23","@bramkragten","@bdraco"],
+  "codeowners": ["@ehendrix23", "@bramkragten", "@bdraco"],
   "ssdp": [
     {
       "manufacturer": "Logitech",
diff --git a/homeassistant/components/hdmi_cec/services.yaml b/homeassistant/components/hdmi_cec/services.yaml
index 256b26c00c753a6d2b4f6584cf51571ffd043cd9..aa85ffb0214e074fde652bc5ae5dcc8c811f2ffd 100644
--- a/homeassistant/components/hdmi_cec/services.yaml
+++ b/homeassistant/components/hdmi_cec/services.yaml
@@ -1,4 +1,5 @@
-power_on: { description: Power on all devices which supports it. }
+power_on:
+  description: Power on all devices which supports it.
 select_device:
   description: Select HDMI device.
   fields:
diff --git a/homeassistant/components/heos/strings.json b/homeassistant/components/heos/strings.json
index 9a00ac6a4bd12bd9da872773fbe23890c425d7b0..28b404acdbd098ccff54bbdebec6e0ae6b65b4dd 100644
--- a/homeassistant/components/heos/strings.json
+++ b/homeassistant/components/heos/strings.json
@@ -1,21 +1,21 @@
 {
-    "config": {
-        "title": "HEOS",
-        "step": {
-            "user": {
-                "title": "Connect to Heos",
-                "description": "Please enter the host name or IP address of a Heos device (preferably one connected via wire to the network).",
-                "data": {
-                    "access_token": "Host",
-                    "host": "Host"
-                }
-            }
-        },
-        "error": {
-            "connection_failure": "Unable to connect to the specified host."
-        },
-        "abort": {
-            "already_setup": "You can only configure a single Heos connection as it will support all devices on the network."
+  "config": {
+    "title": "HEOS",
+    "step": {
+      "user": {
+        "title": "Connect to Heos",
+        "description": "Please enter the host name or IP address of a Heos device (preferably one connected via wire to the network).",
+        "data": {
+          "access_token": "Host",
+          "host": "Host"
         }
+      }
+    },
+    "error": {
+      "connection_failure": "Unable to connect to the specified host."
+    },
+    "abort": {
+      "already_setup": "You can only configure a single Heos connection as it will support all devices on the network."
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/homekit_controller/strings.json b/homeassistant/components/homekit_controller/strings.json
index 80370717183deb7ee3d919b7e7aebbd564c37cc0..40295c74e0a30ce37afc7118f64dadf6514be4e1 100644
--- a/homeassistant/components/homekit_controller/strings.json
+++ b/homeassistant/components/homekit_controller/strings.json
@@ -1,40 +1,40 @@
 {
-    "config": {
-        "title": "HomeKit Accessory",
-        "flow_title": "HomeKit Accessory: {name}",
-        "step": {
-            "user": {
-                "title": "Pair with HomeKit Accessory",
-                "description": "Select the device you want to pair with",
-                "data": {
-                    "device": "Device"
-                }
-            },
-            "pair": {
-                "title": "Pair with HomeKit Accessory",
-                "description": "Enter your HomeKit pairing code (in the format XXX-XX-XXX) to use this accessory",
-                "data": {
-                    "pairing_code": "Pairing Code"
-                }
-            }
-        },
-        "error": {
-            "unable_to_pair": "Unable to pair, please try again.",
-            "unknown_error": "Device reported an unknown error. Pairing failed.",
-            "authentication_error": "Incorrect HomeKit code. Please check it and try again.",
-            "max_peers_error": "Device refused to add pairing as it has no free pairing storage.",
-            "busy_error": "Device refused to add pairing as it is already pairing with another controller.",
-            "max_tries_error": "Device refused to add pairing as it has received more than 100 unsuccessful authentication attempts.",
-            "pairing_failed": "An unhandled error occurred while attempting to pair with this device. This may be a temporary failure or your device may not be supported currently."
-        },
-        "abort": {
-            "no_devices": "No unpaired devices could be found",
-            "already_paired": "This accessory is already paired to another device. Please reset the accessory and try again.",
-            "ignored_model": "HomeKit support for this model is blocked as a more feature complete native integration is available.",
-            "already_configured": "Accessory is already configured with this controller.",
-            "invalid_config_entry": "This device is showing as ready to pair but there is already a conflicting configuration entry for it in Home Assistant that must first be removed.",
-            "accessory_not_found_error": "Cannot add pairing as device can no longer be found.",
-            "already_in_progress": "Config flow for device is already in progress."
+  "config": {
+    "title": "HomeKit Accessory",
+    "flow_title": "HomeKit Accessory: {name}",
+    "step": {
+      "user": {
+        "title": "Pair with HomeKit Accessory",
+        "description": "Select the device you want to pair with",
+        "data": {
+          "device": "Device"
         }
+      },
+      "pair": {
+        "title": "Pair with HomeKit Accessory",
+        "description": "Enter your HomeKit pairing code (in the format XXX-XX-XXX) to use this accessory",
+        "data": {
+          "pairing_code": "Pairing Code"
+        }
+      }
+    },
+    "error": {
+      "unable_to_pair": "Unable to pair, please try again.",
+      "unknown_error": "Device reported an unknown error. Pairing failed.",
+      "authentication_error": "Incorrect HomeKit code. Please check it and try again.",
+      "max_peers_error": "Device refused to add pairing as it has no free pairing storage.",
+      "busy_error": "Device refused to add pairing as it is already pairing with another controller.",
+      "max_tries_error": "Device refused to add pairing as it has received more than 100 unsuccessful authentication attempts.",
+      "pairing_failed": "An unhandled error occurred while attempting to pair with this device. This may be a temporary failure or your device may not be supported currently."
+    },
+    "abort": {
+      "no_devices": "No unpaired devices could be found",
+      "already_paired": "This accessory is already paired to another device. Please reset the accessory and try again.",
+      "ignored_model": "HomeKit support for this model is blocked as a more feature complete native integration is available.",
+      "already_configured": "Accessory is already configured with this controller.",
+      "invalid_config_entry": "This device is showing as ready to pair but there is already a conflicting configuration entry for it in Home Assistant that must first be removed.",
+      "accessory_not_found_error": "Cannot add pairing as device can no longer be found.",
+      "already_in_progress": "Config flow for device is already in progress."
     }
+  }
 }
diff --git a/homeassistant/components/homematic/services.yaml b/homeassistant/components/homematic/services.yaml
index 044bcfa46adc73be31f83136eb61d2a3179c9799..5d52f13f39e56c963649c110115f189c8dce8497 100644
--- a/homeassistant/components/homematic/services.yaml
+++ b/homeassistant/components/homematic/services.yaml
@@ -21,10 +21,10 @@ set_variable_value:
   fields:
     entity_id:
       description: Name(s) of homematic central to set value.
-      example: 'homematic.ccu2'
+      example: "homematic.ccu2"
     name:
       description: Name of the variable to set.
-      example: 'testvariable'
+      example: "testvariable"
     value:
       description: New value
       example: 1
@@ -82,4 +82,3 @@ put_paramset:
     paramset:
       description: A paramset dictionary
       example: '{"WEEK_PROGRAM_POINTER": 1}'
-
diff --git a/homeassistant/components/html5/services.yaml b/homeassistant/components/html5/services.yaml
index 5fd068a64dcd51991ccc37d5ce52be6876215313..f3df434159405eae1e1b446f80c188621c5b1585 100644
--- a/homeassistant/components/html5/services.yaml
+++ b/homeassistant/components/html5/services.yaml
@@ -3,7 +3,7 @@ dismiss:
   fields:
     target:
       description: An array of targets. Optional.
-      example: ['my_phone', 'my_tablet']
+      example: ["my_phone", "my_tablet"]
     data:
       description: Extended information of notification. Supports tag. Optional.
       example: '{ "tag": "tagname" }'
diff --git a/homeassistant/components/huawei_lte/strings.json b/homeassistant/components/huawei_lte/strings.json
index c5f2b4a2a02e662732fecab10b002569937c7fb7..a23c2a9184f037a0e7ffea69bb29f6629c959cc3 100644
--- a/homeassistant/components/huawei_lte/strings.json
+++ b/homeassistant/components/huawei_lte/strings.json
@@ -1,43 +1,43 @@
 {
-    "config": {
-        "abort": {
-            "already_configured": "This device has already been configured",
-            "already_in_progress": "This device is already being configured",
-            "not_huawei_lte": "Not a Huawei LTE device"
-        },
-        "error": {
-            "connection_failed": "Connection failed",
-            "connection_timeout": "Connection timeout",
-            "incorrect_password": "Incorrect password",
-            "incorrect_username": "Incorrect username",
-            "incorrect_username_or_password": "Incorrect username or password",
-            "invalid_url": "Invalid URL",
-            "login_attempts_exceeded": "Maximum login attempts exceeded, please try again later",
-            "response_error": "Unknown error from device",
-            "unknown_connection_error": "Unknown error connecting to device"
-        },
-        "step": {
-            "user": {
-                "data": {
-                    "password": "Password",
-                    "url": "URL",
-                    "username": "User name"
-                },
-                "description": "Enter device access details. Specifying username and password is optional, but enables support for more integration features. On the other hand, use of an authorized connection may cause problems accessing the device web interface from outside Home Assistant while the integration is active, and the other way around.",
-                "title": "Configure Huawei LTE"
-            }
+  "config": {
+    "abort": {
+      "already_configured": "This device has already been configured",
+      "already_in_progress": "This device is already being configured",
+      "not_huawei_lte": "Not a Huawei LTE device"
+    },
+    "error": {
+      "connection_failed": "Connection failed",
+      "connection_timeout": "Connection timeout",
+      "incorrect_password": "Incorrect password",
+      "incorrect_username": "Incorrect username",
+      "incorrect_username_or_password": "Incorrect username or password",
+      "invalid_url": "Invalid URL",
+      "login_attempts_exceeded": "Maximum login attempts exceeded, please try again later",
+      "response_error": "Unknown error from device",
+      "unknown_connection_error": "Unknown error connecting to device"
+    },
+    "step": {
+      "user": {
+        "data": {
+          "password": "Password",
+          "url": "URL",
+          "username": "User name"
         },
-        "title": "Huawei LTE"
+        "description": "Enter device access details. Specifying username and password is optional, but enables support for more integration features. On the other hand, use of an authorized connection may cause problems accessing the device web interface from outside Home Assistant while the integration is active, and the other way around.",
+        "title": "Configure Huawei LTE"
+      }
     },
-    "options": {
-        "step": {
-            "init": {
-                "data": {
-                    "name": "Notification service name (change requires restart)",
-                    "recipient": "SMS notification recipients",
-                    "track_new_devices": "Track new devices"
-                }
-            }
+    "title": "Huawei LTE"
+  },
+  "options": {
+    "step": {
+      "init": {
+        "data": {
+          "name": "Notification service name (change requires restart)",
+          "recipient": "SMS notification recipients",
+          "track_new_devices": "Track new devices"
         }
+      }
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/hue/strings.json b/homeassistant/components/hue/strings.json
index 0f70c49ff2e9d709508f86f0f1cce64c7d821070..9f23f0568947dd888ba83075000c96e85f72482a 100644
--- a/homeassistant/components/hue/strings.json
+++ b/homeassistant/components/hue/strings.json
@@ -45,4 +45,4 @@
       "remote_button_short_release": "\"{subtype}\" button released"
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/icloud/services.yaml b/homeassistant/components/icloud/services.yaml
index ce239df7564c91dd0938106da5585de5ecd77d71..3013b04943dc1192360062038c2d76c75ddf636e 100644
--- a/homeassistant/components/icloud/services.yaml
+++ b/homeassistant/components/icloud/services.yaml
@@ -3,47 +3,46 @@ update:
   fields:
     account:
       description: Your iCloud account username (email) or account name.
-      example: 'steve@apple.com'
+      example: "steve@apple.com"
 
 play_sound:
   description: Play sound on an Apple device.
   fields:
     account:
       description: (required) Your iCloud account username (email) or account name.
-      example: 'steve@apple.com'
+      example: "steve@apple.com"
     device_name:
       description: (required) The name of the Apple device to play a sound.
-      example: 'stevesiphone'
+      example: "stevesiphone"
 
 display_message:
   description: Display a message on an Apple device.
   fields:
     account:
       description: (required) Your iCloud account username (email) or account name.
-      example: 'steve@apple.com'
+      example: "steve@apple.com"
     device_name:
       description: (required) The name of the Apple device to display the message.
-      example: 'stevesiphone'
+      example: "stevesiphone"
     message:
       description: (required) The content of your message.
-      example: 'Hey Steve !'
+      example: "Hey Steve !"
     sound:
       description: To make a sound when displaying the message (boolean).
-      example: 'true'
+      example: "true"
 
 lost_device:
   description: Make an Apple device in lost state.
   fields:
     account:
       description: (required) Your iCloud account username (email) or account name.
-      example: 'steve@apple.com'
+      example: "steve@apple.com"
     device_name:
       description: (required) The name of the Apple device to set lost.
-      example: 'stevesiphone'
+      example: "stevesiphone"
     number:
       description: (required) The phone number to call in lost mode (must contain country code).
-      example: '+33450020100'
+      example: "+33450020100"
     message:
       description: (required) The message to display in lost mode.
-      example: 'Call me'
-
+      example: "Call me"
diff --git a/homeassistant/components/icloud/strings.json b/homeassistant/components/icloud/strings.json
index 6cea7dc11756b29c6344390f560575385a046ded..abf47e5744f2543f68b0ae97137aeac3d36547e3 100644
--- a/homeassistant/components/icloud/strings.json
+++ b/homeassistant/components/icloud/strings.json
@@ -1,39 +1,39 @@
 {
-    "config": {
-        "title": "Apple iCloud",
-        "step": {
-            "user": {
-                "title": "iCloud credentials",
-                "description": "Enter your credentials",
-                "data": {
-                    "username": "Email",
-                    "password": "Password",
-                    "with_family": "With family"
-                }
-            },
-            "trusted_device": {
-                "title": "iCloud trusted device",
-                "description": "Select your trusted device",
-                "data": {
-                    "trusted_device": "Trusted device"
-                }
-            },
-            "verification_code": {
-                "title": "iCloud verification code",
-                "description": "Please enter the verification code you just received from iCloud",
-                "data": {
-                    "verification_code": "Verification code"
-                }
-            }
-        },
-        "error": {
-            "login": "Login error: please check your email & password",
-            "send_verification_code": "Failed to send verification code",
-            "validate_verification_code": "Failed to verify your verification code, choose a trust device and start the verification again"
-        },
-        "abort": {
-            "already_configured": "Account already configured",
-            "no_device": "None of your devices have \"Find my iPhone\" activated"
+  "config": {
+    "title": "Apple iCloud",
+    "step": {
+      "user": {
+        "title": "iCloud credentials",
+        "description": "Enter your credentials",
+        "data": {
+          "username": "Email",
+          "password": "Password",
+          "with_family": "With family"
         }
+      },
+      "trusted_device": {
+        "title": "iCloud trusted device",
+        "description": "Select your trusted device",
+        "data": {
+          "trusted_device": "Trusted device"
+        }
+      },
+      "verification_code": {
+        "title": "iCloud verification code",
+        "description": "Please enter the verification code you just received from iCloud",
+        "data": {
+          "verification_code": "Verification code"
+        }
+      }
+    },
+    "error": {
+      "login": "Login error: please check your email & password",
+      "send_verification_code": "Failed to send verification code",
+      "validate_verification_code": "Failed to verify your verification code, choose a trust device and start the verification again"
+    },
+    "abort": {
+      "already_configured": "Account already configured",
+      "no_device": "None of your devices have \"Find my iPhone\" activated"
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/ifttt/services.yaml b/homeassistant/components/ifttt/services.yaml
index 693c654f25829998ff31c1a49bd80b06260c9a99..80bf72e52902c2d09eacd142ab07f5eef0a94b4c 100644
--- a/homeassistant/components/ifttt/services.yaml
+++ b/homeassistant/components/ifttt/services.yaml
@@ -5,23 +5,23 @@ push_alarm_state:
   fields:
     entity_id:
       description: Name of the alarm control panel which state has to be updated.
-      example: 'alarm_control_panel.downstairs'
+      example: "alarm_control_panel.downstairs"
     state:
       description: The state to which the alarm control panel has to be set.
-      example: 'armed_night'
+      example: "armed_night"
 
 trigger:
   description: Triggers the configured IFTTT Webhook.
   fields:
     event:
       description: The name of the event to sent.
-      example: 'MY_HA_EVENT'
+      example: "MY_HA_EVENT"
     value1:
       description: Generic field to send data via the event.
-      example: 'Hello World'
+      example: "Hello World"
     value2:
       description: Generic field to send data via the event.
-      example: 'some additional data'
+      example: "some additional data"
     value3:
       description: Generic field to send data via the event.
-      example: 'even more data'
+      example: "even more data"
diff --git a/homeassistant/components/ihc/manifest.json b/homeassistant/components/ihc/manifest.json
index 91086a4f8753a65652085b6be9a2f7af13e2b0e7..6403d800a16bab928b62ef15b68abdf24c11fabe 100644
--- a/homeassistant/components/ihc/manifest.json
+++ b/homeassistant/components/ihc/manifest.json
@@ -2,9 +2,6 @@
   "domain": "ihc",
   "name": "IHC Controller",
   "documentation": "https://www.home-assistant.io/integrations/ihc",
-  "requirements": [
-    "defusedxml==0.6.0",
-    "ihcsdk==2.6.0"
-  ],
+  "requirements": ["defusedxml==0.6.0", "ihcsdk==2.6.0"],
   "codeowners": []
 }
diff --git a/homeassistant/components/image_processing/services.yaml b/homeassistant/components/image_processing/services.yaml
index 1f1fa347dc9b5f6e14a0a00a266e2766f146151b..69e455344b0ab2ec22d6684eb786fd4d2f49680d 100644
--- a/homeassistant/components/image_processing/services.yaml
+++ b/homeassistant/components/image_processing/services.yaml
@@ -5,4 +5,4 @@ scan:
   fields:
     entity_id:
       description: Name(s) of entities to scan immediately.
-      example: 'image_processing.alpr_garage'
+      example: "image_processing.alpr_garage"
diff --git a/homeassistant/components/input_boolean/services.yaml b/homeassistant/components/input_boolean/services.yaml
index e391c15d3a8f1ada74ff0143ddfbaaaaea2c3125..5ab5e7a9b821d1283d0d644df407a14d138ef6e5 100644
--- a/homeassistant/components/input_boolean/services.yaml
+++ b/homeassistant/components/input_boolean/services.yaml
@@ -1,15 +1,20 @@
 toggle:
   description: Toggles an input boolean.
   fields:
-    entity_id: {description: Entity id of the input boolean to toggle., example: input_boolean.notify_alerts}
+    entity_id:
+      description: Entity id of the input boolean to toggle.
+      example: input_boolean.notify_alerts
 turn_off:
   description: Turns off an input boolean
   fields:
-    entity_id: {description: Entity id of the input boolean to turn off., example: input_boolean.notify_alerts}
+    entity_id:
+      description: Entity id of the input boolean to turn off.
+      example: input_boolean.notify_alerts
 turn_on:
   description: Turns on an input boolean.
   fields:
-    entity_id: {description: Entity id of the input boolean to turn on., example: input_boolean.notify_alerts}
+    entity_id:
+      description: Entity id of the input boolean to turn on.
+      example: input_boolean.notify_alerts
 reload:
   description: Reload the input_boolean configuration.
-
diff --git a/homeassistant/components/input_select/services.yaml b/homeassistant/components/input_select/services.yaml
index 2cce496d0b6b4e7ffcf2b75eab5bdb1ef99ecc49..f4aa44f3de0324dfbb08b167fc35b2dc5fec5c6e 100644
--- a/homeassistant/components/input_select/services.yaml
+++ b/homeassistant/components/input_select/services.yaml
@@ -1,24 +1,32 @@
 select_next:
   description: Select the next options of an input select entity.
   fields:
-    entity_id: {description: Entity id of the input select to select the next value
-        for., example: input_select.my_select}
+    entity_id:
+      description: Entity id of the input select to select the next value for.
+      example: input_select.my_select
 select_option:
   description: Select an option of an input select entity.
   fields:
-    entity_id: {description: Entity id of the input select to select the value., example: input_select.my_select}
-    option: {description: Option to be selected., example: '"Item A"'}
+    entity_id:
+      description: Entity id of the input select to select the value.
+      example: input_select.my_select
+    option:
+      description: Option to be selected.
+      example: '"Item A"'
 select_previous:
   description: Select the previous options of an input select entity.
   fields:
-    entity_id: {description: Entity id of the input select to select the previous
-        value for., example: input_select.my_select}
+    entity_id:
+      description: Entity id of the input select to select the previous value for.
+      example: input_select.my_select
 set_options:
   description: Set the options of an input select entity.
   fields:
-    entity_id: {description: Entity id of the input select to set the new options
-        for., example: input_select.my_select}
-    options: {description: Options for the input select entity., example: '["Item
-        A", "Item B", "Item C"]'}
+    entity_id:
+      description: Entity id of the input select to set the new options for.
+      example: input_select.my_select
+    options:
+      description: Options for the input select entity.
+      example: '["Item A", "Item B", "Item C"]'
 reload:
   description: Reload the input_select configuration.
diff --git a/homeassistant/components/input_text/services.yaml b/homeassistant/components/input_text/services.yaml
index e9b709b0c03cd707ee9db4e682613d2018410492..0f74cd8940ea9c0d679a6e65cbc6ea43fb07a929 100644
--- a/homeassistant/components/input_text/services.yaml
+++ b/homeassistant/components/input_text/services.yaml
@@ -1,8 +1,11 @@
 set_value:
   description: Set the value of an input text entity.
   fields:
-    entity_id: {description: Entity id of the input text to set the new value., example: input_text.text1}
-    value: {description: The target value the entity should be set to., example: This
-        is an example text}
+    entity_id:
+      description: Entity id of the input text to set the new value.
+      example: input_text.text1
+    value:
+      description: The target value the entity should be set to.
+      example: This is an example text
 reload:
   description: Reload the input_text configuration.
diff --git a/homeassistant/components/ipma/strings.json b/homeassistant/components/ipma/strings.json
index ea8b9edcc8638029e9dac0a5eb286b4a19655744..184b7e38946e6e03c1b5690ccd27dd8757e084f7 100644
--- a/homeassistant/components/ipma/strings.json
+++ b/homeassistant/components/ipma/strings.json
@@ -1,20 +1,20 @@
 {
-    "config": {
-        "title": "Portuguese weather service (IPMA)",
-        "step": {
-            "user": {
-                "title": "Location",
-                "description": "Instituto Português do Mar e Atmosfera",
-                "data": {
-                    "name": "Name",
-                    "latitude": "Latitude",
-                    "longitude": "Longitude",
-                    "mode": "Mode"
-                }
-            }
-        },
-        "error": {
-            "name_exists": "Name already exists"
+  "config": {
+    "title": "Portuguese weather service (IPMA)",
+    "step": {
+      "user": {
+        "title": "Location",
+        "description": "Instituto Português do Mar e Atmosfera",
+        "data": {
+          "name": "Name",
+          "latitude": "Latitude",
+          "longitude": "Longitude",
+          "mode": "Mode"
         }
+      }
+    },
+    "error": {
+      "name_exists": "Name already exists"
     }
+  }
 }
diff --git a/homeassistant/components/kodi/services.yaml b/homeassistant/components/kodi/services.yaml
index 01dde6a249cc0a0f9f513bfeef48843e35e8027a..11287217fa8cefdaee34e708d4370e964a5147d7 100644
--- a/homeassistant/components/kodi/services.yaml
+++ b/homeassistant/components/kodi/services.yaml
@@ -5,7 +5,7 @@ add_to_playlist:
   fields:
     entity_id:
       description: Name(s) of the Kodi entities where to add the media.
-      example: 'media_player.living_room_kodi'
+      example: "media_player.living_room_kodi"
     media_type:
       description: Media type identifier. It must be one of SONG or ALBUM.
       example: ALBUM
@@ -14,17 +14,17 @@ add_to_playlist:
       example: 123456
     media_name:
       description: Optional media name for filtering media. Can be 'ALL' when `media_type` is 'ALBUM' and `artist_name` is specified, to add all songs from one artist.
-      example: 'Highway to Hell'
+      example: "Highway to Hell"
     artist_name:
       description: Optional artist name for filtering media.
-      example: 'AC/DC'
+      example: "AC/DC"
 
 call_method:
-  description: 'Call a Kodi JSONRPC API method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`.'
+  description: "Call a Kodi JSONRPC API method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`."
   fields:
     entity_id:
       description: Name(s) of the Kodi entities where to run the API method.
-      example: 'media_player.living_room_kodi'
+      example: "media_player.living_room_kodi"
     method:
       description: Name of the Kodi JSONRPC API method to be called.
-      example: 'VideoLibrary.GetRecentlyAddedEpisodes'
+      example: "VideoLibrary.GetRecentlyAddedEpisodes"
diff --git a/homeassistant/components/konnected/manifest.json b/homeassistant/components/konnected/manifest.json
index 3a74e2165dfb3e9cac2d092af56a579f45c30454..48f61ece4c4d7378f11060bd204dd9c6cca5f83e 100644
--- a/homeassistant/components/konnected/manifest.json
+++ b/homeassistant/components/konnected/manifest.json
@@ -3,19 +3,12 @@
   "name": "Konnected",
   "config_flow": true,
   "documentation": "https://www.home-assistant.io/integrations/konnected",
-  "requirements": [
-    "konnected==1.1.0"
-  ],
+  "requirements": ["konnected==1.1.0"],
   "ssdp": [
     {
       "manufacturer": "konnected.io"
     }
   ],
-  "dependencies": [
-    "http"
-  ],
-  "codeowners": [
-    "@heythisisnate",
-    "@kit-klein"
-  ]
+  "dependencies": ["http"],
+  "codeowners": ["@heythisisnate", "@kit-klein"]
 }
diff --git a/homeassistant/components/linky/strings.json b/homeassistant/components/linky/strings.json
index dc4c0bb9651ac747e7507d8332b93a1a17b3832e..6d53e4f12a5cc2eaafec96571728416549e4c3bc 100644
--- a/homeassistant/components/linky/strings.json
+++ b/homeassistant/components/linky/strings.json
@@ -1,24 +1,24 @@
 {
-    "config": {
+  "config": {
+    "title": "Linky",
+    "step": {
+      "user": {
         "title": "Linky",
-        "step": {
-            "user": {
-                "title": "Linky",
-                "description": "Enter your credentials",
-                "data": {
-                    "username": "Email",
-                    "password": "Password"
-                }
-            }
-        },
-        "error":{
-            "access": "Could not access to Enedis.fr, please check your internet connection",
-            "enedis": "Enedis.fr answered with an error: please retry later (usually not between 11PM and 2AM)",
-            "wrong_login": "Login error: please check your email & password",
-            "unknown": "Unknown error: please retry later (usually not between 11PM and 2AM)"
-        },
-        "abort":{
-            "already_configured": "Account already configured"
+        "description": "Enter your credentials",
+        "data": {
+          "username": "Email",
+          "password": "Password"
         }
+      }
+    },
+    "error": {
+      "access": "Could not access to Enedis.fr, please check your internet connection",
+      "enedis": "Enedis.fr answered with an error: please retry later (usually not between 11PM and 2AM)",
+      "wrong_login": "Login error: please check your email & password",
+      "unknown": "Unknown error: please retry later (usually not between 11PM and 2AM)"
+    },
+    "abort": {
+      "already_configured": "Account already configured"
     }
+  }
 }
diff --git a/homeassistant/components/local_file/services.yaml b/homeassistant/components/local_file/services.yaml
index b8c615f33350553a7f5a784d6b6a3d1f7ea1f0bd..9430c02c0e6e5503e02634e9dbb284a326ac0a3a 100644
--- a/homeassistant/components/local_file/services.yaml
+++ b/homeassistant/components/local_file/services.yaml
@@ -3,7 +3,7 @@ update_file_path:
   fields:
     entity_id:
       description: Name of the entity_id of the camera to update.
-      example: 'camera.local_file'
+      example: "camera.local_file"
     file_path:
       description: The full path to the new image file to be displayed.
-      example: '/config/www/images/image.jpg'
+      example: "/config/www/images/image.jpg"
diff --git a/homeassistant/components/locative/strings.json b/homeassistant/components/locative/strings.json
index b2a538a0fa5b41ea257f900a3f7476d88525cb1e..4e7bd5729f4c2227a4330fc05eefa08385fd66b9 100644
--- a/homeassistant/components/locative/strings.json
+++ b/homeassistant/components/locative/strings.json
@@ -15,4 +15,4 @@
       "default": "To send locations to Home Assistant, you will need to setup the webhook feature in the Locative app.\n\nFill in the following info:\n\n- URL: `{webhook_url}`\n- Method: POST\n\nSee [the documentation]({docs_url}) for further details."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/lock/services.yaml b/homeassistant/components/lock/services.yaml
index fea02bb025e2f722689e62d64a5826751d79aa1c..d1456f1e68e464d0a4e915374de5600e9331277e 100644
--- a/homeassistant/components/lock/services.yaml
+++ b/homeassistant/components/lock/services.yaml
@@ -25,7 +25,7 @@ lock:
   fields:
     entity_id:
       description: Name of lock to lock.
-      example: 'lock.front_door'
+      example: "lock.front_door"
     code:
       description: An optional code to lock the lock with.
       example: 1234
@@ -35,7 +35,7 @@ open:
   fields:
     entity_id:
       description: Name of lock to open.
-      example: 'lock.front_door'
+      example: "lock.front_door"
     code:
       description: An optional code to open the lock with.
       example: 1234
@@ -58,7 +58,7 @@ unlock:
   fields:
     entity_id:
       description: Name of lock to unlock.
-      example: 'lock.front_door'
+      example: "lock.front_door"
     code:
       description: An optional code to unlock the lock with.
       example: 1234
diff --git a/homeassistant/components/luftdaten/strings.json b/homeassistant/components/luftdaten/strings.json
index 2ba15087c48fca714dfc72c6dda9767ecdd4f388..96d24139c2505019c9cd13bf96ed90bf8e51181c 100644
--- a/homeassistant/components/luftdaten/strings.json
+++ b/homeassistant/components/luftdaten/strings.json
@@ -7,7 +7,6 @@
         "data": {
           "station_id": "Luftdaten Sensor ID",
           "show_on_map": "Show on map"
-
         }
       }
     },
diff --git a/homeassistant/components/lutron_caseta/strings.json b/homeassistant/components/lutron_caseta/strings.json
index cb7ab8c767ebbdfc8de61e58c09f24eb095c20bf..5d7ddc8b55b0e6437b73c6f00fc862cc308446c5 100644
--- a/homeassistant/components/lutron_caseta/strings.json
+++ b/homeassistant/components/lutron_caseta/strings.json
@@ -1,5 +1,5 @@
 {
-    "config": {
-        "title": "Lutron Caséta"
-    }
-}
\ No newline at end of file
+  "config": {
+    "title": "Lutron Caséta"
+  }
+}
diff --git a/homeassistant/components/marytts/manifest.json b/homeassistant/components/marytts/manifest.json
index ba4cea8365fced32126f431304a7d118e4d43205..5152e838fb942a5b698711bbfac23c0bc194b8d7 100644
--- a/homeassistant/components/marytts/manifest.json
+++ b/homeassistant/components/marytts/manifest.json
@@ -2,8 +2,6 @@
   "domain": "marytts",
   "name": "MaryTTS",
   "documentation": "https://www.home-assistant.io/integrations/marytts",
-  "requirements": [
-    "speak2mary==1.4.0"
-  ],
+  "requirements": ["speak2mary==1.4.0"],
   "codeowners": []
 }
diff --git a/homeassistant/components/media_player/services.yaml b/homeassistant/components/media_player/services.yaml
index 19ef1cb14c08bac72b8ef65feca4230cc013e634..99fdb30b5c5fc623748003cec6e3e6ec7235ffb0 100644
--- a/homeassistant/components/media_player/services.yaml
+++ b/homeassistant/components/media_player/services.yaml
@@ -5,42 +5,42 @@ turn_on:
   fields:
     entity_id:
       description: Name(s) of entities to turn on.
-      example: 'media_player.living_room_chromecast'
+      example: "media_player.living_room_chromecast"
 
 turn_off:
   description: Turn a media player power off.
   fields:
     entity_id:
       description: Name(s) of entities to turn off.
-      example: 'media_player.living_room_chromecast'
+      example: "media_player.living_room_chromecast"
 
 toggle:
   description: Toggles a media player power state.
   fields:
     entity_id:
       description: Name(s) of entities to toggle.
-      example: 'media_player.living_room_chromecast'
+      example: "media_player.living_room_chromecast"
 
 volume_up:
   description: Turn a media player volume up.
   fields:
     entity_id:
       description: Name(s) of entities to turn volume up on.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 volume_down:
   description: Turn a media player volume down.
   fields:
     entity_id:
       description: Name(s) of entities to turn volume down on.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 volume_mute:
   description: Mute a media player's volume.
   fields:
     entity_id:
       description: Name(s) of entities to mute.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
     is_volume_muted:
       description: True/false for mute/unmute.
       example: true
@@ -50,7 +50,7 @@ volume_set:
   fields:
     entity_id:
       description: Name(s) of entities to set volume level on.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
     volume_level:
       description: Volume level to set as float.
       example: 0.6
@@ -60,49 +60,49 @@ media_play_pause:
   fields:
     entity_id:
       description: Name(s) of entities to toggle play/pause state on.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 media_play:
   description: Send the media player the command for play.
   fields:
     entity_id:
       description: Name(s) of entities to play on.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 media_pause:
   description: Send the media player the command for pause.
   fields:
     entity_id:
       description: Name(s) of entities to pause on.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 media_stop:
   description: Send the media player the stop command.
   fields:
     entity_id:
       description: Name(s) of entities to stop on.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 media_next_track:
   description: Send the media player the command for next track.
   fields:
     entity_id:
       description: Name(s) of entities to send next track command to.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 media_previous_track:
   description: Send the media player the command for previous track.
   fields:
     entity_id:
       description: Name(s) of entities to send previous track command to.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 media_seek:
   description: Send the media player the command to seek in current playing media.
   fields:
     entity_id:
       description: Name(s) of entities to seek media on.
-      example: 'media_player.living_room_chromecast'
+      example: "media_player.living_room_chromecast"
     seek_position:
       description: Position to seek to. The format is platform dependent.
       example: 100
@@ -112,47 +112,47 @@ play_media:
   fields:
     entity_id:
       description: Name(s) of entities to seek media on
-      example: 'media_player.living_room_chromecast'
+      example: "media_player.living_room_chromecast"
     media_content_id:
       description: The ID of the content to play. Platform dependent.
-      example: 'https://home-assistant.io/images/cast/splash.png'
+      example: "https://home-assistant.io/images/cast/splash.png"
     media_content_type:
       description: The type of the content to play. Must be one of image, music, tvshow, video, episode, channel or playlist
-      example: 'music'
+      example: "music"
 
 select_source:
   description: Send the media player the command to change input source.
   fields:
     entity_id:
       description: Name(s) of entities to change source on.
-      example: 'media_player.txnr535_0009b0d81f82'
+      example: "media_player.txnr535_0009b0d81f82"
     source:
       description: Name of the source to switch to. Platform dependent.
-      example: 'video1'
+      example: "video1"
 
 select_sound_mode:
   description: Send the media player the command to change sound mode.
   fields:
     entity_id:
       description: Name(s) of entities to change sound mode on.
-      example: 'media_player.marantz'
+      example: "media_player.marantz"
     sound_mode:
       description: Name of the sound mode to switch to.
-      example: 'Music'
+      example: "Music"
 
 clear_playlist:
   description: Send the media player the command to clear players playlist.
   fields:
     entity_id:
       description: Name(s) of entities to change source on.
-      example: 'media_player.living_room_chromecast'
+      example: "media_player.living_room_chromecast"
 
 shuffle_set:
   description: Set shuffling state.
   fields:
     entity_id:
       description: Name(s) of entities to set.
-      example: 'media_player.spotify'
+      example: "media_player.spotify"
     shuffle:
       description: True/false for enabling/disabling shuffle.
       example: true
diff --git a/homeassistant/components/met/strings.json b/homeassistant/components/met/strings.json
index 0c52e624418a29f9290c8a56a71dd23f3440dd42..cadfd03e9d2a708f80b66d9e4ddf27158e8d156c 100644
--- a/homeassistant/components/met/strings.json
+++ b/homeassistant/components/met/strings.json
@@ -1,20 +1,20 @@
 {
-    "config": {
-        "title": "Met.no",
-        "step": {
-            "user": {
-                "title": "Location",
-                "description": "Meteorologisk institutt",
-                "data": {
-                    "name": "Name",
-                    "latitude": "Latitude",
-                    "longitude": "Longitude",
-                    "elevation": "Elevation"
-                }
-            }
-        },
-        "error": {
-            "name_exists": "Location already exists"
+  "config": {
+    "title": "Met.no",
+    "step": {
+      "user": {
+        "title": "Location",
+        "description": "Meteorologisk institutt",
+        "data": {
+          "name": "Name",
+          "latitude": "Latitude",
+          "longitude": "Longitude",
+          "elevation": "Elevation"
         }
+      }
+    },
+    "error": {
+      "name_exists": "Location already exists"
     }
+  }
 }
diff --git a/homeassistant/components/meteo_france/strings.json b/homeassistant/components/meteo_france/strings.json
index 8bb02f28bd06c4bdefcd027c35282516a6db3abe..91950f62369a36a2281818be8e81050586ee3c3a 100644
--- a/homeassistant/components/meteo_france/strings.json
+++ b/homeassistant/components/meteo_france/strings.json
@@ -1,18 +1,18 @@
 {
-    "config": {
+  "config": {
+    "title": "Météo-France",
+    "step": {
+      "user": {
         "title": "Météo-France",
-        "step": {
-            "user": {
-                "title": "Météo-France",
-                "description": "Enter the postal code (only for France, recommended) or city name",
-                "data": {
-                    "city": "City"
-                }
-            }
-        },
-        "abort":{
-            "already_configured": "City already configured",
-            "unknown": "Unknown error: please retry later"
+        "description": "Enter the postal code (only for France, recommended) or city name",
+        "data": {
+          "city": "City"
         }
+      }
+    },
+    "abort": {
+      "already_configured": "City already configured",
+      "unknown": "Unknown error: please retry later"
     }
+  }
 }
diff --git a/homeassistant/components/microsoft_face/services.yaml b/homeassistant/components/microsoft_face/services.yaml
index 386f7083f92a953c60ff9e222604b4ef3e03446d..4b273286d8373d7050379dfa5a1021b0eb00a6ef 100644
--- a/homeassistant/components/microsoft_face/services.yaml
+++ b/homeassistant/components/microsoft_face/services.yaml
@@ -1,28 +1,48 @@
 create_group:
   description: Create a new person group.
   fields:
-    name: {description: Name of the group., example: family}
+    name:
+      description: Name of the group.
+      example: family
 create_person:
   description: Create a new person in the group.
   fields:
-    group: {description: Name of the group, example: family}
-    name: {description: Name of the person, example: Hans}
+    group:
+      description: Name of the group
+      example: family
+    name:
+      description: Name of the person
+      example: Hans
 delete_group:
   description: Delete a new person group.
   fields:
-    name: {description: Name of the group., example: family}
+    name:
+      description: Name of the group.
+      example: family
 delete_person:
   description: Delete a person in the group.
   fields:
-    group: {description: Name of the group., example: family}
-    name: {description: Name of the person., example: Hans}
+    group:
+      description: Name of the group.
+      example: family
+    name:
+      description: Name of the person.
+      example: Hans
 face_person:
   description: Add a new picture to a person.
   fields:
-    camera_entity: {description: Camera to take a picture., example: camera.door}
-    group: {description: Name of the group., example: family}
-    person: {description: Name of the person., example: Hans}
+    camera_entity:
+      description: Camera to take a picture.
+      example: camera.door
+    group:
+      description: Name of the group.
+      example: family
+    person:
+      description: Name of the person.
+      example: Hans
 train_group:
   description: Train a person group.
   fields:
-    group: {description: Name of the group, example: family}
+    group:
+      description: Name of the group
+      example: family
diff --git a/homeassistant/components/mikrotik/manifest.json b/homeassistant/components/mikrotik/manifest.json
index c87b37685961d3f219bbbd7fffcb05b176c9f16b..41223f97a8e8ee91fa24ccc37ac842437889ee17 100644
--- a/homeassistant/components/mikrotik/manifest.json
+++ b/homeassistant/components/mikrotik/manifest.json
@@ -3,10 +3,6 @@
   "name": "Mikrotik",
   "config_flow": true,
   "documentation": "https://www.home-assistant.io/integrations/mikrotik",
-  "requirements": [
-    "librouteros==3.0.0"
-  ],
-  "codeowners": [
-    "@engrbm87"
-  ]
+  "requirements": ["librouteros==3.0.0"],
+  "codeowners": ["@engrbm87"]
 }
diff --git a/homeassistant/components/mikrotik/strings.json b/homeassistant/components/mikrotik/strings.json
index 590563993d6a5dd0c4a53a87492c86d138fb082a..0d6fc42d1a355a812ab5e9912e236990667de7c7 100644
--- a/homeassistant/components/mikrotik/strings.json
+++ b/homeassistant/components/mikrotik/strings.json
@@ -1,37 +1,37 @@
 {
-    "config": {
-        "title": "Mikrotik",
-        "step": {
-            "user": {
-                "title": "Set up Mikrotik Router",
-                "data": {
-                    "name": "Name",
-                    "host": "Host",
-                    "username": "Username",
-                    "password": "Password",
-                    "port": "Port",
-                    "verify_ssl": "Use ssl"
-                }
-            }
-        },
-        "error": {
-            "name_exists": "Name exists",
-            "cannot_connect": "Connection Unsuccessful",
-            "wrong_credentials": "Wrong Credentials"
-        },
-        "abort": {
-            "already_configured": "Mikrotik is already configured"
+  "config": {
+    "title": "Mikrotik",
+    "step": {
+      "user": {
+        "title": "Set up Mikrotik Router",
+        "data": {
+          "name": "Name",
+          "host": "Host",
+          "username": "Username",
+          "password": "Password",
+          "port": "Port",
+          "verify_ssl": "Use ssl"
         }
+      }
     },
-    "options": {
-        "step": {
-            "device_tracker": {
-                "data": {
-                    "arp_ping": "Enable ARP ping",
-                    "force_dhcp": "Force scanning using DHCP",
-                    "detection_time": "Consider home interval"
-                }
-            }
+    "error": {
+      "name_exists": "Name exists",
+      "cannot_connect": "Connection Unsuccessful",
+      "wrong_credentials": "Wrong Credentials"
+    },
+    "abort": {
+      "already_configured": "Mikrotik is already configured"
+    }
+  },
+  "options": {
+    "step": {
+      "device_tracker": {
+        "data": {
+          "arp_ping": "Enable ARP ping",
+          "force_dhcp": "Force scanning using DHCP",
+          "detection_time": "Consider home interval"
         }
+      }
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/minecraft_server/strings.json b/homeassistant/components/minecraft_server/strings.json
index 3a2408694adf8f8a7702c0ff370e11b9223310f3..39dc17e66d58dfa244f8cd9fbf2b420d175a5fc3 100644
--- a/homeassistant/components/minecraft_server/strings.json
+++ b/homeassistant/components/minecraft_server/strings.json
@@ -1,23 +1,23 @@
 {
-    "config": {
-        "title": "Minecraft Server",
-        "step": {
-            "user": {
-                "title": "Link your Minecraft Server",
-                "description": "Set up your Minecraft Server instance to allow monitoring.",
-                "data": {
-                    "name": "Name",
-                    "host": "Host"
-                }
-            }
-        },
-        "error": {
-            "invalid_port": "Port must be in range from 1024 to 65535. Please correct it and try again.",
-            "cannot_connect": "Failed to connect to server. Please check the host and port and try again. Also ensure that you are running at least Minecraft version 1.7 on your server.",
-            "invalid_ip": "IP address is invalid (MAC address could not be determined). Please correct it and try again."
-          },
-        "abort": {
-            "already_configured": "Host is already configured."
+  "config": {
+    "title": "Minecraft Server",
+    "step": {
+      "user": {
+        "title": "Link your Minecraft Server",
+        "description": "Set up your Minecraft Server instance to allow monitoring.",
+        "data": {
+          "name": "Name",
+          "host": "Host"
         }
+      }
+    },
+    "error": {
+      "invalid_port": "Port must be in range from 1024 to 65535. Please correct it and try again.",
+      "cannot_connect": "Failed to connect to server. Please check the host and port and try again. Also ensure that you are running at least Minecraft version 1.7 on your server.",
+      "invalid_ip": "IP address is invalid (MAC address could not be determined). Please correct it and try again."
+    },
+    "abort": {
+      "already_configured": "Host is already configured."
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/modbus/services.yaml b/homeassistant/components/modbus/services.yaml
index 8c11209570b8abccafafc4631a75e2bc2574f37e..ba3113db5e037ca6585311381f4c3015481cf66f 100644
--- a/homeassistant/components/modbus/services.yaml
+++ b/homeassistant/components/modbus/services.yaml
@@ -1,14 +1,30 @@
 write_coil:
   description: Write to a modbus coil.
   fields:
-    address: {description: Address of the register to write to., example: 0}
-    state: {description: State to write., example: false}
-    unit: {description: Address of the modbus unit., example: 21}
-    hub: {description: Optional Modbus hub name. A hub with the name 'default' is used if not specified., example: "hub1"}
+    address:
+      description: Address of the register to write to.
+      example: 0
+    state:
+      description: State to write.
+      example: false
+    unit:
+      description: Address of the modbus unit.
+      example: 21
+    hub:
+      description: Optional Modbus hub name. A hub with the name 'default' is used if not specified.
+      example: "hub1"
 write_register:
   description: Write to a modbus holding register.
   fields:
-    address: {description: Address of the holding register to write to., example: 0}
-    unit: {description: Address of the modbus unit., example: 21}
-    value: {description: Value (single value or array) to write., example: "0 or [4,0]"}
-    hub: {description: Optional Modbus hub name. A hub with the name 'default' is used if not specified., example: "hub1"}
+    address:
+      description: Address of the holding register to write to.
+      example: 0
+    unit:
+      description: Address of the modbus unit.
+      example: 21
+    value:
+      description: Value (single value or array) to write.
+      example: "0 or [4,0]"
+    hub:
+      description: Optional Modbus hub name. A hub with the name 'default' is used if not specified.
+      example: "hub1"
diff --git a/homeassistant/components/monoprice/services.yaml b/homeassistant/components/monoprice/services.yaml
index 420270e10aca7c138e2cbba71a75494f413e4b3a..a271d704768e806e40fe52e3da9a303300a64c06 100644
--- a/homeassistant/components/monoprice/services.yaml
+++ b/homeassistant/components/monoprice/services.yaml
@@ -3,11 +3,11 @@ snapshot:
   fields:
     entity_id:
       description: Name(s) of entities that will be snapshot. Platform dependent.
-      example: 'media_player.living_room'
+      example: "media_player.living_room"
 
 restore:
   description: Restore a snapshot of the media player zone.
   fields:
     entity_id:
       description: Name(s) of entities that will be restored. Platform dependent.
-      example: 'media_player.living_room'
+      example: "media_player.living_room"
diff --git a/homeassistant/components/monoprice/strings.json b/homeassistant/components/monoprice/strings.json
index 32332c7369a53e0148238dac4502d265e063bbd9..7842f858fd839f29fd68b37c1d36b84861f10831 100644
--- a/homeassistant/components/monoprice/strings.json
+++ b/homeassistant/components/monoprice/strings.json
@@ -38,4 +38,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/myq/manifest.json b/homeassistant/components/myq/manifest.json
index 460b6f50bd41adf910d164f1bd52a66ca5aa3bac..940c59c99795b065c4c8daea2b761f81755bed7d 100644
--- a/homeassistant/components/myq/manifest.json
+++ b/homeassistant/components/myq/manifest.json
@@ -2,14 +2,10 @@
   "domain": "myq",
   "name": "MyQ",
   "documentation": "https://www.home-assistant.io/integrations/myq",
-  "requirements": [
-    "pymyq==2.0.1"
-  ],
+  "requirements": ["pymyq==2.0.1"],
   "codeowners": ["@bdraco"],
   "config_flow": true,
   "homekit": {
-    "models": [
-      "819LMB"
-    ]
+    "models": ["819LMB"]
   }
 }
diff --git a/homeassistant/components/neato/strings.json b/homeassistant/components/neato/strings.json
index 69cdb48a560eadbfa06590227957306bdb6ce684..9e6a0cb270968271df95683ac7d5af7f46491629 100644
--- a/homeassistant/components/neato/strings.json
+++ b/homeassistant/components/neato/strings.json
@@ -1,27 +1,27 @@
 {
-    "config": {
-        "title": "Neato",
-        "step": {
-            "user": {
-                "title": "Neato Account Info",
-                "data": {
-                    "username": "Username",
-                    "password": "Password",
-                    "vendor": "Vendor"
-                },
-                "description": "See [Neato documentation]({docs_url})."
-            }
+  "config": {
+    "title": "Neato",
+    "step": {
+      "user": {
+        "title": "Neato Account Info",
+        "data": {
+          "username": "Username",
+          "password": "Password",
+          "vendor": "Vendor"
         },
-        "error": {
-            "invalid_credentials": "Invalid credentials",
-            "unexpected_error": "Unexpected error"
-        },
-        "create_entry": {
-            "default": "See [Neato documentation]({docs_url})."
-        },
-        "abort": {
-            "already_configured": "Already configured",
-            "invalid_credentials": "Invalid credentials"
-        }
+        "description": "See [Neato documentation]({docs_url})."
+      }
+    },
+    "error": {
+      "invalid_credentials": "Invalid credentials",
+      "unexpected_error": "Unexpected error"
+    },
+    "create_entry": {
+      "default": "See [Neato documentation]({docs_url})."
+    },
+    "abort": {
+      "already_configured": "Already configured",
+      "invalid_credentials": "Invalid credentials"
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/nest/strings.json b/homeassistant/components/nest/strings.json
index 5a70e3fd48d6c4379459a9029b85d76793ca73f5..1e6700267f8465e3ad19ba2676a2b019ec7c0007 100644
--- a/homeassistant/components/nest/strings.json
+++ b/homeassistant/components/nest/strings.json
@@ -30,4 +30,4 @@
       "authorize_url_fail": "Unknown error generating an authorize url."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/netatmo/manifest.json b/homeassistant/components/netatmo/manifest.json
index 4efefd061da899500269de33809d2922134dada1..ff92fd93554d0b3bbb7d46cb33e16c49d9d48b0f 100644
--- a/homeassistant/components/netatmo/manifest.json
+++ b/homeassistant/components/netatmo/manifest.json
@@ -2,25 +2,12 @@
   "domain": "netatmo",
   "name": "Netatmo",
   "documentation": "https://www.home-assistant.io/integrations/netatmo",
-  "requirements": [
-    "pyatmo==3.3.0"
-  ],
-  "after_dependencies": [
-    "cloud"
-  ],
-  "dependencies": [
-    "webhook"
-  ],
-  "codeowners": [
-    "@cgtobi"
-  ],
+  "requirements": ["pyatmo==3.3.0"],
+  "after_dependencies": ["cloud"],
+  "dependencies": ["webhook"],
+  "codeowners": ["@cgtobi"],
   "config_flow": true,
   "homekit": {
-    "models": [
-      "Healty Home Coach",
-      "Netatmo Relay",
-      "Presence",
-      "Welcome"
-    ]
+    "models": ["Healty Home Coach", "Netatmo Relay", "Presence", "Welcome"]
   }
 }
diff --git a/homeassistant/components/netatmo/strings.json b/homeassistant/components/netatmo/strings.json
index 8cd4f51aee2660489f93ac3a345e951a810a8794..5ba3fff7fe20f20027849c90440d8bf8ffe7390e 100644
--- a/homeassistant/components/netatmo/strings.json
+++ b/homeassistant/components/netatmo/strings.json
@@ -15,4 +15,4 @@
       "default": "Successfully authenticated with Netatmo."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/nexia/manifest.json b/homeassistant/components/nexia/manifest.json
index 5fb38f9b71d3d21b27cb3d0beefff03c1b1fc3ce..80f66c51f997f9c4d22dc09db7ae661513a76921 100644
--- a/homeassistant/components/nexia/manifest.json
+++ b/homeassistant/components/nexia/manifest.json
@@ -1,12 +1,8 @@
 {
   "domain": "nexia",
   "name": "Nexia",
-  "requirements": [
-    "nexia==0.7.3"
-  ],
-  "codeowners": [
-    "@ryannazaretian", "@bdraco"
-  ],
+  "requirements": ["nexia==0.7.3"],
+  "codeowners": ["@ryannazaretian", "@bdraco"],
   "documentation": "https://www.home-assistant.io/integrations/nexia",
   "config_flow": true
 }
diff --git a/homeassistant/components/nexia/strings.json b/homeassistant/components/nexia/strings.json
index d3fabfb0b4d7569db0988f8ded54256e5f214bcc..8bdb3ea90b9b33ec60c4fa5ed3158559a3372da9 100644
--- a/homeassistant/components/nexia/strings.json
+++ b/homeassistant/components/nexia/strings.json
@@ -19,4 +19,4 @@
       "already_configured": "This nexia home is already configured"
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/nextcloud/manifest.json b/homeassistant/components/nextcloud/manifest.json
index 414d65fc3cce952b2f44ab144e8d1f5c8f8d7605..73ec2a138b3bae4f3fa75fc8282401e40cdf7373 100644
--- a/homeassistant/components/nextcloud/manifest.json
+++ b/homeassistant/components/nextcloud/manifest.json
@@ -2,10 +2,6 @@
   "domain": "nextcloud",
   "name": "Nextcloud",
   "documentation": "https://www.home-assistant.io/integrations/nextcloud",
-  "requirements": [
-    "nextcloudmonitor==1.1.0"
-  ],
-  "codeowners": [
-    "@meichthys"
-  ]
+  "requirements": ["nextcloudmonitor==1.1.0"],
+  "codeowners": ["@meichthys"]
 }
diff --git a/homeassistant/components/nissan_leaf/services.yaml b/homeassistant/components/nissan_leaf/services.yaml
index ef60dfb4a654d9ee1b261a135391dd4e4e1b93b6..096f4f5b8b421d62735aaf130a6869425a9a3227 100644
--- a/homeassistant/components/nissan_leaf/services.yaml
+++ b/homeassistant/components/nissan_leaf/services.yaml
@@ -18,4 +18,3 @@ update:
       description: >
         The vehicle identification number (VIN) of the vehicle, 17 characters
       example: WBANXXXXXX1234567
-
diff --git a/homeassistant/components/notify/services.yaml b/homeassistant/components/notify/services.yaml
index 23b1c968c4a390d2e11292c78799b28892d5ba22..e80c7c85677f8617be3ca7a7afc42629b38f60ec 100644
--- a/homeassistant/components/notify/services.yaml
+++ b/homeassistant/components/notify/services.yaml
@@ -8,7 +8,7 @@ notify:
       example: The garage door has been open for 10 minutes.
     title:
       description: Optional title for your notification.
-      example: 'Your Garage Door Friend'
+      example: "Your Garage Door Friend"
     target:
       description: An array of targets to send the notification to. Optional depending on the platform.
       example: platform specific
@@ -21,7 +21,7 @@ apns_register:
   fields:
     push_id:
       description: The device token, a 64 character hex string (256 bits). The device token is provided to you by your client app, which receives the token after registering itself with the remote notification service.
-      example: '72f2a8633655c5ce574fdc9b2b34ff8abdfc3b739b6ceb7a9ff06c1cbbf99f62'
+      example: "72f2a8633655c5ce574fdc9b2b34ff8abdfc3b739b6ceb7a9ff06c1cbbf99f62"
     name:
       description: A friendly name for the device (optional).
-      example: 'Sam''s iPhone'
+      example: "Sam's iPhone"
diff --git a/homeassistant/components/nuheat/manifest.json b/homeassistant/components/nuheat/manifest.json
index 7ca81862ca770913185d1a3cc4ad782cf88252a2..d479f570d60d8b126cdbf9693daea437423b7039 100644
--- a/homeassistant/components/nuheat/manifest.json
+++ b/homeassistant/components/nuheat/manifest.json
@@ -1,8 +1,8 @@
 {
-    "domain": "nuheat",
-    "name": "NuHeat",
-    "documentation": "https://www.home-assistant.io/integrations/nuheat",
-    "requirements": ["nuheat==0.3.0"],
-    "codeowners": ["@bdraco"],
-    "config_flow": true
+  "domain": "nuheat",
+  "name": "NuHeat",
+  "documentation": "https://www.home-assistant.io/integrations/nuheat",
+  "requirements": ["nuheat==0.3.0"],
+  "codeowners": ["@bdraco"],
+  "config_flow": true
 }
diff --git a/homeassistant/components/nuheat/strings.json b/homeassistant/components/nuheat/strings.json
index 4bfbb8ef62ad36fcd2aa67d6097f936634e29b5e..3effdbc60d6a2c94a14162d8180b2502afe3d234 100644
--- a/homeassistant/components/nuheat/strings.json
+++ b/homeassistant/components/nuheat/strings.json
@@ -1,25 +1,25 @@
 {
-   "config" : {
-      "error" : {
-         "unknown" : "Unexpected error",
-         "cannot_connect" : "Failed to connect, please try again",
-         "invalid_auth" : "Invalid authentication",
-         "invalid_thermostat" : "The thermostat serial number is invalid."
-      },
-      "title" : "NuHeat",
-      "abort" : {
-         "already_configured" : "The thermostat is already configured"
-      },
-      "step" : {
-         "user" : {
-            "title" : "Connect to the NuHeat",
-            "description": "You will need to obtain your thermostat’s numeric serial number or ID by logging into https://MyNuHeat.com and selecting your thermostat(s).",
-            "data" : {
-               "username" : "Username",
-               "password" : "Password",
-               "serial_number" : "Serial number of the thermostat."
-            }
-         }
+  "config": {
+    "error": {
+      "unknown": "Unexpected error",
+      "cannot_connect": "Failed to connect, please try again",
+      "invalid_auth": "Invalid authentication",
+      "invalid_thermostat": "The thermostat serial number is invalid."
+    },
+    "title": "NuHeat",
+    "abort": {
+      "already_configured": "The thermostat is already configured"
+    },
+    "step": {
+      "user": {
+        "title": "Connect to the NuHeat",
+        "description": "You will need to obtain your thermostat’s numeric serial number or ID by logging into https://MyNuHeat.com and selecting your thermostat(s).",
+        "data": {
+          "username": "Username",
+          "password": "Password",
+          "serial_number": "Serial number of the thermostat."
+        }
       }
-   }
+    }
+  }
 }
diff --git a/homeassistant/components/nuki/services.yaml b/homeassistant/components/nuki/services.yaml
index 1300b48e0ddd9c1276315aef9916ec77f9801661..9e3be794cb7c14e89714bd666b71cd1ae2587cfb 100644
--- a/homeassistant/components/nuki/services.yaml
+++ b/homeassistant/components/nuki/services.yaml
@@ -3,8 +3,7 @@ lock_n_go:
   fields:
     entity_id:
       description: Entity id of the Nuki lock.
-      example: 'lock.front_door'
+      example: "lock.front_door"
     unlatch:
       description: Whether to unlatch the lock.
       example: false
-
diff --git a/homeassistant/components/nut/manifest.json b/homeassistant/components/nut/manifest.json
index ddd200dfa043a4a4aaf3564b7849cd32f932c3c8..226250b9a52f18a87b0a86e5a923401a74364a1a 100644
--- a/homeassistant/components/nut/manifest.json
+++ b/homeassistant/components/nut/manifest.json
@@ -2,9 +2,7 @@
   "domain": "nut",
   "name": "Network UPS Tools (NUT)",
   "documentation": "https://www.home-assistant.io/integrations/nut",
-  "requirements": [
-    "pynut2==2.1.2"
-  ],
+  "requirements": ["pynut2==2.1.2"],
   "codeowners": ["@bdraco"],
   "config_flow": true
 }
diff --git a/homeassistant/components/nut/strings.json b/homeassistant/components/nut/strings.json
index e37a019af78c0582711b9fad5e0d575c82e018c6..8e5f5ee2fcbb1f75dab2983a2a2d95ab550799d5 100644
--- a/homeassistant/components/nut/strings.json
+++ b/homeassistant/components/nut/strings.json
@@ -34,5 +34,4 @@
       }
     }
   }
-
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/opencv/manifest.json b/homeassistant/components/opencv/manifest.json
index fd7f2b4064ab4d04965a0b24cf5d88c6201ae3de..95b0431a32f76c6411ed5107302fa7f1788c2fe6 100644
--- a/homeassistant/components/opencv/manifest.json
+++ b/homeassistant/components/opencv/manifest.json
@@ -2,9 +2,6 @@
   "domain": "opencv",
   "name": "OpenCV",
   "documentation": "https://www.home-assistant.io/integrations/opencv",
-  "requirements": [
-    "numpy==1.18.1",
-    "opencv-python-headless==4.2.0.32"
-  ],
+  "requirements": ["numpy==1.18.1", "opencv-python-headless==4.2.0.32"],
   "codeowners": []
 }
diff --git a/homeassistant/components/openerz/manifest.json b/homeassistant/components/openerz/manifest.json
index 19bb17ea3909dad1766505d6447d60e612d9bb58..7f56e2b8c5509e0398181324ae35cb03ef00735c 100644
--- a/homeassistant/components/openerz/manifest.json
+++ b/homeassistant/components/openerz/manifest.json
@@ -3,10 +3,6 @@
   "name": "Open ERZ",
   "documentation": "https://www.home-assistant.io/integrations/openerz",
   "dependencies": [],
-  "codeowners": [
-    "@misialq"
-  ],
-  "requirements": [
-    "openerz-api==0.1.0"
-  ]
-}
\ No newline at end of file
+  "codeowners": ["@misialq"],
+  "requirements": ["openerz-api==0.1.0"]
+}
diff --git a/homeassistant/components/opentherm_gw/services.yaml b/homeassistant/components/opentherm_gw/services.yaml
index 29ad2ecdbe71893962e64d4d277d05e4e16d2a8a..227c6d423bca4057681059440670e8c7dc108ae4 100644
--- a/homeassistant/components/opentherm_gw/services.yaml
+++ b/homeassistant/components/opentherm_gw/services.yaml
@@ -5,20 +5,20 @@ reset_gateway:
   fields:
     gateway_id:
       description: The gateway_id of the OpenTherm Gateway.
-      example: 'opentherm_gateway'
+      example: "opentherm_gateway"
 
 set_clock:
   description: Set the clock and day of the week on the connected thermostat.
   fields:
     gateway_id:
       description: The gateway_id of the OpenTherm Gateway.
-      example: 'opentherm_gateway'
+      example: "opentherm_gateway"
     date:
       description: Optional date from which the day of the week will be extracted. Defaults to today.
-      example: '2018-10-23'
+      example: "2018-10-23"
     time:
       description: Optional time in 24h format which will be provided to the thermostat. Defaults to the current time.
-      example: '19:34'
+      example: "19:34"
 
 set_control_setpoint:
   description: >
@@ -27,13 +27,13 @@ set_control_setpoint:
   fields:
     gateway_id:
       description: The gateway_id of the OpenTherm Gateway.
-      example: 'opentherm_gateway'
+      example: "opentherm_gateway"
     temperature:
       description: >
         The central heating setpoint to set on the gateway.
         Values between 0 and 90 are accepted, but not all boilers support this range.
         A value of 0 disables the central heating setpoint override.
-      example: '37.5'
+      example: "37.5"
 
 set_hot_water_ovrd:
   description: >
@@ -41,7 +41,7 @@ set_hot_water_ovrd:
   fields:
     gateway_id:
       description: The gateway_id of the OpenTherm Gateway.
-      example: 'opentherm_gateway'
+      example: "opentherm_gateway"
     dhw_override:
       description: >
         Control the domestic hot water enable option. If the boiler has
@@ -50,37 +50,37 @@ set_hot_water_ovrd:
         that.
         Value should be 0 or 1 to enable the override in off or on
         state, or "A" to disable the override.
-      example: '1'
+      example: "1"
 
 set_gpio_mode:
   description: Change the function of the GPIO pins of the gateway.
   fields:
     gateway_id:
       description: The gateway_id of the OpenTherm Gateway.
-      example: 'opentherm_gateway'
+      example: "opentherm_gateway"
     id:
       description: The ID of the GPIO pin. Either "A" or "B".
-      example: 'B'
+      example: "B"
     mode:
       description: >
         Mode to set on the GPIO pin. Values 0 through 6 are accepted for both GPIOs, 7 is only accepted for GPIO "B".
         See https://www.home-assistant.io/integrations/opentherm_gw/#gpio-modes for an explanation of the values.
-      example: '5'
+      example: "5"
 
 set_led_mode:
   description: Change the function of the LEDs of the gateway.
   fields:
     gateway_id:
       description: The gateway_id of the OpenTherm Gateway.
-      example: 'opentherm_gateway'
+      example: "opentherm_gateway"
     id:
       description: The ID of the LED. Possible values are "A" through "F".
-      example: 'C'
+      example: "C"
     mode:
       description: >
         The function to assign to the LED. One of "R", "X", "T", "B", "O", "F", "H", "W", "C", "E", "M" or "P".
         See https://www.home-assistant.io/integrations/opentherm_gw/#led-modes for an explanation of the values.
-      example: 'F'
+      example: "F"
 
 set_max_modulation:
   description: >
@@ -89,13 +89,13 @@ set_max_modulation:
   fields:
     gateway_id:
       description: The gateway_id of the OpenTherm Gateway.
-      example: 'opentherm_gateway'
+      example: "opentherm_gateway"
     level:
       description: >
         The modulation level to provide to the gateway.
         Values between 0 and 100 will set the modulation level.
         Provide a value of -1 to clear the override and forward the value from the thermostat again.
-      example: '42'
+      example: "42"
 
 set_outside_temperature:
   description: >
@@ -104,20 +104,20 @@ set_outside_temperature:
   fields:
     gateway_id:
       description: The gateway_id of the OpenTherm Gateway.
-      example: 'opentherm_gateway'
+      example: "opentherm_gateway"
     temperature:
       description: >
         The temperature to provide to the thermostat.
         Values between -40.0 and 64.0 will be accepted, but not all thermostats can display the full range.
         Any value above 64.0 will clear a previously configured value (suggestion: 99)
-      example: '-2.3'
+      example: "-2.3"
 
 set_setback_temperature:
   description: Configure the setback temperature to be used with the GPIO away mode function.
   fields:
     gateway_id:
       description: The gateway_id of the OpenTherm Gateway.
-      example: 'opentherm_gateway'
+      example: "opentherm_gateway"
     temperature:
       description: The setback temperature to configure on the gateway. Values between 0.0 and 30.0 are accepted.
-      example: '16.0'
+      example: "16.0"
diff --git a/homeassistant/components/opentherm_gw/strings.json b/homeassistant/components/opentherm_gw/strings.json
index 1c246432fb14385a6b561bfe943dd91e51a892c7..7bc25726f273a818b416c0b21a5b56d4a5dfee68 100644
--- a/homeassistant/components/opentherm_gw/strings.json
+++ b/homeassistant/components/opentherm_gw/strings.json
@@ -16,7 +16,7 @@
       "id_exists": "Gateway id already exists",
       "serial_error": "Error connecting to device",
       "timeout": "Connection attempt timed out"
-	}
+    }
   },
   "options": {
     "step": {
@@ -29,4 +29,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/opnsense/manifest.json b/homeassistant/components/opnsense/manifest.json
index 8cc77da7cfa1d5257e6286c56fa8c8711b981d53..129ca0108a5a7d545a0434b912a5211e78a939bb 100644
--- a/homeassistant/components/opnsense/manifest.json
+++ b/homeassistant/components/opnsense/manifest.json
@@ -2,8 +2,6 @@
   "domain": "opnsense",
   "name": "OPNSense",
   "documentation": "https://www.home-assistant.io/integrations/opnsense",
-  "requirements": [
-    "pyopnsense==0.2.0"
-  ],
+  "requirements": ["pyopnsense==0.2.0"],
   "codeowners": ["@mtreinish"]
 }
diff --git a/homeassistant/components/pilight/services.yaml b/homeassistant/components/pilight/services.yaml
index cc6141fdd91e61be31b3ad7b4e3cc51fbb48e8f6..9faa8908efbcd27218413a984e1452420e0c90d2 100644
--- a/homeassistant/components/pilight/services.yaml
+++ b/homeassistant/components/pilight/services.yaml
@@ -2,5 +2,5 @@ send:
   description: Send RF code to Pilight device
   fields:
     protocol:
-      description: 'Protocol that Pilight recognizes. See https://manual.pilight.org/protocols/index.html for supported protocols and additional parameters that each protocol supports'
-      example: 'lirc'
+      description: "Protocol that Pilight recognizes. See https://manual.pilight.org/protocols/index.html for supported protocols and additional parameters that each protocol supports"
+      example: "lirc"
diff --git a/homeassistant/components/plaato/strings.json b/homeassistant/components/plaato/strings.json
index ee99da0c8b1cd7962a2cf2fa1585f04f5d09ce76..2fde2782f4663c27188e6b9da945aec23408885e 100644
--- a/homeassistant/components/plaato/strings.json
+++ b/homeassistant/components/plaato/strings.json
@@ -15,4 +15,4 @@
       "default": "To send events to Home Assistant, you will need to setup the webhook feature in Plaato Airlock.\n\nFill in the following info:\n\n- URL: `{webhook_url}`\n- Method: POST\n\nSee [the documentation]({docs_url}) for further details."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/plex/strings.json b/homeassistant/components/plex/strings.json
index 43dc47bec1040373c452310822d32b361b0fcb7a..83466327da3bec71ec41a71ea0d2c34efed7c74e 100644
--- a/homeassistant/components/plex/strings.json
+++ b/homeassistant/components/plex/strings.json
@@ -1,44 +1,44 @@
 {
-    "config": {
-        "title": "Plex",
-        "step": {
-            "select_server": {
-                "title": "Select Plex server",
-                "description": "Multiple servers available, select one:",
-                "data": {
-                    "server": "Server"
-                }
-            },
-            "start_website_auth": {
-                "title": "Connect Plex server",
-                "description": "Continue to authorize at plex.tv."
-            }
-        },
-        "error": {
-            "faulty_credentials": "Authorization failed",
-            "no_servers": "No servers linked to account",
-            "not_found": "Plex server not found"
-        },
-        "abort": {
-            "all_configured": "All linked servers already configured",
-            "already_configured": "This Plex server is already configured",
-            "already_in_progress": "Plex is being configured",
-            "invalid_import": "Imported configuration is invalid",
-            "non-interactive": "Non-interactive import",
-            "token_request_timeout": "Timed out obtaining token",
-            "unknown": "Failed for unknown reason"
+  "config": {
+    "title": "Plex",
+    "step": {
+      "select_server": {
+        "title": "Select Plex server",
+        "description": "Multiple servers available, select one:",
+        "data": {
+          "server": "Server"
         }
+      },
+      "start_website_auth": {
+        "title": "Connect Plex server",
+        "description": "Continue to authorize at plex.tv."
+      }
     },
-    "options": {
-        "step": {
-            "plex_mp_settings": {
-                "description": "Options for Plex Media Players",
-                "data": {
-                    "use_episode_art": "Use episode art",
-                    "ignore_new_shared_users": "Ignore new managed/shared users",
-                    "monitored_users": "Monitored users"
-                }
-            }
+    "error": {
+      "faulty_credentials": "Authorization failed",
+      "no_servers": "No servers linked to account",
+      "not_found": "Plex server not found"
+    },
+    "abort": {
+      "all_configured": "All linked servers already configured",
+      "already_configured": "This Plex server is already configured",
+      "already_in_progress": "Plex is being configured",
+      "invalid_import": "Imported configuration is invalid",
+      "non-interactive": "Non-interactive import",
+      "token_request_timeout": "Timed out obtaining token",
+      "unknown": "Failed for unknown reason"
+    }
+  },
+  "options": {
+    "step": {
+      "plex_mp_settings": {
+        "description": "Options for Plex Media Players",
+        "data": {
+          "use_episode_art": "Use episode art",
+          "ignore_new_shared_users": "Ignore new managed/shared users",
+          "monitored_users": "Monitored users"
         }
+      }
     }
+  }
 }
diff --git a/homeassistant/components/proxy/manifest.json b/homeassistant/components/proxy/manifest.json
index 246eb856bdcf83acc74cd5000ca4abd8b7b715b2..a704e5ffa66dd995080cf971f0d42c8ca429faec 100644
--- a/homeassistant/components/proxy/manifest.json
+++ b/homeassistant/components/proxy/manifest.json
@@ -2,8 +2,6 @@
   "domain": "proxy",
   "name": "Camera Proxy",
   "documentation": "https://www.home-assistant.io/integrations/proxy",
-  "requirements": [
-    "pillow==7.0.0"
-  ],
+  "requirements": ["pillow==7.0.0"],
   "codeowners": []
 }
diff --git a/homeassistant/components/ps4/services.yaml b/homeassistant/components/ps4/services.yaml
index b7d1e8df96f3b8dce2efc5355ebf4ba6d037ff28..e1af6543a650773df5156825481e0a19aab03f1b 100644
--- a/homeassistant/components/ps4/services.yaml
+++ b/homeassistant/components/ps4/services.yaml
@@ -3,7 +3,7 @@ send_command:
   fields:
     entity_id:
       description: Name(s) of entities to send command.
-      example: 'media_player.playstation_4'
+      example: "media_player.playstation_4"
     command:
       description: Button to press.
-      example: 'ps'
+      example: "ps"
diff --git a/homeassistant/components/qrcode/manifest.json b/homeassistant/components/qrcode/manifest.json
index f51f7150868f61011a37bce06b54fd1aa50a33a7..615fa1f755279b7f3c5e82f74e7f93a0b1150416 100644
--- a/homeassistant/components/qrcode/manifest.json
+++ b/homeassistant/components/qrcode/manifest.json
@@ -2,9 +2,6 @@
   "domain": "qrcode",
   "name": "QR Code",
   "documentation": "https://www.home-assistant.io/integrations/qrcode",
-  "requirements": [
-    "pillow==7.0.0",
-    "pyzbar==0.1.7"
-  ],
+  "requirements": ["pillow==7.0.0", "pyzbar==0.1.7"],
   "codeowners": []
 }
diff --git a/homeassistant/components/rachio/manifest.json b/homeassistant/components/rachio/manifest.json
index 9b293ee5df2027e72eb656882bbe5776a4a35b87..b8c141f52ab2290fb527d72241db6ad61f609d89 100644
--- a/homeassistant/components/rachio/manifest.json
+++ b/homeassistant/components/rachio/manifest.json
@@ -2,17 +2,11 @@
   "domain": "rachio",
   "name": "Rachio",
   "documentation": "https://www.home-assistant.io/integrations/rachio",
-  "requirements": [
-    "rachiopy==0.1.3"
-  ],
-  "dependencies": [
-    "http"
-  ],
+  "requirements": ["rachiopy==0.1.3"],
+  "dependencies": ["http"],
   "codeowners": ["@bdraco"],
   "config_flow": true,
   "homekit": {
-    "models": [
-      "Rachio"
-    ]
+    "models": ["Rachio"]
   }
 }
diff --git a/homeassistant/components/rachio/strings.json b/homeassistant/components/rachio/strings.json
index 391320289dbe8249f36ba349e2237cee3ede6b67..1f05a1c7a5f4a30d841e5b45ff894a0d21e2879a 100644
--- a/homeassistant/components/rachio/strings.json
+++ b/homeassistant/components/rachio/strings.json
@@ -4,7 +4,7 @@
     "step": {
       "user": {
         "title": "Connect to your Rachio device",
-        "description" : "You will need the API Key from https://app.rach.io/. Select 'Account Settings, and then click on 'GET API KEY'.",
+        "description": "You will need the API Key from https://app.rach.io/. Select 'Account Settings, and then click on 'GET API KEY'.",
         "data": {
           "api_key": "The API key for the Rachio account."
         }
diff --git a/homeassistant/components/rainbird/services.yaml b/homeassistant/components/rainbird/services.yaml
index cdac7171a25c8e2d15bde86ae0e6d514b68bb439..ed1ec8b62df00cfe807716fc20185961711c976b 100644
--- a/homeassistant/components/rainbird/services.yaml
+++ b/homeassistant/components/rainbird/services.yaml
@@ -3,7 +3,7 @@ start_irrigation:
   fields:
     entity_id:
       description: Name of a single irrigation to turn on
-      example: 'switch.sprinkler_1'
+      example: "switch.sprinkler_1"
     duration:
       description: Duration for this sprinkler to be turned on
       example: 1
diff --git a/homeassistant/components/rainforest_eagle/manifest.json b/homeassistant/components/rainforest_eagle/manifest.json
index b6db35347bcf40fed3da009f6b172e58ab107583..bae9cbe4ccb4bf462d75595d58e173ce0c81dfa7 100644
--- a/homeassistant/components/rainforest_eagle/manifest.json
+++ b/homeassistant/components/rainforest_eagle/manifest.json
@@ -2,10 +2,6 @@
   "domain": "rainforest_eagle",
   "name": "Rainforest Eagle-200",
   "documentation": "https://www.home-assistant.io/integrations/rainforest_eagle",
-  "requirements": [
-    "eagle200_reader==0.2.4",
-    "uEagle==0.0.1"
-  ],
-  "codeowners": ["@gtdiehl",
-                 "@jcalbert"]
+  "requirements": ["eagle200_reader==0.2.4", "uEagle==0.0.1"],
+  "codeowners": ["@gtdiehl", "@jcalbert"]
 }
diff --git a/homeassistant/components/remote/services.yaml b/homeassistant/components/remote/services.yaml
index 1d712a8f2850c9d47b09ea96bde58ac65e060e68..fc9d170726e5f1290f8290caf447659d512a9300 100644
--- a/homeassistant/components/remote/services.yaml
+++ b/homeassistant/components/remote/services.yaml
@@ -5,62 +5,62 @@ turn_on:
   fields:
     entity_id:
       description: Name(s) of entities to turn on.
-      example: 'remote.family_room'
+      example: "remote.family_room"
     activity:
       description: Activity ID or Activity Name to start.
-      example: 'BedroomTV'
+      example: "BedroomTV"
 
 toggle:
   description: Toggles a device.
   fields:
     entity_id:
       description: Name(s) of entities to toggle.
-      example: 'remote.family_room'
+      example: "remote.family_room"
 
 turn_off:
   description: Sends the Power Off Command.
   fields:
     entity_id:
       description: Name(s) of entities to turn off.
-      example: 'remote.family_room'
+      example: "remote.family_room"
 
 send_command:
   description: Sends a command or a list of commands to a device.
   fields:
     entity_id:
       description: Name(s) of entities to send command from.
-      example: 'remote.family_room'
+      example: "remote.family_room"
     device:
       description: Device ID to send command to.
-      example: '32756745'
+      example: "32756745"
     command:
       description: A single command or a list of commands to send.
-      example: 'Play'
+      example: "Play"
     num_repeats:
       description: An optional value that specifies the number of times you want to repeat the command(s). If not specified, the command(s) will not be repeated.
-      example: '5'
+      example: "5"
     delay_secs:
       description: An optional value that specifies that number of seconds you want to wait in between repeated commands. If not specified, the default of 0.4 seconds will be used.
-      example: '0.75'
+      example: "0.75"
     hold_secs:
       description: An optional value that specifies that number of seconds you want to have it held before the release is send. If not specified, the release will be send immediately after the press.
-      example: '2.5'
+      example: "2.5"
 
 learn_command:
   description: Learns a command or a list of commands from a device.
   fields:
     entity_id:
       description: Name(s) of entities to learn command from.
-      example: 'remote.bedroom'
+      example: "remote.bedroom"
     device:
       description: Device ID to learn command from.
-      example: 'television'
+      example: "television"
     command:
       description: A single command or a list of commands to learn.
-      example: 'Turn on'
+      example: "Turn on"
     alternative:
       description: If code must be stored as alternative (useful for discrete remotes).
-      example: 'True'
+      example: "True"
     timeout:
       description: Timeout, in seconds, for the command to be learned.
-      example: '30'
+      example: "30"
diff --git a/homeassistant/components/rflink/services.yaml b/homeassistant/components/rflink/services.yaml
index 9269326ece6fac5dbeeacf8fc3711fcdc088325c..3a44d04f75d99daa4be794ae59b00deea2478e8c 100644
--- a/homeassistant/components/rflink/services.yaml
+++ b/homeassistant/components/rflink/services.yaml
@@ -1,5 +1,9 @@
 send_command:
   description: Send device command through RFLink.
   fields:
-    command: {description: The command to be sent., example: 'on'}
-    device_id: {description: RFLink device ID., example: newkaku_0000c6c2_1}
+    command:
+      description: The command to be sent.
+      example: "on"
+    device_id:
+      description: RFLink device ID.
+      example: newkaku_0000c6c2_1
diff --git a/homeassistant/components/roomba/manifest.json b/homeassistant/components/roomba/manifest.json
index c66cd3ecbdfcc9c3843e2f5ff154291f066738d9..942ebd0842626565271458be1e2e58f3952df30c 100644
--- a/homeassistant/components/roomba/manifest.json
+++ b/homeassistant/components/roomba/manifest.json
@@ -2,10 +2,6 @@
   "domain": "roomba",
   "name": "iRobot Roomba",
   "documentation": "https://www.home-assistant.io/integrations/roomba",
-  "requirements": [
-    "roombapy==1.4.3"
-  ],
-  "codeowners": [
-    "@pschmitt"
-  ]
+  "requirements": ["roombapy==1.4.3"],
+  "codeowners": ["@pschmitt"]
 }
diff --git a/homeassistant/components/salt/manifest.json b/homeassistant/components/salt/manifest.json
index eefe901d29634050dc8e35438176b5d9c5b6c129..cad9b6d36613061e047adfd6d673db2df2491c3f 100644
--- a/homeassistant/components/salt/manifest.json
+++ b/homeassistant/components/salt/manifest.json
@@ -1,7 +1,7 @@
 {
-    "domain": "salt",
-    "name": "Salt Fiber Box",
-    "documentation": "https://www.home-assistant.io/integrations/salt",
-    "requirements": ["saltbox==0.1.3"],
-    "codeowners": ["@bjornorri"]
+  "domain": "salt",
+  "name": "Salt Fiber Box",
+  "documentation": "https://www.home-assistant.io/integrations/salt",
+  "requirements": ["saltbox==0.1.3"],
+  "codeowners": ["@bjornorri"]
 }
diff --git a/homeassistant/components/samsungtv/manifest.json b/homeassistant/components/samsungtv/manifest.json
index ea91fee481acbfb148b126154da9b4d715c1d8cd..efcb9064208b667ef651a27a02872e6d27a8aeef 100644
--- a/homeassistant/components/samsungtv/manifest.json
+++ b/homeassistant/components/samsungtv/manifest.json
@@ -11,8 +11,6 @@
       "st": "urn:samsung.com:device:RemoteControlReceiver:1"
     }
   ],
-  "codeowners": [
-    "@escoand"
-  ],
+  "codeowners": ["@escoand"],
   "config_flow": true
 }
diff --git a/homeassistant/components/samsungtv/strings.json b/homeassistant/components/samsungtv/strings.json
index 2e36062669f5737db99257d926e73f54287ec9a0..71de0764789a769c420d07877009d6c84e601b91 100644
--- a/homeassistant/components/samsungtv/strings.json
+++ b/homeassistant/components/samsungtv/strings.json
@@ -7,8 +7,8 @@
         "title": "Samsung TV",
         "description": "Enter your Samsung TV information. If you never connected Home Assistant before you should see a popup on your TV asking for authorization.",
         "data": {
-            "host": "Host or IP address",
-            "name": "Name"
+          "host": "Host or IP address",
+          "name": "Name"
         }
       },
       "confirm": {
diff --git a/homeassistant/components/script/services.yaml b/homeassistant/components/script/services.yaml
index 736b0ec71c3f8e334561cdd7dbfb0d2e8fd615ec..1347f760b546cfed66d536ffa8a4d38276191893 100644
--- a/homeassistant/components/script/services.yaml
+++ b/homeassistant/components/script/services.yaml
@@ -8,18 +8,18 @@ turn_on:
   fields:
     entity_id:
       description: Name(s) of script to be turned on.
-      example: 'script.arrive_home'
+      example: "script.arrive_home"
 
 turn_off:
   description: Turn off script
   fields:
     entity_id:
       description: Name(s) of script to be turned off.
-      example: 'script.arrive_home'
+      example: "script.arrive_home"
 
 toggle:
   description: Toggle script
   fields:
     entity_id:
       description: Name(s) of script to be toggled.
-      example: 'script.arrive_home'
+      example: "script.arrive_home"
diff --git a/homeassistant/components/sense/manifest.json b/homeassistant/components/sense/manifest.json
index d4ec8ab8a1e167608fa6b8e44526ccb535894ade..d0bed82673484fd68ec2e6fe6d7dffcec873634a 100644
--- a/homeassistant/components/sense/manifest.json
+++ b/homeassistant/components/sense/manifest.json
@@ -2,11 +2,7 @@
   "domain": "sense",
   "name": "Sense",
   "documentation": "https://www.home-assistant.io/integrations/sense",
-  "requirements": [
-    "sense_energy==0.7.1"
-  ],
-  "codeowners": [
-    "@kbickar"
-  ],
+  "requirements": ["sense_energy==0.7.1"],
+  "codeowners": ["@kbickar"],
   "config_flow": true
 }
diff --git a/homeassistant/components/sensibo/services.yaml b/homeassistant/components/sensibo/services.yaml
index d2e5e39c7d84397e753560d195765e353980b05f..f981ef7fd32bf6740064b258a4433069d417a500 100644
--- a/homeassistant/components/sensibo/services.yaml
+++ b/homeassistant/components/sensibo/services.yaml
@@ -3,7 +3,7 @@ assume_state:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'climate.kitchen'
+      example: "climate.kitchen"
     state:
       description: State to set.
-      example: 'idle'
+      example: "idle"
diff --git a/homeassistant/components/seven_segments/manifest.json b/homeassistant/components/seven_segments/manifest.json
index 2bee5379a1b9f2eb75aee5eea91f140ee9cb8997..1eb60e9154ae48c388aec387c20f08925f7f7986 100644
--- a/homeassistant/components/seven_segments/manifest.json
+++ b/homeassistant/components/seven_segments/manifest.json
@@ -2,8 +2,6 @@
   "domain": "seven_segments",
   "name": "Seven Segments OCR",
   "documentation": "https://www.home-assistant.io/integrations/seven_segments",
-  "requirements": [
-    "pillow==7.0.0"
-  ],
+  "requirements": ["pillow==7.0.0"],
   "codeowners": []
 }
diff --git a/homeassistant/components/shopping_list/services.yaml b/homeassistant/components/shopping_list/services.yaml
index 1d667e43fa6eb8e3141bb0e96d537a5c2c4e8f95..04457e2abec4e2b74d13f4a6c0837c7dfd33399a 100644
--- a/homeassistant/components/shopping_list/services.yaml
+++ b/homeassistant/components/shopping_list/services.yaml
@@ -1,9 +1,12 @@
 add_item:
   description: Adds an item to the shopping list.
   fields:
-    name: {description: The name of the item to add., example: Beer}
+    name:
+      description: The name of the item to add.
+      example: Beer
 complete_item:
-  description: Marks an item as completed in the shopping list. It does not remove
-    the item.
+  description: Marks an item as completed in the shopping list. It does not remove the item.
   fields:
-    name: {description: The name of the item to mark as completed., example: Beer}
+    name:
+      description: The name of the item to mark as completed.
+      example: Beer
diff --git a/homeassistant/components/shopping_list/strings.json b/homeassistant/components/shopping_list/strings.json
index 9e56dd7eaa49f1e8b0eb757331a48fe62ea36b6e..537bed16a786851fd812ca0e60ef5599ee96f37e 100644
--- a/homeassistant/components/shopping_list/strings.json
+++ b/homeassistant/components/shopping_list/strings.json
@@ -1,14 +1,14 @@
 {
-    "config": {
+  "config": {
+    "title": "Shopping List",
+    "step": {
+      "user": {
         "title": "Shopping List",
-        "step": {
-          "user": {
-            "title": "Shopping List",
-            "description": "Do you want to configure the shopping list?"
-          }
-        },
-        "abort": {
-          "already_configured": "The shopping list is already configured."
-        }
+        "description": "Do you want to configure the shopping list?"
+      }
+    },
+    "abort": {
+      "already_configured": "The shopping list is already configured."
     }
+  }
 }
diff --git a/homeassistant/components/sighthound/manifest.json b/homeassistant/components/sighthound/manifest.json
index b4e80884484e1b4cd41a1a9a17fc2a02172ba313..3efe31d5a879619fbb3db26010b36c2bf091f8ed 100644
--- a/homeassistant/components/sighthound/manifest.json
+++ b/homeassistant/components/sighthound/manifest.json
@@ -1,12 +1,7 @@
 {
-        "domain": "sighthound",
-        "name": "Sighthound",
-        "documentation": "https://www.home-assistant.io/integrations/sighthound",
-        "requirements": [
-                "pillow==7.0.0",
-                "simplehound==0.3"
-        ],
-        "codeowners": [
-                "@robmarkcole"
-        ]
+  "domain": "sighthound",
+  "name": "Sighthound",
+  "documentation": "https://www.home-assistant.io/integrations/sighthound",
+  "requirements": ["pillow==7.0.0", "simplehound==0.3"],
+  "codeowners": ["@robmarkcole"]
 }
diff --git a/homeassistant/components/smartthings/strings.json b/homeassistant/components/smartthings/strings.json
index 3578bcd5138da7b6a6f759257afed71221dd1152..99173c830a0b9ea3876efbb58a6a7e89a43e8b5b 100644
--- a/homeassistant/components/smartthings/strings.json
+++ b/homeassistant/components/smartthings/strings.json
@@ -15,14 +15,14 @@
       }
     },
     "error": {
-        "token_invalid_format": "The token must be in the UID/GUID format",
-        "token_unauthorized": "The token is invalid or no longer authorized.",
-        "token_forbidden": "The token does not have the required OAuth scopes.",
-        "token_already_setup": "The token has already been setup.",
-        "app_setup_error": "Unable to setup the SmartApp.  Please try again.",
-        "app_not_installed": "Please ensure you have installed and authorized the Home Assistant SmartApp and try again.",
-        "base_url_not_https": "The `base_url` for the `http` component must be configured and start with `https://`.",
-        "webhook_error": "SmartThings could not validate the endpoint configured in `base_url`. Please review the component requirements."
+      "token_invalid_format": "The token must be in the UID/GUID format",
+      "token_unauthorized": "The token is invalid or no longer authorized.",
+      "token_forbidden": "The token does not have the required OAuth scopes.",
+      "token_already_setup": "The token has already been setup.",
+      "app_setup_error": "Unable to setup the SmartApp.  Please try again.",
+      "app_not_installed": "Please ensure you have installed and authorized the Home Assistant SmartApp and try again.",
+      "base_url_not_https": "The `base_url` for the `http` component must be configured and start with `https://`.",
+      "webhook_error": "SmartThings could not validate the endpoint configured in `base_url`. Please review the component requirements."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/smhi/strings.json b/homeassistant/components/smhi/strings.json
index dbf1172b7d67976fd1a513d648663d941e3378f4..2db9e0f94eb0527a7f0ac07b3a08565f0e74a4b2 100644
--- a/homeassistant/components/smhi/strings.json
+++ b/homeassistant/components/smhi/strings.json
@@ -1,19 +1,19 @@
 {
-    "config": {
-        "title": "Swedish weather service (SMHI)",
-        "step": {
-            "user": {
-                "title": "Location in Sweden",
-                "data": {
-                    "name": "Name",
-                    "latitude": "Latitude",
-                    "longitude": "Longitude"
-                }
-            }
-        },
-        "error": {
-            "name_exists": "Name already exists",
-            "wrong_location": "Location Sweden only"
+  "config": {
+    "title": "Swedish weather service (SMHI)",
+    "step": {
+      "user": {
+        "title": "Location in Sweden",
+        "data": {
+          "name": "Name",
+          "latitude": "Latitude",
+          "longitude": "Longitude"
         }
+      }
+    },
+    "error": {
+      "name_exists": "Name already exists",
+      "wrong_location": "Location Sweden only"
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/snapcast/services.yaml b/homeassistant/components/snapcast/services.yaml
index 3e5dadbf5c1718d7d75e335ecaed2e011c52ea4a..1517f12f52d593442808eb17ea50c4d5623bcdc1 100644
--- a/homeassistant/components/snapcast/services.yaml
+++ b/homeassistant/components/snapcast/services.yaml
@@ -3,28 +3,28 @@ join:
   fields:
     master:
       description: Entity ID of the player to synchronize to.
-      example: 'media_player.living_room'
+      example: "media_player.living_room"
     entity_id:
       description: Entity ID of the players to join to the "master".
-      example: 'media_player.bedroom'
+      example: "media_player.bedroom"
 
 unjoin:
   description: Unjoin the player from a group.
   fields:
     entity_id:
       description: Entity ID of the player to unjoin.
-      example: 'media_player.living_room'
+      example: "media_player.living_room"
 
 snapshot:
   description: Take a snapshot of the media player.
   fields:
     entity_id:
       description: Name(s) of entities that will be snapshotted. Platform dependent.
-      example: 'media_player.living_room'
+      example: "media_player.living_room"
 
 restore:
   description: Restore a snapshot of the media player.
   fields:
     entity_id:
       description: Name(s) of entities that will be restored. Platform dependent.
-      example: 'media_player.living_room'
+      example: "media_player.living_room"
diff --git a/homeassistant/components/solaredge/strings.json b/homeassistant/components/solaredge/strings.json
index 3265e3bb1b0a865c3d56ae195d32814b73af759d..650ae3edd4fd02eb58be5d8d696b37bdcb4d2865 100644
--- a/homeassistant/components/solaredge/strings.json
+++ b/homeassistant/components/solaredge/strings.json
@@ -1,21 +1,21 @@
 {
-    "config": {
-        "title": "SolarEdge",
-        "step": {
-            "user": {
-                "title": "Define the API parameters for this installation",
-                "data": {
-                    "name": "The name of this installation",
-                    "site_id": "The SolarEdge site-id",
-                    "api_key": "The API key for this site"
-                }
-            }
-        },
-        "error": {
-            "site_exists": "This site_id is already configured"
-        },
-        "abort": {
-            "site_exists": "This site_id is already configured"
+  "config": {
+    "title": "SolarEdge",
+    "step": {
+      "user": {
+        "title": "Define the API parameters for this installation",
+        "data": {
+          "name": "The name of this installation",
+          "site_id": "The SolarEdge site-id",
+          "api_key": "The API key for this site"
         }
+      }
+    },
+    "error": {
+      "site_exists": "This site_id is already configured"
+    },
+    "abort": {
+      "site_exists": "This site_id is already configured"
     }
+  }
 }
diff --git a/homeassistant/components/soma/strings.json b/homeassistant/components/soma/strings.json
index 67f1f6b7d460fecb4a0b0b74683184c8325becfa..74a72fdd97609dbc1f2e857297edba9c88dffeef 100644
--- a/homeassistant/components/soma/strings.json
+++ b/homeassistant/components/soma/strings.json
@@ -1,25 +1,25 @@
 {
-    "config": {
-        "abort": {
-            "already_setup": "You can only configure one Soma account.",
-            "authorize_url_timeout": "Timeout generating authorize url.",
-            "missing_configuration": "The Soma component is not configured. Please follow the documentation.",
-            "result_error": "SOMA Connect responded with error status.",
-            "connection_error": "Failed to connect to SOMA Connect."
+  "config": {
+    "abort": {
+      "already_setup": "You can only configure one Soma account.",
+      "authorize_url_timeout": "Timeout generating authorize url.",
+      "missing_configuration": "The Soma component is not configured. Please follow the documentation.",
+      "result_error": "SOMA Connect responded with error status.",
+      "connection_error": "Failed to connect to SOMA Connect."
+    },
+    "create_entry": {
+      "default": "Successfully authenticated with Soma."
+    },
+    "step": {
+      "user": {
+        "data": {
+          "host": "Host",
+          "port": "Port"
         },
-        "create_entry": {
-            "default": "Successfully authenticated with Soma."
-        },
-        "step": {
-            "user": {
-                "data": {
-                    "host": "Host",
-                    "port": "Port"
-                },
-                "description": "Please enter connection settings of your SOMA Connect.",
-                "title": "SOMA Connect"
-            }
-        },
-        "title": "Soma"
-    }
+        "description": "Please enter connection settings of your SOMA Connect.",
+        "title": "SOMA Connect"
+      }
+    },
+    "title": "Soma"
+  }
 }
diff --git a/homeassistant/components/songpal/services.yaml b/homeassistant/components/songpal/services.yaml
index 8cf1a664276eda457c663a2555cee981c72613a5..e08ae2098fe47be661eafebfe5aaed04c50d67ff 100644
--- a/homeassistant/components/songpal/services.yaml
+++ b/homeassistant/components/songpal/services.yaml
@@ -4,10 +4,10 @@ set_sound_setting:
   fields:
     entity_id:
       description: Target device.
-      example: 'media_player.my_soundbar'
+      example: "media_player.my_soundbar"
     name:
       description: Name of the setting.
-      example: 'nightMode'
+      example: "nightMode"
     value:
       description: Value to set.
-      example: 'on'
+      example: "on"
diff --git a/homeassistant/components/sonos/services.yaml b/homeassistant/components/sonos/services.yaml
index 480eeeeba9f5627a3c02bec88bde9b1cee17f20e..37effe7d6ab1dafd45156f8d95ee39bbbe7c00a9 100644
--- a/homeassistant/components/sonos/services.yaml
+++ b/homeassistant/components/sonos/services.yaml
@@ -3,74 +3,74 @@ join:
   fields:
     master:
       description: Entity ID of the player that should become the coordinator of the group.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
     entity_id:
       description: Name(s) of entities that will join the master.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 unjoin:
   description: Unjoin the player from a group.
   fields:
     entity_id:
       description: Name(s) of entities that will be unjoined from their group.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 snapshot:
   description: Take a snapshot of the media player.
   fields:
     entity_id:
       description: Name(s) of entities that will be snapshot.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
     with_group:
       description: True (default) or False. Also snapshot the group layout.
-      example: 'true'
+      example: "true"
 
 restore:
   description: Restore a snapshot of the media player.
   fields:
     entity_id:
       description: Name(s) of entities that will be restored.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
     with_group:
       description: True (default) or False. Also restore the group layout.
-      example: 'true'
+      example: "true"
 
 set_sleep_timer:
   description: Set a Sonos timer.
   fields:
     entity_id:
       description: Name(s) of entities that will have a timer set.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
     sleep_time:
       description: Number of seconds to set the timer.
-      example: '900'
+      example: "900"
 
 clear_sleep_timer:
   description: Clear a Sonos timer.
   fields:
     entity_id:
       description: Name(s) of entities that will have the timer cleared.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
 
 set_option:
   description: Set Sonos sound options.
   fields:
     entity_id:
       description: Name(s) of entities that will have options set.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
     night_sound:
       description: Enable Night Sound mode
-      example: 'true'
+      example: "true"
     speech_enhance:
       description: Enable Speech Enhancement mode
-      example: 'true'
+      example: "true"
 
 play_queue:
   description: Starts playing the queue from the first item.
   fields:
     entity_id:
       description: Name(s) of entities that will start playing.
-      example: 'media_player.living_room_sonos'
+      example: "media_player.living_room_sonos"
     queue_position:
       description: Position of the song in the queue to start playing from.
-      example: '0'
+      example: "0"
diff --git a/homeassistant/components/soundtouch/services.yaml b/homeassistant/components/soundtouch/services.yaml
index fd848b76b2db0b7f29dc6dbf38ce5b65b9729e53..79fd1d4166587bcefde2f313188bd31ece2b18ef 100644
--- a/homeassistant/components/soundtouch/services.yaml
+++ b/homeassistant/components/soundtouch/services.yaml
@@ -3,34 +3,34 @@ play_everywhere:
   fields:
     master:
       description: Name of the master entity that will coordinate the grouping. Platform dependent. It is a shortcut for creating a multi-room zone with all devices
-      example: 'media_player.soundtouch_home'
+      example: "media_player.soundtouch_home"
 
 create_zone:
   description: Create a Sountouch multi-room zone.
   fields:
     master:
       description: Name of the master entity that will coordinate the multi-room zone. Platform dependent.
-      example: 'media_player.soundtouch_home'
+      example: "media_player.soundtouch_home"
     slaves:
       description: Name of slaves entities to add to the new zone.
-      example: 'media_player.soundtouch_bedroom'
+      example: "media_player.soundtouch_bedroom"
 
 add_zone_slave:
   description: Add a slave to a Sountouch multi-room zone.
   fields:
     master:
       description: Name of the master entity that is coordinating the multi-room zone. Platform dependent.
-      example: 'media_player.soundtouch_home'
+      example: "media_player.soundtouch_home"
     slaves:
       description: Name of slaves entities to add to the existing zone.
-      example: 'media_player.soundtouch_bedroom'
+      example: "media_player.soundtouch_bedroom"
 
 remove_zone_slave:
   description: Remove a slave from the Sounttouch multi-room zone.
   fields:
     master:
       description: Name of the master entity that is coordinating the multi-room zone. Platform dependent.
-      example: 'media_player.soundtouch_home'
+      example: "media_player.soundtouch_home"
     slaves:
       description: Name of slaves entities to remove from the existing zone.
-      example: 'media_player.soundtouch_bedroom'
+      example: "media_player.soundtouch_bedroom"
diff --git a/homeassistant/components/squeezebox/services.yaml b/homeassistant/components/squeezebox/services.yaml
index 0c81c369e73171327fbc7da43b28e921ab15f41a..b176894925843260b9fb517dc609886d36ee31ff 100644
--- a/homeassistant/components/squeezebox/services.yaml
+++ b/homeassistant/components/squeezebox/services.yaml
@@ -3,10 +3,10 @@ call_method:
   fields:
     entity_id:
       description: Name(s) of the Squeezebox entities where to run the API method.
-      example: 'media_player.squeezebox_radio'
+      example: "media_player.squeezebox_radio"
     command:
       description: Command to pass to Logitech Media Server (p0 in the CLI documentation).
-      example: 'playlist'
+      example: "playlist"
     parameters:
       description: Array of additional parameters to pass to Logitech Media Server (p1, ..., pN in the CLI documentation).
       example: ["loadtracks", "album.titlesearch="]
diff --git a/homeassistant/components/starline/strings.json b/homeassistant/components/starline/strings.json
index bf83f652c3c7ddec305b69759ecdd126290d0477..673fc6f54bd60b8f10a1a2cc6551fbe422213dfa 100644
--- a/homeassistant/components/starline/strings.json
+++ b/homeassistant/components/starline/strings.json
@@ -1,42 +1,42 @@
 {
-    "config": {
-        "title": "StarLine",
-        "step": {
-            "auth_app": {
-                "title": "Application credentials",
-                "description": "Application ID and secret code from <a href=\"https://my.starline.ru/developer\" target=\"_blank\">StarLine developer account</a>",
-                "data": {
-                    "app_id": "App ID",
-                    "app_secret": "Secret"
-                }
-            },
-            "auth_user": {
-                "title": "User credentials",
-                "description": "StarLine account email and password",
-                "data": {
-                    "username": "Username",
-                    "password": "Password"
-                }
-            },
-            "auth_mfa": {
-                "title": "Two-factor authorization",
-                "description": "Enter the code sent to phone {phone_number}",
-                "data": {
-                    "mfa_code": "SMS code"
-                }
-            },
-            "auth_captcha": {
-                "title": "Captcha",
-                "description": "{captcha_img}",
-                "data": {
-                    "captcha_code": "Code from image"
-                }
-            }
-        },
-        "error": {
-            "error_auth_app": "Incorrect application id or secret",
-            "error_auth_user": "Incorrect username or password",
-            "error_auth_mfa": "Incorrect code"
+  "config": {
+    "title": "StarLine",
+    "step": {
+      "auth_app": {
+        "title": "Application credentials",
+        "description": "Application ID and secret code from <a href=\"https://my.starline.ru/developer\" target=\"_blank\">StarLine developer account</a>",
+        "data": {
+          "app_id": "App ID",
+          "app_secret": "Secret"
         }
+      },
+      "auth_user": {
+        "title": "User credentials",
+        "description": "StarLine account email and password",
+        "data": {
+          "username": "Username",
+          "password": "Password"
+        }
+      },
+      "auth_mfa": {
+        "title": "Two-factor authorization",
+        "description": "Enter the code sent to phone {phone_number}",
+        "data": {
+          "mfa_code": "SMS code"
+        }
+      },
+      "auth_captcha": {
+        "title": "Captcha",
+        "description": "{captcha_img}",
+        "data": {
+          "captcha_code": "Code from image"
+        }
+      }
+    },
+    "error": {
+      "error_auth_app": "Incorrect application id or secret",
+      "error_auth_user": "Incorrect username or password",
+      "error_auth_mfa": "Incorrect code"
     }
+  }
 }
diff --git a/homeassistant/components/switch/services.yaml b/homeassistant/components/switch/services.yaml
index 352ffb6feec63765f25d7cc7e270d60529746ec1..74dda2ddf4f0e42873e980fea8761b76624a0498 100644
--- a/homeassistant/components/switch/services.yaml
+++ b/homeassistant/components/switch/services.yaml
@@ -5,18 +5,18 @@ turn_on:
   fields:
     entity_id:
       description: Name(s) of entities to turn on
-      example: 'switch.living_room'
+      example: "switch.living_room"
 
 turn_off:
   description: Turn a switch off.
   fields:
     entity_id:
       description: Name(s) of entities to turn off.
-      example: 'switch.living_room'
+      example: "switch.living_room"
 
 toggle:
   description: Toggles a switch state.
   fields:
     entity_id:
       description: Name(s) of entities to toggle.
-      example: 'switch.living_room'
+      example: "switch.living_room"
diff --git a/homeassistant/components/switcher_kis/services.yaml b/homeassistant/components/switcher_kis/services.yaml
index 5408a20499025ebface773b67ede04f90fb852f6..3969175244568153126505c6fb657ae2d1894f52 100644
--- a/homeassistant/components/switcher_kis/services.yaml
+++ b/homeassistant/components/switcher_kis/services.yaml
@@ -1,9 +1,9 @@
 set_auto_off:
-  description: 'Update Switcher device auto off setting.'
+  description: "Update Switcher device auto off setting."
   fields:
     entity_id:
       description: "Name of the entity id associated with the integration, used for permission validation."
       example: "switch.switcher_kis_boiler"
     auto_off:
-      description: 'Time period string containing hours and minutes.'
+      description: "Time period string containing hours and minutes."
       example: '"02:30"'
diff --git a/homeassistant/components/tado/manifest.json b/homeassistant/components/tado/manifest.json
index f0aa605f164451a487b7b1547c5772298ab63680..741612b6b4b425ecd4103479a18f10330fb52cfc 100644
--- a/homeassistant/components/tado/manifest.json
+++ b/homeassistant/components/tado/manifest.json
@@ -2,10 +2,6 @@
   "domain": "tado",
   "name": "Tado",
   "documentation": "https://www.home-assistant.io/integrations/tado",
-  "requirements": [
-    "python-tado==0.6.0"
-  ],
-  "codeowners": [
-    "@michaelarnauts", "@bdraco"
-  ]
+  "requirements": ["python-tado==0.6.0"],
+  "codeowners": ["@michaelarnauts", "@bdraco"]
 }
diff --git a/homeassistant/components/tankerkoenig/manifest.json b/homeassistant/components/tankerkoenig/manifest.json
index ee0c573b3cd796aa038b7d75c3a7644d938867b9..d9a63037a8fe2eae8dad653dbc5b095144e22f95 100755
--- a/homeassistant/components/tankerkoenig/manifest.json
+++ b/homeassistant/components/tankerkoenig/manifest.json
@@ -3,7 +3,5 @@
   "name": "Tankerkoenig",
   "documentation": "https://www.home-assistant.io/integrations/tankerkoenig",
   "requirements": ["pytankerkoenig==0.0.6"],
-  "codeowners": [
-    "@guillempages"
-  ]
+  "codeowners": ["@guillempages"]
 }
diff --git a/homeassistant/components/telegram_bot/services.yaml b/homeassistant/components/telegram_bot/services.yaml
index e3d303a2c528e71380660dae2883f4e139aa054a..8e42b25c0caf9dcc77a427d12d6360c0011de3ea 100644
--- a/homeassistant/components/telegram_bot/services.yaml
+++ b/homeassistant/components/telegram_bot/services.yaml
@@ -8,13 +8,13 @@ send_message:
       example: The garage door has been open for 10 minutes.
     title:
       description: Optional title for your notification. Will be composed as '%title\n%message'
-      example: 'Your Garage Door Friend'
+      example: "Your Garage Door Friend"
     target:
       description: An array of pre-authorized chat_ids to send the notification to. If not present, first allowed chat_id is the default.
-      example: '[12345, 67890] or 12345'
+      example: "[12345, 67890] or 12345"
     parse_mode:
       description: "Parser for the message text: `html` or `markdown`."
-      example: 'html'
+      example: "html"
     disable_notification:
       description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound.
       example: true
@@ -23,7 +23,7 @@ send_message:
       example: true
     timeout:
       description: Timeout for send message. Will help with timeout errors (poor internet connection, etc)
-      example: '1000'
+      example: "1000"
     keyboard:
       description: List of rows of commands, comma-separated, to make a custom keyboard. Empty list clears a previously set keyboard.
       example: '["/command1, /command2", "/command3"]'
@@ -36,13 +36,13 @@ send_photo:
   fields:
     url:
       description: Remote path to an image.
-      example: 'http://example.org/path/to/the/image.png'
+      example: "http://example.org/path/to/the/image.png"
     file:
       description: Local path to an image.
-      example: '/path/to/the/image.png'
+      example: "/path/to/the/image.png"
     caption:
       description: The title of the image.
-      example: 'My image'
+      example: "My image"
     username:
       description: Username for a URL which require HTTP basic authentication.
       example: myuser
@@ -51,7 +51,7 @@ send_photo:
       example: myuser_pwd
     target:
       description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default.
-      example: '[12345, 67890] or 12345'
+      example: "[12345, 67890] or 12345"
     disable_notification:
       description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound.
       example: true
@@ -60,7 +60,7 @@ send_photo:
       example: false
     timeout:
       description: Timeout for send photo. Will help with timeout errors (poor internet connection, etc)
-      example: '1000'
+      example: "1000"
     keyboard:
       description: List of rows of commands, comma-separated, to make a custom keyboard.
       example: '["/command1, /command2", "/command3"]'
@@ -73,10 +73,10 @@ send_sticker:
   fields:
     url:
       description: Remote path to an webp sticker.
-      example: 'http://example.org/path/to/the/sticker.webp'
+      example: "http://example.org/path/to/the/sticker.webp"
     file:
       description: Local path to an webp sticker.
-      example: '/path/to/the/sticker.webp'
+      example: "/path/to/the/sticker.webp"
     username:
       description: Username for a URL which require HTTP basic authentication.
       example: myuser
@@ -85,7 +85,7 @@ send_sticker:
       example: myuser_pwd
     target:
       description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default.
-      example: '[12345, 67890] or 12345'
+      example: "[12345, 67890] or 12345"
     disable_notification:
       description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound.
       example: true
@@ -94,7 +94,7 @@ send_sticker:
       example: false
     timeout:
       description: Timeout for send sticker. Will help with timeout errors (poor internet connection, etc)
-      example: '1000'
+      example: "1000"
     keyboard:
       description: List of rows of commands, comma-separated, to make a custom keyboard.
       example: '["/command1, /command2", "/command3"]'
@@ -107,13 +107,13 @@ send_video:
   fields:
     url:
       description: Remote path to a video.
-      example: 'http://example.org/path/to/the/video.mp4'
+      example: "http://example.org/path/to/the/video.mp4"
     file:
       description: Local path to an image.
-      example: '/path/to/the/video.mp4'
+      example: "/path/to/the/video.mp4"
     caption:
       description: The title of the video.
-      example: 'My video'
+      example: "My video"
     username:
       description: Username for a URL which require HTTP basic authentication.
       example: myuser
@@ -122,7 +122,7 @@ send_video:
       example: myuser_pwd
     target:
       description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default.
-      example: '[12345, 67890] or 12345'
+      example: "[12345, 67890] or 12345"
     disable_notification:
       description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound.
       example: true
@@ -131,7 +131,7 @@ send_video:
       example: false
     timeout:
       description: Timeout for send video. Will help with timeout errors (poor internet connection, etc)
-      example: '1000'
+      example: "1000"
     keyboard:
       description: List of rows of commands, comma-separated, to make a custom keyboard.
       example: '["/command1, /command2", "/command3"]'
@@ -144,10 +144,10 @@ send_document:
   fields:
     url:
       description: Remote path to a document.
-      example: 'http://example.org/path/to/the/document.odf'
+      example: "http://example.org/path/to/the/document.odf"
     file:
       description: Local path to a document.
-      example: '/tmp/whatever.odf'
+      example: "/tmp/whatever.odf"
     caption:
       description: The title of the document.
       example: Document Title xy
@@ -159,7 +159,7 @@ send_document:
       example: myuser_pwd
     target:
       description: An array of pre-authorized chat_ids to send the document to. If not present, first allowed chat_id is the default.
-      example: '[12345, 67890] or 12345'
+      example: "[12345, 67890] or 12345"
     disable_notification:
       description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound.
       example: true
@@ -168,7 +168,7 @@ send_document:
       example: false
     timeout:
       description: Timeout for send document. Will help with timeout errors (poor internet connection, etc)
-      example: '1000'
+      example: "1000"
     keyboard:
       description: List of rows of commands, comma-separated, to make a custom keyboard.
       example: '["/command1, /command2", "/command3"]'
@@ -187,13 +187,13 @@ send_location:
       example: 38.123
     target:
       description: An array of pre-authorized chat_ids to send the location to. If not present, first allowed chat_id is the default.
-      example: '[12345, 67890] or 12345'
+      example: "[12345, 67890] or 12345"
     disable_notification:
       description: Sends the message silently. iOS users and Web users will not receive a notification, Android users will receive a notification with no sound.
       example: true
     timeout:
       description: Timeout for send photo. Will help with timeout errors (poor internet connection, etc)
-      example: '1000'
+      example: "1000"
     keyboard:
       description: List of rows of commands, comma-separated, to make a custom keyboard.
       example: '["/command1, /command2", "/command3"]'
@@ -206,7 +206,7 @@ edit_message:
   fields:
     message_id:
       description: id of the message to edit.
-      example: '{{ trigger.event.data.message.message_id }}'
+      example: "{{ trigger.event.data.message.message_id }}"
     chat_id:
       description: The chat_id where to edit the message.
       example: 12345
@@ -215,10 +215,10 @@ edit_message:
       example: The garage door has been open for 10 minutes.
     title:
       description: Optional title for your notification. Will be composed as '%title\n%message'
-      example: 'Your Garage Door Friend'
+      example: "Your Garage Door Friend"
     parse_mode:
       description: "Parser for the message text: `html` or `markdown`."
-      example: 'html'
+      example: "html"
     disable_web_page_preview:
       description: Disables link previews for links in the message.
       example: true
@@ -231,7 +231,7 @@ edit_caption:
   fields:
     message_id:
       description: id of the message to edit.
-      example: '{{ trigger.event.data.message.message_id }}'
+      example: "{{ trigger.event.data.message.message_id }}"
     chat_id:
       description: The chat_id where to edit the caption.
       example: 12345
@@ -247,7 +247,7 @@ edit_replymarkup:
   fields:
     message_id:
       description: id of the message to edit.
-      example: '{{ trigger.event.data.message.message_id }}'
+      example: "{{ trigger.event.data.message.message_id }}"
     chat_id:
       description: The chat_id where to edit the reply_markup.
       example: 12345
@@ -263,17 +263,17 @@ answer_callback_query:
       example: "OK, I'm listening"
     callback_query_id:
       description: Unique id of the callback response.
-      example: '{{ trigger.event.data.id }}'
+      example: "{{ trigger.event.data.id }}"
     show_alert:
       description: Show a permanent notification.
       example: true
 
 delete_message:
-  description: Delete a previously sent message.


+  description: Delete a previously sent message.
   fields:
     message_id:
       description: id of the message to delete.
-      example: '{{ trigger.event.data.message.message_id }}'


+      example: "{{ trigger.event.data.message.message_id }}"
     chat_id:
       description: The chat_id where to delete the message.
       example: 12345
diff --git a/homeassistant/components/tellduslive/strings.json b/homeassistant/components/tellduslive/strings.json
index bb62889085ba7fcd01583e081694ea337c7ad2d3..53a32812f60d4eddc146d734fa94382895a139d3 100644
--- a/homeassistant/components/tellduslive/strings.json
+++ b/homeassistant/components/tellduslive/strings.json
@@ -1,26 +1,26 @@
 {
   "config": {
-      "abort": {
-          "already_setup": "TelldusLive is already configured",
-          "authorize_url_fail": "Unknown error generating an authorize url.",
-          "authorize_url_timeout": "Timeout generating authorize url.",
-          "unknown": "Unknown error occurred"
+    "abort": {
+      "already_setup": "TelldusLive is already configured",
+      "authorize_url_fail": "Unknown error generating an authorize url.",
+      "authorize_url_timeout": "Timeout generating authorize url.",
+      "unknown": "Unknown error occurred"
+    },
+    "error": {
+      "auth_error": "Authentication error, please try again"
+    },
+    "step": {
+      "auth": {
+        "description": "To link your TelldusLive account:\n 1. Click the link below\n 2. Login to Telldus Live\n 3. Authorize **{app_name}** (click **Yes**).\n 4. Come back here and click **SUBMIT**.\n\n [Link TelldusLive account]({auth_url})",
+        "title": "Authenticate against TelldusLive"
       },
-      "error": {
-          "auth_error": "Authentication error, please try again"
-      },
-      "step": {
-          "auth": {
-              "description": "To link your TelldusLive account:\n 1. Click the link below\n 2. Login to Telldus Live\n 3. Authorize **{app_name}** (click **Yes**).\n 4. Come back here and click **SUBMIT**.\n\n [Link TelldusLive account]({auth_url})",
-              "title": "Authenticate against TelldusLive"
-          },
-          "user": {
-              "data": {
-                  "host": "Host"
-              },
-              "title": "Pick endpoint."
-          }
-      },
-      "title": "Telldus Live"
+      "user": {
+        "data": {
+          "host": "Host"
+        },
+        "title": "Pick endpoint."
+      }
+    },
+    "title": "Telldus Live"
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/tesla/manifest.json b/homeassistant/components/tesla/manifest.json
index b6c7f4658e92378d36163eb80adccb04a78fecef..d977e24bfec331943de5b8ce66e0b995dcc0a414 100644
--- a/homeassistant/components/tesla/manifest.json
+++ b/homeassistant/components/tesla/manifest.json
@@ -3,11 +3,6 @@
   "name": "Tesla",
   "config_flow": true,
   "documentation": "https://www.home-assistant.io/integrations/tesla",
-  "requirements": [
-    "teslajsonpy==0.6.0"
-  ],
-  "codeowners": [
-    "@zabuldon",
-    "@alandtse"
-  ]
+  "requirements": ["teslajsonpy==0.6.0"],
+  "codeowners": ["@zabuldon", "@alandtse"]
 }
diff --git a/homeassistant/components/tesla/strings.json b/homeassistant/components/tesla/strings.json
index 3c8017a7d764d252ac52108e849e5f66f8b28177..61cf5a2fcb2c2aad7ec2d0e9dfd69d0d8b87024f 100644
--- a/homeassistant/components/tesla/strings.json
+++ b/homeassistant/components/tesla/strings.json
@@ -28,4 +28,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/tmb/manifest.json b/homeassistant/components/tmb/manifest.json
index e35c266b696460cc847a74b1a6ccb3090a355b13..fb4270f641da4a53bfa99c4ba554264fa81e465a 100644
--- a/homeassistant/components/tmb/manifest.json
+++ b/homeassistant/components/tmb/manifest.json
@@ -2,10 +2,6 @@
   "domain": "tmb",
   "name": "Transports Metropolitans de Barcelona",
   "documentation": "https://www.home-assistant.io/integrations/tmb",
-  "requirements": [
-    "tmb==0.0.4"
-  ],
-  "codeowners": [
-    "@alemuro"
-  ]
+  "requirements": ["tmb==0.0.4"],
+  "codeowners": ["@alemuro"]
 }
diff --git a/homeassistant/components/todoist/services.yaml b/homeassistant/components/todoist/services.yaml
index 3382e27693d3d53b6b5d7dfed9fb47e07f7df7d0..186b15a18a9a336fbf187ef5b9dce563c3fa927d 100644
--- a/homeassistant/components/todoist/services.yaml
+++ b/homeassistant/components/todoist/services.yaml
@@ -22,4 +22,3 @@ new_task:
     due_date:
       description: The day this task is due, in format YYYY-MM-DD.
       example: "2019-10-22"
-
diff --git a/homeassistant/components/toon/strings.json b/homeassistant/components/toon/strings.json
index 20d6ba3d72cae8017d42efbe93b38a5f5feabf89..a12fce67ffdc6f8350212b7f55f98dca8ed33c89 100644
--- a/homeassistant/components/toon/strings.json
+++ b/homeassistant/components/toon/strings.json
@@ -31,4 +31,4 @@
       "no_app": "You need to configure Toon before being able to authenticate with it. [Please read the instructions](https://www.home-assistant.io/components/toon/)."
     }
   }
-}
\ No newline at end of file
+}
diff --git a/homeassistant/components/transmission/strings.json b/homeassistant/components/transmission/strings.json
index 45c16be36e2ca96d936024f1d8ed8d8919abef73..a239de65b6e5529a13374f28e249d5bc3fd93133 100644
--- a/homeassistant/components/transmission/strings.json
+++ b/homeassistant/components/transmission/strings.json
@@ -1,35 +1,35 @@
 {
-    "config": {
-        "title": "Transmission",
-        "step": {
-            "user": {
-                "title": "Setup Transmission Client",
-                "data": {
-                    "name": "Name",
-                    "host": "Host",
-                    "username": "Username",
-                    "password": "Password",
-                    "port": "Port"
-                }
-            }
-        },
-        "error": {
-            "name_exists": "Name already exists",
-            "wrong_credentials": "Wrong username or password",
-            "cannot_connect": "Unable to Connect to host"
-        },
-        "abort": {
-            "already_configured": "Host is already configured."
+  "config": {
+    "title": "Transmission",
+    "step": {
+      "user": {
+        "title": "Setup Transmission Client",
+        "data": {
+          "name": "Name",
+          "host": "Host",
+          "username": "Username",
+          "password": "Password",
+          "port": "Port"
         }
+      }
     },
-    "options": {
-        "step": {
-            "init": {
-                "title": "Configure options for Transmission",
-                "data": {
-                    "scan_interval": "Update frequency"
-                }
-            }
+    "error": {
+      "name_exists": "Name already exists",
+      "wrong_credentials": "Wrong username or password",
+      "cannot_connect": "Unable to Connect to host"
+    },
+    "abort": {
+      "already_configured": "Host is already configured."
+    }
+  },
+  "options": {
+    "step": {
+      "init": {
+        "title": "Configure options for Transmission",
+        "data": {
+          "scan_interval": "Update frequency"
         }
+      }
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/tts/services.yaml b/homeassistant/components/tts/services.yaml
index 823eef632f3e262222130b9b60e60cc96029fdb5..7d1bf95572b31f102e0520106a286f79afa863e4 100644
--- a/homeassistant/components/tts/services.yaml
+++ b/homeassistant/components/tts/services.yaml
@@ -5,16 +5,16 @@ say:
   fields:
     entity_id:
       description: Name(s) of media player entities.
-      example: 'media_player.floor'
+      example: "media_player.floor"
     message:
       description: Text to speak on devices.
-      example: 'My name is hanna'
+      example: "My name is hanna"
     cache:
       description: Control file cache of this message.
-      example: 'true'
+      example: "true"
     language:
       description: Language to use for speech generation.
-      example: 'ru'
+      example: "ru"
     options:
       description: A dictionary containing platform-specific options. Optional depending on the platform.
       example: platform specific
diff --git a/homeassistant/components/twentemilieu/strings.json b/homeassistant/components/twentemilieu/strings.json
index 811ecdbfa6ec83f9809144e12588e7a69d41b6ad..3ef76a5d20b08f69528cabf25c1bfe42d59d1439 100644
--- a/homeassistant/components/twentemilieu/strings.json
+++ b/homeassistant/components/twentemilieu/strings.json
@@ -1,23 +1,23 @@
 {
-    "config": {
+  "config": {
+    "title": "Twente Milieu",
+    "step": {
+      "user": {
         "title": "Twente Milieu",
-        "step": {
-            "user": {
-                "title": "Twente Milieu",
-                "description": "Set up Twente Milieu providing waste collection information on your address.",
-                "data": {
-                    "post_code": "Postal code",
-                    "house_number": "House number",
-                    "house_letter": "House letter/additional"
-                }
-            }
-        },
-        "error": {
-            "connection_error": "Failed to connect.",
-            "invalid_address": "Address not found in Twente Milieu service area."
-        },
-        "abort": {
-            "address_exists": "Address already set up."
+        "description": "Set up Twente Milieu providing waste collection information on your address.",
+        "data": {
+          "post_code": "Postal code",
+          "house_number": "House number",
+          "house_letter": "House letter/additional"
         }
+      }
+    },
+    "error": {
+      "connection_error": "Failed to connect.",
+      "invalid_address": "Address not found in Twente Milieu service area."
+    },
+    "abort": {
+      "address_exists": "Address already set up."
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/unifi/manifest.json b/homeassistant/components/unifi/manifest.json
index e0f07d8d7ccc47cbc7daa884a438d93ef5e3fe80..54b474e95cc205c511250ea01c0d8536a4f245ba 100644
--- a/homeassistant/components/unifi/manifest.json
+++ b/homeassistant/components/unifi/manifest.json
@@ -3,11 +3,7 @@
   "name": "Ubiquiti UniFi",
   "config_flow": true,
   "documentation": "https://www.home-assistant.io/integrations/unifi",
-  "requirements": [
-    "aiounifi==15"
-  ],
-  "codeowners": [
-    "@kane610"
-  ],
+  "requirements": ["aiounifi==15"],
+  "codeowners": ["@kane610"],
   "quality_scale": "platinum"
 }
diff --git a/homeassistant/components/unifi/strings.json b/homeassistant/components/unifi/strings.json
index 61116adfb60ab5962cecdee93bf5da67c7a23a88..881e97bc9cad722059a9a7f3d701e25b489af16f 100644
--- a/homeassistant/components/unifi/strings.json
+++ b/homeassistant/components/unifi/strings.json
@@ -1,64 +1,64 @@
 {
-    "config": {
-        "title": "UniFi Controller",
-        "step": {
-            "user": {
-                "title": "Set up UniFi Controller",
-                "data": {
-                    "host": "Host",
-                    "username": "User name",
-                    "password": "Password",
-                    "port": "Port",
-                    "site": "Site ID",
-                    "verify_ssl": "Controller using proper certificate"
-                }
-            }
-        },
-        "error": {
-            "faulty_credentials": "Bad user credentials",
-            "service_unavailable": "No service available",
-            "unknown_client_mac": "No client available on that MAC address"
-        },
-        "abort": {
-            "already_configured": "Controller site is already configured",
-            "user_privilege": "User needs to be administrator"
-        }
-    },
-    "options": {
-        "step": {
-            "init": {
-                "data": {}
-            },
-            "device_tracker": {
-                "data": {
-                    "detection_time": "Time in seconds from last seen until considered away",
-                    "ssid_filter": "Select SSIDs to track wireless clients on",
-                    "track_clients": "Track network clients",
-                    "track_devices": "Track network devices (Ubiquiti devices)",
-                    "track_wired_clients": "Include wired network clients"
-                },
-                "description": "Configure device tracking",
-                "title": "UniFi options 1/3"
-            },
-            "client_control": {
-                "data": {
-                    "block_client": "Network access controlled clients",
-                    "new_client": "Add new client for network access control",
-                    "poe_clients": "Allow POE control of clients"
-                },
-                "description": "Configure client controls\n\nCreate switches for serial numbers you want to control network access for.",
-                "title": "UniFi options 2/3"
-            },
-            "statistics_sensors": {
-                "data": {
-                    "allow_bandwidth_sensors": "Bandwidth usage sensors for network clients"
-                },
-                "description": "Configure statistics sensors",
-                "title": "UniFi options 3/3"
-            }
+  "config": {
+    "title": "UniFi Controller",
+    "step": {
+      "user": {
+        "title": "Set up UniFi Controller",
+        "data": {
+          "host": "Host",
+          "username": "User name",
+          "password": "Password",
+          "port": "Port",
+          "site": "Site ID",
+          "verify_ssl": "Controller using proper certificate"
         }
+      }
     },
     "error": {
-        "unknown_client_mac": "No client available in UniFi on that MAC address"
+      "faulty_credentials": "Bad user credentials",
+      "service_unavailable": "No service available",
+      "unknown_client_mac": "No client available on that MAC address"
+    },
+    "abort": {
+      "already_configured": "Controller site is already configured",
+      "user_privilege": "User needs to be administrator"
+    }
+  },
+  "options": {
+    "step": {
+      "init": {
+        "data": {}
+      },
+      "device_tracker": {
+        "data": {
+          "detection_time": "Time in seconds from last seen until considered away",
+          "ssid_filter": "Select SSIDs to track wireless clients on",
+          "track_clients": "Track network clients",
+          "track_devices": "Track network devices (Ubiquiti devices)",
+          "track_wired_clients": "Include wired network clients"
+        },
+        "description": "Configure device tracking",
+        "title": "UniFi options 1/3"
+      },
+      "client_control": {
+        "data": {
+          "block_client": "Network access controlled clients",
+          "new_client": "Add new client for network access control",
+          "poe_clients": "Allow POE control of clients"
+        },
+        "description": "Configure client controls\n\nCreate switches for serial numbers you want to control network access for.",
+        "title": "UniFi options 2/3"
+      },
+      "statistics_sensors": {
+        "data": {
+          "allow_bandwidth_sensors": "Bandwidth usage sensors for network clients"
+        },
+        "description": "Configure statistics sensors",
+        "title": "UniFi options 3/3"
+      }
     }
-}
\ No newline at end of file
+  },
+  "error": {
+    "unknown_client_mac": "No client available in UniFi on that MAC address"
+  }
+}
diff --git a/homeassistant/components/upnp/strings.json b/homeassistant/components/upnp/strings.json
index 6c5b2fb2bb2dca79b2b67038887a9d66f16fa4a6..628c0ea5a00c02b231270cfc120a4baf34e78e77 100644
--- a/homeassistant/components/upnp/strings.json
+++ b/homeassistant/components/upnp/strings.json
@@ -1,30 +1,30 @@
 {
-    "config": {
+  "config": {
+    "title": "UPnP/IGD",
+    "step": {
+      "init": {
+        "title": "UPnP/IGD"
+      },
+      "confirm": {
         "title": "UPnP/IGD",
-        "step": {
-            "init": {
-                "title": "UPnP/IGD"
-            },
-            "confirm": {
-                "title": "UPnP/IGD",
-                "description": "Do you want to set up UPnP/IGD?"
-            },
-            "user": {
-                "title": "Configuration options for the UPnP/IGD",
-                "data": {
-                    "enable_port_mapping": "Enable port mapping for Home Assistant",
-                    "enable_sensors": "Add traffic sensors",
-                    "igd": "UPnP/IGD"
-                }
-            }
-        },
-        "abort": {
-            "already_configured": "UPnP/IGD is already configured",
-            "incomplete_device": "Ignoring incomplete UPnP device",
-            "no_devices_discovered": "No UPnP/IGDs discovered",
-            "no_devices_found": "No UPnP/IGD devices found on the network.",
-            "no_sensors_or_port_mapping": "Enable at least sensors or port mapping",
-            "single_instance_allowed": "Only a single configuration of UPnP/IGD is necessary."
+        "description": "Do you want to set up UPnP/IGD?"
+      },
+      "user": {
+        "title": "Configuration options for the UPnP/IGD",
+        "data": {
+          "enable_port_mapping": "Enable port mapping for Home Assistant",
+          "enable_sensors": "Add traffic sensors",
+          "igd": "UPnP/IGD"
         }
+      }
+    },
+    "abort": {
+      "already_configured": "UPnP/IGD is already configured",
+      "incomplete_device": "Ignoring incomplete UPnP device",
+      "no_devices_discovered": "No UPnP/IGDs discovered",
+      "no_devices_found": "No UPnP/IGD devices found on the network.",
+      "no_sensors_or_port_mapping": "Enable at least sensors or port mapping",
+      "single_instance_allowed": "Only a single configuration of UPnP/IGD is necessary."
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/vacuum/services.yaml b/homeassistant/components/vacuum/services.yaml
index 7db70c5cd5160d7e289fa6ddd164647f8084b709..3287eafe7f2852fadc0e35a9c988e7837b4bf947 100644
--- a/homeassistant/components/vacuum/services.yaml
+++ b/homeassistant/components/vacuum/services.yaml
@@ -5,73 +5,73 @@ turn_on:
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
 
 turn_off:
   description: Stop the current cleaning task and return to home.
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
 
 stop:
   description: Stop the current cleaning task.
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
 
 locate:
   description: Locate the vacuum cleaner robot.
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
 
 start_pause:
   description: Start, pause, or resume the cleaning task.
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
 
 start:
   description: Start or resume the cleaning task.
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
 
 pause:
   description: Pause the cleaning task.
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
 
 return_to_base:
   description: Tell the vacuum cleaner to return to its dock.
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
 
 clean_spot:
   description: Tell the vacuum cleaner to do a spot clean-up.
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
 
 send_command:
   description: Send a raw command to the vacuum cleaner.
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
     command:
       description: Command to execute.
-      example: 'set_dnd_timer'
+      example: "set_dnd_timer"
     params:
       description: Parameters for the command.
       example: '{ "key": "value" }'
@@ -81,7 +81,7 @@ set_fan_speed:
   fields:
     entity_id:
       description: Name of the vacuum entity.
-      example: 'vacuum.xiaomi_vacuum_cleaner'
+      example: "vacuum.xiaomi_vacuum_cleaner"
     fan_speed:
       description: Platform dependent vacuum cleaner fan speed, with speed steps, like 'medium' or by percentage, between 0 and 100.
-      example: 'low'
+      example: "low"
diff --git a/homeassistant/components/vera/manifest.json b/homeassistant/components/vera/manifest.json
index 90f208ba915a13f56c03df5c44f8da567041c4ca..22a5da19d8c69ac5f2218b7bfce422ddcddc5145 100644
--- a/homeassistant/components/vera/manifest.json
+++ b/homeassistant/components/vera/manifest.json
@@ -4,7 +4,5 @@
   "config_flow": true,
   "documentation": "https://www.home-assistant.io/integrations/vera",
   "requirements": ["pyvera==0.3.7"],
-  "codeowners": [
-    "@vangorra"
-  ]
+  "codeowners": ["@vangorra"]
 }
diff --git a/homeassistant/components/verisure/services.yaml b/homeassistant/components/verisure/services.yaml
index 405f0c5d57df67d0423f1c495ee81b48c35153eb..885b8597549de03ca973ae0bcdf0f4e92ece39d6 100644
--- a/homeassistant/components/verisure/services.yaml
+++ b/homeassistant/components/verisure/services.yaml
@@ -1,5 +1,6 @@
 capture_smartcam:
   description: Capture a new image from a smartcam.
   fields:
-    device_serial: {description: The serial number of the smartcam you want to capture
-        an image from., example: 2DEU AT5Z}
+    device_serial:
+      description: The serial number of the smartcam you want to capture an image from.
+      example: 2DEU AT5Z
diff --git a/homeassistant/components/vesync/strings.json b/homeassistant/components/vesync/strings.json
index 2d808e85beaffb0f0c0421f54c3e86a8d398f248..4e656d355636c948f6419731fb616c67de8181c5 100644
--- a/homeassistant/components/vesync/strings.json
+++ b/homeassistant/components/vesync/strings.json
@@ -1,20 +1,20 @@
 {
-    "config": {
-        "title": "VeSync",
-        "step": {
-            "user": {
-                "title": "Enter Username and Password",
-                "data": {
-                    "username": "Email Address",
-                    "password": "Password"
-                }
-            }
-        },
-        "error": {
-            "invalid_login": "Invalid username or password"
-        },
-        "abort": {
-            "already_setup": "Only one Vesync instance is allowed"
+  "config": {
+    "title": "VeSync",
+    "step": {
+      "user": {
+        "title": "Enter Username and Password",
+        "data": {
+          "username": "Email Address",
+          "password": "Password"
         }
+      }
+    },
+    "error": {
+      "invalid_login": "Invalid username or password"
+    },
+    "abort": {
+      "already_setup": "Only one Vesync instance is allowed"
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/homeassistant/components/vizio/strings.json b/homeassistant/components/vizio/strings.json
index b6f6f53cf79d33cba564afae5df35c31ad0f2f44..1ddcadb4390091ee567f5356b2ae384aa930c1d1 100644
--- a/homeassistant/components/vizio/strings.json
+++ b/homeassistant/components/vizio/strings.json
@@ -1,56 +1,56 @@
 {
-    "config": {
-        "title": "Vizio SmartCast",
-        "step": {
-            "user": {
-                "title": "Setup Vizio SmartCast Device",
-                "description": "An Access Token is only needed for TVs. If you are configuring a TV and do not have an Access Token yet, leave it blank to go through a pairing process.",
-                "data": {
-                    "name": "Name",
-                    "host": "<Host/IP>:<Port>",
-                    "device_class": "Device Type",
-                    "access_token": "Access Token"
-                }
-            },
-            "pair_tv": {
-                "title": "Complete Pairing Process",
-                "description": "Your TV should be displaying a code. Enter that code into the form and then continue to the next step to complete the pairing.",
-                "data": {
-                    "pin": "PIN"
-                }
-            },
-            "pairing_complete": {
-                "title": "Pairing Complete",
-                "description": "Your Vizio SmartCast device is now connected to Home Assistant."
-            },
-            "pairing_complete_import": {
-                "title": "Pairing Complete",
-                "description": "Your Vizio SmartCast TV is now connected to Home Assistant.\n\nYour Access Token is '**{access_token}**'."
-            }
-        },
-        "error": {
-            "host_exists": "Vizio device with specified host already configured.",
-            "name_exists": "Vizio device with specified name already configured.",
-            "complete_pairing failed": "Unable to complete pairing. Ensure the PIN you provided is correct and the TV is still powered and connected to the network before resubmitting.",
-            "cant_connect": "Could not connect to the device. [Review the docs](https://www.home-assistant.io/integrations/vizio/) and re-verify that:\n- The device is powered on\n- The device is connected to the network\n- The values you filled in are accurate\nbefore attempting to resubmit."
-        },
-        "abort": {
-            "already_setup": "This entry has already been setup.",
-            "updated_entry": "This entry has already been setup but the name, apps, and/or options defined in the configuration do not match the previously imported configuration, so the configuration entry has been updated accordingly."
+  "config": {
+    "title": "Vizio SmartCast",
+    "step": {
+      "user": {
+        "title": "Setup Vizio SmartCast Device",
+        "description": "An Access Token is only needed for TVs. If you are configuring a TV and do not have an Access Token yet, leave it blank to go through a pairing process.",
+        "data": {
+          "name": "Name",
+          "host": "<Host/IP>:<Port>",
+          "device_class": "Device Type",
+          "access_token": "Access Token"
         }
+      },
+      "pair_tv": {
+        "title": "Complete Pairing Process",
+        "description": "Your TV should be displaying a code. Enter that code into the form and then continue to the next step to complete the pairing.",
+        "data": {
+          "pin": "PIN"
+        }
+      },
+      "pairing_complete": {
+        "title": "Pairing Complete",
+        "description": "Your Vizio SmartCast device is now connected to Home Assistant."
+      },
+      "pairing_complete_import": {
+        "title": "Pairing Complete",
+        "description": "Your Vizio SmartCast TV is now connected to Home Assistant.\n\nYour Access Token is '**{access_token}**'."
+      }
+    },
+    "error": {
+      "host_exists": "Vizio device with specified host already configured.",
+      "name_exists": "Vizio device with specified name already configured.",
+      "complete_pairing failed": "Unable to complete pairing. Ensure the PIN you provided is correct and the TV is still powered and connected to the network before resubmitting.",
+      "cant_connect": "Could not connect to the device. [Review the docs](https://www.home-assistant.io/integrations/vizio/) and re-verify that:\n- The device is powered on\n- The device is connected to the network\n- The values you filled in are accurate\nbefore attempting to resubmit."
     },
-    "options": {
+    "abort": {
+      "already_setup": "This entry has already been setup.",
+      "updated_entry": "This entry has already been setup but the name, apps, and/or options defined in the configuration do not match the previously imported configuration, so the configuration entry has been updated accordingly."
+    }
+  },
+  "options": {
+    "title": "Update Vizo SmartCast Options",
+    "step": {
+      "init": {
         "title": "Update Vizo SmartCast Options",
-        "step": {
-            "init": {
-                "title": "Update Vizo SmartCast Options",
-                "description": "If you have a Smart TV, you can optionally filter your source list by choosing which apps to include or exclude in your source list.",
-                "data": {
-                    "volume_step": "Volume Step Size",
-                    "include_or_exclude": "Include or Exclude Apps?",
-                    "apps_to_include_or_exclude": "Apps to Include or Exclude"
-                }
-            }
+        "description": "If you have a Smart TV, you can optionally filter your source list by choosing which apps to include or exclude in your source list.",
+        "data": {
+          "volume_step": "Volume Step Size",
+          "include_or_exclude": "Include or Exclude Apps?",
+          "apps_to_include_or_exclude": "Apps to Include or Exclude"
         }
+      }
     }
+  }
 }
diff --git a/homeassistant/components/wake_on_lan/services.yaml b/homeassistant/components/wake_on_lan/services.yaml
index e20dd64396f4d54668e300f0bd065898d25de4da..915dd2bce96c85b38fc206ef86746b1f65855a71 100644
--- a/homeassistant/components/wake_on_lan/services.yaml
+++ b/homeassistant/components/wake_on_lan/services.yaml
@@ -1,6 +1,9 @@
 send_magic_packet:
   description: Send a 'magic packet' to wake up a device with 'Wake-On-LAN' capabilities.
   fields:
-    broadcast_address: {description: Optional broadcast IP where to send the magic
-        packet., example: 192.168.255.255}
-    mac: {description: MAC address of the device to wake up., example: 'aa:bb:cc:dd:ee:ff'}
+    broadcast_address:
+      description: Optional broadcast IP where to send the magic packet.
+      example: 192.168.255.255
+    mac:
+      description: MAC address of the device to wake up.
+      example: "aa:bb:cc:dd:ee:ff"
diff --git a/homeassistant/components/water_heater/services.yaml b/homeassistant/components/water_heater/services.yaml
index 7a26e5bc0d4becdc22766dcfea1d739b78ccdd0e..8aee796b9cb89eddc473b9e706a7a68e10ba2897 100644
--- a/homeassistant/components/water_heater/services.yaml
+++ b/homeassistant/components/water_heater/services.yaml
@@ -5,7 +5,7 @@ set_away_mode:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'water_heater.water_heater'
+      example: "water_heater.water_heater"
     away_mode:
       description: New value of away mode.
       example: true
@@ -15,7 +15,7 @@ set_temperature:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'water_heater.water_heater'
+      example: "water_heater.water_heater"
     temperature:
       description: New target temperature for water heater.
       example: 25
@@ -25,7 +25,7 @@ set_operation_mode:
   fields:
     entity_id:
       description: Name(s) of entities to change.
-      example: 'water_heater.water_heater'
+      example: "water_heater.water_heater"
     operation_mode:
       description: New value of operation mode.
       example: eco
diff --git a/homeassistant/components/wemo/services.yaml b/homeassistant/components/wemo/services.yaml
index c2415265c62cc01aed5719d14a00fc7a231ade30..c47d666f5c16bf0902ad9d234b587ba90890f021 100644
--- a/homeassistant/components/wemo/services.yaml
+++ b/homeassistant/components/wemo/services.yaml
@@ -3,7 +3,7 @@ set_humidity:
   fields:
     entity_id:
       description: Names of the WeMo humidifier entities (1 or more entity_ids are required).
-      example: 'fan.wemo_humidifier'
+      example: "fan.wemo_humidifier"
     target_humidity:
       description: Target humidity. This is a float value between 0 and 100, but will be mapped to the humidity levels that WeMo humidifiers support (45, 50, 55, 60, and 100/Max) by rounding the value down to the nearest supported value.
       example: 56.5
@@ -13,4 +13,4 @@ reset_filter_life:
   fields:
     entity_id:
       description: Names of the WeMo humidifier entities (1 or more entity_ids are required).
-      example: 'fan.wemo_humidifier'
+      example: "fan.wemo_humidifier"
diff --git a/homeassistant/components/wunderlist/services.yaml b/homeassistant/components/wunderlist/services.yaml
index a3b097c5d353689cf3e9015085b19aacb3c5281c..1b824e438434d175371870852474d3480a8d37a8 100644
--- a/homeassistant/components/wunderlist/services.yaml
+++ b/homeassistant/components/wunderlist/services.yaml
@@ -6,10 +6,10 @@ create_task:
   fields:
     list_name:
       description: name of the new list where the task will be created
-      example: 'Shopping list'
+      example: "Shopping list"
     name:
       description: name of the new task
-      example: 'Buy 5 bottles of beer'
+      example: "Buy 5 bottles of beer"
     starred:
       description: Create the task as starred [Optional]
       example: true
diff --git a/homeassistant/components/xiaomi_aqara/services.yaml b/homeassistant/components/xiaomi_aqara/services.yaml
index 0c5b89dc2cbb33f771e8509ab6912f34b66f0da2..9d8c87e5863a4115e1a832145590827c26881171 100644
--- a/homeassistant/components/xiaomi_aqara/services.yaml
+++ b/homeassistant/components/xiaomi_aqara/services.yaml
@@ -1,22 +1,39 @@
 add_device:
-  description: Enables the join permission of the Xiaomi Aqara Gateway for 30 seconds.
+  description:
+    Enables the join permission of the Xiaomi Aqara Gateway for 30 seconds.
     A new device can be added afterwards by pressing the pairing button once.
   fields:
-    gw_mac: {description: MAC address of the Xiaomi Aqara Gateway., example: 34ce00880088}
+    gw_mac:
+      description: MAC address of the Xiaomi Aqara Gateway.
+      example: 34ce00880088
 play_ringtone:
-  description: Play a specific ringtone. The version of the gateway firmware must
+  description:
+    Play a specific ringtone. The version of the gateway firmware must
     be 1.4.1_145 at least.
   fields:
-    gw_mac: {description: MAC address of the Xiaomi Aqara Gateway., example: 34ce00880088}
-    ringtone_id: {description: One of the allowed ringtone ids., example: 8}
-    ringtone_vol: {description: The volume in percent., example: 30}
+    gw_mac:
+      description: MAC address of the Xiaomi Aqara Gateway.
+      example: 34ce00880088
+    ringtone_id:
+      description: One of the allowed ringtone ids.
+      example: 8
+    ringtone_vol:
+      description: The volume in percent.
+      example: 30
 remove_device:
-  description: Removes a specific device. The removal is required if a device shall
+  description:
+    Removes a specific device. The removal is required if a device shall
     be paired with another gateway.
   fields:
-    device_id: {description: Hardware address of the device to remove., example: 158d0000000000}
-    gw_mac: {description: MAC address of the Xiaomi Aqara Gateway., example: 34ce00880088}
+    device_id:
+      description: Hardware address of the device to remove.
+      example: 158d0000000000
+    gw_mac:
+      description: MAC address of the Xiaomi Aqara Gateway.
+      example: 34ce00880088
 stop_ringtone:
   description: Stops a playing ringtone immediately.
   fields:
-    gw_mac: {description: MAC address of the Xiaomi Aqara Gateway., example: 34ce00880088}
+    gw_mac:
+      description: MAC address of the Xiaomi Aqara Gateway.
+      example: 34ce00880088
diff --git a/homeassistant/components/yeelight/services.yaml b/homeassistant/components/yeelight/services.yaml
index 52106a420635453690021dc98c1246abc2b5c29e..5e7f2419f16424a7d7a1f5156a5d9a161c5a0d84 100644
--- a/homeassistant/components/yeelight/services.yaml
+++ b/homeassistant/components/yeelight/services.yaml
@@ -3,19 +3,19 @@ set_mode:
   fields:
     entity_id:
       description: Name of the light entity.
-      example: 'light.yeelight'
+      example: "light.yeelight"
     mode:
       description: Operation mode. Valid values are 'last', 'normal', 'rgb', 'hsv', 'color_flow', 'moonlight'.
-      example: 'moonlight'
+      example: "moonlight"
 set_color_scene:
   description: Changes the light to the specified RGB color and brightness. If the light is off, it will be turned on.
   fields:
     entity_id:
       description: Name of the light entity.
-      example: 'light.yeelight'
+      example: "light.yeelight"
     rgb_color:
       description: Color for the light in RGB-format.
-      example: '[255, 100, 100]'
+      example: "[255, 100, 100]"
     brightness:
       description: The brightness value to set (1-100).
       example: 50
@@ -24,10 +24,10 @@ set_hsv_scene:
   fields:
     entity_id:
       description: Name of the light entity.
-      example: 'light.yeelight'
+      example: "light.yeelight"
     hs_color:
       description: Color for the light in hue/sat format. Hue is 0-359 and Sat is 0-100.
-      example: '[300, 70]'
+      example: "[300, 70]"
     brightness:
       description: The brightness value to set (1-100).
       example: 50
@@ -36,7 +36,7 @@ set_color_temp_scene:
   fields:
     entity_id:
       description: Name of the light entity.
-      example: 'light.yeelight'
+      example: "light.yeelight"
     kelvin:
       description: Color temperature for the light in Kelvin.
       example: 4000
@@ -48,13 +48,13 @@ set_color_flow_scene:
   fields:
     entity_id:
       description: Name of the light entity.
-      example: 'light.yeelight'
+      example: "light.yeelight"
     count:
       description: The number of times to run this flow (0 to run forever).
       example: 0
     action:
       description: The action to take after the flow stops. Can be 'recover', 'stay', 'off'. (default 'recover')
-      example: 'stay'
+      example: "stay"
     transitions:
       description: Array of transitions, for desired effect. Examples https://yeelight.readthedocs.io/en/stable/flow.html
       example: '[{ "TemperatureTransition": [1900, 1000, 80] }, { "TemperatureTransition": [1900, 1000, 10] }]'
@@ -63,7 +63,7 @@ set_auto_delay_off_scene:
   fields:
     entity_id:
       description: Name of the light entity.
-      example: 'light.yeelight'
+      example: "light.yeelight"
     minutes:
       description: The minutes to wait before automatically turning the light off.
       example: 5
@@ -75,13 +75,13 @@ start_flow:
   fields:
     entity_id:
       description: Name of the light entity.
-      example: 'light.yeelight'
+      example: "light.yeelight"
     count:
       description: The number of times to run this flow (0 to run forever).
       example: 0
     action:
       description: The action to take after the flow stops. Can be 'recover', 'stay', 'off'. (default 'recover')
-      example: 'stay'
+      example: "stay"
     transitions:
       description: Array of transitions, for desired effect. Examples https://yeelight.readthedocs.io/en/stable/flow.html
       example: '[{ "TemperatureTransition": [1900, 1000, 80] }, { "TemperatureTransition": [1900, 1000, 10] }]'
diff --git a/homeassistant/components/zha/services.yaml b/homeassistant/components/zha/services.yaml
index 3e38d6982f002eb4dec3ab55d03474a14d7a6fe0..971321fbfd25004b92435b75730f735204a92ab4 100644
--- a/homeassistant/components/zha/services.yaml
+++ b/homeassistant/components/zha/services.yaml
@@ -78,7 +78,7 @@ issue_zigbee_cluster_command:
       example: "server"
     args:
       description: args to pass to the command
-      example: '[arg1, arg2, argN]'
+      example: "[arg1, arg2, argN]"
     manufacturer:
       description: manufacturer code
       example: 0x00FC
@@ -98,7 +98,7 @@ issue_zigbee_group_command:
       example: 0
     args:
       description: args to pass to the command
-      example: '[arg1, arg2, argN]'
+      example: "[arg1, arg2, argN]"
     manufacturer:
       description: manufacturer code
       example: 0x00FC
diff --git a/homeassistant/components/zwave/strings.json b/homeassistant/components/zwave/strings.json
index 0ac55e46791eb92ca6eb5a2b7d5b00b9907618f5..ddb03a135b916dc68813f69e4dc8ec0524938547 100644
--- a/homeassistant/components/zwave/strings.json
+++ b/homeassistant/components/zwave/strings.json
@@ -1,22 +1,22 @@
 {
-    "config": {
-        "title": "Z-Wave",
-        "step": {
-            "user": {
-                "title": "Set up Z-Wave",
-                "description": "See https://www.home-assistant.io/docs/z-wave/installation/ for information on the configuration variables",
-                "data": {
-                    "usb_path": "USB Path",
-                    "network_key": "Network Key (leave blank to auto-generate)"
-                }
-            }
-        },
-        "error": {
-            "option_error": "Z-Wave validation failed. Is the path to the USB stick correct?"
-        },
-        "abort": {
-            "already_configured": "Z-Wave is already configured",
-            "one_instance_only": "Component only supports one Z-Wave instance"
+  "config": {
+    "title": "Z-Wave",
+    "step": {
+      "user": {
+        "title": "Set up Z-Wave",
+        "description": "See https://www.home-assistant.io/docs/z-wave/installation/ for information on the configuration variables",
+        "data": {
+          "usb_path": "USB Path",
+          "network_key": "Network Key (leave blank to auto-generate)"
         }
+      }
+    },
+    "error": {
+      "option_error": "Z-Wave validation failed. Is the path to the USB stick correct?"
+    },
+    "abort": {
+      "already_configured": "Z-Wave is already configured",
+      "one_instance_only": "Component only supports one Z-Wave instance"
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/script/gen_requirements_all.py b/script/gen_requirements_all.py
index 40fb1ad8b497ee862c130b4a4575ced741c838cf..b6f357d4cda090b85df91e5f96da388ef93fa9fa 100755
--- a/script/gen_requirements_all.py
+++ b/script/gen_requirements_all.py
@@ -68,7 +68,7 @@ enum34==1000000000.0.0
 pycrypto==1000000000.0.0
 """
 
-IGNORE_PRE_COMMIT_HOOK_ID = ("check-json", "no-commit-to-branch")
+IGNORE_PRE_COMMIT_HOOK_ID = ("check-json", "no-commit-to-branch", "prettier")
 
 
 def has_tests(module: str):