Page 1 sur 1

[Résolu] ajouter du texte dans les log avec un Wemos D1

Publié : 14 mai 2023, 18:55
par higgins91
Bonjour,
J'ai modernisé un vieux pluviomètre avec un wemos D1. Le pluviomètre fonctionne bien, j'ai la pluie qui remonte bien dans domoticz mais le lendemain d'un jour pluvieux je me retrouve avec la quantité tombée la veille.
En gros:
lundi 0mm (pas de pluie)
mardi 8mm (pluie)
mercredi 8mm (pas de pluie)
jeudi 0mm (pas de pluie)
...

Donc pour "débuguer" la chose je voudrais mettre dans les log de domoticz ce qui se passe dans mon wemos.
Pour ce faire, après enquête sur le wiki, j'ai mis cette commande dans mon code

Code : Tout sélectionner

    String urllog = "/json.htm?type=command&param=addlogmessage&message=";
    urllog += logdz;    //logdz contient le texte à afficher//
    urllog += "&level=2";
    Serial.println(urllog);
    sendDomoticz(urllog);
cela donne:

Code : Tout sélectionner

http://10.0.4.31:8080/json.htm?type=command&param=addlogmessage&message=increment time_pluie_48429 epoch_1683974986 jour_6 difference_43 timeClient.getDay_6&level=2
Si je laisse tel quel, j'ai ça dans les log:

2023-05-13 11:49:46.924 Error: Error parsing http request address: ::ffff:10.0.4.71

Précision 10.0.4.31:8080 c'est mon Pi et 10.0.4.71 c'est mon wemos. IP fixe et toutes les IP locales autorisées.
la fonction sendDomoticz(urllog); fonctionne bien car c'est la même qui m’envoie la pluie.

Si je prends la commande citée au dessus et que je la colle dans firefox cela fonctionne :?

Y a-t-il une commande particulière pour entrer du texte dans les LOG quand on est sous arduino ?

Re: ajouter du texte dans les log avec un Wemos D1

Publié : 14 mai 2023, 23:07
par pierrotori
J'utilise MQTT pour ca, mais ta solution fonctionne aussi avec error level activé
je viens d'essayer ta commande et ca marche bien dans la log de domoticz avec level 2 ou 4, il faut peut-être entourer l'url de doubles côtes

Code : Tout sélectionner

curl -l "http://xxx.xxx.x.x:xxx/json.htm?type=command&param=addlogmessage&message=essai&level=2"

Re: ajouter du texte dans les log avec un Wemos D1

Publié : 15 mai 2023, 20:19
par higgins91
merci pour la piste du " mais je n'utilise pas curl mais un http.GET dans mon code :

Code : Tout sélectionner

void sendDomoticz(String urlA) {
  urlA = "http://10.0.4.31:8080" + urlA;
  http.begin(domoticz_client, urlA);
  int httpCode = http.GET();
  if (httpCode) {
    if (httpCode == 200) {
      String payload = http.getString();
    }
  }
  http.end();
}
je vais prendre un autre wemos et faire différents test de syntaxe... avec de la chance j'arriverais à trouver la bonne !

Re: ajouter du texte dans les log avec un Wemos D1

Publié : 15 mai 2023, 21:18
par higgins91
j'ai trouvé ! En fait il ne faut pas d'espace dans le texte envoyé et j'ai ajouté des " au cas ou...
la commande qui va bien est celle là:

Code : Tout sélectionner

    logdz = "increment quantite_";
    logdz += String(quantite);
    logdz += " totalh_";
    logdz += String(totalh);
    logdz += " jour_";
    logdz += String(jour);
    logdz += " heure_";
    logdz += String(heure);
    urllog = "/json.htm?type=command&param=addlogmessage&message=\"";
    urllog += logdz;
    urllog += "\"";
    Serial.println(urllog);
    sendDomoticz(urllog);
l'important c'est le \" qui permet de mettre les guillemets dans une variable texte :D

Re: [Résolu] ajouter du texte dans les log avec un Wemos D1

Publié : 15 mai 2023, 23:03
par pierrotori
Tu n’utilises pas mqtt ?

Re: [Résolu] ajouter du texte dans les log avec un Wemos D1

Publié : 16 mai 2023, 07:02
par higgins91
Non, j'ai plusieurs arduino et aucun ne l'utilise.

Re: ajouter du texte dans les log avec un Wemos D1

Publié : 18 mai 2023, 19:42
par Flying Domotic
higgins91 a écrit : 15 mai 2023, 21:18 j'ai trouvé ! En fait il ne faut pas d'espace dans le texte envoyé et j'ai ajouté des " au cas ou...
la commande qui va bien est celle là:
Il est possible d'insérer des espaces en les remplaçant par un ou par