"""Support for Hyperion remotes."""
import json
import logging
import socket

import voluptuous as vol

from homeassistant.components.light import (
    ATTR_BRIGHTNESS,
    ATTR_EFFECT,
    ATTR_HS_COLOR,
    PLATFORM_SCHEMA,
    SUPPORT_BRIGHTNESS,
    SUPPORT_COLOR,
    SUPPORT_EFFECT,
    LightEntity,
)
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PORT
import homeassistant.helpers.config_validation as cv
import homeassistant.util.color as color_util

_LOGGER = logging.getLogger(__name__)

CONF_DEFAULT_COLOR = "default_color"
CONF_PRIORITY = "priority"
CONF_HDMI_PRIORITY = "hdmi_priority"
CONF_EFFECT_LIST = "effect_list"

DEFAULT_COLOR = [255, 255, 255]
DEFAULT_NAME = "Hyperion"
DEFAULT_PORT = 19444
DEFAULT_PRIORITY = 128
DEFAULT_HDMI_PRIORITY = 880
DEFAULT_EFFECT_LIST = [
    "HDMI",
    "Cinema brighten lights",
    "Cinema dim lights",
    "Knight rider",
    "Blue mood blobs",
    "Cold mood blobs",
    "Full color mood blobs",
    "Green mood blobs",
    "Red mood blobs",
    "Warm mood blobs",
    "Police Lights Single",
    "Police Lights Solid",
    "Rainbow mood",
    "Rainbow swirl fast",
    "Rainbow swirl",
    "Random",
    "Running dots",
    "System Shutdown",
    "Snake",
    "Sparks Color",
    "Sparks",
    "Strobe blue",
    "Strobe Raspbmc",
    "Strobe white",
    "Color traces",