[Bash] Script alarme Somfy Protexiom 5000
Re: Script alarme Somfy Protexiom 5000
bonjour
merci pour le script ça fonctionne super bien en lecture pour l'instant, je m'attaquerai au pilotage plus tard.
Bonne soirée.
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
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.
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
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.
et voici la fonction modifiée :
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
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¶m=switchlight&idx=$3&switchcmd=On"
fi
else
if [ $curetat = "On" ]
then
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$3&switchcmd=Off"
fi
fi
else
if [ "$2" = "On" ]; then
if [ $curetat = "Off" ]
then
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$3&switchcmd=On"
fi
else
if [ $curetat = "On" ]
then
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$3&switchcmd=Off"
fi
fi
fi
fi
}
-
jcjames_13009
- Messages : 105
- Inscription : 23 févr. 2015, 15:27
- Localisation : Marseille
- Contact :
Re: Script alarme Somfy Protexiom 5000
Salut spiderjn
Super la modif, bonne idée que je vais ajouter à mon script
@+
JC
Super la modif, bonne idée que je vais ajouter à mon script
@+
JC
Re: Script alarme Somfy Protexiom 5000
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:
It's working without errors now, but not as it should i guess.
Log looks like:
the status list stays empty. And domoticz shows nothing. Any idea?
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¶m=switchlight&idx=$3&switchcmd=On"
else
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$3&switchcmd=Off"
fi
else
if [ "$2" = "On" ]; then
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$3&switchcmd=On" > /dev/null
else
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=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¶m=udevice&idx=$AlarmeSomfySignalGSMIdx&nvalue=0&svalue=$SignalGSM"
else
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=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¶m=udevice&idx=$AlarmeSomfyOperateurGSMIdx&nvalue=0&svalue=$OperateurGSM"
else
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=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
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"> </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"> </div></div> <!--content -->
<div id="spacer">
<!-- -->
<!--[if IE]>
<![endif]-->
</div>
<div id="menu_footer">
<br />
Copyright ©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"> </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]>
<![endif]-->
</div>
<div id="menu_footerflag">
Select language:<br><br>
<a href="/gb/login.htm"><img src="/img/gb.gif" alt="gb"/></a>
<a href="/fr/login.htm"><img src="/img/fr.gif" alt="fr"/></a>
<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>
<a href="/de/login.htm"><img src="/img/de.gif" alt="de"/></a>
<a href="/sp/login.htm"><img src="/img/sp.gif" alt="sp"/></a><br>
Copyright ©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"
}
Re: Script alarme Somfy Protexiom 5000
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
, 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
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
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
-
jcjames_13009
- Messages : 105
- Inscription : 23 févr. 2015, 15:27
- Localisation : Marseille
- Contact :
Re: Script alarme Somfy Protexiom 5000
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
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