Excellent, la carte semble effectivement 4G. Cela règlerait le point et assurerait de la pérennité de la solution.
Bon il faut un beta tester maintenant… Tu vas la tester ?
Alors ca me dérange pas de tester mais manque de temps. Après je l’ai pas trouvé sur le site de ESP Home. A votre avis comme il se ressemble cela fonctionner simplement en suivant ce tuto ?
Bon, j’ai un peu cherché : il n’a jamais été testé et n’est manifestement pas supporté par ESPHome pour l’instant. Je n’est rien trouvé qui laisserait penser que les sdk des 2 seraient les mêmes. Donc je dirait qu’il y a peu de chances et qu’il faut attendre sa prise en charge.
A suivre…
J’avais aussi fait des recherches il y a un moment mais rien trouvé personnes ne l’utilise sur HA comme tu dit à suivre.
Bonjour,
Certains ont-ils essayé d’utiliser la carte Sim800L externe branchée à un esp32 classique ?
Je me pose la question sur comment l’alimenter car d’après la doc elle fonctionne entre 3,6 et 4,3V avec des pics à plus de 2A, ce qui signifierait une alim dédiée ou un circuit d’adaptation.
Bonjour,
Pour ceux chez qui la carte sim Free ne fonctionne pas, sachez qu’actuellement Cdiscount propose un forfait Appels/SMS/MMS illimités + 3Go France & 3 Go Europe/DOM sans engagement à 3€/mois
Voir ici
Bonsoir Argonautes,
Un tout grand merci pour le partage de ton blog sur les SMS et appels avec ESPHome que j’ai réussi à faire fonctionner grâce à toi
J’ai juste une question, est il possible d’utiliser un appel comme Trigger ?
Ex: mon père appelle et le portail s’ouvre. ( Il est trop « ancien » pour utiliser les SMS
D’avance merci pour ton aide.
François.
Merci pour ton retour et content de savoir que tu as réussi.
Oui c’est possible. Dans mon tuto, j’utilise dans mon code sous ESPHome on_sms_received
pour capter la réception d’un SMS et mettre les infos émetteur et message dans des sensors text.
Tu dois t’inspirer de ce code et utiliser cette fois un trigger on_incoming_call
sous ESPHome
Voir pour cela la doc :
Créer un sensor text sous ESPHome pour y stocker le no de l’appelant. Il sera renseigné quand quelqu’un appelle, comme je l’ai fait pour le SMS.
Il faut aussi créer sous ESPHome un service qui remet a vide ce numero de l’appelant (ou pourquoi pas no de l’appelant avec ok derrière).
Comme pour le SMS, tu pourra ensuite créer une automatisation sous HA qui se déclenche lors d’un appel (le numero appelant devient celui de ton père) et ouvrira le portail.
Puis ensuite l’automatisation devra appeler le service ESPHome qui remet a vide le no de l’appelant pour permettre un déclenchement la prochaine fois,
Comme toujours, il y aurait d’autres moyens de coder cela, mais ce code s’inspire du code du SMS.
Bonjour à tous, je viens de me prendre un ESP32 lilygo A7670, avec le module sim 4G, toujours pas de nouvelles concernant sa compatibilité avec EspHome ?
Re bonjour tout le monde, j’ai réussi !
Bon il y a surement des lignes inutiles, mais ça fonctionne ! Mon papa est ravi
voici le code :
esphome:
name: esp-sim800
esp32:
board: esp-wrover-kit
framework:
type: arduino
logger:
level: info
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Home Assistant API
api:
services:
- service: send_sms
variables:
recipient: string
message: string
then:
- sim800l.send_sms:
recipient: !lambda 'return recipient;'
message: !lambda 'return message;'
- lambda: id(esp_sim800_sms_message).publish_state(message);
- service: dial
variables:
recipient: string
then:
- sim800l.dial:
recipient: !lambda 'return recipient;'
- service: connect
then:
- sim800l.connect
- service: disconnect
then:
- sim800l.disconnect
# Retourne le dernier message reçus au dernier expéditeut en y ajoutant OK
- service: reply_sms_ok
then:
- text_sensor.template.publish:
id: esp_sim800_sms_message
state: !lambda |-
return id(esp_sim800_sms_message).state + " OK";
- sim800l.send_sms:
recipient: !lambda "return id(esp_sim800_sms_expediteur).state;"
message: !lambda "return id(esp_sim800_sms_message).state;"
# Change le dernier numéro reçu en y ajoutant OK
- service: change_id_call_ok
then:
- text_sensor.template.publish:
id: caller_id_text_sensor
state: !lambda |-
return id(caller_id_text_sensor).state + " OK";
uart:
baud_rate: 9600
tx_pin: 27
rx_pin: 26
switch:
- platform: gpio
id: "key_pin"
pin: 4
restore_mode: ALWAYS_OFF
- platform: gpio
id: "reset_pin"
pin: 5
restore_mode: ALWAYS_ON
- platform: gpio
id: "power_pin"
pin: 23
restore_mode: ALWAYS_ON
# Bouton de redémarrage
button:
- platform: restart
id: esp_sim800_restart
name: "ESP-SIM800 Redémarrage"
sim800l:
on_sms_received:
- lambda: |-
id(esp_sim800_sms_expediteur).publish_state(sender);
id(esp_sim800_sms_message).publish_state(message);
- logger.log:
format: "Received '%s' from %s"
args: [ 'message.c_str()', 'sender.c_str()' ]
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
text_sensor:
- platform: template
id: esp_sim800_sms_expediteur
name: "Sms Expediteur"
- platform: template
id: esp_sim800_sms_message
name: "Sms Message"
- platform: template
id: caller_id_text_sensor
name: "Caller ID"
sensor:
- platform: sim800l
rssi:
name: "ESP sim800 signal"
binary_sensor:
- platform: sim800l
registered:
name: "ESP sim800 status"
Encore un tout grand merci Argonaute !
Oh, trop génial, bravo !! Un beau cas d’utilisation, pour le coup pas banal.
Et merci pour le partage
Bonjour,
Merci pour ce thread très complet et qui fonctionne bien pour moi !
Peut-on faire un retour à la ligne dans le message SMS pour afficher plusieurs informations sur des lignes différentes ?
Dans l’état, l’API renvoie une erreur si on utilise un template contenant un retour à la ligne.
Merci et content que tu ai réussi !
Je n’ai pas essayé et compliqué de le faire a court terme, mais il faudrait tester un \n dans la chaine de caractères du message.
Je n’avais même pas tenté, mais un \n permet bien de faire un retour à la ligne. Merci !
Je continue à enrichir mes alertes SMS en utilisant NodeRED. Je vois bien qu’il y a un problème d’encodage car les caractères accentués ou autres apostrophes passent mal. Quel est finalement l’encodage attendu du texte du message ? Je n’arrive pas à le trouver dans le doc.
Je n’ai rien vu sur l’encodage. Je crains que ce soit du simple ASCI et qu’unicode UTF8 ou autre encodage ISO ne soient pas supportés (?)
Dommage de ne pas utiliser les automatisations HA pour cela, c’est vraiment mieux intégré et pas de payload a gérer.
Bonsoir
j’ai mis en place esphome sur une carte lilygo tcall (avec une sim interne)
je suis bloqué quand la carte boot j’ai toujours le message : not register
pouvez vous m’aider ?
merci
Cela semble être un problème de réseau 2g.
Tu as désactivé le code pin ? Tu as bien du réseau 2g chez toi ? Quel est l’opérateur ?
oui le code pin est retiré
je suis chez Free
comment savoir si j’ai un reseau 2G ?
il n’existe pas une carte qui fait du SMS en 3G ou 4G?
merci
A ma connaissance, non, pas de cartes 3g/4g, mais je n’ai pas cherché récemment et les choses bougent vites. Après on parle ici d’envoyer juste des sms.
Pour la carte Free, c’est ici (onglet voix) : Free mobile - Carte de couverture réseau mobile