HA OS Signal Integration

Updated 8/14/2024

I have successfully installed Signal Messenger Add-On into HA OS. Here is how I did it.

HA OS info:

Core                2024.8.1
Supervisor          2024.08.0
Operating System    13.0
Frontend            20240809.0
Signal Addon        0.88.0 (This version fixed registration issues)

Guide I followed: Signal Messenger - Home Assistant

Rest API configuration Steps:

  • Installation Method: ALT 2 / Install Home Assistant Add On
    – Signal add-on Options: JSON-RPC & port 8080
  • Setup Phone Number: ALT 1 / Use a new phone number (Google Voice number will accept SMS)
  • Trouble shooting: A captcha is required (due to a captcha being required during registration)

Registration Steps:

  • In a browser such as Chrome/Firefox, Navigate to: Signal to get captcha token.
  • When you answer the captcha, the browser may try and open Signal automatically, click “cancel” and an “Open Signal” link will show up under the captcha. Right click that link and copy the link address and save that link in notes.
  • In HA SSH session, enter the following:

Note 1: all hash’s have been obscured and is there for information purposes only.

Note 2: Sometimes the Captcha site will give you a huge link with the captcha information, I have not tested with this type of response as the first response I got was the shortened captcha token.

curl -X POST -H "Content-Type: application/json" -d '{"captcha":"signalcaptcha://signal-hcaptcha-short.5fad97ac-7d06-4e44-b18b-c556b20148ff.registration.4o_23jhtgjr30QnHSqCd2atQ", "use_voice": false}' 'http://55.55.55.55:8080/v1/register/+13335557777'
  • The above syntax shows the specific way you are supposed to add the captcha information. I added the entire URL copied and that worked. You then list the IP address of HA and the port Signal API is listening on followed by the phone number you are trying to register.
  • Once you enter that command you should receive an SMS code to use as a verification. (this portion was broke prior to 0.88.0)
  • Enter the verification code in the CLI as follows:
curl -X POST -H "Content-Type: application/json" 'http://55.55.55.55:8080/v1/register/+13335557777/verify/123456'
  • The verification code has a hyphen in it, but I did not use it during the verification process.
  • As long as no errors came up, Signal API is setup. To verify your account is setup enter:
curl -X GET -H "Content-Type: application/json" 'http://55.55.55.55:8080/v1/accounts'

It should respond with your phone number in brackets. [“+13335557777”]. This means you are good for this portion of the guide and can go back to HA main integration page to setup the YAML.

YAML Setup:

notify:
  - name: signal
    platform: signal_messenger
    url: "http://55.55.55.55:8080"
    number: "+13335557777"
    recipients:
      - "+14445559999"
  • YAML is very picky with spaces. Once you save this in the configuration.yaml and restart HA, you will now see the Signal Integration show up under Integrations if the YAML was done properly. Keep in mind if you dont setup the YAML properly as far as formatting goes, the integration will not show up after a reboot.

Example of Good YAML config with multiple notify platforms:

notify:
  - platform: html5
    vapid_pub_key: [pubkeyinfo]
    vapid_prv_key: [prvkeyinfo]
    vapid_email: [Email]
  - name: signal
    platform: signal_messenger
    url: "http://55.55.55.55:8080"
    number: "+13335557777"
    recipients:
      - "+14445559999"

Example of BAD YAML config with multiple notify platforms. Only html5 notify section will show up in integrations:

notify:
  - platform: html5
    vapid_pub_key: [pubkeyinfo]
    vapid_prv_key: [prvkeyinfo]
    vapid_email: [Email]

notify:
  - name: signal
    platform: signal_messenger
    url: "http://55.55.55.55:8080"
    number: "+13335557777"
    recipients:
      - "+14445559999"
  • Send a test message with:
curl -X POST -H "Content-Type: application/json" 'http://55.55.55.55:8080/v2/send'  -d '{"message": "This is a test message from Home Assistant!", "number": "+13335557777", "recipients": [ "+14445559999" ]}'

Hopefully this helps everyone get Signal setup on HA OS!