GSM-SMS

Отправка и получение SMS с помощью GSM-оборудования

Текущий релиз
1.1.0
Разработчик
forelleblau, Iobroker Community
Лицензия
MIT

gsmsms адаптер для ioBroker

Отправляйте и получайте SMS с помощью GSM-оборудования.

Аппаратное обеспечение

Любое GSM-оборудование (например, плата расширения, стик и т. д.), подключенное к последовательному порту вашего устройства ioBroker. GSM-модули/стики потребляют много энергии. Пожалуйста, обеспечьте достаточное электропитание.

Для некоторых устройств необходимо установить правильный режим для последовательной связи (см. 'usb_modeswitch').

Настройки

Настройки порта и подключения

Путь к последовательному порту — обязательно.

например/dev/ttyUSB0 или/dev/serial/by-id/xxxxxxxxxxx (by-id более стабилен, ttyUSBx может измениться после перезагрузки)

Некоторые устройства имеют несколько USB-портов, поэтому, возможно, вам придётся их протестировать. Скорее всего, первый порт будет работать, но, возможно, не будет присылать уведомления о входящих сообщениях. В этом случае вы можете попробовать другой порт, отправить SMS и посмотреть, будет ли оно получено через несколько секунд (например, на Huawei это третий порт).

Ваш PIN-код SIM-карты

Если ваша SIM-карта защищена PIN-кодом, введите его, и он будет использован для разблокировки SIM-карты во время инициализации (пустое поле означает, что «на SIM-карте нет PIN-кода»).

настройки GSM

Чтобы не исчерпать память SIM-карты, все SMS-сообщения удаляются с SIM-карты после доставки/чтения. Используйте, например, адаптер «история» для хранения сообщений или любое другое удобное решение.

ИмяТипПо умолчаниюОписание
Индикация входящего SMSлогическийистинныйПозволяет модему уведомлять о получении нового SMS-сообщения.
Включить конкатенациюлогическийистинныйПринимайте объединенные сообщения как одно целое.
Пользовательская команда инициализациинитьЕсли вашему устройству требуется пользовательская команда инициализации, её можно указать, и она будет использована после проверки PIN-кода. Например, для некоторых устройств требуется команда 'AT+CPMS="SM","SM","SM"' для получения правильного набора памяти. Ожидается, что команда вернет результат.'OK' (Пустое поле означает «нет пользовательской команды для инициализации»). Пожалуйста, обратитесь к техническим характеристикам вашего GSM-устройства.
CNMI при открытии/закрытии модеманить'2,1,0,2,0' / '2,0,2,2,1'Определяет, сохраняются ли сообщения на SIM-карте или доставляются мгновенно. Пожалуйста, обратитесь к техническим характеристикам вашего GSM-устройства.

Настройки последовательного порта

Пожалуйста, ознакомьтесь с техническими характеристиками вашего устройства GMS (в большинстве случаев вам поможет Google).

ИмяТипПо умолчаниюОписание
baudRateчисло19200Скорость передачи данных в порту (боды).
dataBitsчисло8Должно быть одно из следующих значений: 8, 7, 6 или 5.
стопБитсчисло1Должно быть одно из следующих значений: 1 или 2.
паритетнить"никто"Должно быть одно из следующих значений: 'none', 'even', 'mark', 'odd', 'space'.
rtsctsлогическийЛОЖЬнастройка управления потоком
ксонлогическийЛОЖЬнастройка управления потоком
xoffлогическийЛОЖЬнастройка управления потоком
ксанилогическийЛОЖЬнастройки управления потоком

Другие настройки и рекомендации

Для указания в качестве адаптерных объектов (admin.x )

  • ваше имя (по умолчанию)ownNumber Максимальная длина — 16 символов.
  • Ваш номер телефона.
  • Режим работы SMS (PDU илиSMS ,PDU (Это значение по умолчанию и рекомендуется).

Все входные данные должны быть введены с параметром ack=false!

История входящих/исходящих сообщений

Активировав адаптер истории дляinbox.messageRaw - объект иsendSMS.messageRaw - Благодаря этому вы получаете полный список входящих и исходящих SMS-сообщений.

Функциональные возможности

Получать SMS

Входящие SMS-сообщения записываются вinbox.* - объекты.inbox.messageRaw может использоваться в качестве триггера для дальнейших операций (например, пересылки входящих SMS-сообщений через адаптер электронной почты).

Отправить SMS

Чтобы отправить SMS, заполните форму.sendSMS.recipient, sendSMS.message и при необходимостиsendSMS.alert и толкнутьsendSMS.send - кнопка. Или установитеsendSMS.messageRaw - Объект, содержащий строку в следующем формате и ack=false:{"recipient": "Number", "message":"Yourtext", "alert":"false"} .

Этот адаптер также предоставляет comm-block для функций blockly и sendTo для других скриптов (sendTo("gsmsms. InstanceNo ", "send", {text: ' yourText ',recipient: ' phonenumber ', alert: ' false/true '});).

Выполнение команд AT+

! Пожалуйста, убедитесь, что вы понимаете, что делаете при настройке команд AT+, это ваша SIM-карта/устройство.

AT+команды отправляются путем установки параметров.admin.atCommandSLR в форматеAT+XXXXy Отправьте любую команду, но имейте в виду, что вы увидите только последнюю строку ответа.

Serialport-gsm

Этот адаптер основан на плагине SerialPort-GSM для связи с GSM-модемами, в первую очередь для отправки SMS-сообщений.

Кредиты

Создание этого адаптера было бы невозможно без замечательной работы @forelleblau ( https://github.com/forelleblau ), которая разрабатывала предыдущие версии этого адаптера.

Changelog

WORK IN PROGRESS

  • (copilot) Adapter requires node.js >= 22 now

1.1.0 (2026-03-08)

  • (copilot) Adapter requires admin >= 7.7.22 now
  • (copilot) Adapter requires js-controller >= 6.0.11 now
  • (mcm1957) Dependencies have been update

1.0.0 (2024-11-23)

  • (mcm1957) Adapter requires node.js 20 now.
  • (mcm1957) Adapter requires js-controller 5.0.19 and admin 6.17.14 now.
  • (mcm1957) Adapter has been moved to iobroker-community-adapters organization
  • (mcm1957) Some issues reported by adapter checker have been fixed.
  • (mcm1957) Dependencies have been update

0.0.6

  • (forelleblau) jsonConfig.json, notifications-manager

0.0.5

  • (forelleblau) bug fixed (adapter set "undefined" into state values)

0.0.4

  • (Apollon77) Optimizations, brush up to comply with ioBroker.repositories requirements

License

MIT License

Copyright (c) 2023-2026 iobroker-community-adapters iobroker-community-adapters@gmx.de
Copyright (c) 2022-2023 forelleblau mailto:marceladam@gmx.ch

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.