En bref, j'ai installer une framboise avec Raspisms et tout qui va bien pour créer un serveur sms. Ca c'est ok ! (J'avais des trucs qui traînait dans mes tiroirs). J'ai une autre framboise avec domoticz qui tourne très bien.
Je suis pas un geek complet, juste un bidouilleur et j'ai monté tout ça pour que Domoticz m’envoie un sms lors d'un événements, en l’occurrence pour l'heure quand mon filtre bloqueur de pub perd les pédales. Pourquoi ? Car mon bloqueur de pub est un système maison à base de framboise (encore !) et de l’excellent Pihole, qui au passage me sert de serveur DNS et de serveur DHCP, donc si il a ces humeurs c'est toute ma maisonnée qui me tombe dessus; voilà le cadre est posé.
J'en arrive donc à imaginer un script dans Domoticz, déclenché par un blocky. Ce script ne fait que mettre en forme une requête HTTP avec l'API de Raspisms. Par l'exemple voilà :
Code : Tout sélectionner
curl -X POST "$url/api/scheduled/" -H "X-Api-Key: $Api_key" -d "text=$msg_sms" -d numbers=%2B$num | jq '.error'Code : Tout sélectionner
"$url/api/sheduled/"Code : Tout sélectionner
$Api_keyCode : Tout sélectionner
$msg_smsCode : Tout sélectionner
$numtout ça reprend la doc de Raspisms (https://documentation.raspisms.fr/devel ... rview.html) et ça fonctionne ! J'ai mon script qui s'execute et me retourne les variables sous format json, formater par jq. J'en suis encore tout surpris ! Je n'ai pas de connaissance suffisante à pondre un script bash mais voilà !
NON mon problème, et j'en appel à la communauté des féru de code, c'est le
Code : Tout sélectionner
| jq '.error'Cette commande me retourne bien dans le terminal la valeur de l'erreur, 0, 1, 2 etc ... mais je bloque pour aller plus loin. CaD j'aimerais extraire la valeur de clé "error" ET aussi de la clé "message", assigner les valurs de ces 2 clefs à des variables pour pouvoir ensuite traiter le résultat.
Exemple : error = 0 => tout va bien pas d'erreur, error != 0 => à là il y a problème, retenter la commande curl et remonter la valeur de la clé "message" dans un log, qui serais accessible dans Domoticz.
Une première difficulté arrive quand la valeur de la clé "error" est 0; alors la clé "message est "null" et ça apparemment jq aime pas du tout ! Je me perd dans les manuels et les tuto sur jq sans rien comprendre du tout à la fin !
Voilà, je suis conscients qu'il doit exister une autre méthode pour réaliser cela, mais je voulais tester l'écriture de script (pour l'écriture d'un plugin en python, on verra plus tard !) et de plus avoir un serveur de sms maison à dispo m'intéresse beaucoup et me permet de me passer de serveur externe ou apk divers sur mon smartphone (tous payant en outre ! Le service se paye et c'est normal).
Je vais continuer à modifier mon script, je suis tenace mais bon, "taper du code bash" sans la moindre base de language (enfin presque j'ai goûté au Basic, assembleur et autre C++ mais c’était il y a plus de 25 ans !!! Une période ou on voulait nous apprendre la programmation informatique sur des ordinateurs antédiluvien et pourtant c'était à l'IUT en formation d'ingénieur ! que j'ai pas fini d'ailleurs fermé la parenthèse que j'ai pas ouverte).
Merci de votre attention, et si ça intéresse le serveur Raspisms est top, une framboise, un clé modem gsm et hop une passerelle sms en réseau pleine de promesse !