URL à utiliser pour forcer le routeur en mode inject ou en mode moyen

  • redisdead13
  • Auteur du sujet
  • Hors Ligne
  • Nouveau membre
  • Nouveau membre
Plus d'informations
17 Déc 2024 09:26 #1 par redisdead13
Bonjour, je cherche à pouvoir envoyer à mon MsunPV une commande http à partir d'un point local de mon reseau une commande http via alexa (skill url switch) et donc pouvoir y acceder via une routine simple.

Pour cela j'ai besoin d'avoir l'url qui active la fonction mode inject ou en mode moyen sur la commande test routeur inject ou moyen.

Si quelqu'un connait cette url ou peut me la donner ca serait au top.

Merci de votre aide.
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
17 Déc 2024 12:34 #2 par syl2222fr
Hello

C'est tout simple !

En te basant sur : ard-tek.com/index.php/forum/vos-installa...nt-et-msunpv?start=1
Tu auras les infos des champs à rentrer pour ton use case

j'imagine que ta requete ressemblera à :
curl -X POST -d 'parS=10;0;0;0;0;0;0;1;' http://IP_DU_MSUNPV/index.xml" pour inject
curl -X POST -d 'parS=10;0;0;0;0;0;0;4;' http://IP_DU_MSUNPV/index.xml" pour moyen

Bien sur, à tester

Connexion ou Créer un compte pour participer à la conversation.

  • redisdead13
  • Auteur du sujet
  • Hors Ligne
  • Nouveau membre
  • Nouveau membre
Plus d'informations
17 Déc 2024 13:42 - 17 Déc 2024 13:42 #3 par redisdead13
Bonjour,
Merci de ta réponse rapide.
Je ne suis pas très familier des commandes Curl mais il me semble que c'est à partir d'un linux que l'on peut s'en servir.
Pour ma part la Skill URL switch que je veux utiliser prend des commandes de type http GET ou http Post et doit commencer par http:// ou https://
je n'ai pas de machine de dispo qui tourne type home assittant.
J'ai testé à partir d'un browser mais pas de succès
Dernière édition: 17 Déc 2024 13:42 par redisdead13.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
17 Déc 2024 14:50 #4 par Paps42
Salut,

je ne pense pas que tu puisse envoyer des commandes direct avec une seule ligne via le navigateur.
en revanche j'ai testé, tu peux creer une page html de requete.
il te suffira d'appeler cette page ou d'executer le raccourci

par exemple pour mettre en ON le manurad :

dans notepad, tu met ce code en modifiant l'adresse IP de ton msun a la place des XXXXXXXX:
<!DOCTYPE html>
<html>
<head>
    <title>Envoyer une requête POST automatiquement</title>
</head>
<body>
    <script>
        window.onload = function() {
            const url = 'http://192.168.1.XXX/index.xml';
            const data = new URLSearchParams();
            data.append('parS', '4;0;0;0;0;0;0;2;');

            fetch(url, {
                method: 'POST',
                body: data,
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded'
                }
            })
            .then(response => response.text())
            .then(result => console.log(result))
            .catch(error => console.error('Error:', error));
        };
    </script>
    <h1>Execution sur Msunpv ok</h1>
    <p>La sortie ManuRad est sur ON</p>
</body>
</html>

tu enregistre ce fichier en .html, exemple Radiateur_ON.html

et quand tu clique sur le raccourci , cela ouvre une page Html qui exécute l'action de mettre en ON la sortie Radiateur.

Voila après je sais pas si c'est ce que tu cherche

j'ai fait l'exemple pour la sortie radiateur en ON, apres si tu veux actions sur test d'injection il suffit de modifier les codes après ParS.
Les utilisateur(s) suivant ont remercié: patmtp35

Connexion ou Créer un compte pour participer à la conversation.

  • redisdead13
  • Auteur du sujet
  • Hors Ligne
  • Nouveau membre
  • Nouveau membre
Plus d'informations
17 Déc 2024 15:01 #5 par redisdead13
Bonjour,
Je comprends cette approche merci pour ton aide j'avoue que c'est un super idée.
Il me reste à trouver un moyen de mettre en place un petit webserveur avec cette page customisé comme je le souhaite.
J'aurais préféré une solution directe j'avoue.

Connexion ou Créer un compte pour participer à la conversation.

  • redisdead13
  • Auteur du sujet
  • Hors Ligne
  • Nouveau membre
  • Nouveau membre
Plus d'informations
18 Déc 2024 08:33 #6 par redisdead13
Bonjour, j'ai testé ceci mais cela n'abouti pas à mon resultat voulu. Je pense ne pas être loin du but mais c'est pas encore ça.
j'ai fait ceci :
http://Mon_IP/index.xml?parS=10;0;0;0;0;0;0;4;

En retour j'ai eu ceci

17:09:38;17/12/2024;Off;01:00;0,0;MS_PV2_2d;5.0.1;0000224;104b;104b;00:00;00:00PowRéso;1;6:PowP.V;1;6:OutBal;0;3:OutRad;0;3:VoltRés;1;4:T_Bal1;1;18:T_SDB;1;18:T_Amb;1;18:S9;0;0:S10;0;0:S11;0;0:S12;0;0:S13;0;0:S14;0;0:S15;0;0:S16;0;0:R_Bal1;0;2:Rad_SDB;0;2:A3;0;0:A4;0;0:A5;0;0:A6;0;0:A7;0;0:A8;0;0:A9;0;0:A10;0;0:A11;0;0:A12;0;0:A13;0;0:A14;0;0:A15;0;0:A16;0;0:3;10;Comd Manu/Auto;ManuBal;AutoBal;ManuRad;AutoRad; 0;0;Commande 2;Param1;Param2;Param3;Param4; 0;0;Commande 3;Param1;Param2;Param3;Param4; 0;0;Commande 4;Param1;Param2;Param3;Param4; 0;0;Commande 5;Param1;Param2;Param3;Param4;0;0;Commande 6;Param1;Param2;Param3;Param4; 0;0;Commande 7;Param1;Param2;Param3;Param4; 1;1;Test routeur;Inject;Zéro;Moyen;Fort;EnConso;1;16:EnInj;1;16:EnPV_J;1;16:EnPV_P;1;17:Compt 5;0;0:Compt 6;0;0:Compt 7;0;0:Compt 8;0;0:


Il doit manquer des choses dans ma ligne de commande mais quoi ......

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
18 Déc 2024 14:15 #7 par Rob_27
Bonjour à tous.

Je viens de tester la méthode de Paps42, nickel, ça fonctionne parfaitement tel que décrit.
De même, j'ai testé en mode commande DOS, idem, juste remplacer les ' par ".
exemple :
curl -X POST -d "parS=2;0;0;8;8;0;0;8;" http://192.168.1.30/index.xml

Merci.
Les utilisateur(s) suivant ont remercié: patmtp35

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
02 Jan 2025 12:54 #8 par isabella84
Bonjour, et merci pour votre script; mais comment faire, si possible, pour l executer sous node red?

MI

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
02 Jan 2025 14:49 #9 par Paps42
Salut,

le plus simple alors est d'intégrer ton msun sur Home assistant suivant le tuto de tochy :
ard-tek.com/index.php/forum/vos-installa...-assistant-et-msunpv

ensuite tu pourra faire ce que tu souhaite avec ton pilotage du msun et remontée de tes infos.

pas besoin de node red.

@+

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
02 Jan 2025 18:41 - 02 Jan 2025 19:12 #10 par isabella84
Oui, j'ai vu et lu mais je préfère les automatismes depuis node red. J'ai ma gestion solaire qui fonctionne sous node red.
MI
si cela peut servir:
demande a ChatGpt:

Le Content-Type: application/x-www-form-urlencoded doit être ajouté dans l'en-tête de la requête HTTP Request dans Node-RED, pour indiquer que les données envoyées dans le corps de la requête sont au format URL encoded (similaire à un formulaire HTML).

Voici comment ajouter cette information dans le nœud HTTP Request dans Node-RED :

Étapes pour configurer l'en-tête Content-Type :
Ajoutez un nœud Inject pour déclencher l'envoi de la requête.
Ajoutez un nœud HTTP Request pour envoyer la requête POST.
Configurez l'en-tête dans le nœud HTTP Request.
Détails de la configuration du nœud HTTP Request :
URL de la requête :

Dans la configuration du nœud HTTP Request, entrez l'URL où vous souhaitez envoyer la requête, par exemple :
plaintext
Copier le code
http://192.168.1.17/index.xml
Méthode HTTP :

Choisissez POST pour la méthode HTTP.
En-têtes HTTP (pour spécifier le Content-Type) :

Cliquez sur l'icône crayon à côté du champ "Headers" dans la configuration du nœud HTTP Request.
Ajoutez un en-tête avec la clé Content-Type et la valeur application/x-www-form-urlencoded.
Voici à quoi cela ressemble dans le nœud HTTP Request :

Configuration des en-têtes HTTP :
Key : Content-Type
Value : application/x-www-form-urlencoded
Exemple de configuration complète du nœud HTTP Request :
Méthode : POST
URL : http://192.168.1.17/index.xml
Headers :
Key : Content-Type
Value : application/x-www-form-urlencoded
Ajouter le Payload :
Dans le nœud Inject, configurez le Payload pour qu'il corresponde à ce que vous voulez envoyer dans le corps de la requête. Par exemple :

plaintext
Copier le code
parS=0;0;0;0;0;0;0;2;
Ainsi, lorsque vous déclenchez l'injection, le nœud HTTP Request enverra une requête POST à l'URL spécifiée avec les données dans le Payload et avec l'en-tête Content-Type correctement configuré.

Résumé du flux Node-RED :
Inject → HTTP Request → Debug (pour afficher la réponse ou les erreurs).
Dans le nœud HTTP Request :
URL : http://192.168.1.17/index.xml
Méthode : POST
Headers :
Key : Content-Type
Value : application/x-www-form-urlencoded
Payload : parS=0;0;0;0;0;0;0;2;
Cela devrait maintenant envoyer la requête POST avec l'en-tête Content-Type: application/x-www-form-urlencoded et le payload au format correct. Si vous avez d'autres questions ou des problèmes, n'hésitez pas à demander ! ?
Dernière édition: 02 Jan 2025 19:12 par isabella84.

Connexion ou Créer un compte pour participer à la conversation.

Propulsé par Kunena