Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Chatière Sureflap connectée

Avatar de l’utilisateur
Estherbe
Timide
Messages : 18
Inscription : 09 sept. 2017, 18:55
Localisation : Belgium Paradise

Re: Chatière Sureflap connectée

Message par Estherbe » 10 sept. 2018, 20:52

Shakto a écrit :
09 sept. 2018, 17:21
Pour le coup, grand chatière commandée à l'instant pour prévoir l'hiver à venir (c'est mieux qu'une fenêtre ouverte constamment...)
Effectivement avec le chauffage, la chatière devrait être vite amortie selon la région ou tu habites.. ;)
Si tu as la possibilité de l'installer à la cave ou du moins une pièce non chauffé, je te le conseille vivement car cela laisse passer fortement le froid.
Dans la pub, on voit qu'on peut l'installer sur une baie vitré dans le salon... quand il fait -20° dehors... je me passerai du petit courant d'air entrant par la chatière devant la tv :o

Bien à toi.

Avatar de l’utilisateur
jiminy
Actif
Messages : 756
Inscription : 26 févr. 2016, 18:27
Localisation : Montpellier

Re: Chatière Sureflap connectée

Message par jiminy » 10 sept. 2018, 21:57

Moi elle est sur une baie vitrée de la partie cuisine de la pièce à vivre, mais en même temps à Montpellier il fait rarement -20°C :D

Shakto
Timide
Messages : 112
Inscription : 07 oct. 2017, 15:31

Re: Chatière Sureflap connectée

Message par Shakto » 10 sept. 2018, 22:25

Je compte la mettre dans la cuisine donnant sur l'entrée qui elle est protégée par les vents.

Ca devrait aller du coup mais j'ai quand même un mur de 30cm a percer et casser x)

Shakto
Timide
Messages : 112
Inscription : 07 oct. 2017, 15:31

Re: Chatière Sureflap connectée

Message par Shakto » 17 sept. 2018, 19:59

jiminy a écrit :
08 sept. 2018, 18:30
On voit dans mon message précédent que la force du signal pour le device_rssi n'est pas terrible chez moi à -80 dB pourtant je n'ai pas trop de problèmes de connexion.
Et pour les piles je ne sais pas trop quel est le seuil d'alerte pour 4 piles de 1,5V alcalines.
Hello
Le plugin est-il arrivé en bêta ?

Avatar de l’utilisateur
jiminy
Actif
Messages : 756
Inscription : 26 févr. 2016, 18:27
Localisation : Montpellier

Re: Chatière Sureflap connectée

Message par jiminy » 18 sept. 2018, 10:11

Non pas encore. J'ai eu peu de temps pour le développement Jeedom ces derniers jours mais je vais essayer de m'y remettre.

Shakto
Timide
Messages : 112
Inscription : 07 oct. 2017, 15:31

Re: Chatière Sureflap connectée

Message par Shakto » 22 sept. 2018, 23:26

Tant pis du coup je me suis fais un petit scenario pour tout remonter :)

Avatar de l’utilisateur
jiminy
Actif
Messages : 756
Inscription : 26 févr. 2016, 18:27
Localisation : Montpellier

Re: Chatière Sureflap connectée

Message par jiminy » 23 sept. 2018, 13:58

Tu fais remonter quoi ? çà me donnera des idées des commandes à ajouter en priorité, mais bien sûr une fois que le plugin sera fonctionnel je pourrai toujours en ajouter d'autres à la demande.

Shakto
Timide
Messages : 112
Inscription : 07 oct. 2017, 15:31

Re: Chatière Sureflap connectée

Message par Shakto » 28 sept. 2018, 19:35

Code : Tout sélectionner

/* 
https://github.com/alextoft/sureflap/blob/master/
https://github.com/rcastberg/sure_petcare 
*/


//Configuration
$endpoint = "https://app.api.surehub.io";
$email_address = "MAIL";
$password = "PASS";
$device_id = "DEVICE_ID";

$english_days = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
$french_days = array('Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam', 'Dim');
$english_months = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'Décember');
$french_months = array('Janv', 'Fév', 'Mars', 'Av', 'Mai', 'Juin', 'Juil', 'Août', 'Sept', 'Oct', 'Nov', 'Déc');

//Login
$json = json_encode(array("email_address" => $email_address, "password" => $password, "device_id" => $device_id));

$ch = curl_init($endpoint."/api/auth/login");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($json)));

$result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");

if($result['data']['token']) {
    $scenario->setLog("New Login Successful for ".$result['data']['user']['first_name']." ".$result['data']['user']['last_name']."!\nToken: ".$result['data']['token']);
    $token = $result['data']['token'];
	file_put_contents("token",$token);
} else {
	die("Login Failed!\n");
}

//Récupération du nom du foyer
$ch = curl_init($endpoint."/api/household");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
$result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
if($result['data']) {
    $scenario->setLog("ID du foyer: ".$result['data'][0]['id']."\nNom du foyer: ".$result['data'][0]['name']."\n");
	$household = $result['data'][0]['id'];
  	cmd::byString("#[Maison][V_Sureflap][nomFoyer]#")->event(($result['data'][0]['name']));
} else {
	die("No Household!\n");
}

//Récupératiion des ids des appareils
$ch = curl_init($endpoint."/api/household/$household/device");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
$result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");

$scenario->setLog("Hub ID: ".$result['data'][0]['id']."\n");
$hub = $result['data'][0]['id'];

$scenario->setLog("Chatière ID: ".$result['data'][1]['id']."\n");
$chatiere = $result['data'][1]['id'];

//Récupération des infos de Biscotte part 1
$ch = curl_init($endpoint."/api/household/$household/pet");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
$result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
if($result['data']) {
  	$scenario->setLog("ID du chat: ".$result['data'][0]['id']."\n");
	$pet = $result['data'][0]['id'];
  	//Nom
  	$scenario->setLog($result['data'][0]['name']);
	$petname = $result['data'][0]['name'];
    cmd::byString("#[Maison][V_Sureflap][nomAnimal]#")->event(($result['data'][0]['name']));
	if($result['data'][0]['gender']=="0") {
      	$scenario->setLog("Femelle");
      	cmd::byString("#[Maison][V_Sureflap][genreAnimal]#")->event(("Femelle"));
	} else {
      	$scenario->setLog("Male");
      	cmd::byString("#[Maison][V_Sureflap][genreAnimal]#")->event(("Male"));
	}
	if($result['data'][0]['species_id']=="2") {
      	$scenario->setLog("Chien");
      	cmd::byString("#[Maison][V_Sureflap][especeAnimal]#")->event(("Chien"));
	} else {
      	$scenario->setLog("Chat");
     	 cmd::byString("#[Maison][V_Sureflap][especeAnimal]#")->event(("Chat"));
	}
	$pet = $result['data'][0]['id'];
} else {
	die("Pas d'animal!\n");
}

//Récupération des infos de Biscotte part 2
$ch = curl_init($endpoint."/api/pet/$pet/position");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
$result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
if($result['data']) {
	switch($result['data']['where']){
		case 1: 
			$pet_location = "Intérieur";
			break;
		case 2: 
			$pet_location = "Extérieur";
			break;
		default:
			$pet_location = "Inconnue";
			break;
	}
    cmd::byString("#[Maison][V_Sureflap][localisationAnimalX]#")->event(($pet_location));
	$scenario->setLog("Localisation du chat : ".$pet_location."\n");
  
//	$pet_location_datetime = str_replace($english_months, $french_months, str_replace($english_days, $french_days, date_format(new DateTime($result['data']['since']),'l d F H:i')));
//	cmd::byString("#[Maison][V_Sureflap][localisationAnimalDate]#")->event(($pet_location_datetime));
//	$scenario->setLog("Dernier changement : ".$pet_location_datetime."\n");

  $pet_location_datetime_temp = new DateTime($result['data']['since']);
date_add($pet_location_datetime_temp, date_interval_create_from_date_string('2 hours'));
$pet_location_datetime = str_replace($english_months, $french_months, str_replace($english_days, $french_days, date_format($pet_location_datetime_temp,'l d F H:i')));
cmd::byString("#[Maison][V_Sureflap][localisationAnimalDate]#")->event(($pet_location_datetime));
$scenario->setLog("Dernier changement : ".$pet_location_datetime."\n");
  
	$pet_location_date = $result['data']['since'];
} else {
	die("Pas d'animal!\n");
}

//Récupération des infos du Hub
$ch = curl_init($endpoint."/api/device/$hub/status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
$result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
if($result['data']) {
  	$scenario->setLog("Status du Hub : ".$result['data']['online']);
  	$hub_status = $result['data']['online'];
  	if($hub_status == 1){
        	cmd::byString("#[Maison][V_Sureflap][Hub]#")->event((0));
    } else {
      		cmd::byString("#[Maison][V_Sureflap][Hub]#")->event((1));
    }
  	$scenario->setLog("Lumière du Hub : ".$result['data']['led_mode']);
  	$hub_led = $result['data']['led_mode'];
  	cmd::byString("#[Maison][V_Sureflap][lumiereHub]#")->event(($hub_led));
} else {
	die("Erreur de récupération des infos du Hub!\n");
}

//Récupération des infos de la chatière partie 1 (technique)
$ch = curl_init($endpoint."/api/device/$chatiere/status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
$result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
if($result['data']) {
  	$scenario->setLog("Status de la chatière : ".$result['data']['online']);
  	$chatiere_status = $result['data']['online'];
    if($chatiere_status == 1){
        	cmd::byString("#[Maison][V_Sureflap][Chatière]#")->event((0));
    } else {
      		cmd::byString("#[Maison][V_Sureflap][Chatière]#")->event((1));
    }
  	$scenario->setLog("Force du signal : ".$result['data']['signal']['device_rssi']);
  	$chatiere_signal = $result['data']['signal']['device_rssi'];
	cmd::byString("#[Maison][V_Sureflap][signalChatiere]#")->event(($chatiere_signal));
  
  	$chatiere_battery_v = $result['data']['battery']; 
  	$chatiere_battery_perc = round($result['data']['battery'] * 100 / 6.4, 1); 
	$scenario->setLog("Batterie V: ".$chatiere_battery_v." Batterie perc :".$chatiere_battery_perc);	
  	cmd::byString("#[Maison][V_Sureflap][Batterie]#")->event(($chatiere_battery_perc));
	
 	//$scenario->setLog("Mode de verouillage : ".$result['data']['locking']['mode']);
 	//$chatiere_verouillage = $result['data']['locking']['mode'];   
} else {
	die("Erreur de récupération des infos du Hub!\n");
}

//Récupération des infos de la chatière partie 2 (fonctionnelles)
$ch = curl_init($endpoint."/api/device/$chatiere/control");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
$result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
if($result['data']) {
	if($result['data']['curfew']['enabled'] == true){
		$scenario->setLog("Couvre feu : 1");
		$chatiere_couvrefeu_status = 1;
	} else {
		$scenario->setLog("Couvre feu : 0");
		$chatiere_couvrefeu_status = 0;
	}
  	cmd::byString("#[Maison][V_Sureflap][Couvre-feu]#")->event(($chatiere_couvrefeu_status));
  	$scenario->setLog("Permission : ".$result['data']['curfew']['permission']);
  	$chatiere_couvrefeu_permission = $result['data']['curfew']['permission'];
  	$chatiere_couvrefeu_horaires = $result['data']['curfew']['lock_time']." à ".$result['data']['curfew']['unlock_time'];
  	$scenario->setLog("Horaires couvre feu : ".$chatiere_couvrefeu_horaires);
  	cmd::byString("#[Maison][V_Sureflap][couvrefeuHorairesChatiere]#")->event(($chatiere_couvrefeu_horaires));
  
	switch($result['data']['locking']){
		case 0: 
			$chatiere_verouillage2 = "Déverrouillée";
			break;	
		case 1: 
			$chatiere_verouillage2 = "Entrée interdite";
			break;
		case 2: 
			$chatiere_verouillage2 = "Sortie interdite";
			break;
		case 3: 
			$chatiere_verouillage2 = "Entrée et sortie interdites";
			break;			
		default:
			$chatiere_verouillage2 = "Verrouillage inconnu";
			break;
	}
	$scenario->setLog("Mode de verouillage 2 : ".$chatiere_verouillage2);
  cmd::byString("#[Maison][V_Sureflap][verrouillageChatiere]#")->event(($chatiere_verouillage2));
} else {
	die("Erreur de récupération des infos du Hub!\n");
}

//Déconnexion
$ch = curl_init($endpoint."/api/auth/logout");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Authorization: Bearer $token"));
$result = curl_exec($ch);
if(curl_getinfo($ch, CURLINFO_HTTP_CODE)=="200") {
	$scenario->setLog("Déconnexion");
} else {
		$scenario->setLog("Token invalide");
}

Martial85
Timide
Messages : 64
Inscription : 25 févr. 2015, 13:03
Localisation : Nantes

Re: Chatière Sureflap connectée

Message par Martial85 » 18 oct. 2018, 13:10

Merci pour le code ! ça fonctionne nickel , par contre on est obligé d'exécuter le scénario à intervalle régulier pour récupérer les infos...
Savez vous si il est possible de recevoir une notification afin d'exécuter le scénario et éviter l'exécution toutes les minutes par exemple... ?
Jeedom sur raspberry 2 et 3 + OneWire I2C + GPIO + arduidom (nano + E/R 433Mhz) + ArduidomNet + mysensors + rflink +ESPEasy

jackouille
Timide
Messages : 157
Inscription : 17 déc. 2015, 13:50

Re: Chatière Sureflap connectée

Message par jackouille » 27 oct. 2018, 16:05

bonjour,
j'envisage d'acheter cette chatière et bien sûr la connecter à Jeedom mais j'avais une question.
Pour la communication de la chatière avec Jeedom, est ce qu'elle se fait directement Jeedom/Wifi/Chatière ou alors ça passe par le hub de la chatière ?
Si cela passe par le hub, est-il envisagé une communication directe Jeedom/Wifi/chatière dans un futur proche sans acheter le hub ?
merci pour la réponse

Avatar de l’utilisateur
jiminy
Actif
Messages : 756
Inscription : 26 févr. 2016, 18:27
Localisation : Montpellier

Re: Chatière Sureflap connectée

Message par jiminy » 27 oct. 2018, 18:03

Bonjour jackouille,
A moins que le fabricant publie une API locale qui permette de communiquer directement avec la chatière (ce qui n'arrivera pas je crois car ils n'ont aucun intérêt à faire çà), cela me parait difficile car la communication entre le hub et la chatière est probablement cryptée et utilise un protocole que personne ne connait. Donc sauf si un passionné s'y attaque (et avec des connaissances) c'est non et d'ailleurs contrairement à ce que tu pense je ne crois pas que ce soit du wifi car je n'arrive pas à détecter ni le hub ni la chatière sur aucune bande du wifi c'est surement un protocole radio sur une bande autorisée du style 833 ou 868 Mhz ou autre.
Donc se passer du hub je doute que ce soit possible un jour.
Mais la communication ne se fait non plus pas comme tu penses car en fait pour le moment tout ce que les utilisateurs ont pu trouver ce sont les appels en http au serveur de sure petcare donc en fait on a le schéma :
chatière <-- radio --> hub <--ethernet local-> box adsl ou fibre ou 4g <-- réseau internet ---> serveur de sure petcare <-- réseau internet --> smartphone (en4g ou wifi) avec leur app IOS ou Android
Et avec Jeedom seul la dernière étape change car Jeedom se met à la place du smartphone. Ce n'est pas local c'est Cloud.
chatière <-- radio --> hub <--ethernet local-> box adsl ou fibre ou 4g <-- réseau internet ---> serveur de sure petcare <-- réseau internet --> box adsl ou fibre ou 4g <--ethernet local --> box Jeedom
A mon avis tout ce qu'on peut espérer c'est qu'un passionné arrive à espionner les trames ethernet qui passent sur le réseau entre le hub et la box et à "reverse ingeneerer" le protocole qui là est crypté j'en suis sûr à 100%. Mais la probabilité que cela arrive est faible. Je fais périodiquement des recherches pour voir si des messsages sont postés en ce sens et pour le moment je n'ai rien trouvé.

Avatar de l’utilisateur
jiminy
Actif
Messages : 756
Inscription : 26 févr. 2016, 18:27
Localisation : Montpellier

Re: Chatière Sureflap connectée

Message par jiminy » 28 oct. 2018, 15:11

Bon en fait çà peut être du Wifi puisque certains sites disent que c'est du 2.4 GHz (mais je n'ai rien trouvé sur le site du fabricant sur la fréquence utilisée). Cla dit, je n'ai pas réussi à détecter ce réseau Wifi, mais je ne suis pas un spécialiste du WiFi.

Avatar de l’utilisateur
Shyrka973
Actif
Messages : 555
Inscription : 18 août 2014, 18:17
Localisation : Kourou / Guyane

Re: Chatière Sureflap connectée

Message par Shyrka973 » 27 déc. 2018, 16:35

Salut @Jiminy,

As-tu progressé sur le plugin ?

Merci.
DIY Proxmox 5.1 / i3-6100U @ 2.30GHz / 4Go RAM / 128 Go SSD : Jeedom 3.2.12 - Stretch
Protocol: Z-Wave, EnOcean, RFXtrx433E, Xiaomi, BLEA, MQTT, ESPeasy, Jeeduino, Abeille

EgMaf
Timide
Messages : 24
Inscription : 06 avr. 2016, 22:09

Re: Chatière Sureflap connectée

Message par EgMaf » 06 janv. 2019, 20:51

J'aimerais aussi que cela fonctionne ... Je n'ai aucune compétence en matière de codage, mais j'ai trouvé des informations supplémentaires sur l'API utilisée par Sure Petcare. Désolé que ce soit en anglais seulement, mais je peux vous aider à traduire si cela est nécessaire:

Cela semble déjà fonctionner sur HomeSeer: https://community.home-assistant.io/t/s ... r/41488/34

Comme je l'ai écrit auparavant, je ne suis pas un programmeur. Mais je serais heureux d’aider à tester ou à traduire.

Martial85
Timide
Messages : 64
Inscription : 25 févr. 2015, 13:03
Localisation : Nantes

Re: Chatière Sureflap connectée

Message par Martial85 » 04 févr. 2019, 20:42

Bonjour,
Il semblerait que la connexion sur le site "https://app.api.surehub.io" ne fonctionne plus... quelqu'un à le même problème ?
Jeedom sur raspberry 2 et 3 + OneWire I2C + GPIO + arduidom (nano + E/R 433Mhz) + ArduidomNet + mysensors + rflink +ESPEasy

Avatar de l’utilisateur
kimagure
Helper
Messages : 109
Inscription : 21 août 2014, 14:53

Re: Chatière Sureflap connectée

Message par kimagure » 05 févr. 2019, 09:56

Non, aucun problème chez moi, la connexion et la remontée d'informations se font correctement...

K.
Helper Officiel Jeedom
Jeedom 3.3.x sur VM Proxmox
Zwave, Xiaomi, Hue, Tradfri, RFXcom, Alexa, Surepetcare, Airsend, Squeezebox...

Dreaky
Timide
Messages : 16
Inscription : 28 févr. 2018, 15:10

Re: Chatière Sureflap connectée

Message par Dreaky » 12 mars 2019, 10:04

Bonjour à tous,
Désolé pour le petit hors-sujet que je vais faire, car je vais m'adresser à ceux qui ne possèdent pas de chatière connectée, mais qui souhaitent tout de même "domotiser" les allés et venues de son chat. Moi même ayant une chatoune, j'ai mis en place un système très simple que je partage ici.

J'ai utilisé deux contacteurs de portes (détecteur d'ouverture de porte) qui sont appairables à jeedom (donc n'importe quel détecteur zigbee, zwave, RF433 ou autre, style xiaomi aquara).
J'en ai placé deux d'un côté et de l'autre de la chatière, juste au dessus du battant, et j'ai placé deux petits aimants sur le battant de chaque côté de telle manière à ce que chaque aimant active "son" détecteur lorsque le chat passe par la chatière (dans un sens, et dans l'autre). Chaque détecteur est donc activé indépendamment l'un de l'autre quand le chat entre, et quand il sort.
Vous avez trouvé la suite : Un petit widget virtuel pour simuler un état de "sorti/rentré" en fonction de chaque event popé par les détecteurs d'ouverture.
On peut même ensuite savoir depuis quand le chat est rentré/sorti (et même historiser tout ça, histoire de voir combien notre chat passe de temps dehors)

Les avantages :
- Coût très limité (un détecteur de porte zigbee c'est dans les 10€ pièce)
- Adaptable sur n'importe quelle chatière (même les plus simples)
- Pas besoin de plugin supplémentaire
- Relativement discret

Inconvénient :
- Ne fonctionne qu'avec un seul chat, car on ne sera pas capable de savoir quel chat est passé dans la chatière. Le système étant basé sur un état binaire, cela ne fonctionnera pas avec plusieurs chats.

Nicoboom
Timide
Messages : 221
Inscription : 03 sept. 2015, 22:08

Re: Chatière Sureflap connectée

Message par Nicoboom » 12 mars 2019, 10:18

Bonjour, très intéressant, c'est possible d'avoir une photo du montage ?
Merci

Dreaky
Timide
Messages : 16
Inscription : 28 févr. 2018, 15:10

Re: Chatière Sureflap connectée

Message par Dreaky » 12 mars 2019, 13:08

Nicoboom a écrit :
12 mars 2019, 10:18
Bonjour, très intéressant, c'est possible d'avoir une photo du montage ?
Merci
Mieux, une petite vidéo : https://youtu.be/n7bWtb4wwbw

Les aimants que j'utilise sont de ce type : https://www.aliexpress.com/item/50Pcs-5 ... 41091.html

Nicoboom
Timide
Messages : 221
Inscription : 03 sept. 2015, 22:08

Re: Chatière Sureflap connectée

Message par Nicoboom » 12 mars 2019, 19:30

Extra!merci beaucoup

Répondre

Revenir vers « Suggestions de Plugins »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité