After I posted Blink lights when your IP phone rings, I kept thinking “Why not use my IP phone to ‘say’ notifications?”
The way I did it was creating a Paging Group on my FreePBX server.
Then in Home Assistant I have the following.
1 2 3 4 5 6 7 8 9 10 11 12 shell_command: mauricio_arrived: printf 'Channel: Local/724464@from-internal\nApplication: Flite\nData: "*. Welcome home, Mauricio."' > `date +"%Y%m%d%H%M%S"`.call && scp *.call firstname.lastname@example.org:/var/spool/asterisk/outgoing && rm *.call automation: - alias: Mark Mauricio as just arrived trigger: - platform: state entity_id: input_boolean.mauricio_home from: "off" to: "on" action: - service: shell_command.mauricio_arrived
You must set SSH to use keys for authentication, this will prevent the system from prompting for passwords every time shell command is executed.
It will generate a file with the content below and upload it via SCP to the directory
/var/spool/asterisk/outgoing on the FreePBX server. Asterisk uses files in this directory to initiate calls automatically, see this and this.
1 2 3 Channel: Local/724464@from-internal Application: Flite Data: "*. Welcome home, Mauricio."
*.in the text because my phone (Sangoma S500) has a two second beep that is played ‘before’ the audio, but it overlaps the beggining of the text being ‘said’. I tried removing the beep in the phone configuration, but then I had a two second silence with the same problem.
When I get home, the automation is triggered and I’m greeted with a robotic voice. 🤖
Comments powered by Disqus.