This Home Assistant custom integration allowing integration with Siedle Gateway 150 (SG-150) via a local connection. It is developed to integrate a Siedle Door Camera with Home Assistant.
This integration will run a minimal SIP Server that can be configured in the SG-150 as a telephone device.
Currently the integration exposes:
- Gateway Information (Mac Adresse, SIP Connection Status)
- All phone devices know to the SG-150
- Phone number sensor
- All video extractors
- Camera for the live stream
- Actions to control the SG-150:
- start_call: Start a phone call within the In-Home system
- stop_call: Stop a phone call within the In-Home system
- send_sip_info_dtmf: Sends a DTMF signal to the Siedle Gateway during an In-Home phone call
- get_active_calls: Returns a list of active call IDs.
- play_audio: Play a media_source_id to an active call (Supporting wav/mp3, see Tips & Tricks)
This configuration will require a license for the SG-150 that includes the "Telephony" feature. You can check this by logging into your SG-150 and navigating to
Network users -> License.
Check the "Telephony" row to see if you have at least one license remaining.
To get the most of this integration you need to configure the SG-150 to connect to the SIP-Server provided by this extension.
While setting up the integration within Home Assistant you will be asked to provide the following information to connect to your SG-150:
- Host Address (IP Address of the SG-150)
- Username (in most cases
admin) - Password (the one used for the web interface)
In addition to that the Home Assistant instance will also configure a SIP-Server, please make sure to setup the following values:
- SIP Caller IP:
<HomeAssistant-IP> - SIP Username:
<NameOfYourChoosing> - SIP Password:
<PasswordOfYourChoosing> - SIP Number:
<PhoneNumberOfYourChoosing> - SIP Port:
<PortOfYourChoosing>(default: 5060) - SIP Auto Answer:
<AutoAnswerValue>(default: True, determines if HA will automatically answer incoming calls from the SG-150 blocking the In-Home bus for other devices, needed so the video becomes available)
These values will be used to configure the SG-150 to connect to the SIP-Server provided by this integration.
- Login to your SG-150 and navigate to Network users -> Telephony link.

- Click on "Create connection"

- Fill in the following values:
Field Value Connection Type SIP client Connection Name HomeAssistant Address <HomeAssistant-IP>Port <PortOfYourChoosing>TC login name <NameOfYourChoosing>TC Password <PasswordOfYourChoosing>Everything else can stay default.
- Click on "Save" -> You should now see "Changes have been implemented. Connection status: successfully registered."
- When going back to the overview you should see the new connection listed

In HomeAssistant the entity
binary_sensor.sgs_homeassistant_sip_connectionwill indicate the connection status and should be "On" now.
- Login to your SG-150 and navigate to Network users -> IP users.

- Click on "Create IP user"

- Fill in the following values:
Field Value User Type TC phone Name <SomeConnectionName>(not important)Telephony link HomeAssistant External Direct Call <PhoneNumberOfYourChoosing>(same as integration configuration)Direct Call <PhoneNumberOfYourChoosing>Video decoupling MJPEG streamEverything else can stay default.
- Click on "Save/Create"
In HomeAssistant you should now see a new camera entity representing the video stream of this TC phone. You might need to reload the integration to see the new entity.
The In-Home bus has a single speech/video channel. While Home Assistant holds a call, a indoor stations get a busy tone and no image. So an automation that grabs the channel on every doorbell press will interfere with such a system.
This also applies to the fact that you won't be able to call the Door if a call is already in progress. So you can't start a direct door call while someone is ringing.
Sending DTMF signals with a delay will result in the SG-150 ignoring the signal. So a script that sends multiple signals in a row should be used. Sending DTMF signals to the first active call can be done using the following script:
sequence:
- action: sg_150.get_active_calls
response_variable: calls
- variables:
cid: "{{ calls.active_calls[0] }}"
- action: sg_150.send_sip_info_dtmf
data: {call_id: "{{ cid }}", signal: "#", duration: "100"}
- action: sg_150.send_sip_info_dtmf
data: {call_id: "{{ cid }}", signal: "6", duration: "100"}
- action: sg_150.send_sip_info_dtmf
data: {call_id: "{{ cid }}", signal: "1", duration: "100"}This scripts sends the DTMF signals #61. You can change the signal value to send different signals. To see what signals are supported by your SG-150 you can check Basic Settings -> DTMF in the SG-150 web interface.
The following action can be used play the tts audio on the doorbell.
Make sure to url encode the <<message>> and replace <<call-id>> and <<tts-service>> with suitable values in your HA configuration.
action: sg_150.play_audio
data:
call_id: <<call-id>>
media_source_id: "media-source://tts/tts.<<tts-service>>?message=<<message>>&language=en"Thanks to @DaPat78 for validating the DTMF implementation with real hardware. (See #79)