Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. GSM Modul sim800l über ESPHome ansteuern

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

GSM Modul sim800l über ESPHome ansteuern

Scheduled Pinned Locked Moved Hardware
4 Posts 2 Posters 523 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    ichbinblue2010
    wrote on last edited by ichbinblue2010
    #1

    Hallo
    Um Nachrichten und Mitteilungen zu versenden, möchte ich unabhängig von Messenger Diensten zu werden. Dazu hab ich ein sim800l GSM-Modul mit einem Wemos D1-mini verbunden. Dann hab ich ein yaml für ESP home erstellt.

    Aus den Beispielen von ESPHome:

    Variable Empfang:

    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"
    

    Code Empfang:

    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);
      on_incoming_call:
        - lambda: |-
            id(caller_id_text_sensor).publish_state(caller_id);
      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);
    

    Code Senden:

    button:
      - platform: template
        name: SMS-Senden
        id: SMS_Senden
    
        on_press:
    
           - sim800l.send_sms:
               recipient: '+xxxxxxxxxxxxx’    #TelNr      
               message: test Nachricht 
    
    

    Dieses funktioniert auch sehr gut.

    Aber jetzt zu meinem Problem. Ich möchte die Telefonnumer und Nachricht, welch versendet wird variable gestalten. dazu hab ich TelNr und Nachrichtentext über MQTT an den Wemos übertragen (MQTT, da ich gelesen hab das sonst eine Übertragung von IOBroker zu ESPHome per API nicht möglich ist).

    text_sensor:
    
      - platform: mqtt_subscribe
        name: "SMS-Senden_TelNr"
        id: empfnr
        topic: GSM/telnr
    
      - platform: mqtt_subscribe
        name: "SMS-Senden-Text"
        id: smstext 
        topic: GSM/sms_txt
    

    Das funktioniert auch. Aber wie bekomme ich die Variablen id: empfnr und id: smstext nach

    • sim800l.send_sms:
      recipient: --> id:empfnr
      message: --> id:smstxt

    geschrieben.

    Für Tips bedanke Ich mich.

    I 1 Reply Last reply
    0
    • I ichbinblue2010

      Hallo
      Um Nachrichten und Mitteilungen zu versenden, möchte ich unabhängig von Messenger Diensten zu werden. Dazu hab ich ein sim800l GSM-Modul mit einem Wemos D1-mini verbunden. Dann hab ich ein yaml für ESP home erstellt.

      Aus den Beispielen von ESPHome:

      Variable Empfang:

      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"
      

      Code Empfang:

      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);
        on_incoming_call:
          - lambda: |-
              id(caller_id_text_sensor).publish_state(caller_id);
        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);
      

      Code Senden:

      button:
        - platform: template
          name: SMS-Senden
          id: SMS_Senden
      
          on_press:
      
             - sim800l.send_sms:
                 recipient: '+xxxxxxxxxxxxx’    #TelNr      
                 message: test Nachricht 
      
      

      Dieses funktioniert auch sehr gut.

      Aber jetzt zu meinem Problem. Ich möchte die Telefonnumer und Nachricht, welch versendet wird variable gestalten. dazu hab ich TelNr und Nachrichtentext über MQTT an den Wemos übertragen (MQTT, da ich gelesen hab das sonst eine Übertragung von IOBroker zu ESPHome per API nicht möglich ist).

      text_sensor:
      
        - platform: mqtt_subscribe
          name: "SMS-Senden_TelNr"
          id: empfnr
          topic: GSM/telnr
      
        - platform: mqtt_subscribe
          name: "SMS-Senden-Text"
          id: smstext 
          topic: GSM/sms_txt
      

      Das funktioniert auch. Aber wie bekomme ich die Variablen id: empfnr und id: smstext nach

      • sim800l.send_sms:
        recipient: --> id:empfnr
        message: --> id:smstxt

      geschrieben.

      Für Tips bedanke Ich mich.

      I Offline
      I Offline
      ichbinblue2010
      wrote on last edited by ichbinblue2010
      #2

      @ichbinblue2010

      Hallo
      Jetzt ist ein Tag vergangen und ich hab noch einmal rumprobiert. Jetzt funktioniert es :clap: .
      Eigentlich ganz einfach wenn man weis wie :blush:

      button:
        - platform: template
          name: SMS-Senden
          id: SMS_Senden
      
          on_press:
      
             - sim800l.send_sms:
                 recipient:   !lambda |-        
                   return id(empfnr).state ;
                 
                 message: !lambda |-        
                   return id(smstext).state ;
      
      
      

      komplet sieht das Ganze jetzt so aus:

      esphome:
        name: esp8266-wemos-gsm
        friendly_name: ESP8266-Wemos-GSM
      
      esp8266:
        board: d1_mini 
      
      web_server:
        port: 80
      
      mqtt:
        broker: 192.168.178.222
      
      
      status_led:
        pin: 
          number:  GPIO2
          inverted: true
      
      
      switch:
        - platform: restart
          name: "Restart-ESP8266-Wemos-GSM"
      
      
      sensor:
      
        - platform: sim800l
          rssi:
            name: "Sim800L RSSI"
      
      
      binary_sensor:
        - platform: sim800l
          registered:
            name: "Sim800L Registered"
      
      
      ####### Uart Parameter
      uart:
        baud_rate: 9600
        tx_pin: TX
        rx_pin: RX
      
      
      text_sensor:
      ######## empfang
        - 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"
      ######## senden
        - platform: mqtt_subscribe
          name: "SMS-Senden_TelNr"
          id: sms_telnr_senden
          topic: GSM/telnr
        - platform: mqtt_subscribe
          name: "SMS-Senden-Text"
          id: sms_text_senden 
          topic: GSM/sms_txt
      
      ####### senden bei Knopfdruck
      button:
        - platform: template
          name: SMS-Senden
          id: SMS_Senden
      
          on_press:
      
             - sim800l.send_sms:
                 recipient:   !lambda |-        
                   return id(sms_telnr_senden).state ;
                 
                 message: !lambda |-        
                   return id(sms_text_senden).state ;
      
      
      ####### sms Empfang
      sim800l:
        on_sms_received:
          - lambda: |-
              id(sms_sender).publish_state(sender);
              id(sms_message).publish_state(message);
        on_incoming_call:
          - lambda: |-
              id(caller_id_text_sensor).publish_state(caller_id);
        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);
      
      
      
      
      # Enable logging
      logger:
        baud_rate: 0 # disable uart logger on esp 8266
      
        
      # Enable Home Assistant API
      api:
        encryption:
          key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      
      ota:
        password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      
      wifi:
        ssid: !secret wifi_ssid
        password: !secret wifi_password
       
        # Enable fallback hotspot (captive portal) in case wifi connection fails
       
        ap:
          ssid: "ESP8266-Wemos-GSM"
          password: "xxxxxxxxxxxx"
      
      captive_portal:
      

      Was bei der ganzen sache nicht so schön ist, dass die empfangenen SMS im ESPHome Pfad sind und die zu sendenen im MQTT Pfad. Das werde ich über den Alias Adapter machen dann hat man alle Datenpunkte in einem Pfad.

      CU ichbinblue

      K 1 Reply Last reply
      0
      • I ichbinblue2010

        @ichbinblue2010

        Hallo
        Jetzt ist ein Tag vergangen und ich hab noch einmal rumprobiert. Jetzt funktioniert es :clap: .
        Eigentlich ganz einfach wenn man weis wie :blush:

        button:
          - platform: template
            name: SMS-Senden
            id: SMS_Senden
        
            on_press:
        
               - sim800l.send_sms:
                   recipient:   !lambda |-        
                     return id(empfnr).state ;
                   
                   message: !lambda |-        
                     return id(smstext).state ;
        
        
        

        komplet sieht das Ganze jetzt so aus:

        esphome:
          name: esp8266-wemos-gsm
          friendly_name: ESP8266-Wemos-GSM
        
        esp8266:
          board: d1_mini 
        
        web_server:
          port: 80
        
        mqtt:
          broker: 192.168.178.222
        
        
        status_led:
          pin: 
            number:  GPIO2
            inverted: true
        
        
        switch:
          - platform: restart
            name: "Restart-ESP8266-Wemos-GSM"
        
        
        sensor:
        
          - platform: sim800l
            rssi:
              name: "Sim800L RSSI"
        
        
        binary_sensor:
          - platform: sim800l
            registered:
              name: "Sim800L Registered"
        
        
        ####### Uart Parameter
        uart:
          baud_rate: 9600
          tx_pin: TX
          rx_pin: RX
        
        
        text_sensor:
        ######## empfang
          - 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"
        ######## senden
          - platform: mqtt_subscribe
            name: "SMS-Senden_TelNr"
            id: sms_telnr_senden
            topic: GSM/telnr
          - platform: mqtt_subscribe
            name: "SMS-Senden-Text"
            id: sms_text_senden 
            topic: GSM/sms_txt
        
        ####### senden bei Knopfdruck
        button:
          - platform: template
            name: SMS-Senden
            id: SMS_Senden
        
            on_press:
        
               - sim800l.send_sms:
                   recipient:   !lambda |-        
                     return id(sms_telnr_senden).state ;
                   
                   message: !lambda |-        
                     return id(sms_text_senden).state ;
        
        
        ####### sms Empfang
        sim800l:
          on_sms_received:
            - lambda: |-
                id(sms_sender).publish_state(sender);
                id(sms_message).publish_state(message);
          on_incoming_call:
            - lambda: |-
                id(caller_id_text_sensor).publish_state(caller_id);
          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);
        
        
        
        
        # Enable logging
        logger:
          baud_rate: 0 # disable uart logger on esp 8266
        
          
        # Enable Home Assistant API
        api:
          encryption:
            key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        
        ota:
          password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        
        wifi:
          ssid: !secret wifi_ssid
          password: !secret wifi_password
         
          # Enable fallback hotspot (captive portal) in case wifi connection fails
         
          ap:
            ssid: "ESP8266-Wemos-GSM"
            password: "xxxxxxxxxxxx"
        
        captive_portal:
        

        Was bei der ganzen sache nicht so schön ist, dass die empfangenen SMS im ESPHome Pfad sind und die zu sendenen im MQTT Pfad. Das werde ich über den Alias Adapter machen dann hat man alle Datenpunkte in einem Pfad.

        CU ichbinblue

        K Offline
        K Offline
        Kopterframe
        wrote on last edited by
        #3

        @ichbinblue2010 Sehr interessantes Projekt, zumal für ein stand Alone Projekt, wo z.B. kein Internet besteht.
        Wie ist das mit dem Pin der Simkarte gelöst? Den Pin raus genommen? und welche Netze gehen?
        Grüße Heiko

        I 1 Reply Last reply
        0
        • K Kopterframe

          @ichbinblue2010 Sehr interessantes Projekt, zumal für ein stand Alone Projekt, wo z.B. kein Internet besteht.
          Wie ist das mit dem Pin der Simkarte gelöst? Den Pin raus genommen? und welche Netze gehen?
          Grüße Heiko

          I Offline
          I Offline
          ichbinblue2010
          wrote on last edited by
          #4

          @kopterframe Hallo
          Bei der SIM Karte ist die Pin deaktiviert. In der Doku hab ich auch keinen Parameter zur Pin Eingabe gefunden. Die Telefonkarte ist eine Pre-Paid Karte von Congstar. Das ist D1.

          CU IchBinBlue

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          525

          Online

          32.4k

          Users

          81.5k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe