New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TUTO : Désactiver/Réactiver de JARVIS par commande vocale via Domoticz + intérupteur Domoticz #369

Closed
tchoul opened this Issue Jan 16, 2017 · 8 comments

Comments

Projects
None yet
3 participants
@tchoul

tchoul commented Jan 16, 2017

Bonjour,

Si ça vous intéresse, j'ai fais un petit tuto pour Désactiver/Réactiver Jarvis par commande vocale via Domoticz et aussi via intérrupteur Domoticz.

Créez un intérrupteur dans Domoticz :

-matéreil : dummy device
-Nom périphérique : Jarvis
-Type interrupteur On/Off
-Type : peu importe
-Code/ID : un code non pris
Valider : Ajouter un dispositif

Ensuite dans le terminal on créer un executable :

nano jarvisONdomoticz.sh
sudo -u pi /home/pi/jarvis/jarvis.sh -b
Enregistrer
chmod +x jarvisONdomoticz.sh
Avant le chemin n'oublier pas de mettre "sudo -u pi" pour pouvoir l'ouvrir en tant qu'utilisateur car il faut savoir que Domoticz exécute en tant que root j'ai vu ça ici #298 et ici #292

Faire la même chose avec jarvisOFFdomoticz.sh. Pensez bien à modifier "jarvis.sh -b" en "jarvis.sh -q"
nano jarvisOFFdomoticz.sh
sudo -u pi /home/pi/jarvis/jarvis.sh -q
Enregistrer
chmod +x jarvisOFFdomoticz.sh

Editer l'intérrupteur :

On retourne sur domoticz puis on met le chemin de nos scripts :

Dans action On : script:///home/pi/jarvisONdomoticz.sh
Dans action Off : script:///home/pi/jarvisOFFdomoticz.sh
On sauvegarde puis on va dans les réglages de Domoticz créer un événement pour que Jarvis s'active automatiquement dès qu'il est éteint.

Créer évenement :

Dans Domoticz :
Réglages > Plus d'options > Evénements
Dans "Event name" mettez "Jarvis reboot" par exemple, ensuite créer l'évenement :
If Jarvis = Off
Do set Jarvis =On after 1 second
Cochez "Event active" pour activer l'événement puis "Save"

Retourner dans le terminal pour créer votre commande vocal dans le fichier "jarvis-commands" par exemple :

cd jarvis/
nano jarvis-commands
Et ajouté en modifiant avec vorte IP, votre port et l'IDX par exemple :
*JARVIS*REBOOT*==jv curl "http://192.168.0.10:8080/json.htm?type=command&param=switchlight&idx=19&switchcmd=Off"
Enregistrer et c'est fini!

Bon à savoir :

Losrqu'on le désactive/active et qui ne démarre pas dans les 5 secondes, c'est surement dû à la mise à jour.

@oeildefeu

This comment has been minimized.

Show comment
Hide comment
@oeildefeu

oeildefeu Jan 17, 2017

Salut,
je viens d'essayer et j'ai un souci, que je ne comprends po du tout, quand je désactive le le switch, domoticz se ferme ...

Une idée ?

Salut,
je viens d'essayer et j'ai un souci, que je ne comprends po du tout, quand je désactive le le switch, domoticz se ferme ...

Une idée ?

@tchoul

This comment has been minimized.

Show comment
Hide comment
@tchoul

tchoul Jan 18, 2017

JMoi quand je le désactive (sur off) il se redémarre au bout d'une seconde. Supprime le switch et recréer le.
Sinon je vois pas d'où peut venir le souci.
Ça le fait que avec ce switch ?
Tu as déjà eu ce genre de souci ?
Tu as rebooté le raspberry pour voir si ça regler le problème ?

tchoul commented Jan 18, 2017

JMoi quand je le désactive (sur off) il se redémarre au bout d'une seconde. Supprime le switch et recréer le.
Sinon je vois pas d'où peut venir le souci.
Ça le fait que avec ce switch ?
Tu as déjà eu ce genre de souci ?
Tu as rebooté le raspberry pour voir si ça regler le problème ?

@oeildefeu

This comment has been minimized.

Show comment
Hide comment
@oeildefeu

oeildefeu Jan 18, 2017

En fait je ne veux pas le redémarage automatique, juste controler la "présence" de Jarvis par un switch.
ben ouaip ça ne le fait qu'avec ce switch :-S
jamais eu ce souci

En fait quand je lance Jarvis par ce switch, quand je lance 'jarvis.sh -q' ça me ferme les process de domoticz, comme si jarvis -q fermait les process parents ?

oeildefeu commented Jan 18, 2017

En fait je ne veux pas le redémarage automatique, juste controler la "présence" de Jarvis par un switch.
ben ouaip ça ne le fait qu'avec ce switch :-S
jamais eu ce souci

En fait quand je lance Jarvis par ce switch, quand je lance 'jarvis.sh -q' ça me ferme les process de domoticz, comme si jarvis -q fermait les process parents ?

@tchoul

This comment has been minimized.

Show comment
Hide comment
@tchoul

tchoul Jan 19, 2017

Supprime l'événement alors, comme ça tu peux activer/désactiver via le switch et tu seras si il est activé ou pas. Si bien sur ton problème précédemment citer ne reviens pas...

tchoul commented Jan 19, 2017

Supprime l'événement alors, comme ça tu peux activer/désactiver via le switch et tu seras si il est activé ou pas. Si bien sur ton problème précédemment citer ne reviens pas...

@oeildefeu

This comment has been minimized.

Show comment
Hide comment
@oeildefeu

oeildefeu Jan 19, 2017

Mais je n'ai pas créé l'événement 😉
Je n'ai créé que le switch que je réutilise d'un truc précédent (un essai snowboy) mais bien un dummy.
Bref, le souci c'est que quand je lance Jarvis via le switch (qui lance le script sur le on action) ben dès que je fais un "Jarvis.sh -q" domoticz se ferme. J'en conclus que je ne sais pas pourquoi mais Jarvis.sh -q kill le processus qui l'a lancé et je sais pas pourquoi...

Mais je n'ai pas créé l'événement 😉
Je n'ai créé que le switch que je réutilise d'un truc précédent (un essai snowboy) mais bien un dummy.
Bref, le souci c'est que quand je lance Jarvis via le switch (qui lance le script sur le on action) ben dès que je fais un "Jarvis.sh -q" domoticz se ferme. J'en conclus que je ne sais pas pourquoi mais Jarvis.sh -q kill le processus qui l'a lancé et je sais pas pourquoi...

@oeildefeu

This comment has been minimized.

Show comment
Hide comment
@oeildefeu

oeildefeu Jan 21, 2017

SAlut,
j'avance dans ma compréhension du souci ...
dans la fonction jv_kill_jarvis() la commande local gid=$(ps -p $pid -o pgid=) # group id de jarvis récupère le group_id de domoticz... et du coup la commande suivante tue tout...
bon ben je vais essayer de contourner ça :)

SAlut,
j'avance dans ma compréhension du souci ...
dans la fonction jv_kill_jarvis() la commande local gid=$(ps -p $pid -o pgid=) # group id de jarvis récupère le group_id de domoticz... et du coup la commande suivante tue tout...
bon ben je vais essayer de contourner ça :)

@oeildefeu

This comment has been minimized.

Show comment
Hide comment
@oeildefeu

oeildefeu Jan 21, 2017

Bon ben c'est bon ! 👍
J'ai modifié le script jarvisONdomoticz.sh comme ceci afin de s'assurer que jarvis démarre bien dans un nouveau group !
sudo -u pi setsid /home/pi/jarvis/jarvis.sh -b

Problème réglé !

Bon ben c'est bon ! 👍
J'ai modifié le script jarvisONdomoticz.sh comme ceci afin de s'assurer que jarvis démarre bien dans un nouveau group !
sudo -u pi setsid /home/pi/jarvis/jarvis.sh -b

Problème réglé !

@alexylem

This comment has been minimized.

Show comment
Hide comment
@alexylem

alexylem Jan 26, 2017

Owner

Post référencé sur le site, merci!
image

Owner

alexylem commented Jan 26, 2017

Post référencé sur le site, merci!
image

@alexylem alexylem closed this Jan 26, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment