[Article] SMS et appels avec HA sans internet

Salut

c’est un problème d’encodage (utf8 , iso-8859-1, …), c’est un problème courant dans l’affichage, mais qui peut être réglé.

Par exemple sur mon nspanel j’ai fait
lambda: id(disp1).set_component_text_printf("Home.temp", "Temp%crature%c%c%.1f%cC", 233, 58, 32, id(temperature).state, 186);
ça permet de remplacer les caractères posant problème, par le code ASCII correspondant. Mais il faut que le texte envoyé soit toujours le même.

Pour du texte composé, il doit y avoir une fonction qui correspond

Oui c’est bien un problème d’encodage de caractère : l’encodage UTF8 n’est pas supporté par défaut et je n’ai pas trouvé si un autre encodage fonctionne et comment le changer. J’utilise actuellement des caractères ASCII de base.

La dernière mise à jour d’esphome a rajouté 2 grandeurs :

  • sensor pour le niveau du signal en dBm
  • binary sensor pour l’état de connexion au réseau

Tout est

2 « J'aime »

Merci pour cette information :slight_smile:

Hello,

Malgré des recherches, je ne suis pas sûr de comprendre qu’est-ce qui est un bon niveau de RSSI. En moyenne je suis entre 5 et 8 :

[11:26:36][D][sim800l:132]: RSSI: 7
[11:26:41][D][sim800l:132]: RSSI: 6
[11:26:46][D][sim800l:132]: RSSI: 6
[11:26:51][D][sim800l:132]: RSSI: 8
[11:26:56][D][sim800l:132]: RSSI: 8
[11:27:01][D][sim800l:132]: RSSI: 8
[11:27:06][D][sim800l:132]: RSSI: 8

Selon vous c’est bon ou pas ?

J’ai 14 dBm de mon côté …

Entre 13 et 15 pour moi :wink:

OK. Du coup tu penses que plus c’est bas mieux c’est ou c’est l’inverse ? D’après mes recherches, plus c’est bas mieux c’est mais je suis pas sur…

Je me demande ça parceque dans le cadre d’une automation ou j’envoi un sms (« Temp » par exemple) qui doit me renvoyer une valeur, je dois renvoyer à nouveau le sms pour avoir un retour.

Ou comme là ou le module semble indiquer un problème pour renvoyer le message (« Not ack » et « Unhandled ») :

[11:44:15][D][sim800l:177]: Received SMS from: +331234567
[11:44:15][D][sim800l:178]: Temp
[11:44:15][D][text_sensor:067]: 'Sms Expediteur': Sending state '+331234567'
[11:44:15][D][text_sensor:067]: 'Sms Message': Sending state 'Temp'
[11:44:15][D][main:083]: Received 'Temp' from +331234567
[11:44:15][D][sim800l:272]: Sending to 01234567: Temperature salon: 16.7 Temperature apo: 15.7
[11:44:15][D][text_sensor:067]: 'Sms Message': Sending state 'Temperature salon: 16.7 Temperature apo: 15.7'
[11:44:15][D][sim800l:199]: Sending message: 'Temperature salon: 16.7 Temperature apo: 15.7'
[11:44:33][D][text_sensor:067]: 'Sms Message': Sending state 'Temperature salon: 16.7 Temperature apo: 15.7'
[11:44:42][W][sim800l:065]: Not ack. 8  
[11:44:42][D][sim800l:236]: Unhandled: +CMGS: 157 - 0
[11:44:42][D][sim800l:236]: Unhandled: OK - 0
[11:44:45][D][sim800l:199]: Sending message: 'Temperature salon: 16.7 Temperature apo: 15.7'
[11:44:53][D][sim800l:212]: SMS Sent OK: +CMGS: 158
[11:44:56][D][sim800l:132]: RSSI: 9

Là on voit que ls sms à finit par bien être envoyé (mais en double). Du coup je me demande si le problème vient d’un manque de signal ou d’un problème dans le SIM800

Je pense que plus le nombre est élevé mieux c’est.
J’ai déja eu aussi quelque fois un pb de sms a envoyer 2 fois pour avoir une réponse et n’ai pas trouver le pb.

Ok. J’ai vu qu’on pouvait acheter une autre antenne pour le SIM800L. Je commande ça et je ferai un retour si ca améliore !

Ok, mais j’ai des doutes que ce soit le pb. La première réception de SMS n’est pas toujours reçue et c’est au deuxième envoi qu’il est pris. Il n’y a jamais de problème de renvoi pas contre quand il est reçu, ni d’envoi. J’ai essayé de mettre un délai avant le renvoi, mais ça ne change rien, le trigger n’est juste pas déclenché.
Plus aucun problème pour les SMS ensuite et le problème n’arrive pas toujours. C’est un peu comme si le module se mettait en veille pour le premier et ne le traitait pas. Je n’ai pas trouvé de workaroud.
Ce peut aussi être un problème venant de Free. Chez quel opérateur es tu ?

Oui possible…Je suis chez CDiscount Mobile (donc Bouygues)

Autre fait étrange : J’ai deux automations :

  • une qui quand j’envoi « Alarm » doit me retourner l’état de l’alarme
  • une qui quand j’envoi « Gate » doit ouvrir le portail

Là, j’ai envoyé « Gate » et ca m’affiche que ça reçoit « Alarm » :thinking: . Juste après j’ai envoyé de nouveu « Gate » et là ca à bien fait l’action demandée

C’est très bizarre que ca affiche un sms reçu que je n’ai pas envoyé

[10:33:01][D][sim800l:132]: RSSI: 13
[10:33:06][D][sim800l:132]: RSSI: 13
[10:33:11][D][text_sensor:067]: 'Sms Expediteur': Sending state '+331234567'
[10:33:11][D][sim800l:132]: RSSI: 13
[10:33:16][D][sim800l:132]: RSSI: 13
[10:33:16][D][sim800l:177]: Received SMS from: +331234567
[10:33:16][D][sim800l:178]: Alarm
[10:33:16][D][text_sensor:067]: 'Sms Expediteur': Sending state '+331234567'
[10:33:16][D][text_sensor:067]: 'Sms Message': Sending state 'Alarm'
[10:33:16][D][main:083]: Received 'Alarm' from +331234567
[10:33:17][D][sim800l:272]: Sending to 01234567: Alarm status: disarmed
[10:33:17][D][text_sensor:067]: 'Sms Message': Sending state 'Alarm status: disarmed'
[10:33:17][W][sim800l:065]: Not ack. 11 +CMGL: 2,"REC UNREAD","+331234567","","22/03/29,10:33:14+08"
[10:33:17][D][sim800l:236]: Unhandled: Gate - 0
[10:33:17][D][sim800l:236]: Unhandled: OK - 0
[10:33:17][D][sim800l:236]: Unhandled: OK - 0
[10:33:31][D][sim800l:199]: Sending message: 'Alarm status: disarmed'
[10:33:34][D][text_sensor:067]: 'Sms Message': Sending state 'Alarm status: disarmed'
[10:33:34][D][sim800l:212]: SMS Sent OK: +CMGS: 159
[10:33:36][D][sim800l:132]: RSSI: 11
[10:33:41][D][sim800l:132]: RSSI: 11
[10:33:46][D][sim800l:132]: RSSI: 11
[10:33:51][D][sim800l:132]: RSSI: 14
[10:33:56][D][sim800l:132]: RSSI: 14
[10:34:01][D][sim800l:132]: RSSI: 14
[10:34:06][D][sim800l:132]: RSSI: 14
[10:34:11][D][text_sensor:067]: 'Sms Expediteur': Sending state '+331234567'
[10:34:11][D][sim800l:132]: RSSI: 14
[10:34:16][D][sim800l:132]: RSSI: 14
[10:34:21][D][sim800l:132]: RSSI: 14
[10:34:26][D][sim800l:132]: RSSI: 14
[10:34:27][D][sim800l:177]: Received SMS from: +331234567
[10:34:27][D][sim800l:178]: Gate
[10:34:27][D][text_sensor:067]: 'Sms Expediteur': Sending state '+331234567'
[10:34:27][D][text_sensor:067]: 'Sms Message': Sending state 'Gate'
[10:34:27][D][main:083]: Received 'Gate' from +331234567
[10:34:34][D][text_sensor:067]: 'Sms Message': Sending state 'Gate'
[10:34:36][D][sim800l:132]: RSSI: 11
[10:34:41][D][sim800l:132]: RSSI: 14

Bon donc cela ne vient pas de l’opérateur. Une piste en moins.
Concernant le SMS fantôme, c’est probablement un ancien qui a fini par être reçu. Quand un SMS n’est pas reçu, l’opérateur tente de le renvoyer mais souvent très longtemps après.

Yes. J’ai pris l’opérateur qui captait le plus. Je verrai si la nouvelle antenne améliore ou pas. Si jamais tu trouves un workaround/identifie le bug n’hésites pas à le partager :wink:

Tu as pu tester la mise à jour avec le code de @Argonaute ?

je sais pas pour vous mais depuis que je suis passé en 3.2 j’ai ma board qui m’indique :

15:03:10	[W]	[sim800l:110]	
Registration Fail

vous aussi?

Edit : j’ai testé avec ma carte SIM Orange est c’est passé.
plus moyen avec ma carte Free Mobile :frowning:

Je suis chez Free et pas de problème de mon côté. Je viens de retester au cas ou. Donc peut être un pb de carte SIM ?

bizarre mais quand je met la SIM Free dans mon iPhone, je n’ai aucun soucis pour capter :frowning:

La référence aux bibliothèques ESPHome générées par ESPHome a changée, avec maintenant les clés esphome et esp32.
L’ancienne configuration était :

esphome:
  name: esp-sim800
  platform: ESP32
  board: esp-wrover-kit

J’ai changé avec la nouvelle syntaxe :

esphome:
  name: esp-sim800

esp32:
  board: esp-wrover-kit
  framework:
    type: arduino

Cela pourrait régler le problème des SMS pas reçus immédiatement, mais à tester sur la durée.

1 « J'aime »

Merci pour l’info ! Par contre, pour mettre à jour ESP Home j’ai un petit doute… J’imagine qu’il faut d’abord mettre à jour l’addon ESP Home dans Home Assistant (version 2022.2.5 → 2022.3.1) mais ensuite ?

  • Est-ce qu’il suffit (après avoir modifié le code avec la nouvelle syntaxe) de cliquer sur le bouton « Update all » du menu ESP Home :

  • Ou bien il faut supprimer le composant ESP-SIM800, créer un nouveau composant ESP-SIM800 et regénérer un nouveau firmware qui sera ensuite installé via ESP Home Flasher ?