blob: 7cff7a115a322680a66f9f30f734e190ea2e2317 [file] [log] [blame]
{
default_config = {};
homeassistant = {
auth_providers = [
{
type = "homeassistant";
}
{
type = "trusted_networks";
trusted_networks = ["127.0.0.1" "::1" "10.0.0.0/8" "fd00::/8"];
allow_bypass_login = true;
}
];
customize = {
"light.left_par_brightness" = {hidden = true;};
"light.right_par_brightness" = {hidden = true;};
"switch.portable_spejsiot_node_b4a90f" = {icon = "mdi:power-plug";};
"switch.projection_screen" = {icon = "mdi:projector-screen";};
"switch.projector" = {icon = "mdi:projector";};
"switch.samsung_tv_mute" = {icon = "mdi:volume-off";};
"switch.samsung_tv_telelele" = {icon = "mdi:monitor";};
"switch.space_heater" = {icon = "mdi:fire";};
};
customize_glob = {"media_player.m*" = {custom_ui_state_card = "state-card-mini-media-player";};};
elevation = "106";
latitude = "52.25";
longitude = "21";
name = "Warsaw Hackerspace";
time_zone = "Europe/Warsaw";
unit_system = "metric";
};
http = {
use_x_forwarded_for = true;
trusted_proxies = [ "127.0.0.1" "::1" ];
};
automation = [
{
action = {
data_template = {
payload = "{{ states('input_number.polycom_hdmi_gain') }}";
retain = true;
topic = "iot/polycom/hdmi:main/gain/set";
};
service = "mqtt.publish";
};
hide_entity = true;
trigger = {
entity_id = "input_number.polycom_hdmi_gain";
platform = "state";
};
}
{
action = {
data_template = {
payload = "{{ states('input_number.polycom_aux1_gain') }}";
retain = true;
topic = "iot/polycom/aux1:main/gain/set";
};
service = "mqtt.publish";
};
hide_entity = true;
trigger = {
entity_id = "input_number.polycom_aux1_gain";
platform = "state";
};
}
{
action = {
data_template = {
payload = "{{ states.input_select.hdmi_source_a.attributes['options'].index(states('input_select.hdmi_source_a')) }}";
retain = true;
topic = "iot/3c189c/matrix/sourceA/set";
};
service = "mqtt.publish";
};
hide_entity = true;
trigger = {
entity_id = "input_select.hdmi_source_a";
platform = "state";
};
}
{
action = {
data_template = {
payload = "{{ states.input_select.hdmi_source_b.attributes['options'].index(states('input_select.hdmi_source_b')) }}";
retain = true;
topic = "iot/3c189c/matrix/sourceB/set";
};
service = "mqtt.publish";
};
hide_entity = true;
trigger = {
entity_id = "input_select.hdmi_source_b";
platform = "state";
};
}
{
action = {
data = {
entity_id = "input_select.hdmi_source_b";
option = "Input 1 / Kolumna";
};
service = "input_select.select_option";
};
alias = "Switch projector on HDMI1 connect";
trigger = {
payload = "true";
platform = "mqtt";
topic = "iot/3c189c/matrix/rx1_online";
};
}
{
action = {
data = {
entity_id = "input_select.hdmi_source_b";
option = "Chromecast";
};
service = "input_select.select_option";
};
alias = "Switch projector on HDMI1 disconnect";
trigger = {
payload = "false";
platform = "mqtt";
topic = "iot/3c189c/matrix/rx1_online";
};
}
{
action = {
data_template = {
payload = "{{ states('input_number.heater_fan_speed') }}";
retain = true;
topic = "iot/ab20d2/heater/fan/set";
};
service = "mqtt.publish";
};
hide_entity = true;
trigger = {
entity_id = "input_number.heater_fan_speed";
platform = "state";
};
}
];
# cast has been removed
# TODO check how this needs to be replaced
#cast = {media_player = [{host = "10.8.1.44";}];};
# TODO fix and enable
#frontend = {
# extra_html_url = ["/local/custom_ui/state-card-mini-media-player.html"];
# extra_html_url_es5 = ["/local/custom_ui/state-card-mini-media-player_es5.html"];
#};
group = {
av = {
control = "hidden";
entities = ["switch.projector" "switch.projection_screen" "input_select.hdmi_source_a" "input_number.polycom_hdmi_gain" "switch.samsung_tv_telelele" "switch.samsung_tv_mute" "input_select.hdmi_source_b" "input_number.polycom_aux1_gain" "switch.aux1_gain_mic" "media_player.mpd"];
name = "HackAV";
};
heater = {
control = "hidden";
entities = ["switch.space_heater" "input_number.heater_fan_speed" "fan.exhaust"];
name = "HVAC";
};
};
input_number = {
heater_fan_speed = {
max = 100;
min = 0;
name = "Heater airflow";
step = 1;
};
polycom_aux1_gain = {
max = 10;
min = -40;
name = "AUX1 Audio Gain";
step = 1;
};
polycom_hdmi_gain = {
max = 0;
min = -40;
name = "HDMI Audio Gain";
step = 1;
};
};
input_select = {
hdmi_source_b = {
name = "Projector HDMI Source (Conn A/TX1)";
options = ["PS3" "Input 1 / Kolumna" "Unused" "Chromecast"];
};
};
media_player = [
{
host = "10.8.1.16";
platform = "mpd";
}
];
mqtt = {
light = [
{
command_topic = "iot/077521/relay/on/set";
name = "Main room";
object_id = "main_room";
payload_off = "false";
payload_on = "true";
retain = true;
state_topic = "iot/077521/relay/on";
}
];
fan = [
{
command_topic = "iot/c0dbe7/relay/on/set";
name = "Exhaust";
object_id = "exhaust";
payload_off = "false";
payload_on = "true";
retain = true;
state_topic = "iot/c0dbe7/relay/on";
}
];
sensor = [
{
name = "DCR01 Temperature";
qos = 0;
state_topic = "iot/3394f5/environment/degree";
unit_of_measurement = "ÂșC";
}
{
name = "DCR01 Humidity";
qos = 0;
state_topic = "iot/3394f5/environment/humidity";
unit_of_measurement = "%";
}
];
switch = [
{
command_topic = "iot/b4a90f/relay/on/set";
name = "Portable SpejsIoT node (b4a90f)";
payload_off = "false";
payload_on = "true";
retain = true;
state_topic = "iot/b4a90f/relay/on";
}
{
command_topic = "iot/d106e1/screen/down/set";
name = "Projection screen";
payload_off = "false";
payload_on = "true";
retain = true;
state_topic = "iot/d106e1/screen/down";
}
{
command_topic = "iot/craptrap/windows10/state/set";
name = "Windows 10 VM (Craptrap)";
payload_off = "pmsuspended";
payload_on = "running";
state_topic = "iot/craptrap/windows10/state";
}
{
command_topic = "iot/ab20d2/heater/on/set";
name = "Heater power";
object_id = "space_heater";
payload_off = "false";
payload_on = "true";
retain = true;
state_topic = "iot/ab20d2/heater/on";
}
];
};
scene = [
{
entities = {
"light.main_room" = false;
"switch.projection_screen" = true;
"switch.projector" = true;
};
name = "Cinema";
}
{
entities = {
"light.main_room" = true;
"switch.projection_screen" = false;
"switch.projector" = false;
};
name = "Standard";
}
];
}