[2023.1] Problème notification via bash

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.
jackyhi
Messages : 97
Inscription : 09 mai 2016, 23:49

[2023.1] Problème notification via bash

Message par jackyhi »

Depuis mise à jour version 2023.1 Domoticz ne transmets plus les notifications HTTP personnalisées vers une IP différentes même située dans le réseau local. Alors que ça fonctionnait avant la mise à jour.
sur le RPI3 : adresse IP1 :192.168.xx.yy
Message retourné : Error: Script: Insecure script command!

Sur un autre RPI4 qui héberge le site web API REST ça fonctionne. adresse IP2: 192.168.xx.xx

La notification HTTP envoie avec un script bash un message vers le serveur web API REST qui envoie le message en sms vers un portable via un modem GSM.

Paramètrage de la notification sur les 2 RPI:

Code : Tout sélectionner

script:///home/pi/domoticz/scripts/sendsms.sh  "#TO" "#MESSAGE"
mon script sendsms.sh:

Code : Tout sélectionner

#!/bin/bash
#

rawurlencode() {
  local string="${1}"
  local strlen=${#string}
  encoded=""
  local pos c o
  
  for (( pos=0 ; pos<strlen ; pos++ )); do
     c=${string:$pos:1}
     case "$c" in
        [-_.~a-zA-Z0-9] ) o="${c}" ;;
        * )               printf -v o '%%%02x' "'$c"
     esac
     encoded+="${o}"
  done
  echo "${encoded}"    # You can either set a return variable (FASTER) 
  REPLY="${encoded}"   #+or echo the result (EASIER)... or both... :p
}

rawurlencode "$2"
error=$(curl -X POST http://192.168.xx.xx/send.php? -d phone=%2B$1 -d text="$2" )

echo $error #affichage du retour d'info
Est ce vous avez remarqué ce problème de sécurité? Comment le résoudre??
Raspberry Pi2 VPN, Pi 3, Pi4 ,RFXCom, 6 volets BLYSS, sondes Temp_humid Attiny85, zigbee, Mysensors, RFLINK , Zwave capteurs portes Prises, Alarme avec 2 sirènes maison esp8266, Thermostat NETAMO vannes thermostatiques
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [2023.1] Problème notification via bash

Message par Keros »

J'ai quasiment la même commande et mes messages sont envoyés. Je suis avec DomoticZ 2023.1 en béta 15182.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
jackyhi
Messages : 97
Inscription : 09 mai 2016, 23:49

Re: [2023.1] Problème notification via bash

Message par jackyhi »

Merci de ta réponse Keros,

mais le comportement de mon RPI3 est assez bizarre, précédement j'avais upgrader Raspbian vers version 11 et domoticz version 2023.1, le système commençait à avoir des défaillances (par exemples les nouveaux devices n'apparaissaient plus dans l'onglet switchs etc.. ) mais les notifications de domoticz étaient correctement envoyées.

J'ai fait une image de sauvegarde de la carte SD au cas où... et je suis reparti d'une installation vierge y compris devices capteurs variables etc..

Et voici ce qui arrive avec cette nouvelle installation:
les notifications de Domoticz ne sont plus envoyées Message retourné : Error: Script: Insecure script command!

par contre j'ai des scripts en lua qui envoient des sms avec la commande curl sur la même API RST
http://192.168.xx.xx/send.php? -d phone=%2B$1 -d text="$2" et curieusement ces sms sont correctement envoyés!!

J'avoue que je ne comprend pas où se situe le problème.

Je pense que l'execution du script sendsms.sh ou la requête en php pose problème sur la nouvelle installation mais pas sur l'ancienne.

J'ai une autre installation sur RPI4 avec raspbian v11, domoticz 2023.1 sous docker, gammu-smsd API REST modem GSM , Zwave Js UI sous docker et tout fonctionne sur ce RPI4

J'ai relancé le RPI3 avec son ancienne carte SD et les notifications de Domoticz fonctionnent!!! Je n'y comprend plus rien.
Raspberry Pi2 VPN, Pi 3, Pi4 ,RFXCom, 6 volets BLYSS, sondes Temp_humid Attiny85, zigbee, Mysensors, RFLINK , Zwave capteurs portes Prises, Alarme avec 2 sirènes maison esp8266, Thermostat NETAMO vannes thermostatiques
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [2023.1] Problème notification via bash

Message par Keros »

Dans mon cas, j'appelle une requête pour RaspiSMS qui est sur le même serveur.

Ce ne serait pas les nouvelles limitations de sécurité avec le 2023.1 ? Je dirais que non puisque DomoticZ se contente d'exécuter le script : ce qu'il se passe dans le script n'est plus du ressort de DomoticZ.
Tu as bien mis un chmod +x sur le script ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
jackyhi
Messages : 97
Inscription : 09 mai 2016, 23:49

Re: [2023.1] Problème notification via bash

Message par jackyhi »

Oui le script a les droits 775!! et puis ce même script executé sur l'ancienne installation même version même utilisateur s'exécute normalement et également sur le RPI4!!
Raspberry Pi2 VPN, Pi 3, Pi4 ,RFXCom, 6 volets BLYSS, sondes Temp_humid Attiny85, zigbee, Mysensors, RFLINK , Zwave capteurs portes Prises, Alarme avec 2 sirènes maison esp8266, Thermostat NETAMO vannes thermostatiques
jackyhi
Messages : 97
Inscription : 09 mai 2016, 23:49

Re: [2023.1] Problème notification via bash

Message par jackyhi »

Je viens de résoudre mon problème de notification envoyant Error: Script: Insecure script command!

Voici l'explication, en fait les notifications étaient bien envoyées par Domoticz j'ai fait des tests avec des action/on sur un bouton et ça envoyait bien ma notification.
L'erreur se produisait uniquement dans l'onglet: configuration/parametres/notifications/HTTP personnalisé/Action, quand je cliquais sur le bouton tester!!
C'est le paramètrage: POST Content-Type: application/php qui pose problème, je l'ai modifié en application/bash

Image


et la miracle plus de blocage avec message d'erreur!!
Pourtant sur le RPI4 le même paramètrage ne provoquait pas d'erreur!!!
Pièces jointes
Notification-2.jpg
Notification-2.jpg (51.1 Kio) Consulté 4935 fois
Notification-1.jpg
Notification-1.jpg (50.57 Kio) Consulté 4935 fois
Raspberry Pi2 VPN, Pi 3, Pi4 ,RFXCom, 6 volets BLYSS, sondes Temp_humid Attiny85, zigbee, Mysensors, RFLINK , Zwave capteurs portes Prises, Alarme avec 2 sirènes maison esp8266, Thermostat NETAMO vannes thermostatiques
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [2023.1] Problème notification via bash

Message par Keros »

Très subtile, bien vu !!

Je déplace ces messages dans un nouveau sujet.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
pierrotori
Messages : 821
Inscription : 29 févr. 2016, 12:11

Re: [2023.1] Problème notification via bash

Message par pierrotori »

J'ai application/Json et j'appele le http avec un curl directement dans un Bash mais pas a partir du http de domoticz

L'avantage de le faire comme tu fais est de gérer le code retour afin de pouvoir faire un retry car domoticz ne gère pas l'erreur, merci pour l'idée et réutiliser le shell dans mon crontab aussi
Répondre