Open Sh1n1x opened 6 years ago
Bon finalement j'ai bien avancé !
Pour ceux qui souhaite essayer voici un mini tuto. (Au besoin je pourrai faire une vidéo pour vous montrer ce que sa donne)
Dans un fichier localisé dans le dossier jarvis et nommé "device_connected.sh"
#!/bin/bash
# Checks for presence of device and speaks a notification
NOW=$(date +"%s")
dayBegin=$(date --date="Today 07:00" +"%s")
dayEnd=$(date --date="Today 23:00" +"%s")
if [ ${NOW} -gt ${dayBegin} ] && [ ${NOW} -lt ${dayEnd} ]; then
ping 192.168.1.117 -c 1 -W 5 > /home/pi/devicelist #ici l'adresse c-est mon ip quand mon smartphone se connecte au wifi
status=$(grep -i -c '1 received' /home/pi/devicelist)
prevStatus=$(cat /home/pi/ishome)
if [ $status = $prevStatus ]; then
echo "No change"
else
if [ $status = "1" ]; then
~/jarvis/jarvis.sh -x "WELCOME HOME" # on dit bjr
# A PARTIR DE LA QUE POUR MOI
lumiereSalon=$(hue -j lights 1)
if [[ $(echo "$lumiereSalon" | jq -r "$json.state.on") == false ]] #Si la lumiere est pas allumee
then
~/jarvis/jarvis.sh -x "ALLUME SALON NOW" # on allume (a la base je voulais poser une question mais ca fait buger jarvis
fi
# FIN QUE POUR MOI
echo "Phone here"
else
echo "Phone lost"
fi
fi
echo $status > /home/pi/ishome
fi
Ajouter une tache cron dans le fichier (check toutes les minutes mais reponse uniquement de 7h a 23h) :
*/1 * * * * ~/jarvis/device_connected.sh >/dev/null 2>&1
Ensuite créer une commande pour Jarvis "WELCOME HOME" comme ça :
WELCOME HOME== say "Bonjour Anthony, heureuse de te revoir"
Bonsoir @Sh1n1x,
Je t'invite à regarder le repo https://github.com/alexylem/jarvis-plugin, histoire de proposer ton projet à la communauté sous forme de plugin. Cela permettra à tous de l'installer rapidement, et de participer à son développement 👍
Bonne soirée, @wikijm
Bonsoir @wikijm, J'aimerai bien mais je suis pas un as du bash c'est pour quoi je n'ai pas crée un plugin, parce que si je le fait il ne sera pas fonctionnel à 100% :/
Bonjour @Sh1n1x,
C'est noté, et j'apprécie ton honnêteté quant à ton niveau 😉 Peux-tu, sans parler de faire un fork du repository https://github.com/alexylem/jarvis-plugin et donc de faire un plugin, faire un repository dans lequel tu partageras ton code ?
Sans cela, difficile de suivre les modifications et proposer des corrections/améliorations à ton code.
Non mais finalement je vais me pencher sur un plugin, ça sera quand même plus pratique que mon bidouillage actuel. Je connais pas mal de langage orienté web donc c'est pas quelques scripts shell qui vont m'arrêter^^. Mais avant j'ai 2 plugins à finaliser et à ajouter à la communauté ^^ (1 météo suisse et 1 score match de foot). :D
Seul question liée à la création d'un plugin, je peux pas intégrer une tâche cron dans le plugin non ? il faut obligatoirement que l'utilisateur aille la rajouter manuellement dans son fichier cron ?
Bonjour,
Je t'invite à aller voir cette réponse que j'ai faite sur un autre sujet. Ton plugin est très sympa, et va certainement bien fonctionner mais ce que tu veux faire est très, très proche de la domotique, donc autant utiliser des outils développés pour (Home-Assistant / OwnTracks)
Oliv'
Intéressant ! je ne connaissais pas les outils que tu as cité. Je vais regarder et m'en inspirer. Mais pourquoi pas justement pousser jarvis jusqu'à là avec des plugins :).
Je vais regarder plus en détail, mais je pense que j'ai abordé la mauvaise approche.
Ce n'est pas à Jarvis de détecter si X est rentré mais plutôt au Smartphone de X qui dit à Jarvis "Hey je suis rentré allume la lumière et met de la musique."
Je vais regarder du coup si avec Tasker c'est faisable et si c'est le cas le plugin sera beaucoup plus facile à faire que prévu ^^.
Merci pour tes explications
salut à tous,
J'ai lu cet issue hier soir et une idée est passée dans ma tête, demander qui est à la maison / tout le monde est à la maison ? J'ai fait un peu de PHP donc je ne sais pas ce que ça représente en quantité de code mais je me dis que ça pourrai être une bonne idée. vous en penser quoi ?
Hello,
Voilà je planche actuellement sur un plugin qui serait intéressant je pense à effectuer mais je manque cruellement de connaissance pour le faire...
Alors en gros je pense que se serait même une fonctionnalité que devrait avoir jarvis par défaut. Je vous explique.
Jarvis scan toutes les X secondes les devices connectés au WiFi. Via un fichier config on peut lui assigner tous les smartphones de la famille.
Du coup :
Enfin voila une ébauche de fonctionnalité qui, je pense peux être intéressante !
Ah j'oubliai j'ai commencé a faire un script qui va scan le réseau wifi et enregistrer le précédent état comme sa il compare en fonction du précédent et il sait si un nouveau est la ou pas. Le voici :
Si des personnes sont motivées pour m'aider :)