Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. GSM Modul sim800l über ESPHome ansteuern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    GSM Modul sim800l über ESPHome ansteuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      ichbinblue2010 last edited by 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 1 Reply Last reply Reply Quote 0
      • I
        ichbinblue2010 @ichbinblue2010 last edited by ichbinblue2010

        @ichbinblue2010

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

        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 Reply Quote 0
        • K
          Kopterframe @ichbinblue2010 last edited by

          @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 Reply Quote 0
          • I
            ichbinblue2010 @Kopterframe last edited by

            @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 Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            905
            Online

            31.7k
            Users

            79.8k
            Topics

            1.3m
            Posts

            2
            4
            364
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo