From 77e2ad4886d465af98abf8153cb92f406aed3d6e Mon Sep 17 00:00:00 2001 From: Guillermo Ruffino Date: Mon, 17 Jun 2019 11:58:16 -0300 Subject: [PATCH] Add SIM800L docs (#257) * Add SIM800L docs * Update components/sim800l.rst Co-Authored-By: Otto Winter * Update components/sim800l.rst Co-Authored-By: Otto Winter * Update components/sim800l.rst Co-Authored-By: Otto Winter * review and adding getting started * Updates * Update components/sim800l.rst Co-Authored-By: Otto Winter * Update components/sim800l.rst Co-Authored-By: Otto Winter --- components/images/sim800l-full.jpg | Bin 0 -> 33179 bytes components/sim800l.rst | 165 +++++++++++++++++++++++++++++ guides/automations.rst | 2 + images/sim800l.jpg | Bin 0 -> 23319 bytes index.rst | 1 + 5 files changed, 168 insertions(+) create mode 100755 components/images/sim800l-full.jpg create mode 100644 components/sim800l.rst create mode 100755 images/sim800l.jpg diff --git a/components/images/sim800l-full.jpg b/components/images/sim800l-full.jpg new file mode 100755 index 0000000000000000000000000000000000000000..1c6d016f2ba726d86655b539630b89bb9274e46e GIT binary patch literal 33179 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 Joqy{$|Jh~5uc!b3 literal 0 HcmV?d00001 diff --git a/components/sim800l.rst b/components/sim800l.rst new file mode 100644 index 000000000..879239dbb --- /dev/null +++ b/components/sim800l.rst @@ -0,0 +1,165 @@ +Sim800L Component +================= + +.. seo:: + :description: Instructions for setting up the SIM800L gsm module to send and receive SMS in ESPHome. + :image: sim800l.jpg + :keywords: SMS SIM800L GSM + +The ``SIM800L`` Component provides the ability to send and receive SMS text messages. The device must be +connected via a :doc:`UART bus ` supporting both receiving and transmitting line. +The uart bus must be configured at the same speed of the module which is by default 9600bps. +The required connection wires are ``+VCC``, ``GND``, ``RX`` and ``TX``. + +.. warning:: + + If you are using the :doc:`logger` make sure you are not using the same pins for ``TX`` and ``RX`` or + otherwise disable the uart logging with the ``baud_rate: 0`` option. + +.. note:: + + This module requires a power supply between 3.8V and 4.2V that can handle current spikes up + to 2 amps, it will not work by powering from the same 3.3v power source of the ESP. However you can + connect ``TX`` and ``RX`` lines directly without any level shifter. + +.. figure:: images/sim800l-full.jpg + :align: center + :width: 60.0% + +.. code-block:: yaml + + # Example configuration entry + uart: + baud_rate: 9600 + tx_pin: TX + rx_pin: RX + + sim800l: + on_sms_received: + - logger.log: + format: "Received '%s' from %s" + args: [ 'message.c_str()', 'sender.c_str()' ] + +Configuration variables: +------------------------ + +- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the UART hub. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. +- **on_sms_received** (*Optional*, :ref:`Automation `): An action to be + performed when a sms is received. See :ref:`sim800l-on_sms_received`. + +.. _sim800l-on_sms_received: + +``on_sms_received`` Trigger +--------------------------- + +With this configuration option you can write complex automations whenever a sms message +is received. To use the message content, use a :ref:`lambda ` +template, the message content and the sender phone number are available inside that lambda +under the variables named ``message`` and ``sender`` respectively. + +.. code-block:: yaml + + on_sms_received: + - lambda: |- + id(sms_sender).publish_state(sender); + id(sms_message).publish_state(message); + + +.. _sim800l-send_sms_action: + +``sim800l.send_sms`` Action +--------------------------- + +Send a SMS message to a phone recipient using this action in automations. + +.. code-block:: yaml + + on_...: + then: + - sim800l.send_sms: + recipient: '+15551234567' + message: Hello there + + # Templated: + - sim800l.send_sms: + recipient: !lambda |- + if (id(reed_switch).state) return "+15551234567"; + else return "15551234568"; + message: !lambda |- + return id(reed_switch).state ? "Door is now OPEN" : "Hey door just CLOSED"; + +Configuration options: + +- **recipient** (***Required**, string, :ref:`templatable `): The message recipient. + number. +- **message** (**Required**, string, :ref:`templatable `): The message content. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID of the Sim800L if you have multiple components. + +.. note:: + + This action can also be written in :ref:`lambdas `: + + .. code-block:: cpp + + id(sim800l1).send_sms("+15551234567", "The message content"); + + +Getting started with Home Assistant +----------------------------------- + +The following code will get you up and running with a configuration updating received messages +on Home Assistant and will also setup a service so you can send messages with your Sim800L. + +.. code-block:: yaml + + api: + services: + - service: send_sms + variables: + recipient: string + message: string + then: + - sim800l.send_sms: + recipient: !lambda 'return recipient;' + message: !lambda 'return message;' + + text_sensor: + - platform: template + id: sms_sender + name: "Sms Sender" + - platform: template + id: sms_message + name: "Sms Message" + + uart: + baud_rate: 9600 + tx_pin: TX + rx_pin: RX + + sim800l: + on_sms_received: + - lambda: |- + id(sms_sender).publish_state(sender); + id(sms_message).publish_state(message); + +Now your latest received sms and sender number will be displayed by the text sensors. + +To trigger the automation from Home Assistant you can invoke the service with this code: + +.. code-block:: yaml + + automation: + # ... + action: + - service: esphome.livingroom_send_sms + data: + recipient: "+15551234567" + message: "Hello World!" + +See Also +-------- + +- :apiref:`sim800l/sim800l.h` +- :doc:`/components/uart` +- :ghedit:`Edit` diff --git a/guides/automations.rst b/guides/automations.rst index ed0317933..9ac3e87f4 100644 --- a/guides/automations.rst +++ b/guides/automations.rst @@ -326,6 +326,7 @@ All Triggers - :doc:`remote_receiver.on_* ` - :doc:`sun.on_sunrise ` / :doc:`sun.on_sunset ` - :ref:`switch.on_turn_on/off ` +- :ref:`sim800l.on_sms_received ` All Actions ----------- @@ -360,6 +361,7 @@ All Actions - :ref:`sensor.integration.reset ` - :ref:`display.page.show_* ` - :ref:`uart.write ` +- :ref:`sim800l.send_sms ` .. _config-condition: diff --git a/images/sim800l.jpg b/images/sim800l.jpg new file mode 100755 index 0000000000000000000000000000000000000000..a27fd109c196f5a96a6839cdac44271c9f4089e3 GIT binary patch literal 23319 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 SUlh5uW@~p+o2*Rznf@