Aide pour ne pas allumer un interrupteur si deja allumé

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
Babac
Messages : 4
Inscription : 13 déc. 2017, 15:01

Aide pour ne pas allumer un interrupteur si deja allumé

Messagepar Babac » 13 déc. 2017, 18:12

Bonjour
Apres plusieurs heurs voir jours de recherche et étant débutant (1er script) je vous retourne mon problème je possède un interrupteur qui me communique l état du freebox player.
Je voudrai faire un script qui interroge l'interrupteur état avant de lancer la commande on ou off du freebox player pour évité qu il éteind la free si elle est allumé mais je ni arrive pas . :cry:
Je vous remercie pour tout aide. ;)


Mon script bash pour le retour d'état.

#!/bin/bash
#ETAT FREE
SERVER="http://xxxxx:xxxxxxxx@192.168.0.xx:8080"
checker="192.168.0.xx"
idx="5"
status=`curl -s 'http://192.168.0.xx:54243/device.xml' | grep -oP '(?<=<modelDescription>).*?(?=</modelDescription>)'`
if [ "$status" = "Freebox UPnP Renderer" ]
then
current_Status="On"
else
current_Status="Off"
fi
if [ $current_Status = 'On' ]
then
url="http://xxxxx:xxxxxxxx@192.168.0.xx:8080/json.htm?type=command&param=switchlight&idx="$idx"&switchcmd=On"
curl $url
else
url="http://xxxxx:xxxxxxxx@192.168.0.xx:8080/json.htm?type=command&param=switchlight&idx="$idx"&switchcmd=Off"
curl $url
fi

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


landaisbenj
Messages : 592
Inscription : 12 mars 2017, 19:24

Re: Aide pour ne pas allumer un interrupteur si deja allumé

Messagepar landaisbenj » 14 déc. 2017, 14:38

Met ton code entre la balise code s'il te plait.
Tu sélectionne ton script bash et tu clique sur le bouton Code.


Comment s'appel l'interrupteur qui te communique l état du freebox player?
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway

Babac
Messages : 4
Inscription : 13 déc. 2017, 15:01

Re: Aide pour ne pas allumer un interrupteur si deja allumé

Messagepar Babac » 14 déc. 2017, 18:45

Bonsoir et merci de m'accorder un peut de temps :D .
Le nom de l’interrupteur est Etat Freebox.

voici le code j’espère que c'est comme ça qu il fallait faire et encore merci .

Code : Tout sélectionner

#!/bin/bash
#SI ON VEUT FREE
SERVER="http://user:password@192.168.0.xx:8080"
checker="192.168.0.50"
idx="5"
status=`curl -s 'http://192.168.0.50:54243/device.xml' | grep -oP '(?<=<modelDescription>).*?(?=</modelDescription>)'`
if [ "$status" = "Freebox UPnP Renderer" ]
then
current_Status="On"
else
current_Status="Off"
fi
if [ $current_Status = 'On' ]
then
url="http://user:password@192.168.0.xx:8080/json.htm?type=command&param=switchlight&idx="$idx"&switchcmd=On"
curl $url
else
url="http://user:password@192.168.0.xx:8080/json.htm?type=command&param=switchlight&idx="$idx"&switchcmd=Off"
curl $url
fi

Babac
Messages : 4
Inscription : 13 déc. 2017, 15:01

Re: Aide pour ne pas allumer un interrupteur si deja allumé

Messagepar Babac » 16 déc. 2017, 22:12

Bonsoir :roll:
Je galère ayant aucune connaissance en script je vous explique ce que je voudrais faire.

je voudrais exécuter ce script et récupéré la valeur On ou Off
si la valeur est 'On' ne rien faire si 'Off' allumer la freeplayer la tv ,canalsat et mettre une chaine.
c'est pour m'en servir comme réveil
merci d avance pour toute aide

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


landaisbenj
Messages : 592
Inscription : 12 mars 2017, 19:24

Re: Aide pour ne pas allumer un interrupteur si deja allumé

Messagepar landaisbenj » 18 déc. 2017, 01:33

Pour resumer tu veux connaitre l'etat de ta freebox, pour etre sur qu'elle est eteinte lors d'une mise en fonction automatique a une certaines heure.

Genre:

Si il est 6h et que la freebox est eteinte alors
J'allume la freebox je met canalsat et j'allume les enceintes.
fin


Est ce que ton script bash fonctionne ?

Sinon dans un seul LUA tu devrais pourvoir reussir a le faire. Mais il faut surement d'authentifier sur la freebox pour acceder a l'api je pense ?

Il faudrait coder un truc du genre:

Une fonction que te donne l'etat du freeplayer en parsans le retour json d'une commande:

Code : Tout sélectionner

os.execute(curl -s 'http://192.168.0.50:54243/device.xml' jq status[] (jesaispascommentcasecrit))

Si cette fonction te retourne Off
alors le script pourrait etre un script time avec

Code : Tout sélectionner

if time=06:00 then
les commandes pour mettre en fonction la freebox. Un truc du genre api freeplayer..
end
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway

DreamL
Messages : 52
Inscription : 20 janv. 2017, 20:03

Re: Aide pour ne pas allumer un interrupteur si deja allumé

Messagepar DreamL » 18 déc. 2017, 16:54

Salut
J'ai un principe identique pour tester si mon pc est allumé
Je te met une partie de mon script

Code : Tout sélectionner

STATUS=$(curl -s $URL_DOMOTICZ"/json.htm?type=devices&rid=353" | jq -r .result[].Status)
echo "Status switch PC DreamL Allumé = "$STATUS

        #Met a jour la variable domoticz si elle est a Off (pc éteint)
        echo "PC allumé"
        if [ $STATUS = "Off" ]
        then
            curl $URL_DOMOTICZ"/json.htm?type=command&param=switchlight&idx=353&switchcmd=On"
        fi

        #Met a jour la variable domoticz si elle est a On (pc allumé)
        echo "PC éteind"
        if [ $STATUS = "On" ]
        then
         curl $URL_DOMOTICZ"/json.htm?type=command&param=switchlight&idx=353&switchcmd=Off"
        fi
Domoticz 3.7115, raspberry pi3, (raspbian jessie).
rfx433 (Rfxcom) : sonde innovaley, 1wire (DS9490R) : DS2406 & DS18B20, Zwave (Stick G5) : fgms-001,fgsd-002,zw080.

Babac
Messages : 4
Inscription : 13 déc. 2017, 15:01

Re: Aide pour ne pas allumer un interrupteur si deja allumé

Messagepar Babac » 19 déc. 2017, 08:12

Bonjour
Merci de vos réponses
J'ai trouvé une solution en modifiant le script Bash au lieu de mettre le lien pour mettre à jour l'interrupteur État Freebox j'ai mis un lien pour exécuter un autre script.


Script Etat Free

Code : Tout sélectionner

#!/bin/bash
#FREE ON
status=`curl -s 'http://192.168.0.50:54243/device.xml' | grep -oP '(?<=<modelDe$
if [ "$status" = "Freebox UPnP Renderer" ]
then
current_Status="On"
else
current_Status="Off"
fi
if [ $current_Status = 'On' ]
then
echo Player On
else
"/home/pi/domoticz/scripts/bash/powertvmatin.sh"
curl $url
fi



Script commande Free et TV

Code : Tout sélectionner

#!/bin/sh

sudo curl "http://192.168.0.17/remote2.htm?button001"
sudo curl "http://hd1.freebox.fr/pub/remote_control?code=70798118&key=power"
sleep 5
sudo curl "http://hd1.freebox.fr/pub/remote_control?code=70798118&key=home"
sleep 1
sudo curl "http://hd1.freebox.fr/pub/remote_control?code=70798118&key=down"
sudo curl "http://hd1.freebox.fr/pub/remote_control?code=70798118&key=down"
sudo curl "http://hd1.freebox.fr/pub/remote_control?code=70798118&key=ok"
sleep 2
sudo curl "http://hd1.freebox.fr/pub/remote_control?code=70798118&key=1&long=tr$
sudo curl "http://hd1.freebox.fr/pub/remote_control?code=70798118&key=6&long=tr$
sudo curl "http://hd1.freebox.fr/pub/remote_control?code=70798118&key=5"


Je voudrais savoir si possible de tout mettre dans un seul script j'ai essayé de mettre les commandes Free et TV à la place du lien du script sa fonctionne pas.
Encore merci

Bonne Journé ;)

nico0639
Messages : 1
Inscription : 21 juin 2018, 16:43

Re: Aide pour ne pas allumer un interrupteur si deja allumé

Messagepar nico0639 » 22 juin 2018, 10:16

Salut !

Je suis tombé sur ce post qui m'intéresse. J'aimerais contrôler mon Freebox Player avec Siri via domoticz, mais je souhaite que siri sache si le Player est déjà allumé ( avec la télécommande par exemple )

Pour ça je souhaite récupérer ton script, mais comprends pas, pas moyen de faire marcher le statut

J'ai mis ça pour définir la variable status

Code : Tout sélectionner

 local status = [curl -s 'http://192.168.1.51:54243/device.xml' | grep -oP '(?<=<modelDescription>).*?(?=</modelDescription>)']


Sauf que pas moyen, il ne me remonte pas le bon status.
Si je fais dans mon code

Code : Tout sélectionner

print(status)


Et bien ça me print rien du tout.
Je fais quelque chose de mal, mais quoi ?

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.



Revenir vers « Scripts lua,blocky, shell, python, perl, »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités