Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'linux'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Bienvenue
    • Annonces et suggestions
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Autres Solutions Domotiques
  • La HC2 et ses périphériques
    • La Home Center pour les nuls
    • Home Center 2 & Lite
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Alarme & Vidéo-surveillance
    • Multimédia
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets...)
    • Eclairage
    • Applications Smartphones et Tablettes
    • English Section
  • Les objets connectés
    • Les Assistants Vocaux
  • Fibaro's Awards
    • Membre du mois
    • Jeux concours & Cadeaux
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Calendriers

Aucun résultat à afficher.


2 résultats trouvés

  1. Bonjour a tous, Ci-dessous un petit tuto afin de detecter si vous êtes chez vous ou non, le principe repose comme d'autres tutos sur la connection du smartphone sur le wifi. Il n'y a nul besoin d'avoir une application installé sur le téléphone. J'ai réalisé des tests avec un smartphone android et iphone4 sous IOS8 Fonctions: 1) Identifier si le ou les smartphones se connectent au réseau wifi. 2) Renseigner une variable de la HC2 sur "Absent" ou "Present". 3) A partir des états des variables pouvoir lancer des scènes. Prérequis: - Linux (genre un raspberry ou ubuntu), fonctionne également sur syno avec la nouvelle fonction docker - Smartphone android ou iphone - une HC2 Remerciements: Merci a sebcbien pour ses icons et ses idées: son post ici Merci a Tony270570 pour son tuto, la plupart de ce tuto a été un "copier/coller" du sien: son post ici Actions a réaliser sur la HC2: 1/ Créer un variable prédéfini avec le nom de votre choix (ex: presence_vince) avec 2 valeurs, Les majuscules sont importantes: - Absent - Present 2/ Ajouter les icones joint a ce post 3/ Créer un virtual device avec le fichier joint a ce post. Modifier dans le main loop les infos suivantes: - Modifier le nom de la variable que vous avez défini ci-dessus. - Modifier le numéro de l'icone pour la fonction "present" et "absent". Actions a réaliser sur le server linux: Télécharger l'application ici wget http://www.overlooksoft.com/getfing4arm Installer fing sudo dpkg -i overlook-fing-2.2.deb Installer les librairies complémentaires sudo apt-get install libpcap* Créer le répertoire hébergent le script sudo mkdir /home/hc2 Création du script de test de connexion wifi et le paramétrer Créer le fichier sudo nano test_presence_vince.sh vous pouvez biensur remplacer le nom du script, il n'a aucune importance mis a part s'y retrouver copier le script ci-dessous dans le fichier #!/bin/bash # Script check IP and update HC2 global variable # Never ending loop # version 1.00 # Author: byackee # Original Author: Tony270570 nomvariable="Presence_vince" login="admin" password="votre mot de passe" hc2ip="192.168.0.3" while : do grep -n "<center>UP</TD><TD>192.168.2.83" /var/www/ping/lan.html if [ $? -eq 0 ] then curl -s -X PUT -d '{"value": "Present"}' http://$login:$password@$hc2ip/api/globalVariables/$nomvariable echo "present" sleep 10 else curl -s -X PUT -d '{"value": "Absent"}' http://$login:$password@$hc2ip/api/globalVariables/$nomvariable echo "absent" sleep 10 fi done Il faut modifier les variables en début de script: nomvariable ==> nom de la variable créé sur la HC2 login ==> login de la HC2 password ==> mot de pass de la HC2 hc2ip ==> adresse ip de la HC2 lancer la commande suivante: sudo chmod 755 « test_presence_vince Les opérations ci-dessus peuvent etre réalisées autant de fois que de personnes/smartphones a tester Créer un script pour le lancement des scripts au boot Créer le fichier sudo nano exec_presence Copier le code suivant dans le fichier #! /bin/sh ### BEGIN INIT INFO # Provides: exec_presence # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Run /home/HC2/test_presence if it exist ### END INIT INFO # version 1.00 # Author: byackee # Original Author: Tony270570 PATH=/sbin:/usr/sbin:/bin:/usr/bin . /lib/init/vars.sh . /lib/lsb/init-functions scriptpath="/home/hc2/" do_start() { for i in $scriptpath"/"* ; do echo "lancement du script: "$i $i & sleep 2 done } case "$1" in start) do_start ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) ;; *) echo "Usage: $0 start|stop" >&2 exit 3 ;; esac donner les droits et l'autorisation de lancement du script au démarrage sudo chmod 755 exec_presence update-rc.d -f exec_presence defaults 7/ créer un script de demarrage de fing Créer le fichier sudo nano startfing et y copier le code suivant #! /bin/sh ### BEGIN INIT INFO # Provides: startfing # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Run fing with unlimited loop ### END INIT INFO # version 1.00 # Author: byackee # Original Author: Tony270570 PATH=/sbin:/usr/sbin:/bin:/usr/bin . /lib/init/vars.sh . /lib/lsb/init-functions do_start() { fing -n 192.168.2.0/24 -o table,html,/var/www/ping/lan.html & } case "$1" in start) do_start ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; esac Il faut simplement modifier l'adresse IP de votre reseau. donner les droits et l'autorisation de lancement du script au démarrage sudo chmod 755 startfing update-rc.d -f startfing defaults Voila maintenant votre/vos smartphone sont détectés lors de la connexion au wifi. Le délai peut varié mais il est en générale de 20 a 30s. icons: Presence_So.vfib
  2. Bonjour à tous, Cette solution, différente des autres, se base sur le fait que les objets wifi disposent d'un adresse "MAC" (ou ARP en anglais). Cette adresse est obligatoire et a le grand avantage de ne nécessiter aucun port ouvert sur l'appareil a tester. Prérequis : Une machine *nix (Linux : Raspberry, Synology, FreeBSD, ...). Une HC2 (une version spécifique HCL viendra plus tard). Du Perl avec la bibliothèque CGI sur la machine hôte. Avoir un baux DHCP fixe (aka configurer une IP fixe) pour les appareils a surveiller. La solution se décompose en deux parties :Un script CGI qui se met sur un serveur *nix. Un virtual module qui s'occupe de faire des demandes toutes les 10 minutes sur ce script CGI. Installation du CGI sur un serveur *nix.Je prends pour référence mon Raspberry PI qui fait tourner mon domoticz. Ayant eu la flemme d'installer un PI "à la main" j'avais déjà pris la "Domoticz RaspberryPI SD Image", que vous pouvez trouver à l'adresse suivante : http://www.domoticz.com/wiki/Domoticz_RaspberryPi_SD_Image. Accessoirement j'ai installé avahi afin de le trouver via bonjour sur mon Mac. Commandes a executer en root : aptitude install avahi-daemon Normalement l'image PI pour domoticz dispose déjà d'un nginx préinstallé, il reste donc plus à ajouter fcgiwrap pour que le CGI soit executable depuis nginx. aptitude install fcgiwrap Puis copier le fichier de configuration dans /etc/nginx : cp /usr/share/doc/fcgiwrap/examples/nginx.conf /etc/nginx/fcgiwrap.conf Il suffit de créer un répertoire cgi-bin et downloader le script arp.pl : mkdir -p /usr/lib/cgi-bin cd /usr/lib/cgi-bin wget --no-check-certificate https://redmine.oav.net/projects/kiwi/repository/revisions/master/raw/fibaro/arp/arp.pl chmod +x arp.pl Il reste à configurer le nginx pour qu'on puisse donc executer le CGI qui vas nous servir a trouver si le matériel fonctionne ou pas, créez le fichier /etc/nginx/sites-available/cgi avec le contenu suivant : server { #listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 listen 8000; root /usr/share/nginx/www; index index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ /index.html; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } include /etc/nginx/fcgiwrap.conf; } Puis activez le site : cd /etc/nginx/sites-enabled && ln -s ../sites-available/cgi nginx -t Au "nginx -t" un test de syntaxe du fichier de conf vas être effectuée normalement si vous avez autre chose que : nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful C'est qu'il y a un erreur quelque part dans votre configuration.Dans le cas où tout vas bien, relancez le service nginx : service nginx restart Puis nous pouvons passer au test CGI.Exemple avec une ip en 192.168.0.50, mettez dans votre navigateur : http://ip.du.pi.lan:8000/cgi-bin/arp.pl?host=192.168.0.50, devrait vous donner le JSON suivant (si cette machine existe et que vous arrivez a pinger cette machine depuis le PI) : { hostname: "192.168.0.50", ipv4: "192.168.0.50", MAC: "aa:bb:cc:dd:ee:ff" } La partie *nix est donc finie.Installation de la partie HC2. Téléchargez le virtual module à l'adresse : https://redmine.oav.net/projects/kiwi/repository/revisions/master/raw/fibaro/arp/presence.vfib (Si le certificat SSL fais la tronche c'est pas grave, je le mettrais à jour bientôt). Dans la configuration du modules, mettez l'ip correspondant au PI et le Port correspondant a celui que vous avez ouvert précédemment (dans mon exemple : 8000). Dans le code du bouton 1, complétez les lignes suivantes avec *vos* paramètres : local cgi = "/cgi-bin/arp.pl"; local what = "192.168.0.50"; Pour aller avec l'exemple ci dessus.A noter que vous avez besoin de créer une variable locale qui s'appelle : Phone_<valeurdewhat>, par exemple : Phone_192.168.0.50 avec comme 2 valeurs 1 ou 0. Après laissez le reste se faire, normalement les icônes changent tout seul et la ligne de status affiche correctement les bonnes infos. Enjoy et informez moi des pb ou evolutions. Xavier PS1: License du module : MPL1.1, URL de mon git : https://redmine.oav.net/projects/kiwi/repository/revisions/master/show/fibaro/arp PS2: Si bug utilisez l'option "Nouvelle demande" afin que je corrige/adapte Edits: 22/12 : corrections de carfnann
×