Esp32 sim800l ttgo t call .. not working

Hi, Guillermo.

It works fine now with DEV branch !

Thank you

I’ve got two of these boards and can’t seem to get them to flash ESPHome properly at all - is there a trick I’ve missed?

Mine both just start boot looping after what appears to be a successful flash. ESPHome’s Git repo has an issue #598 that was apparently resolved with the latest flashing tool but it hasn’t worked for me.

Sorry if I’ve missed something obvious; it’s my first ESP32 and it seems these are totally different beasts to their older siblings!

EDIT: Fixed. Silly YAML.

Does that mean switching the ESPHome HA addon to the Dev one?

EDIT: Yep, answered my own question :crazy_face:

1 Like

Ready to smash this thing to pieces :laughing:

I had the SMS element working flawlessly on this but now it doesn’t seem to work at all - I’m getting a weird problem where it’s pulling messages from long ago rather than the message it’s actually receiving. Some of them very old indeed. Very similar to this issue, but I can’t seem to fix. I’ve also had it send repeated messages until it burned its way through £10 worth of credit when it was only supposed to text once!

I thought if I incorporated the right AT command (tried the below combinations) I could include an automation to clear old messages but I can’t seem to get the syntax right and just get ‘Not Ack’ back.

It’s definitely not power related - it’s running off an 18650.

Has anyone else had issues like this?

The driver if far from perfect and not so well tested in different conditions. Mine works ok. I receive one or two gvmnt sms daily.
You can try loading the sim on a phone and make sure there are no stored messages on it. That can be confusing the driver.

Did anyone here tried implementing battery reading percentage?

1 Like

Thank you all
I has worked for me:

switch:

  • platform: gpio
    name: “SIM800_PWKEY”
    pin: 4
    restore_mode: ALWAYS_OFF
  • platform: gpio
    name: “SIM800_RST”
    pin: 5
    restore_mode: ALWAYS_ON
  • platform: gpio
    name: “SIM800_POWER”
    pin: 23
    restore_mode: ALWAYS_ON

uart:
baud_rate: 9600
tx_pin: 27
rx_pin: 26

It’s unbelievable how fast I managed to make this work thanks to your comments

Thank you

1 Like

and signal strength?

Hello,

Would you have found a way to know:

  • Signal strength
  • IF the connection to the mobile networks is OK

I found that, it should be adapted to ESPHOME

Thank you

Hello. Please tell me. Need to:

  1. som800l hangs up after determining the caller’s number;
  2. 5 seconds after the number was determined, changed the state of the Phone number object.

Thank you

esphome:
  name: "ttgo-t-call-esp32"
  friendly_name: TTGO T-Call

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:
  encryption:
    key: "******"

  services:
    - service: send_sms
      variables:
        recipient: string
        message: string
      then:
        - sim800l.send_sms:
            recipient: !lambda 'return recipient;'
            message: !lambda 'return message;'
    - service: dial
      variables:
        recipient: string
      then:
        - sim800l.dial:
            recipient: !lambda 'return recipient;'
    - service: connect
      then:
        - sim800l.connect
    - service: disconnect
      then:
        - sim800l.disconnect
    - service: send_ussd
      variables:
        ussdCode: string
      then:
        - sim800l.send_ussd:
            ussd: !lambda 'return ussdCode;'

text_sensor:
  - platform: template
    id: sms_sender
    name: "Sms Sender"
  - platform: template
    id: sms_message
    name: "Sms Message"
  - platform: template
    id: caller_id_text_sensor
    name: "Caller ID"
  - platform: template
    id: ussd_message
    name: "Ussd Code"

uart:
  baud_rate: 9600
  tx_pin: 27
  rx_pin: 26

sim800l:
  on_sms_received:
    - lambda: |-
        id(sms_sender).publish_state(sender);
        id(sms_message).publish_state(message);
  on_incoming_call:
  - logger.log:
      format: "Incoming call from '%s'"
      args: ["caller_id.c_str()"]
  - lambda: |-
      id(caller_id_text_sensor).publish_state(caller_id);
  - sim800l.disconnect
  - homeassistant.event:
      event: esphome.incoming_call_event
      data:
        payload: !lambda 'return id(caller_id_text_sensor).state;'
  on_call_connected:
    - logger.log:
        format: Call connected
  on_call_disconnected:
    - logger.log:
        format: Call disconnected
  on_ussd_received:
    - lambda: |-
        id(ussd_message).publish_state(ussd);

switch: 
   - platform: gpio 
     name: "SIM800_PWKEY" 
     pin: 4 
     restore_mode: ALWAYS_OFF 
     internal: true 
   - platform: gpio 
     name: "SIM800_RST" 
     pin: 5 
     restore_mode: ALWAYS_ON 
     internal: true 
   - platform: gpio 
     name: "SIM800_POWER" 
     pin: 23 
     restore_mode: ALWAYS_ON 
     internal: true