[Tuto] Piloter un iPad1 depuis Domoticz pour les notifications

Vous avez crée un script lua dont vous êtes fier, un .sh génial, un programme python hors du commun, un tuto , c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Entourez votre code source avec les balises Quote grâce au bouton correspondant
Répondre
js-martin
Messages : 487
Enregistré le : 22 mars 2015, 22:08
Contact :

[Tuto] Piloter un iPad1 depuis Domoticz pour les notifications

Message par js-martin »

J'ai un iPad1 qui est resté sous iOS 5.1.1 et avec lequel je ne faisais plus grand chose.

Or lorsqu'il y a des notifications, je les reçois bien sur mon téléphone mais pas ma famille.

L'idée est de mettre cet iPad dans le salon et d'afficher les notifications utiles issues de Domoticz.

L'idée m'est venue grâce à Clément : "Recycler un iPad en visiophone"

Il faut faire pas mal de choses pour y arriver :

1- jailbreaker son iPad1 [Apple ne dira rien : cela fait longtemps que l'iPad1 a été abandonné] (tuto utilisé => http://www.appsystem.fr/56911/tuto-jail ... 5-1-5-1-1/)

2- passer en IP fixe sur l'iPad

3- avec Cydia, installez "OpenSSH" pour piloter l'iPad à partir du raspberry (ou autre...)

4- avec Cydia, installez "Activator" qui permet de piloter son iPad en ligne de commande

5- installer un serveur Web (pour ma part, c'est mon NAS Synology qui se charge d'héberger les pages web utilisées dans ce tuto)

6- créer des clés SSH RSA pour se connecter à l'iPad sans mot de passe (tuto => http://www.linuxproblem.org/art_9.html)
ce qui permet de se connecter de la façon suivante :

Code : Tout sélectionner

pi@raspberrypi ~ $ sudo ssh -t -t root@192.168.1.120
iPad-1:~ root#
Le double "-t" évite cette erreur "Pseudo-terminal will not be allocated because stdin is not a terminal."

7- apprendre à utiliser "Activator" ; voici les différentes fonctions :
iPad-1:~ root# activator
Usage:
activator listeners
activator events
activator modes
activator current-mode
activator current-app
activator get <key>
activator set <key> <value>
activator activate <event> [<listener>]
activator send <listener>
activator deactivate <event>
pour avoir une idée de toutes les fonctions et les programmes que vous pouvez exécuter :

Code : Tout sélectionner

iPad-1:~ root# activator listeners
com.apple.mobilemail
com.apple.AppStore
com.apple.Preferences
com.meteoville.meteoparis
com.meteo.meteofranceipad
com.apple.MobileAddressBook
com.apple.Music
com.synology.DSaudio
com.apple.MobileSMS
com.saurik.Cydia
com.google.ios.youtube
com.apple.reminders
com.dustlab.CouchCalculator
com.apple.youtube
com.philips.lighting.hue
com.apple.Maps
com.apple.videos
com.kreolo.iradio
fr.m6.m6replay
com.johnmckerrell.CamViewer
com.firstact.disneyspotlight01
com.apple.mobileslideshow
com.apple.mobilegarageband
com.apple.mobilecal
com.apple.gamecenter
com.apple.webapp-3DE81389A65A49E894715A01FF6B8D95
libactivator
com.apple.mobilenotes
com.apple.mobilesafari
com.apple.webapp-D954177B01234EB0865D04AC77BDDE72
com.apple.MobileStore
...
Pour lancer une application, par exemple le gestionnaire Philips HUE :

Code : Tout sélectionner

activator send com.philips.lighting.hue
Au passage, j'ai eu du mal à utiliser le "texttone" News Flash (alerte sonore style 'Flash Info') qui est séparé par un espace. La solution est :

Code : Tout sélectionner

activator send  libactivator.ringtone.texttone:"News Flash"


pour lister les événements système de l'iPad que vous pouvez activer :

Code : Tout sélectionner

iPad-1:~ root# activator events
libactivator.lock.hold.short
libactivator.volume.up.hold.short
libactivator.statusbar.swipe.right
libactivator.lockscreen.clock.tap-hold
libactivator.volume.down.press
libactivator.statusbar.hold.left
libactivator.five-finger.pinch
libactivator.menu.press.single
libactivator.two-finger-slide-in.left
libactivator.slide-in.bottom-right
libactivator.volume.down.press.with-menu
libactivator.lockscreen.clock.swipe-right
libactivator.two-finger-slide-in.left-top
libactivator.statusbar.tap.single
libactivator.two-finger-slide-in.bottom-left
libactivator.lockscreen.clock.swipe-left
libactivator.menu.hold.short
libactivator.statusbar.swipe.down
libactivator.volume.up.press.with-menu
libactivator.drag-off.right
libactivator.menu.press.triple
libactivator.statusbar.tap.single.right
libactivator.volume.toggle-mute-twice
libactivator.network.left-wifi
libactivator.menu.press.double
libactivator.headset-button.hold.short
libactivator.device.locked
libactivator.icon.flick.down
libactivator.lock.hold.long
libactivator.clamshell.open
libactivator.two-finger-slide-in.right-bottom
libactivator.headset.disconnected
libactivator.volume.down-up
libactivator.two-finger-slide-in.bottom-right
libactivator.statusbar.tap.single.left
libactivator.three-finger.pinch
libactivator.slide-in.right-bottom
libactivator.menu.hold.long
libactivator.five-finger.tap
libactivator.two-finger-slide-in.left-bottom
libactivator.slide-in.left-bottom
libactivator.drag-along.screen-left.top-to-bottom
libactivator.drag-along.screen-bottom.left-to-right
libactivator.drag-along.screen-left.bottom-to-top
libactivator.drag-along.screen-right.bottom-to-top
libactivator.drag-along.screen-bottom.right-to-left
libactivator.slide-in.right
libactivator.slide-in.left-top
libactivator.headset.connected
libactivator.statusbar.tap.double.right
libactivator.slide-in.left
libactivator.motion.shake
libactivator.lock.press.double
libactivator.volume.up-down
libactivator.drag-off.top
libactivator.statusbar.swipe.left
libactivator.springboard.pinch
libactivator.slide-in.top-left
libactivator.power.connected
libactivator.statusbar.hold.right
libactivator.network.joined-wifi
libactivator.statusbar.hold
libactivator.slide-in.bottom-left
libactivator.clamshell.close
libactivator.volume.unmute
libactivator.five-finger.spread
libactivator.lockscreen.clock.double-tap
libactivator.three-finger.tap
libactivator.device.unlocked
libactivator.icon.flick.left
libactivator.lockscreen.clock.swipe-down
libactivator.four-finger.tap
libactivator.volume.up.press
libactivator.two-finger-slide-in.right
libactivator.slide-in.right-top
libactivator.power.disconnected
libactivator.slide-in.top-right
libactivator.headset-button.press.single
libactivator.two-finger-slide-in.top-right
libactivator.springboard.spread
libactivator.four-finger.pinch
libactivator.two-finger-slide-in.right-top
libactivator.lock.press.with-menu
libactivator.two-finger-slide-in.top
libactivator.volume.mute
libactivator.drag-along.screen-right.top-to-bottom
libactivator.icon.flick.right
libactivator.drag-off.left
libactivator.two-finger-slide-in.bottom
libactivator.volume.display-tap
libactivator.icon.flick.up
libactivator.now-playing.info-changed
libactivator.drag-off.bottom
libactivator.statusbar.tap.double.left
libactivator.four-finger.spread
libactivator.slide-in.bottom
libactivator.volume.both.press
libactivator.three-finger.spread
libactivator.volume.down.hold.short
libactivator.statusbar.tap.double
libactivator.two-finger-slide-in.top-left
il y a de quoi faire...
un exemple : déverrouiller l'iPad :

Code : Tout sélectionner

activator send libactivator.lockscreen.dismiss
8- faire vos pages de notifications : ici la page qui affiche le flux vidéo de la caméra de la porte d'entrée et qui ajoute un petit message "On sonne à la porte" :

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  
  <meta charset="utf-8">
   
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
    
  <meta name="apple-mobile-web-app-capable" content="yes">
    
  <meta name="apple-mobile-web-app-status-bar-style" content="default">
    
  <title>Camera Porche</title>
</head>
  <body style="margin: 0px; background-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" alink="#ee0000" link="#0000ee" vlink="#551a8b">
     <img src="http://192.168.1.60:80/videostream.cgi?user=xxxx&pwd=xxxx" height="768" width="1024"><br>
<br>
<div style="text-align: center; background-color: rgb(0, 0, 0);"><big style="color: rgb(0, 153, 0);"><big><big><big><big><br>
On sonne &agrave; la porte d'entr&eacute;e !</big></big></big></big></big>
   </div>
</body>
</html>
9- afficher cette page avec Safari et la mettre sur l'écran d'accueil => du coup, cette "Web App" est exécutable par Activator
Il faut récupérer son code hexadécimal :

Code : Tout sélectionner

iPad-1:~ root# activator listeners | grep web
com.apple.webapp-3DE81389A65A49E894715A01FF6B8D95
com.apple.webapp-D954177B01234EB0865D04AC77BDDE72
dans mon cas, je n'ai que deux Web App : à vous de trouver celle qui correspond à votre page web que vous pourrez lancer par un :

Code : Tout sélectionner

activator send com.apple.webapp-D954177B01234EB0865D04AC77BDDE72
10- créer un script shell sous Domoticz pour faire vos séquences
Pour rester sur l'exemple de la sonnette :

Code : Tout sélectionner

#!/bin/bash
# Affiche le flux video de la camera de la porte d'entree
#on se connecte a l'iPad 1 en wifi IP fixe
sudo ssh -t -t root@192.168.1.120 << EOF
#on utilise l'application activator pour deverrouiller iPad
activator send libactivator.lockscreen.dismiss
sleep 1
#on lance la web application qui affiche la photo de la camera
activator send com.apple.webapp-D954177B01234EB0865D04AC77BDDE72
activator send  libactivator.ringtone.system:Doorbell
#...pendant 90s
sleep 90
# on ferme la page
activator send libactivator.system.back
#on repasse en veille
activator send libactivator.system.sleepbutton
exit
EOF
11- comme les scripts sous Domoticz sont exécutés avec le owner "root", il faut copier les clés RSA dans le répertoire /root de raspbian Domoticz

Code : Tout sélectionner

sudo mkdir -p /root/.ssh
sudo cp /home/pi/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub
12- on est presque au bout ! Il faut trouver un support mural ou un socle à notre iPad. J'avais un socle, je suis donc partie sur cette solution. Toutefois, en branchant l'iPad dessus, je n'ai plus les notifications sonores. La solution est simple : ouvrir le socle et couper la broche 21 :
IMG_4443.JPG
IMG_4443.JPG (110.34 Kio) Vu 9562 fois
Les trois fils coupés correspondent à la prise jack audio...inutile de les couper (je croyais que cela suffirait mais c'était plus subtile)
(les broches du connecteur 30 broches = http://www.allpinouts.org/index.php/App ... Phone_dock)

Voici le résultat (pour la démo, c'est moi qui déclenche le script => pour la première partie, voir ce tuto) :
Capture.JPG
Capture.JPG (71.86 Kio) Vu 9559 fois
[/url]
https://youtu.be/6aujM4lIfA0

Maintenant, il est possible d'afficher l'écran d'accueil de Domoticz après un événement, afficher la météo le matin pendant votre petit-dejeuner, afficher une alerte (+ faire diffuser un son) si la température dans le congélateur est trop élevée, rappeler le jour J qu'il faut sortir les poubelles, afficher une mosaïque de vos caméras de surveillance si une personne est détectée autour de la maison...
Domotisation de : mes compteurs EDF, solaire, eau / mon alarme / ma Chaudière Viessamnn / mon congel / ma sonnette. Matériels : Pi2 - RFXTrx433e - Zwave+ Aeotec, ampoules Hue - Détecteur et prises Fibaro - Capteurs Oregon - présentation installation => lien

deennoo
Messages : 4028
Enregistré le : 25 janv. 2015, 02:00

Re: Piloter un iPad1 depuis Domoticz pour les notifications

Message par deennoo »

J'aime
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

vil1driver
Messages : 5661
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Piloter un iPad1 depuis Domoticz pour les notifications

Message par vil1driver »

Joli ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien

js-martin
Messages : 487
Enregistré le : 22 mars 2015, 22:08
Contact :

Re: Piloter un iPad1 depuis Domoticz pour les notifications

Message par js-martin »

merci !

Je vais me concentrer sur ma chaudière maintenant ... link

C'est sympa comme hobby la domotique ;)
Domotisation de : mes compteurs EDF, solaire, eau / mon alarme / ma Chaudière Viessamnn / mon congel / ma sonnette. Matériels : Pi2 - RFXTrx433e - Zwave+ Aeotec, ampoules Hue - Détecteur et prises Fibaro - Capteurs Oregon - présentation installation => lien

nissart
Messages : 145
Enregistré le : 20 avr. 2016, 15:00

Re: Piloter un iPad1 depuis Domoticz pour les notifications

Message par nissart »

Salut,

C'est excellent !!
Rpi3 Domoticz v3.9389 - RFX433e - Kira128

Odroid C2/OpenPHT/ Pour le salon
Rpi3/Rasplex/ Pour la chambre

Rpi2/Runeaudio/ Pour le salon + terrasse
Rpi2 hifiberry AMP+/Runeaudio/ pour la sdb

Que j'aime ces petites bestioles !!!

Répondre