This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
how_to:lirc:integration_with_home_assistant [2019/03/30 16:26]
how_to:lirc:integration_with_home_assistant [2019/03/30 20:05] (current)
Line 5: Line 5:
 See this example of entry in the .lircrc file: See this example of entry in the .lircrc file:
-<file text /​home/​homeassistant/​.lircrc+<file text /​home/​homeassistant/​.lircrc>
 begin begin
     remote = SONY     remote = SONY
Line 28: Line 28:
 homeassistant@d-diot:/​home/​pi $ ircat home-assistant homeassistant@d-diot:/​home/​pi $ ircat home-assistant
 </​cli>​ </​cli>​
-At every press of KEY_1 in the SONY remote a line should appear+At every press of KEY_1 in the SONY remote a line should appear. Switch back to user "​pi"​ and restart Home Assistant 
 +homeassistant@d-diot:/​home/​pi $ exit 
 +pi@d-diot:~ $ sudo systemctl restart home-assistant@homeassistant 
 +Now every time you press a button defined in the .lircrc, the LIRC component fires ir_command_received events on the bus. You can capture the events and respond to them in an automation script. See the [[https://​www.home-assistant.io/​components/​lirc/​|LIRC component]] documentation to learn more.
-# Restart home-assistant +===== Use the RESTful API of lirc_web =====
-$ sudo systemctl restart home-assistant@homeassistant+
-# Now every time you press button defined in the .lircrc the LIRC component fires ir_command_received events on the bus. You can capture ​the events and respond to them in automation scripts like this:+If you wont to send an IR command directly from Home Assistant, that is useful when you are on remote connection where the lirc_web interface is not accessible, you can use the built in [[https://​github.com/​alexbain/​lirc_web#​using-the-json-api|RESTful API of lirc_web]].
-# Example configuration.yaml ​automation ​entry +To do this you have to configure the [[https://​www.home-assistant.io/​components/​rest_command/​|RESTful Command]] component of Home Assistant. For every remote key add an entry in the configuration.yaml (or in a different file with a split configuration) as in the example below: 
-automation+<file yaml /​home/​homeassistant/​.homeassistant/​configuration.yaml>​ 
-  - aliasOff on Remote +# Example configuration.yaml entry 
-    ​trigger+rest_command
-      ​platformevent +  ​lirc_web_YOUR_REMOTE_YOUR_KEY:​ 
-      ​event_typeir_command_received +    url: '​http://​localhost:​3000/​remotes/​YOUR_REMOTE/​YOUR_KEY'​ 
-      ​event_data+    method: POST 
-        ​button_namesee-this +</​file>​ 
-    ​action+Substitute YOUR_REMOTE and YOUR_KEY according to your needs. To see the list of remote and buttons as configured in lirc_web, go to: 
-      service: ​homeassistant.turn_off +  * http://d-diot.local:​3000/​remotes.json 
-      entity_id: ​group.a_lights +  
- +Now you can create a momentary switch for the remote button with the [[https://​www.home-assistant.io/​components/​switch.template/​|template switch platform]], adding the lines under the oled switch to the switches.yaml file: 
-# The button_name data values (e.g., see-this) are set by you in the .lircrc file.+<file yaml /​home/​homeassistant/​.homeassistant/​switches.yaml>​  
 +# Template switches 
 +- platform: template 
 +  switches
 +    ​oled
 +      ​friendly_name"​Status"​ 
 +      ​value_template"{{ is_state('​binary_sensor.oled_status',​ '​on'​) }}" 
 +      ​turn_on
 +        ​serviceshell_command.start_oled 
 +        data: 
 +          entity_id: binary_sensor.oled_status 
 +      ​turn_off: 
 +        ​service: ​shell_command.stop_oled 
 +        ​data:​ 
 +          ​entity_id: ​binary_sensor.oled_status 
 +    ​lirc_web_YOUR_REMOTE_YOUR_KEY:​ 
 +      ​friendly_name:​ "Arrow up" 
 +      value_template:​ "​false"​ 
 +      turn_on: 
 +        service: rest_command.lirc_web_YOUR_REMOTE_YOUR_KEY 
 +      turn_off: 
 +        service: rest_command.lirc_web_YOUR_REMOTE_YOUR_KEY 
 +Once the switch is created ​you can add them in the webui as an entity button card for example.
  • how_to/lirc/integration_with_home_assistant.1553963199.txt.gz
  • Last modified: 2019/03/30 16:26
  • by franzunix