370 lines
12 KiB
YAML
370 lines
12 KiB
YAML
samsung_the_frame:
|
|
module: samsungtheframeasync
|
|
class: SamsungTheFrame
|
|
|
|
volume_up_events:
|
|
- the_frame_volume_up
|
|
volume_down_events:
|
|
- the_frame_volume_down
|
|
|
|
ip_address: 10.0.0.58
|
|
#broadcast_address: 10.0.0.255
|
|
#mac_address: 98:06:3C:85:93:38
|
|
#wol_switch: switch.theframewol
|
|
wake_up_service: "esphome/ir_bridge_turn_on_the_frame"
|
|
app_list: # https://github.com/tavicu/homebridge-samsung-tizen/issues/291
|
|
- 3201907018807 # Netflix
|
|
- 3201910019365 # Prime
|
|
|
|
virtual_sensors:
|
|
default_values:
|
|
binary_sensor.tv_auto_shutdown: false
|
|
binary_sensor.is_tv_on: false
|
|
sensors:
|
|
value_selector.samsung_the_frame_target_state:
|
|
power_off:
|
|
trigger_conditions:
|
|
- binary_sensor.is_everybody_sleeping or binary_sensor.is_living_room_sleeping or not binary_sensor.someone_home
|
|
- binary_sensor.projector_screen_down
|
|
hdmi: binary_sensor.vertex2_has_input_signal and not binary_sensor.projector_screen_down
|
|
manual: binary_sensor.is_tv_on and not binary_sensor.tv_auto_shutdown
|
|
tv_off: not binary_sensor.living_room_occupancy
|
|
art_mode: True
|
|
|
|
tv_state: sensor.samsung_the_frame_target_state
|
|
|
|
output_sensors:
|
|
is_on: binary_sensor.is_tv_on
|
|
is_art_mode: binary_sensor.tv_in_art_mode
|
|
tv_auto_shutdown: binary_sensor.tv_auto_shutdown
|
|
|
|
input_sensors:
|
|
power_plug: switch.the_frame_power_plug
|
|
power_plug_power: sensor.the_frame_power_plug_power
|
|
|
|
w4000i:
|
|
module: smartprojector_benq_over_telnet
|
|
class: SmartProjector
|
|
entity: switch.projector
|
|
|
|
telnet_connection:
|
|
ip: 10.0.0.40
|
|
port: 8000
|
|
|
|
power_plug:
|
|
entity: switch.living_room_projector_plug
|
|
power_sensor: sensor.living_room_projector_plug_power
|
|
power_threeshold: 5
|
|
conditions:
|
|
trigger_conditions:
|
|
- binary_sensor.someone_home and not (binary_sensor.is_everybody_sleeping or binary_sensor.is_living_room_sleeping)
|
|
- sensor.living_room_projector_plug_power > 10 or binary_sensor.projector_on # don't remove this one or it will fry the projector
|
|
|
|
virtual_sensors:
|
|
sensors:
|
|
value_selector.projector_icon:
|
|
projector_off:
|
|
conditions: not super
|
|
value: "'mdi:projector-off'"
|
|
projector_on:
|
|
conditions: True
|
|
value: "'mdi:projector'"
|
|
continuous_condition.projector_ready:
|
|
conditions: switch.living_room_projector_plug
|
|
time: 30
|
|
continuous_condition.has_allm_signal_for_a_while:
|
|
conditions: binary_sensor.vertex2_allm
|
|
time: 10
|
|
|
|
attributes_override:
|
|
icon: sensor.projector_icon
|
|
friendly_name: Projecteur
|
|
|
|
press_enter_event: send_projector_enter
|
|
press_enter_events:
|
|
vertex2_allm:
|
|
event_name: state_changed
|
|
event_data:
|
|
entity_id: binary_sensor.has_allm_signal_for_a_while
|
|
new_state:
|
|
state: "on"
|
|
apple_tv_mute_short_press:
|
|
event_name: state_changed
|
|
event_data:
|
|
entity_id: binary_sensor.ir_bridge_apple_tv_mute_button_short_press
|
|
old_state:
|
|
state: "off"
|
|
new_state:
|
|
state: "on"
|
|
|
|
projector_ready_conditions: binary_sensor.projector_ready
|
|
|
|
#state_conditions: binary_sensor.projector_on
|
|
#cooling_down_sensor: binary_sensor.projector_cooling_down
|
|
|
|
smart_conditions:
|
|
trigger_conditions: binary_sensor.vertex2_has_input_signal and binary_sensor.projector_screen_down
|
|
disable_conditions:
|
|
- self == 'unavailable'
|
|
#- self == 'off' and not binary_sensor.projector_screen_down
|
|
#- not binary_sensor.projector_screen_down
|
|
#- binary_sensor.projector_cooling_down
|
|
- switch.projector.warming_up
|
|
|
|
bravia_theatre:
|
|
module: smartswitch
|
|
class: SmartSwitch
|
|
entity: media_player.bravia_theatre
|
|
|
|
smart_conditions:
|
|
#trigger_conditions: binary_sensor.vertex2_has_input_signal
|
|
trigger_conditions: sensor.vertex2_output_selected == 'Projector' or input_boolean.use_bravia_theater_for_the_frame
|
|
blocking_conditions: not binary_sensor.vertex2_has_input_signal
|
|
|
|
projection_screen_switch:
|
|
module: smartswitch
|
|
class: SmartSwitch
|
|
entity: input_boolean.projection_screen
|
|
|
|
virtual_sensors:
|
|
sensors:
|
|
continuous_condition.projection_screen_on_for_a_while:
|
|
time: 300
|
|
conditions: input_boolean.projection_screen
|
|
|
|
off_conditions: binary_sensor.projection_screen_on_for_a_while and binary_sensor.projector_off_for_a_while
|
|
|
|
toggle_events:
|
|
apple_tv_mute_long_press:
|
|
event_name: state_changed
|
|
event_data:
|
|
entity_id: binary_sensor.ir_bridge_apple_tv_mute_button_long_press
|
|
old_state:
|
|
state: "off"
|
|
new_state:
|
|
state: "on"
|
|
|
|
projection_screen:
|
|
module: smartshutter
|
|
class: SmartShutter
|
|
entity: cover.living_room_projection_screen
|
|
close_position: 22
|
|
|
|
close_conditions: input_boolean.projection_screen
|
|
|
|
vertex_2:
|
|
module: vertex2
|
|
class: Vertex2
|
|
priority: 5
|
|
|
|
virtual_sensors:
|
|
default_values:
|
|
binary_sensor.is_tv_on: false
|
|
binary_sensor.someone_home: false
|
|
binary_sensor.vertex2_has_input_signal: false
|
|
sensors:
|
|
binary_sensor.projector_screen_down: input_boolean.projection_screen
|
|
|
|
input_select:
|
|
entity: select.vertex2_input
|
|
mqtt_namespace: mqtt
|
|
mqtt_topic: appdaemon/vertex2/input
|
|
unique_id: vertex2_input
|
|
|
|
input_config:
|
|
default:
|
|
name: None
|
|
icon: mdi:television-off
|
|
0:
|
|
name: AppleTV
|
|
icon: mdi:apple
|
|
1:
|
|
name: Xbox
|
|
icon: mdi:microsoft-xbox
|
|
2:
|
|
name: Playstation
|
|
icon: mdi:sony-playstation
|
|
3:
|
|
name: Switch
|
|
icon: mdi:nintendo-switch
|
|
|
|
# input_selection:
|
|
# None: binary_sensor.vertex2_has_input_signal # this will prevent input change if the current input is still active
|
|
# Switch: binary_sensor.vertex2_switch_5v
|
|
# Playstation: binary_sensor.vertex2_playstation_5v
|
|
# Xbox: binary_sensor.vertex2_xbox_5v
|
|
# AppleTV: true
|
|
|
|
output_config:
|
|
default:
|
|
name: None
|
|
icon: mdi:television-off
|
|
0:
|
|
name: TV
|
|
icon: mdi:television
|
|
use_audio_out_audio_flags: input_boolean.use_bravia_theater_for_the_frame
|
|
force_plus5: not binary_sensor.vertex2_no_signal_spam
|
|
1:
|
|
name: Projector
|
|
icon: mdi:projector
|
|
use_audio_out_audio_flags: True
|
|
#force_plus5: switch.living_room_projector_plug
|
|
|
|
vertex2_power_plug:
|
|
entity: switch.vertex2_power_plug
|
|
# power_consumption: sensor.fibaro_vertex_plug_51_power
|
|
conditions:
|
|
trigger_conditions: binary_sensor.someone_home #and (input_boolean.projection_screen or binary_sensor.the_frame_is_plugged_for_a_while)
|
|
blocking_conditions: (binary_sensor.is_everybody_sleeping or binary_sensor.is_living_room_sleeping) and not binary_sensor.vertex2_has_input_signal
|
|
|
|
|
|
#filmmaker_mode_conditions: sensor.vertex2_input_select_tx0 == 'AppleTV'
|
|
|
|
output_selection:
|
|
Projector: binary_sensor.projector_screen_down
|
|
TV: True
|
|
|
|
vertex2_address: http://10.0.0.33
|
|
vertex2_tcp_port: 2220
|
|
startup_delay: 30 # seconds after the power plug turns on
|
|
|
|
video_tx_signal_sensor: sensor.vertex2_video_signal
|
|
allm_sensor: binary_sensor.vertex2_allm
|
|
#tx0_plus5_sensor: binary_sensor.vertex2_tx0_plus5
|
|
#tx1_plus5_sensor: binary_sensor.vertex2_tx1_plus5
|
|
audio_out_signal_sensor: sensor.vertex2_audio_signal
|
|
output_selected_sensor: sensor.vertex2_output_selected
|
|
input_selected_sensor: sensor.vertex2_input_selected
|
|
no_signal_spam_sensor: binary_sensor.vertex2_no_signal_spam
|
|
unreachable_sensor: binary_sensor.vertex2_unreachable
|
|
command_processing_sensor: binary_sensor.vertex2_command_processing
|
|
command_processing_timeout: 20
|
|
|
|
use_bravia_theater_for_the_frame:
|
|
module: smartswitch
|
|
class: SmartSwitch
|
|
|
|
entity: input_boolean.use_bravia_theater_for_the_frame
|
|
|
|
toggle_events:
|
|
- toggle_use_bravia_theater_for_the_frame
|
|
|
|
|
|
apple_remote:
|
|
module: virtualevents
|
|
class: VirtualEvents
|
|
|
|
priority: 100 # default priority app is 50, since the virtual_events doesn't create any sensor but is based on sensor created by many app, it's important it's created last
|
|
|
|
virtual_events:
|
|
toggle_use_bravia_theater_for_the_frame:
|
|
event_name: toggle_use_bravia_theater_for_the_frame
|
|
event_condition: binary_sensor.is_tv_on and binary_sensor.ir_bridge_apple_tv_mute_button_short_press
|
|
|
|
# Volume buttons received by the IR bridge: Bravia > TV > Sonos.
|
|
homecinema_volume:
|
|
module: eventsforwarder
|
|
class: EventsForwarder
|
|
priority: 100
|
|
|
|
forwarders:
|
|
volume_up:
|
|
events_to_listen:
|
|
- esphome.ir_bridge_volume_up
|
|
events_to_send:
|
|
the_frame:
|
|
event_name: the_frame_volume_up
|
|
event_condition: not (media_player.bravia_theatre == 'on' or media_player.bravia_theatre == 'playing' or media_player.bravia_theatre == 'paused' or media_player.bravia_theatre == 'idle') and binary_sensor.is_tv_on == 'on'
|
|
services_to_call:
|
|
bravia:
|
|
service: media_player/volume_up
|
|
event_condition: (media_player.bravia_theatre == 'on' or media_player.bravia_theatre == 'playing' or media_player.bravia_theatre == 'paused' or media_player.bravia_theatre == 'idle')
|
|
data:
|
|
entity_id: media_player.bravia_theatre
|
|
sonos:
|
|
service: media_player/volume_up
|
|
event_condition: not (media_player.bravia_theatre == 'on' or media_player.bravia_theatre == 'playing' or media_player.bravia_theatre == 'paused' or media_player.bravia_theatre == 'idle') and binary_sensor.is_tv_on != 'on'
|
|
data:
|
|
entity_id: media_player.living_room_sonos
|
|
volume_down:
|
|
events_to_listen:
|
|
- esphome.ir_bridge_volume_down
|
|
events_to_send:
|
|
the_frame:
|
|
event_name: the_frame_volume_down
|
|
event_condition: not (media_player.bravia_theatre == 'on' or media_player.bravia_theatre == 'playing' or media_player.bravia_theatre == 'paused' or media_player.bravia_theatre == 'idle') and binary_sensor.is_tv_on == 'on'
|
|
services_to_call:
|
|
bravia:
|
|
service: media_player/volume_down
|
|
event_condition: (media_player.bravia_theatre == 'on' or media_player.bravia_theatre == 'playing' or media_player.bravia_theatre == 'paused' or media_player.bravia_theatre == 'idle')
|
|
data:
|
|
entity_id: media_player.bravia_theatre
|
|
sonos:
|
|
service: media_player/volume_down
|
|
event_condition: not (media_player.bravia_theatre == 'on' or media_player.bravia_theatre == 'playing' or media_player.bravia_theatre == 'paused' or media_player.bravia_theatre == 'idle') and binary_sensor.is_tv_on != 'on'
|
|
data:
|
|
entity_id: media_player.living_room_sonos
|
|
|
|
vertex_content:
|
|
module: vertexcontent
|
|
class: VertexContent
|
|
|
|
output: sensor.vertex2_current_content
|
|
input_selected: sensor.vertex2_input_selected
|
|
has_signal: binary_sensor.vertex2_has_input_signal
|
|
|
|
sources:
|
|
AppleTV:
|
|
label: Apple TV
|
|
platform: Apple TV
|
|
icon: mdi:apple
|
|
entity: media_player.apple_tv
|
|
title_attributes:
|
|
- media_title
|
|
series_title_attributes:
|
|
- media_series_title
|
|
application_attributes:
|
|
- app_name
|
|
content_type_attributes:
|
|
- media_content_type
|
|
artwork_attributes:
|
|
- entity_picture
|
|
pause_states:
|
|
- paused
|
|
# is_paused is meaningful only for apps known to report playback state.
|
|
pause_supported_apps:
|
|
- CANAL+
|
|
- Disney+
|
|
- HBO Max
|
|
- Netflix
|
|
- Plex
|
|
- Prime Video
|
|
- TV
|
|
- VLC
|
|
- YouTube
|
|
|
|
Xbox:
|
|
label: Xbox
|
|
platform: Xbox
|
|
content_type: game
|
|
icon: mdi:microsoft-xbox
|
|
entity: sensor.yetanotherpedro_now_playing
|
|
state_as_title: true
|
|
artwork_entity: image.yetanotherpedro_now_playing
|
|
|
|
Playstation:
|
|
label: PlayStation 5
|
|
platform: PlayStation 5
|
|
content_type: game
|
|
icon: mdi:sony-playstation
|
|
entity: sensor.ps5_136_activity
|
|
state_as_title: true
|
|
|
|
Switch:
|
|
label: Nintendo Switch
|
|
platform: Nintendo Switch
|
|
content_type: game
|
|
icon: mdi:nintendo-switch
|
|
|
|
|