Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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.7k

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

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

GSM Modul sim800l über ESPHome ansteuern

Geplant Angeheftet Gesperrt Verschoben Hardware
4 Beiträge 2 Kommentatoren 523 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • I Offline
    I Offline
    ichbinblue2010
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          943

          Online

          32.4k

          Benutzer

          81.5k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe