Alternative HA access method


There is suburb house where only 4G internet is available. There is no possibility to get fixed IP due to GSM provider security reasons and there is no way to get access through HA cloud. It merely does not work.

The task is to control heating using HA, i.e. turn SonOff switches on and off and read a couple of temperature sensors.

Are there any alternative HA access methods? Is it possible to send/receive on/off commands through a messenger? Telegram or any other?

How, if it is possible?

Any input would be really appreciated.


Three options from easiest to hardest:

  • Nabu Casa HA cloud, but costs money

  • CloudMQTT which uses a cloud mqtt broker which you can subscribe to. You will need an intermediate HTTPtoMQTT bridge

  • Reverse SSH tunnel or VPN from your home to a VM hosted on AWS/Azure etc.

Last two options require a fair bit of knowledge and tinkering. First option is designed to be as simple as possible but costs $5USD a month.

Edit: you could also use a telegram bot but will also take a bit of tinkering.

1 Like

I think most people here don’t get a fixed IP from their provider, that’s why you use DDNS.
You can try to setup something like DuckDNS or any other DDNS provider if Nabu Casa HA cloud doesn’t work for you. Could you maybe show us the errors that appear when you try to setup Nabu Casa HA cloud?

Telegram is a method to control your system from the outside, however it needs to be acessible from the outside first.

1 Like

4G will generally use ‘CG-NAT’ which means it’s not possible to host services and open ports. So DDNS is out of the picture.

Also, telegram polling should work, it is an outbound polling method rather than a push.

1 Like


Thank you for your prompt replies. The only way that seems possible is telegram. Could you please point me out to a guide how to set it up.


Having set up HA cloud following the manual here, connection is simply refused: ERR_FAILED.


I’m using this to create persistant notifications in HA by sending an email with subject ‘HA:…’
The action could also be used to switch something.
Maybe for some inspiration.

  - platform: imap_email_content
    name: imap_notify
    port: 993
    username: *******
    password: *******
      - [email protected]
    value_template: >-
      {% if 'HA:' in subject %}
        {{ subject.split(':')[1] }}
      {% else %}
      {% endif %}
    scan_interval: 300

  - alias: imap_notify
    initial_state: true
      - platform: state
        entity_id: sensor.imap_notify
      - condition: template
        value_template: >
          {{ trigger.to_state.state != 'unknown' and trigger.to_state.state != 'ignore' }}
      - service: persistent_notification.create
          title: "HA IMAP Notify"
          message: "{{ trigger.to_state.state }}"
1 Like

Ah okay, didn’t know about this. Thanks for the info!

I don’t have any experience with Telegram, but this page should contain the infos you need:

1 Like