Action On, quel séparateur entre deux commandes JSON ?

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
Dim33
Messages : 209
Inscription : 29 janv. 2017, 23:19

Action On, quel séparateur entre deux commandes JSON ?

Message par Dim33 »

Bonjour,

Tout est dans le titre .... Dans Action On d'un interrupteur, je souhaite envoyer deux commandes JSON, quel est le séparateur entre les deux commandes (http:\\...).

Merci d'avance.
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 2020.2
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Action On, quel séparateur entre deux commandes JSON ?

Message par patrice »

Bonsoir
A mon avis cela n'existe pas
tu fais un script et tu met l'appel à tes 2 htpp dedans
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: Action On, quel séparateur entre deux commandes JSON ?

Message par Chrominator »

La recommandation dans le wiki Domoticz est de faire un script shell par exemple qui lance en batch la commande qui lui est passée en paramètre.
Comme ça le bouton est tout de suite libéré et Domoticz ne passe pas de temps à attendre la fin de l'exécution du script.

cf le paragraphe "Non-Lua Scripts" dans le wiki.
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Dim33
Messages : 209
Inscription : 29 janv. 2017, 23:19

Re: Action On, quel séparateur entre deux commandes JSON ?

Message par Dim33 »

Pas possible de faire un script lua ? j'y connais rien en shell.
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 2020.2
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: Action On, quel séparateur entre deux commandes JSON ?

Message par Chrominator »

LUA ? On pourrait, mais ce ne serait pas "naturel".

En réalité ce n'est pas très compliqué ;
Je pars du principe que tu es dans un environnement linux sur un raspberry pi.
A adapter pour d'autres *nux.
  1. Tu ouvres un terminal.
  2. Positionne toi dans le répertoire Domoticz réservé aux scripts :

    Code : Tout sélectionner

    cd /home/pi/domoticz/scripts
    (le chemin peut varier en fonction de ton installation).
  3. Crée un script shell :
    Pour te simplifier la tâche on ne va pas utiliser d'éditeur, copie/colle le code suivant dans le terminal et fait entrée.

    Code : Tout sélectionner

    echo -e '#!/bin/bash\n$@ &\n' > exec.sh
    Ce script est fait pour exécuter en tâche de fond toute commande qui lui est passée avec ses paramètres.
  4. Rend le script exécutable :

    Code : Tout sélectionner

    chmod +x exec.sh
  5. Dans Domoticz, tu modifies ton bouton dans Action On: avec le json qui va bien.
    Par exemple, pour afficher dans le log deux petits textes consécutifs avec 2 json:

    Code : Tout sélectionner

    script://execute.sh /usr/bin/curl --url "127.0.0.1:8080/json.htm?type=command&param=addlogmessage&message=Ok%20Voici%20le%20premier. 127.0.0.1:8080/json.htm?type=command&param=addlogmessage&message=Ok%20Voila%20le%20second."
    Capture.PNG
    Capture.PNG (184.68 Kio) Consulté 8649 fois
    C'est joli non ? :D
    Capture2.PNG
    Capture2.PNG (6.87 Kio) Consulté 8649 fois
    Si l'url 127.0.0.1:8080 ne fonctionne pas pour toi, remplace-la par celle que tu utilises d'habitude.

    Il est important de ne pas spécifier le protocole, c'est à dire http:// dans l'url sans quoi Domoticz se prend les pieds dans le tapis.
    curl va essayer en premier le protocole http, donc on est tout bon.
    Tu peux mettre autant de json que tu veux, ils seront exécutés dans l'ordre et en tâche de fond.
    Par contre, si l'un deux échoue, les autres seront quand même exécutés.
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Dim33
Messages : 209
Inscription : 29 janv. 2017, 23:19

Re: Action On, quel séparateur entre deux commandes JSON ?

Message par Dim33 »

Merci d'avoir pris le temps de répondre.

Je suis sous un NAS Synology. Je vais tenter de suivre tes indications. Merci encore.
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 2020.2
Dim33
Messages : 209
Inscription : 29 janv. 2017, 23:19

Re: Action On, quel séparateur entre deux commandes JSON ?

Message par Dim33 »

Merci , ça marche avec la commande suivante :

Code : Tout sélectionner

script://exec.sh /usr/bin/curl /volume1/@appstore/domoticz/var/scripts/exec.sh --url "xxx.xxx.x.xx:8084/json.htm?type=command&param=udevice&idx=59&nvalue=0&svalue=16 xxx.xxx.x.xx:8084/json.htm?type=command&param=udevice&idx=28&nvalue=0&svalue=16"
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 2020.2
Dim33
Messages : 209
Inscription : 29 janv. 2017, 23:19

Re: Action On, quel séparateur entre deux commandes JSON ?

Message par Dim33 »

Bonjour,

La commande ci-dessus fonctionnait parfaitement. J'ai procédé à la MAJ de Domoticz cet été (Version: 4.10717) et maintenant seul le premier IDX est impacté. Les autres ne sont pas modifié par l'action. Une idée ? La syntaxe aurait-elle changée ? :shock:
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 2020.2
Dim33
Messages : 209
Inscription : 29 janv. 2017, 23:19

Re: Action On, quel séparateur entre deux commandes JSON ?

Message par Dim33 »

Cette commande marche parfaitement. Elle permet de mettre à 0, 4 compteurs.

Code : Tout sélectionner

script://exec.sh /usr/bin/curl /home/dd/domoticz/scripts/exec.sh --url "192.168.1.85:8080/json.htm?type=command&param=udevice&idx=33&nvalue=0&svalue=POWER;ENERGY 192.168.1.85:8080/json.htm?type=command&param=udevice&idx=50&nvalue=0&svalue=POWER;ENERGY 192.168.1.85:8080/json.htm?type=command&param=udevice&idx=31&nvalue=0&svalue=POWER;ENERGY 192.168.1.85:8080/json.htm?type=command&param=udevice&idx=32&nvalue=0&svalue=POWER;ENERGY"
Par contre, cette commande ne marche pas, seul le premier dispositif (idx 59) est modifié :

Code : Tout sélectionner

script://exec.sh /usr/bin/curl /home/dd/domoticz/scripts/exec.sh --url "192.168.1.85:8080/json.htm?type=command&param=udevice&idx=59&nvalue=0&svalue=16 192.168.1.85:8080/json.htm?type=command&param=udevice&idx=28&nvalue=0&svalue=16 192.168.1.85:8080/json.htm?type=command&param=udevice&idx=60&nvalue=0&svalue=16 192.168.1.85:8080/json.htm?type=command&param=udevice&idx=61&nvalue=0&svalue=16"
Je sèche .... :o
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 2020.2
Dim33
Messages : 209
Inscription : 29 janv. 2017, 23:19

Re: Action On, quel séparateur entre deux commandes JSON ?

Message par Dim33 »

Je up au cas où ....
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 2020.2
Répondre