Skip to content

Fork and some update #30

@wikibrikofix

Description

@wikibrikofix

Hi @black-roland, here's my fork https://github.com/wikibrikofix/homeassistant-gsm-call
I made some changes, but I'm not sure if you'd be interested in integrating some of my development (made with Kiro AI) into your project.
I'm testing everything with an E169 and everything seems to be working fine.

Modernized to current Home Assistant standards

  1. Migrated from legacy BaseNotificationService to the modern NotifyEntity entity platform
  2. Implemented async_setup_entry / async_unload_entry with proper lifecycle management via hass.data
  3. Added DeviceInfo for proper device registry integration
  4. Added integration_type and config_flow to manifest.json
  5. Removed deprecated code and unused imports

New UI configuration wizard

  1. Full Config Flow support: configure the integration entirely from the Home Assistant UI (Settings → Integrations → Add → GSM Call)
  2. No more manual configuration.yaml editing required
  3. Serial device path, notification type (call/SMS), hardware type, dial timeout and call duration are all configurable from the wizard
  4. Same modem can be configured for both voice calls and SMS as separate entries

Sequential multi-number dialing (alarm mode)

  1. Send multiple phone numbers separated by | (e.g. +39num1|+39num2|+39num3)
  2. Calls each number in sequence; only stops when someone answers
  3. If a number doesn't answer, is unreachable, or busy → automatically calls the next one
  4. Designed to work with Alarmo and other alarm panels, mimicking the behavior of physical alarm dialers

Huawei E169 compatibility fixes

  1. Fixed AT+CLCC polling: the dialer now probes CLCC support and falls back to passive URC listening if the modem doesn't respond
  2. Fixed call state detection: ^CEND and +CME ERROR during ringing are correctly treated as "not answered" instead of "declined"
  3. Fixed AT+CHUP hangup: the modem response is now consumed before initiating the next call, preventing stale buffer data from corrupting subsequent commands
  4. Added recovery delay between sequential calls for modem stability

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions