Page 7 sur 7

Re: Script alarme Somfy Protexiom 5000

Publié : 15 janv. 2018, 21:57
par spiderjn
bonjour
merci pour le script ça fonctionne super bien en lecture pour l'instant, je m'attaquerai au pilotage plus tard.
Bonne soirée.

Re: Script alarme Somfy Protexiom 5000

Publié : 16 janv. 2018, 16:54
par spiderjn
Bonjour
Cela fonctionne très bien, par contre à chaque lancement de script, la valeur est envoyée à domoticz, même s'il n'y a pas de changement d'état.
Donc j'avais configuré une notification sur ON ou OFF et donc j'ai un message toutes les 5 minutes.
Est-ce possible de lire l'état avant de faire l'écriture ?
(je me doute que oui mais je n'ai pas de compétance en Shell)
bon je viens de trouver comment faire avec JQ, je vais modifier le script, je vous donnerai le résultat.
Cord.

Re: Script alarme Somfy Protexiom 5000

Publié : 20 janv. 2018, 13:29
par spiderjn
bonjour

j'ai modifié la fonction maj_capteur pour tenir compte de la valeur courante dans Domoticz, ce qui fait que maintenant je peux activer une notification sur changement d'état de la centrale.

je n'ai pas touché volontairement aux tests du le GSM, car cela permet d'avoir une surveillance de la remonté, je m'explique si la centrale n'est plus accessible, avec mon optimisation cela ne se voit plus mais en conservant un 'device' modifié à chaque exécution du script, on peut donc détecter l’arrêt du script ou la deconnection de la centrale au réseaux.

J'ai du ajouter 'JQ' un parseur de flux json.

Code : Tout sélectionner

sudo apt-get install jq
et voici la fonction modifiée :

Code : Tout sélectionner

# Fonction mise à jour capteurs Domoticz
# Paramètres: $1 Nom du capteur / $2 On ou Off / $3 Idx du capteur
maj_capteur () {

curetat=$(curl --fail -s "http://$SrvDomoticzIp/json.htm?type=devices&rid=$3"| jq -r .result[].Status)

if [ -z "${curetat}" ]; then
   if [ "$Debug" = "True" ]; then
     echo "ERREUR : Lecture impossible de l'Etat du capteur -"$1"- idx : "$3
   fi
else
   if [ "$Debug" = "True" ]; then
      echo "Etat capteur -"$1"- actuele :"$curetat
      if [ "$2" = "On" ]; then
          if [ $curetat = "Off" ]
          then
             curl "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=On"
          fi
      else
          if [ $curetat = "On" ]
          then
             curl "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=Off"
          fi
      fi
   else
         if [ "$2" = "On" ]; then
          if [ $curetat = "Off" ]
          then
             curl "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=On"
          fi
      else
          if [ $curetat = "On" ]
          then
             curl "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=Off"
          fi
      fi
   fi
fi
}

Re: Script alarme Somfy Protexiom 5000

Publié : 20 janv. 2018, 20:31
par jcjames_13009
Salut spiderjn

Super la modif, bonne idée que je vais ajouter à mon script :)

@+

JC

Re: Script alarme Somfy Protexiom 5000

Publié : 26 oct. 2018, 17:07
par MikeyMan
Bonjour a toute!
Je sais c'est une forum en français, mais j'espere vous m'aider en anglais.
Mon Francais n'est tres bien :)

I hope you all can help me out with this script. It seems that the somfy alarms are only popular in France.
I've currently changed the code to:

Code : Tout sélectionner

#!/bin/bash
#----------------------------------------------------------------------------------------------------------------------
# Script alarme_Somfy.sh
# Date : 11/2016
# Version : 2.0
# Par : jcjames_13009 <jcjames_13009 at yahoo.fr>
# Description : Script de pilotage de l'alarme Somfy Protexiom 5000 via Domoticz sur Raspberry Pi
# - Adapatation du script de Seb13 du forum easydomoticz.com pour Alarme Somfy Protexion 600 au modèle Protexion 5000
#   * Lecture des états du système et mise à jour dans Domoticz
#   * Mise en marche de l'alarme Zone A
#   * Mise en marche de l'alarme Zone B
#   * Mise en marche de l'alarme Zone C
#   * Mise en marche de l'alarme Zones A B C
#   * Arrêt de l'alarme Zones A B C
#   * Reset defauts piles, liaisons et alarmes
#	* Gestion liste des éléments et mise à jour dans Domoticz
#----------------------------------------------------------------------------------------------------------------------
# Appel du script
# - Mise à jour des états de l'alarme toutes les 15min via le crontab :
#   */15 * * * * sudo /home/pi/domoticz/scripts/somfy.sh --Status
# - Pilotage de l'alarme à partir de DOMOTICZ :
#   Ex pour la mise en marche Zone A ajouter dans l'onglet "Action On" du capteur virtuel: 
#   script:///home/pi/domoticz/scripts/somfy.sh --ZoneAOn 
#----------------------------------------------------------------------------------------------------------------------
# Version : 2.1
# Date : 25/11/2016
# - Ajout d'un "sleep 1" pour éviter les pertes de retour d'état de l'alarme entre chaque cde dans la lecture de l'état 
#	du système et de la liste des éléments
#----------------------------------------------------------------------------------------------------------------------
# Version : 2.2
# Date : 27/11/2016
# - Ajout cde reset defauts piles, liaisons et alarmes
#----------------------------------------------------------------------------------------------------------------------
# Version : 2.3
# Date : 10/12/2016
# - Gestion liste des éléments et mise à jour dans Domoticz
#----------------------------------------------------------------------------------------------------------------------
# Version : 2.4
# Date : 04/01/2017
# - Envoie d'une seule commande pour éviter les pertes de retour d'état de l'alarme entre chaque cde dans la lecture de
#	l'état du système et de la liste des éléments
#----------------------------------------------------------------------------------------------------------------------
# Version 2.5
# Date : 21/12/2017
# - Adaptation du script à Domoticz sur NAS Synology
#   Remplacement de iconv qui n'existe pas sur Synology par uconv
#----------------------------------------------------------------------------------------------------------------------

Debug=True
#Debug=False

#----------------------------------------------------------------------------------------------------------------------
# PARAMETRES ALARME
#----------------------------------------------------------------------------------------------------------------------
# Carte d'authentification perso
declare -a CarteAuthentification

CarteAuthentification) 
# Adresse IP alarme Somfy 
SrvSomfyIp="http://10.0.0.112/"

# Code Utilisateur1
CodeUtilisateur1=

# URLs alarme SOMFY PROTEXION 5000 GSM
UrlLogin=$SrvSomfyIp"gb/login.htm"				# Connect
UrlLogout=$SrvSomfyIp"logout.htm"				# Log out
UrlEtat=$SrvSomfyIp"status.xml"					# Status
UrlPilotage=$SrvSomfyIp"gb/u_pilotage.htm"		# Control of alarm and automatic devices
UrlElements=$SrvSomfyIp"gb/u_listelmt.htm"		# List of system devices

#----------------------------------------------------------------------------------------------------------------------
# PARAMETRES DOMOTICZ
#----------------------------------------------------------------------------------------------------------------------
# ID's Domoticz
AlarmeSomfyPilesIdx=18
AlarmeSomfyRadioIdx=19
AlarmeSomfyPorteIdx=20
AlarmeSomfyAlarmeIdx=21
AlarmeSomfyBoitierIdx=22

AlarmeSomfyGSMIdx=26
AlarmeSomfySignalGSMIdx=24
AlarmeSomfyOperateurGSMIdx=25

#AlarmeSomfyCameraIdx=xxx

AlarmeSomfyZoneAIdx=15
AlarmeSomfyZoneBIdx=16
AlarmeSomfyZoneCIdx=17

#AlarmeSomfyDOEntreeIdx=xxx
#AlarmeSomfyDOAtelierIdx=xxx

# Adresse IP et port du serveur Domoticz
SrvDomoticzIp="10.0.0.30:8080"

#----------------------------------------------------------------------------------------------------------------------
# FONCTIONS
#----------------------------------------------------------------------------------------------------------------------
# Fonction menu d'aide
Aide() {
	echo -e "\tScript Domoticz Alarme Somfy Protexion 5000"
	echo -e "\t--help or -h  \t\tMenu d'aide"
	echo -e "\t--Status      \t\tLecture de l'état du système"
	echo -e "\t--Elements    \t\tListe des éléments"
	echo -e "\t--ZoneAOn     \t\tMise en marche de l'alarme Zone A"
	echo -e "\t--ZoneBOn     \t\tMise en marche de l'alarme Zone B"
	echo -e "\t--ZoneCOn     \t\tMise en marche de l'alarme Zone C"
	echo -e "\t--ZonesABCOn  \t\tMise en marche de l'alarme Zones A B C"
	echo -e "\t--AlarmeOff   \t\tArrêt de l'alarme Zones A B C"
	echo -e "\t--RSTPiles    \t\tReset defauts piles"
	echo -e "\t--RSTAlarmes  \t\tReset defauts alarmes"
	echo -e "\t--RSTLiaisons \t\tReset defauts liaisons"
}

# Functie connectie met alarm
login_alarme () {
	# Affichage des URLs
	if [ "$Debug" = "True" ]; then
		echo " ********************************* "
		echo " Liste des URLs"
		echo " ********************************* "
		echo " UrlLogin    = "$UrlLogin
		echo " UrlLogout   = "$UrlLogout
		echo " UrlEtat     = "$UrlEtat
		echo " UrlPilotage = "$UrlPilotage
		echo " UrlElements = "$UrlElements
	fi

	# Ophalen toegangscode
	if [ "$Debug" = "True" ]; then
		echo " Toegangscode ophalen"
		CodeAcces="$(curl $SrvSomfyIp $UrlLogin | grep -Eoi 'authentification <b>.*</b>')"
		CodeAcces="$(echo "${CodeAcces:20:2}")"
		echo " Code d'accès = "$CodeAcces
	else
		CodeAcces="$(curl -s $SrvSomfyIp $UrlLogin | grep -Eoi 'authentification <b>.*</b>')"
		CodeAcces="$(echo "${CodeAcces:20:2}")"
	fi

	# De verificatiecode ophalen uit de toegangscode
	CodeAuthentification="${CarteAuthentification["$CodeAcces"]}"
	if [ "$Debug" = "True" ]; then
		echo " Ophalen Authentificatiecode"
		echo " Authenticatiecode = "$CodeAuthentification
	fi

	# De user1-code en de authenticatiecode verzenden in de aanmeldings-URL voor Inloggen
	if [ "$Debug" = "True" ]; then
		echo " Gebruiker1-code en verificatiecode verzenden"
		curl -L --cookie cjar --cookie-jar cjar --data "password="$CodeUtilisateur1"&key="$CodeAuthentification"&btn_login=Connexion" $UrlLogin | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar --data "password="$CodeUtilisateur1"&key="$CodeAuthentification"&btn_login=Connexion" $UrlLogin | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar --data "password="$CodeUtilisateur1"&key="$CodeAuthentification"&btn_login=Connexion" $UrlLogin  | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar --data "password="$CodeUtilisateur1"&key="$CodeAuthentification"&btn_login=Connexion" $UrlLogin  | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi
}

# Functie verbinden met Alarm
logout_alarme () {
	if [ "$Debug" = "True" ]; then
		echo " Verbinden met alarm"
		curl -L --cookie cjar --cookie-jar cjar $UrlLogout | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar $UrlLogout | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar $UrlLogout | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar $UrlLogout | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi
}

# Functie update Domoticz sensoren
# Parameters: $1 Sensornaam / $2 On / Off / $3 Idx sensor
maj_capteur () {
	if [ "$Debug" = "True" ]; then
		echo " Staat "$1
		if [ "$2" = "On" ]; then
			curl "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=On"
		else
			curl "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=Off"
		fi
	else
		if [ "$2" = "On" ]; then
			curl -s "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=On" > /dev/null
		else
			curl -s "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=Off" > /dev/null
		fi
	fi
}

#----------------------------------------------------------------------------------------------------------------------
# Menu des options de lancement du script
#----------------------------------------------------------------------------------------------------------------------
while [[ $1 == -* ]]; do
	case "$1" in
		--help|-h) Aide; exit 0;;
		--Status) Status="1"; break;;
		--Elements) Elements="1"; break;;
		--ZoneAOn) ZoneAOn="1"; break;;
		--ZoneBOn) ZoneBOn="1"; break;;
		--ZoneCOn) ZoneCOn="1"; break;;
		--ZonesABCOn) ZonesABCOn="1"; break;;
		--AlarmeOff) AlarmeOff="1"; break;;
		--RSTPiles) RSTPiles="1"; break;;
		--RSTAlarmes) RSTAlarmes="1"; break;;
		--RSTLiaisons) RSTLiaisons="1"; break;;
		--*|-*) shift; break;;
	esac
done

#----------------------------------------------------------------------------------------------------------------------
# Lecture de l'état du système
#----------------------------------------------------------------------------------------------------------------------
if [ "$Status" = "1" ]; then
	# Connexion à l'alarme
	login_alarme
	
	# Lecture de l'état du système et récupération dans les variables
	# Envoie URL http://IPAlarme/status.xml
	# Retour:
	#	<zone0>off</zone0>					-> Zone A
	#	<zone1>off</zone1>					-> Zone B
	#	<zone2>off</zone2>					-> Zone C
	#
	#	<defaut0>ok</defaut0>				-> Piles
	#	<defaut1>ok</defaut1>				-> Radio
	#	<defaut2>ok</defaut2>				-> Porte/Fenêtre
	#	<defaut3>ok</defaut3>				-> Alarme
	#	<defaut4>ok</defaut4>				-> Boitier
	#
	#	<gsm>GSM connecté au réseau</gsm> 	-> GSM
	#	<recgsm>4</recgsm>					-> Signal GSM
	#	<opegsm>"Orange</opegsm>			-> Opérateur GSM
	#	<camera>disabled</camera>			-> Caméra

	# Lecture de l'état du système et stockage dans fichier temporaire
	if [ "$Debug" = "True" ]; then
		echo " Lecture de l'état du système"
		curl -L --cookie cjar --cookie-jar cjar $UrlEtat | iconv -f iso8859-1 -t utf-8 > status
		#curl -L --cookie cjar --cookie-jar cjar $UrlEtat | uconv -f iso8859-1 -t utf-8 > status
	else
		curl -s -L --cookie cjar --cookie-jar cjar $UrlEtat | iconv -f iso8859-1 -t utf-8 > status
		#curl -s -L --cookie cjar --cookie-jar cjar $UrlEtat | uconv -f iso8859-1 -t utf-8 > status
	fi

	# Déconnexion de l'alarme
	logout_alarme
	
	# Récupération dans les variables
	EtatZoneA="$(grep -Eoi '<zone0>.*' status)"
	EtatZoneA="$(echo "${EtatZoneA:7:-9}")"
	EtatZoneB="$(grep -Eoi '<zone1>.*' status)"
	EtatZoneB="$(echo "${EtatZoneB:7:-9}")"
	EtatZoneC="$(grep -Eoi '<zone2>.*' status)"
	EtatZoneC="$(echo "${EtatZoneC:7:-9}")"

	EtatPiles="$(grep -Eoi '<defaut0>.*' status)"
	EtatPiles="$(echo "${EtatPiles:9:-11}")"
	EtatRadio="$(grep -Eoi '<defaut1>.*' status)"
	EtatRadio="$(echo "${EtatRadio:9:-11}")"
	EtatPorte="$(grep -Eoi '<defaut2>.*' status)"
	EtatPorte="$(echo "${EtatPorte:9:-11}")"
	EtatAlarme="$(grep -Eoi '<defaut3>.*' status)"
	EtatAlarme="$(echo "${EtatAlarme:9:-11}")"
	EtatBoitier="$(grep -Eoi '<defaut4>.*' status)"
	EtatBoitier="$(echo "${EtatBoitier:9:-11}")"

	EtatGSM="$(grep -Eoi '<gsm>.*' status)"
	EtatGSM="$(echo "${EtatGSM:5:-7}")"
	SignalGSM="$(grep -Eoi '<recgsm>.*' status)"
	SignalGSM="$(echo "${SignalGSM:8:-10}")"
	OperateurGSM="$(grep -Eoi '<opegsm>.*' status)"
	OperateurGSM="$(echo "${OperateurGSM:9:-10}")"
		
	EtatCamera="$(grep -Eoi '<camera>.*' status)"
	EtatCamera="$(echo "${EtatCamera:8:-10}")"
	
	if [ "$Debug" = "True" ]; then
		# Statusoverzicht
		echo " ******************************************* "
		echo "  Status van het systeem"
		echo " ******************************************* "
		echo " Zone A                   = "$EtatZoneA
		echo " Zone B                   = "$EtatZoneB
		echo " Zone C                   = "$EtatZoneC
		echo ""
		echo " Status Batterijen	= "$EtatPiles
		echo " Status communicatie 	= "$EtatRadio
		echo " Status Ramen/Deuren	= "$EtatPorte
		echo " Status Alarm		= "$EtatAlarme
		echo " Status Behuizing		= "$EtatBoitier
		echo ""
		echo " Status GSM      	        = "$EtatGSM
		echo " Signal GSM               = "$SignalGSM
		echo " GSM Provider		= "$OperateurGSM
		echo ""
		echo " Status Camera		= "$EtatCamera
	fi
	
	# Mise à jour capteurs Domoticz
	if [ "$Debug" = "True" ]; then
		echo " Mise à jour capteurs Domoticz"
	fi

	# Zone A
	if [ "$EtatZoneA" = "off" ]; then
		maj_capteur ZoneA Off $AlarmeSomfyZoneAIdx
	else
		maj_capteur ZoneA On $AlarmeSomfyZoneAIdx
	fi

	# Zone B
	if [ "$EtatZoneB" = "off" ]; then
		maj_capteur ZoneB Off $AlarmeSomfyZoneBIdx
	else
		maj_capteur ZoneB On $AlarmeSomfyZoneBIdx
	fi

	# Zone C
	if [ "$EtatZoneC" = "off" ]; then
		maj_capteur ZoneC Off $AlarmeSomfyZoneCIdx
	else
		maj_capteur ZoneC On $AlarmeSomfyZoneCIdx
	fi

	# Status Batterijen
	if [ "$EtatPiles" = "ok" ]; then
		maj_capteur Piles On $AlarmeSomfyPilesIdx
	else
		maj_capteur Piles Off $AlarmeSomfyPilesIdx
	fi

	# Status Communicatie
	if [ "$EtatRadio" = "ok" ]; then
		maj_capteur Radio On $AlarmeSomfyRadioIdx
	else
		maj_capteur Radio Off $AlarmeSomfyRadioIdx
	fi

	# Status Ramen/Deuren
	if [ "$EtatPorte" = "ok" ]; then
		maj_capteur Porte/Fenetre Off $AlarmeSomfyPorteIdx
	else
		maj_capteur Porte/Fenetre On $AlarmeSomfyPorteIdx
	fi

	# Status Alarm
	if [ "$EtatAlarme" = "ok" ]; then
		maj_capteur Alarme Off $AlarmeSomfyAlarmeIdx
	else
		maj_capteur Alarme On $AlarmeSomfyAlarmeIdx
	fi

	# Status Behuizing
	if [ "$EtatBoitier" = "ok" ]; then
		maj_capteur Boitier Off $AlarmeSomfyBoitierIdx
	else
		maj_capteur Boitier On $AlarmeSomfyBoitierIdx
	fi

	# Status GSM
	if [ "$EtatGSM" = "GSM connecté au réseau" ]; then
		maj_capteur GSM On $AlarmeSomfyGSMIdx
	else
		maj_capteur GSM Off $AlarmeSomfyGSMIdx
	fi
	
	# GSM Signaal
	if [ "$Debug" = "True" ]; then
		echo " Niveau Signal GSM"
		curl "http://$SrvDomoticzIp/json.htm?type=command&param=udevice&idx=$AlarmeSomfySignalGSMIdx&nvalue=0&svalue=$SignalGSM"
	else
		curl -s "http://$SrvDomoticzIp/json.htm?type=command&param=udevice&idx=$AlarmeSomfySignalGSMIdx&nvalue=0&svalue=$SignalGSM" > /dev/null
	fi
		
	# GSM Provider
	if [ "$Debug" = "True" ]; then
		echo " Opérateur GSM"
		curl "http://$SrvDomoticzIp/json.htm?type=command&param=udevice&idx=$AlarmeSomfyOperateurGSMIdx&nvalue=0&svalue=$OperateurGSM"
	else
		curl -s "http://$SrvDomoticzIp/json.htm?type=command&param=udevice&idx=$AlarmeSomfyOperateurGSMIdx&nvalue=0&svalue=$OperateurGSM" > /dev/null
	fi	

	# Camera
	#if [ "$EtatCamera" = "disabled" ]; then
	#	maj_capteur Camera Off $AlarmeSomfyCameraIdx
	#else
	#	maj_capteur Camera On $AlarmeSomfyCameraIdx
	#fi
	
fi	

#----------------------------------------------------------------------------------------------------------------------
# Mise en marche de l'alarme Zones A B C
#----------------------------------------------------------------------------------------------------------------------
if [ "$ZonesABCOn" = "1" ]; then
	# Connexion à l'alarme
	login_alarme

	# Mise en marche de l'alarme Zones A B C
	if [ "$Debug" = "True" ]; then
		echo "Mise en marche de l'alarme Zones A B C"
		curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_ABC=Marche A B C" $UrlPilotage | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_ABC=Marche A B C" $UrlPilotage | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_ABC=Marche A B C" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_ABC=Marche A B C" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi

	# Déconnexion de l'alarme
	logout_alarme

	# Mise à jour capteurs Domoticz
	if [ "$Debug" = "True" ]; then
		echo " Mise à jour capteurs Domoticz"
	fi
	maj_capteur ZoneA On $AlarmeSomfyZoneAIdx
	maj_capteur ZoneB On $AlarmeSomfyZoneBIdx
	maj_capteur ZoneC On $AlarmeSomfyZoneCIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Mise en marche de l'alarme Zone A
#----------------------------------------------------------------------------------------------------------------------
if [ "$ZoneAOn" = "1" ]; then
	# Connexion à l'alarme
	login_alarme

	# Mise en marche de l'alarme Zone A
	if [ "$Debug" = "True" ]; then
		echo "Mise en marche de l'alarme Zone A"
		curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_A=Marche A" $UrlPilotage | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_A=Marche A" $UrlPilotage | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_A=Marche A" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_A=Marche A" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi

	# Déconnexion de l'alarme
	logout_alarme

	# Mise à jour capteurs Domoticz
	if [ "$Debug" = "True" ]; then
		echo " Mise à jour capteurs Domoticz"
	fi
	maj_capteur ZoneA On $AlarmeSomfyZoneAIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Mise en marche de l'alarme Zone B
#----------------------------------------------------------------------------------------------------------------------
if [ "$ZoneBOn" = "1" ]; then
	# Connexion à l'alarme
	login_alarme

	# Mise en marche de l'alarme Zone B
	if [ "$Debug" = "True" ]; then
		echo "Mise en marche de l'alarme Zone B"
		curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_B=Marche B" $UrlPilotage | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_B=Marche B" $UrlPilotage | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_B=Marche B" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_B=Marche B" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi

	# Déconnexion de l'alarme
	logout_alarme

	# Mise à jour capteurs Domoticz
	if [ "$Debug" = "True" ]; then
		echo " Mise à jour capteurs Domoticz"
	fi
	maj_capteur ZoneB On $AlarmeSomfyZoneBIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Mise en marche de l'alarme Zone C
#----------------------------------------------------------------------------------------------------------------------
if [ "$ZoneCOn" = "1" ]; then
	# Connexion à l'alarme
	login_alarme

	# Mise en marche de l'alarme Zone C
	if [ "$Debug" = "True" ]; then
		echo "Mise en marche de l'alarme Zone C"
		curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_C=Marche C" $UrlPilotage | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_C=Marche C" $UrlPilotage | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_C=Marche C" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_C=Marche C" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi

	# Déconnexion de l'alarme
	logout_alarme

	# Mise à jour capteurs Domoticz
	if [ "$Debug" = "True" ]; then
		echo " Mise à jour capteurs Domoticz"
	fi
	maj_capteur ZoneC On $AlarmeSomfyZoneCIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Arrêt de l'alarme Zones A B C
#----------------------------------------------------------------------------------------------------------------------
if [ "$AlarmeOff" = "1" ]; then
	# Connexion à l'alarme
	login_alarme

	# Arrêt de l'alarme Zones A B C
	if [ "$Debug" = "True" ]; then
		echo "Arret de l'alarme Zones A B C"
		curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&btn_zone_off_ABC=Arrêt A B C" $UrlPilotage | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&btn_zone_off_ABC=Arrêt A B C" $UrlPilotage | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&btn_zone_off_ABC=Arrêt A B C" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&btn_zone_off_ABC=Arrêt A B C" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi

	# Déconnexion de l'alarme
	logout_alarme
	
	# Mise à jour capteurs Domoticz
	if [ "$Debug" = "True" ]; then
		echo " Mise à jour capteurs Domoticz"
	fi
	maj_capteur ZoneA Off $AlarmeSomfyZoneAIdx
	maj_capteur ZoneB Off $AlarmeSomfyZoneBIdx
	maj_capteur ZoneC Off $AlarmeSomfyZoneCIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Reset defauts piles
#----------------------------------------------------------------------------------------------------------------------
if [ "$RSTPiles" = "1" ]; then
	# Connexion à l'alarme
	login_alarme

	# Reset defauts piles
	if [ "$Debug" = "True" ]; then
		echo "Reset defauts piles"
		curl -L --cookie cjar --cookie-jar cjar --data "btn_del_pil=Piles" $UrlElements | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar --data "btn_del_pil=Piles" $UrlElements | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_pil=Piles" $UrlElements | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_pil=Piles" $UrlElements | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi

	# Déconnexion de l'alarme
	logout_alarme
fi

#----------------------------------------------------------------------------------------------------------------------
# Reset defauts alarmes
#----------------------------------------------------------------------------------------------------------------------
if [ "$RSTAlarmes" = "1" ]; then
	# Connexion à l'alarme
	login_alarme

	# Reset defauts alarmes
	if [ "$Debug" = "True" ]; then
		echo "Reset defauts alarmes"
		curl -L --cookie cjar --cookie-jar cjar --data "btn_del_alm=Alarmes" $UrlElements | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar --data "btn_del_alm=Alarmes" $UrlElements | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_alm=Alarmes" $UrlElements | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_alm=Alarmes" $UrlElements | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi

	# Déconnexion de l'alarme
	logout_alarme
fi

#----------------------------------------------------------------------------------------------------------------------
# Reset defauts liaisons
#----------------------------------------------------------------------------------------------------------------------
if [ "$RSTLiaisons" = "1" ]; then
	# Connexion à l'alarme
	login_alarme

	# Reset defauts liaisons
	if [ "$Debug" = "True" ]; then
		echo "Reset defauts liaisons"
		curl -L --cookie cjar --cookie-jar cjar --data "btn_del_lia=Liaisons" $UrlElements | iconv -f iso8859-1 -t utf-8
		#curl -L --cookie cjar --cookie-jar cjar --data "btn_del_lia=Liaisons" $UrlElements | uconv -f iso8859-1 -t utf-8
	else
		curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_lia=Liaisons" $UrlElements | iconv -f iso8859-1 -t utf-8 > /dev/null
		#curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_lia=Liaisons" $UrlElements | uconv -f iso8859-1 -t utf-8 > /dev/null
	fi

	# Déconnexion de l'alarme
	logout_alarme
fi

#----------------------------------------------------------------------------------------------------------------------
# Gestion de la liste des éléments
#----------------------------------------------------------------------------------------------------------------------
if [ "$Elements" = "1" ]; then
	# Connexion à l'alarme
	login_alarme

	# Lecture de la liste des éléments et stockage dans fichier temporaire
	if [ "$Debug" = "True" ]; then
		echo "Gestion liste des éléments"
		curl -L --cookie cjar --cookie-jar cjar $UrlElements | iconv -f iso8859-1 -t utf-8 > elements
		#curl -L --cookie cjar --cookie-jar cjar $UrlElements | uconv -f iso8859-1 -t utf-8 > elements
	else
		curl -s -L --cookie cjar --cookie-jar cjar $UrlElements | iconv -f iso8859-1 -t utf-8 > elements
		#curl -s -L --cookie cjar --cookie-jar cjar $UrlElements | uconv -f iso8859-1 -t utf-8 > elements
	fi

	# Déconnexion de l'alarme
	logout_alarme
	
	# Récupération dans les variables
	TypeElements="$(grep -Eoi 'var item_label.*' elements)"
	NomElements="$(grep -Eoi 'var elt_name.*' elements)"
	EtatElements="$(grep -Eoi 'var item_pause.*' elements)"
	EtatPiles="$(grep -Eoi 'var elt_pile.*' elements)"
	EtatLiaison="$(grep -Eoi 'var elt_onde.*' elements)"
	EtatPortes="$(grep -Eoi 'var elt_porte.*' elements)"
	EtatBoitiers="$(grep -Eoi 'var elt_as.*' elements)"
	EtatAlarme="$(grep -Eoi 'var elt_maison.*' elements)"

	# Affichage des éléments
	if [ "$Debug" = "True" ]; then
		echo " Type des éléments"
		echo $TypeElements
		echo " Nom des éléments"
		echo $NomElements
		echo " Etat des éléments"
		echo $EtatElements
		echo " Etat des piles"
		echo $EtatPiles
		echo " Etat liaison radio"
		echo $EtatLiaison
		echo " Etat détecteurs ouverture"
		echo $EtatPortes
		echo " Etat ouverture boitiers"
		echo $EtatBoitiers
		echo " Etat alarme"
		echo $EtatAlarme
	fi
		
	# Formatage du type des éléments	
	# Suppression des 21 1er caractères et 2 derniers
	TypeElements="$(echo "${TypeElements:21:-2}")"
	# Suppression des "
	TypeElements="$(echo "$TypeElements" | sed s/\"//g)"
	# Suppression des espaces entre les ,
	TypeElements="$(echo "$TypeElements" | sed s/\,\ /\,/g)"
	# Déclaration , comme séparateur
	IFS=","
	# Stockage dans le tableau
	TabTypeElements=($TypeElements)

	# Formatage des noms des éléments
	# Suppression des 21 1er caractères et 2 derniers
	NomElements="$(echo "${NomElements:21:-2}")"
	# Suppression des "
	NomElements="$(echo "$NomElements" | sed s/\"//g)"
	# Suppression des espaces entre les ,
	NomElements="$(echo "$NomElements" | sed s/\,\ /\,/g)"
	# Déclaration , comme séparateur
	IFS=","
	# Stockage dans le tableau
	TabNomElements=($NomElements)
		
	# Formatage état des éléments
	# Suppression des 21 1er caractères et 2 derniers
	EtatElements="$(echo "${EtatElements:21:-2}")"
	# Suppression des "
	EtatElements="$(echo "$EtatElements" | sed s/\"//g)"
	# Suppression des espaces entre les ,
	EtatElements="$(echo "$EtatElements" | sed s/\,\ /\,/g)"
	# Déclaration , comme séparateur
	IFS=","
	# Stockage dans le tableau
	TabEtatElements=($EtatElements)
	# Modification valeurs tableau
	TailleTab=${#TabEtatElements[@]}
	for (( i=0; i<$TailleTab; i++ ))
	do
		if [ ${TabEtatElements["$i"]} = "running" ]; then TabEtatElements["$i"]="Activé"
		else
			TabEtatElements["$i"]="Désactivé"
		fi
	done

	# Formatage état des piles
	# Suppression des 21 1er caractères et 2 derniers
	EtatPiles="$(echo "${EtatPiles:21:-2}")"
	# Suppression des "
	EtatPiles="$(echo "$EtatPiles" | sed s/\"//g)"
	# Suppression des espaces entre les ,
	EtatPiles="$(echo "$EtatPiles" | sed s/\,\ /\,/g)"
	# Déclaration , comme séparateur
	IFS=","
	# Stockage dans le tableau
	TabEtatPiles=($EtatPiles)
	# Modification des valeurs du tableau
	TailleTab=${#TabEtatPiles[@]}
	for (( i=0; i<$TailleTab; i++ ))
	do
		if [ ${TabEtatPiles["$i"]} = "itemhidden" ]; then TabEtatPiles["$i"]="NA"
		else
			if [ ${TabEtatPiles["$i"]} = "itembattok" ]; then TabEtatPiles["$i"]="OK"
			else
				TabEtatPiles["$i"]="NOK"
			fi
		fi
	done

	# Formatage état liaison radio
	# Suppression des 21 1er caractères et 2 derniers
	EtatLiaison="$(echo "${EtatLiaison:21:-2}")"
	# Suppression des "
	EtatLiaison="$(echo "$EtatLiaison" | sed s/\"//g)"
	# Suppression des espaces entre les ,
	EtatLiaison="$(echo "$EtatLiaison" | sed s/\,\ /\,/g)"
	# Déclaration , comme séparateur
	IFS=","
	# Stockage dans le tableau
	TabEtatLiaison=($EtatLiaison)
	# Modification des valeurs du tableau
	TailleTab=${#TabEtatLiaison[@]}
	for (( i=0; i<$TailleTab; i++ ))
	do
		if [ ${TabEtatLiaison["$i"]} = "itemhidden" ]; then TabEtatLiaison["$i"]="NA"
		else
			if [ ${TabEtatLiaison["$i"]} = "itemcomok" ]; then TabEtatLiaison["$i"]="OK"
			else
				TabEtatLiaison["$i"]="NOK"
			fi
		fi
	done
		
	# Récup état détecteurs ouverture
	# Suppression des 21 1er caractères et 2 derniers
	EtatPortes="$(echo "${EtatPortes:21:-2}")"
	# Suppression des "
	EtatPortes="$(echo "$EtatPortes" | sed s/\"//g)"
	# Suppression des espaces entre les ,
	EtatPortes="$(echo "$EtatPortes" | sed s/\,\ /\,/g)"
	# Déclaration , comme séparateur
	IFS=","
	# Stockage dans le tableau
	TabEtatPortes=($EtatPortes)
	# Modification des valeurs du tableau
	TailleTab=${#TabEtatPortes[@]}
	for (( i=0; i<$TailleTab; i++ ))
	do
		if [ ${TabEtatPortes["$i"]} = "itemhidden" ]; then TabEtatPortes["$i"]="NA"
		else
			if [ ${TabEtatPortes["$i"]} = "itemdoorok" ]; then TabEtatPortes["$i"]="Fermée"
			else
				TabEtatPortes["$i"]="Ouverte"
			fi
		fi
	done
		
	# Récup état ouverture boitiers
	# Suppression des 21 1er caractères et 2 derniers
	EtatBoitiers="$(echo "${EtatBoitiers:21:-2}")"
	# Suppression des "
	EtatBoitiers="$(echo "$EtatBoitiers" | sed s/\"//g)"
	# Suppression des espaces entre les ,
	EtatBoitiers="$(echo "$EtatBoitiers" | sed s/\,\ /\,/g)"
	# Déclaration , comme séparateur
	IFS=","
	# Stockage dans le tableau
	TabEtatBoitiers=($EtatBoitiers)
	# Modification des valeurs du tableau
	TailleTab=${#TabEtatBoitiers[@]}
	for (( i=0; i<$TailleTab; i++ ))
	do
		if [ ${TabEtatBoitiers["$i"]} = "itemhidden" ]; then TabEtatBoitiers["$i"]="NA"
		else
			if [ ${TabEtatBoitiers["$i"]} = "itemboxok" ]; then TabEtatBoitiers["$i"]="Fermé"
			else
				TabEtatBoitiers["$i"]="Ouvert"
			fi
		fi
	done
		
	# Récup état alarme
	# Suppression des 21 1er caractères et 2 derniers
	EtatAlarme="$(echo "${EtatAlarme:21:-2}")"
	# Suppression des "
	EtatAlarme="$(echo "$EtatAlarme" | sed s/\"//g)"
	# Suppression des espaces entre les ,
	EtatAlarme="$(echo "$EtatAlarme" | sed s/\,\ /\,/g)"
	# Déclaration , comme séparateur
	IFS=","
	# Stockage dans le tableau
	TabEtatAlarme=($EtatAlarme)
	# Modification des valeurs du tableau
	TailleTab=${#TabEtatAlarme[@]}
	for (( i=0; i<$TailleTab; i++ ))
	do
		if [ ${TabEtatAlarme["$i"]} = "itemhouseok" ]; then TabEtatAlarme["$i"]="Pas d'alarme"
		else
			TabEtatAlarme["$i"]="Alarme"
		fi
	done
		
	# Affichage de la liste des éléments
	if [ "$Debug" = "True" ]; then
		echo " Liste des éléments"
		TailleTab=${#TabNomElements[@]}
		for (( i=0; i<$TailleTab; i++ ))
		do
			echo " Type : "${TabTypeElements["$i"]} "/ Nom : "${TabNomElements["$i"]} "/ Etat : "${TabEtatElements["$i"]} "/ Etat piles : "${TabEtatPiles["$i"]} "/ Etat liaison : "${TabEtatLiaison["$i"]} "/ Etat portes : "${TabEtatPortes["$i"]} "/ Etat boitiers : "${TabEtatBoitiers["$i"]} "/ Etat alarme : "${TabEtatAlarme["$i"]}
		done	
	fi
	
	# Mise à jour capteurs Domoticz
	if [ "$Debug" = "True" ]; then
		echo " Mise à jour capteurs Domoticz"
	fi

	# DO Entré
	TailleTab=${#TabNomElements[@]}
	for (( i=0; i<$TailleTab; i++ ))
	do
		if [ ${TabNomElements["$i"]} = "DO Entree" ]; then PosElement=$i
		fi
	done
	if [ ${TabEtatPortes["$PosElement"]} = "Fermée" ]; then
		maj_capteur DOEntrée Off $AlarmeSomfyDOEntreeIdx
	else
		maj_capteur DOEntrée On $AlarmeSomfyDOEntreeIdx
	fi
	
	# DO Couloir
	for (( i=0; i<$TailleTab; i++ ))
	do
		if [ ${TabNomElements["$i"]} = "DO Couloir" ]; then PosElement=$i
		fi
	done
	if [ ${TabEtatPortes["$PosElement"]} = "Fermée" ]; then
		maj_capteur DOAtelier Off $AlarmeSomfyDOAtelierIdx
	else
		maj_capteur DOAtelier On $AlarmeSomfyDOAtelierIdx
	fi
	
fi

exit 0
It's working without errors now, but not as it should i guess.
Log looks like:

Code : Tout sélectionner

 *********************************
 Liste des URLs
 *********************************
 UrlLogin    = http://10.0.0.112/gb/login.htm
 UrlLogout   = http://10.0.0.112/logout.htm
 UrlEtat     = http://10.0.0.112/status.xml
 UrlPilotage = http://10.0.0.112/gb/u_pilotage.htm
 UrlElements = http://10.0.0.112/gb/u_listelmt.htm
 Toegangscode ophalen
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    34    0    34    0     0   2567      0 --:--:-- --:--:-- --:--:--  2833
100  2539    0  2539    0     0   9954      0 --:--:-- --:--:-- --:--:--  9954
 Code d'accès =
 Ophalen Authentificatiecode
 Authenticatiecode = 3528
 Gebruiker1-code en verificatiecode verzenden
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    42    0     0  100    42      0   1630 --:--:-- --:--:-- --:--:--  1680
100  1592    0  1592    0     0   5525      0 --:--:-- --:--:-- --:--:--  5525
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <meta http-equiv="content-style-type" content="text/css" />
    <title>Central unit</title>
    <link rel="shortcut icon" href="/domis.ico" type="image/x-icon"/>
    <meta name="language" content="en" />
    <meta http-equiv="expires" content="0">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache, must-revalidate">
<link href="/domis_welcome.css" rel="stylesheet" type="text/css" />  </head>
  <body>
    <div id="page">
      <div id="fond">
        <div id="menu">
          <div class="logohmb">&nbsp;</div>
        </div>
<div id="navbar"><div id="mode"></div></div><div id="titlebar"><div class="widetitlevoid">Error</div><div class="titlecorner"></div></div><div id="content" class="contentall"><br /><br /><div id="infobox">Incorrect code
 <b>(0x0B00)</b><br /><br /><form method="post" action="error.htm"><input type="submit" name="btn_ok" value="OK" class="arrowdark_short" /></form></div><div id="content_footer">&nbsp;</div></div>         <!--content -->
        <div id="spacer">
          <!-- -->
          <!--[if IE]>&nbsp;
          <![endif]-->
        </div>
        <div id="menu_footer">
          <br />
          Copyright &copy;2013 Somfy
        </div>
      </div>
      <!-- fond -->
    </div>
    <!-- page -->
  </body>
  </html>
  Lecture de l'état du système
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   110    0   110    0     0    471      0 --:--:-- --:--:-- --:--:--   471
 Verbinden met alarm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  2539    0  2539    0     0   9334      0 --:--:-- --:--:-- --:--:--  9334
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <meta http-equiv="content-style-type" content="text/css" />
    <title>Central unit</title>
    <link rel="shortcut icon" href="/domis.ico" type="image/x-icon"/>
    <meta name="language" content="en" />
    <meta http-equiv="expires" content="0">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache, must-revalidate">
<link href="/domis_welcome.css" rel="stylesheet" type="text/css" /><style type="text/css">img{border:none;};#menu a{border-bottom:none;}</style></head><body><div id="page"><div id="fond"><div id="menu"><div class="logohmb">&nbsp;</div><div id="filler"></div></div><div id="titlebar"><div class="widetitlevoid">Welcome</div><div class="titlecorner"></div></div><div id="content"><div class="loginhouse">My Somfy alarm system</div><form id="form_id" method="post" action="login.htm"><table><col width="165px"><tr><td>Account</td><td><select name="login" class="skinnedselectinput"> <option value="u">User1 </option><option value="i">Installer </option><option value="t">Remote mon. </option></select></td></tr><tr><td>Access code</td><td><input type="password" name="password" value="" class="skinnedtextinput" maxlength="12" size="16"/></td></tr><tr><td>Authentication code <b>C3</b></td><td><input type="password" name="key" value="" class="skinnedtextinput" maxlength="6" size="16"/></td></tr></table><div id="content_footer"><input type="submit" name="btn_login" value="Login" class="arrowdark"/></div></form></div>        <!--content -->
        <div id="spacer">
          <!-- -->
          <!--[if IE]>&nbsp;
          <![endif]-->
        </div>
        <div id="menu_footerflag">
Select language:<br><br>
<a href="/gb/login.htm"><img src="/img/gb.gif" alt="gb"/></a>&nbsp;&nbsp;&nbsp;
<a href="/fr/login.htm"><img src="/img/fr.gif" alt="fr"/></a>&nbsp;&nbsp;&nbsp;
<a href="/nl/login.htm"><img src="/img/nl.gif" alt="nl"/></a><br>
<a href="/it/login.htm"><img src="/img/it.gif" alt="it"/></a>&nbsp;&nbsp;&nbsp;
<a href="/de/login.htm"><img src="/img/de.gif" alt="de"/></a>&nbsp;&nbsp;&nbsp;
<a href="/sp/login.htm"><img src="/img/sp.gif" alt="sp"/></a><br>
          Copyright &copy;2013 Somfy
        </div>
      </div>
      <!-- fond -->
    </div>
    <!-- page -->
  </body>
  </html>
  *******************************************
  Status van het systeem
 *******************************************
 Zone A                   =
 Zone B                   =
 Zone C                   =

 Status Batterijen      =
 Status communicatie    =
 Status Ramen/Deuren    =
 Status Alarm           =
 Status Behuizing               =

 Status GSM                     =
 Signal GSM               =
 GSM Provider           =

 Status Camera          =
 Mise à jour capteurs Domoticz
 Staat ZoneA
{
   "status" : "OK",
   "title" : "SwitchLight"
}
 Staat ZoneB
{
   "status" : "OK",
   "title" : "SwitchLight"
}
 Staat ZoneC
{
   "status" : "OK",
   "title" : "SwitchLight"
}
 Staat Piles
{
   "status" : "OK",
   "title" : "SwitchLight"
}
 Staat Radio
{
   "status" : "OK",
   "title" : "SwitchLight"
}
 Staat Porte/Fenetre
{
   "status" : "OK",
   "title" : "SwitchLight"
}
 Staat Alarme
{
   "status" : "OK",
   "title" : "SwitchLight"
}
 Staat Boitier
{
   "status" : "OK",
   "title" : "SwitchLight"
}
 Staat GSM
{
   "status" : "OK",
   "title" : "SwitchLight"
}
 Niveau Signal GSM
{
   "status" : "OK",
   "title" : "Update Device"
}
 Opérateur GSM
{
   "status" : "OK",
   "title" : "Update Device"
}
the status list stays empty. And domoticz shows nothing. Any idea?

Re: Script alarme Somfy Protexiom 5000

Publié : 07 févr. 2020, 09:27
par hemowar
Bonjour à tous !!!
Je viens sur ce topic vu que j'ai une protexiom 5000, mais l'autre topic du 600 m'a fait beaucoup avancé...
J'ai enfin compris après 15 jours de lecture et relecture des topics du moins je pense :lol: , concernant les interrupteurs piles, radios... en faite ils s'allument uniquement pour dire qu'il y a un problème ? ensuite concernant la mise en marche de l'alarme via domoticz cela fonctionne bien mais si j'ulise la télécommande l'état de l'icone alarme domoticz ne change pas et si je lance un Status il active ou désactive l'alarme mais en exécutant le script.
Donc avez-vous une solution pour changer uniquement l'icone sans actionner le script de la zone alarme sachant que la remonter d'état se fait via le script Status. Et je veux toujours pouvoir utiliser la télécommande et ou domoticz.
Merci d'avance pour vos réponses

Re: Script alarme Somfy Protexiom 5000

Publié : 06 mai 2020, 21:59
par jcjames_13009
Réponse quelque peu tardive :?

En fait le script permet "d'interroger" le statut de l'alarme et des capteurs. C'est pour ça qu'il faut le lancer régulièrement. C'est ce que fait le cron. Perso je l'ai réglé sur 5 minutes pour presque avoir du temps réel. Le lancement du script par le cron n'empêche pas l'utilisation de la télécommande ou même de l'appli Somfy sur smartphone

Je n'ai pas d'autre solution que l'interrogation via le flag "status"

Une autre solution serait de pouvoir modifier le soft de l'alarme et/ou trouver une sortie sur la carte électronique de la centrale pour récupérer le signal de marche/arret de l'alarme et d'envoyer l'info dans Domoticz. mais là je sais pas faire...

@+

JC